ES2949998T3 - Método y dispositivo para procesar una señal de vídeo usando una transformada reducida - Google Patents
Método y dispositivo para procesar una señal de vídeo usando una transformada reducida Download PDFInfo
- Publication number
- ES2949998T3 ES2949998T3 ES19814714T ES19814714T ES2949998T3 ES 2949998 T3 ES2949998 T3 ES 2949998T3 ES 19814714 T ES19814714 T ES 19814714T ES 19814714 T ES19814714 T ES 19814714T ES 2949998 T3 ES2949998 T3 ES 2949998T3
- Authority
- ES
- Spain
- Prior art keywords
- transform
- current block
- block
- region
- transforms
- 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
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000012545 processing Methods 0.000 title description 7
- 230000009466 transformation Effects 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 41
- 239000011159 matrix material Substances 0.000 description 40
- 230000008569 process Effects 0.000 description 34
- 239000013598 vector Substances 0.000 description 33
- 238000013139 quantization Methods 0.000 description 18
- 241000023320 Luma <angiosperm> Species 0.000 description 15
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 15
- 230000002441 reversible effect Effects 0.000 description 13
- 230000009467 reduction Effects 0.000 description 12
- 238000001914 filtration Methods 0.000 description 8
- 239000013074 reference sample Substances 0.000 description 7
- 230000011664 signaling Effects 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 6
- 101150089388 dct-5 gene Proteins 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000000523 sample Substances 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 101150090341 dst1 gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011049 filling Methods 0.000 description 2
- 229940050561 matrix product Drugs 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 101100278585 Dictyostelium discoideum dst4 gene Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/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
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/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
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)
- Television Systems (AREA)
- Color Television Systems (AREA)
- Television Signal Processing For Recording (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
La presente invención se refiere a un método para decodificar una señal de vídeo basándose en una transformada reducida, comprendiendo el método las etapas de: comprobar si se aplica un salto de transformación a un bloque actual; cuando el salto de transformación no se aplica al bloque actual, adquirir un índice de transformación que indica un núcleo de transformación del bloque actual a partir de la señal de vídeo; determinar un área en la que se aplica una transformación primaria al bloque actual, basándose en el núcleo de transformación indicado por el índice de transformación y el tamaño del bloque actual; y con respecto al área en la que se aplica la transformación primaria, realizar una transformación primaria inversa utilizando el núcleo de transformación indicado por el índice de transformación. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método y dispositivo para procesar una señal de vídeo usando una transformada reducida
[Campo técnico]
La presente invención se refiere a un método y a un aparato para procesar una señal de vídeo y, más particularmente, a un método para diseñar y aplicar una transformada reducida, que puede aplicarse a una transformada primaria.
[Antecedentes de la técnica]
Los contenidos de vídeo de próxima generación tendrán características tales como una resolución espacial alta, una tasa de fotogramas alta y una dimensionalidad alta de la representación de escena. Para procesar los contenidos, se provocará un aumento enorme en términos de almacenamiento de memoria, tasa de acceso a memoria y potencia de procesamiento.
Por lo tanto, existe la necesidad de diseñar una nueva herramienta de codificación para procesar los contenidos de vídeo de próxima generación de forma más eficiente. En particular, cuando se aplica una transformada, existe la necesidad de diseñar una transformada más eficiente en términos de complejidad y eficiencia de codificación.
El documento JVET-G1001 "Algorithm description of Joint Exploration Test Model 7 (JEM7)" proporcionado por J. Chen y col., y el documento JVET-J0029 "Description of SDR video coding technology proposal by Tencent", proporcionado por X. Li y col., se refieren supuestamente al concepto de usar una transformada inversa reducida y establecer coeficientes fuera de la región de la transformada reducida.
El documento EP 3120547 A2 describe sistemas y métodos para transformadas hacia delante de complejidad baja usando coeficientes puestos a cero. Un aspecto de la materia objeto descrita en la divulgación proporciona un codificador de vídeo que comprende una memoria configurada para almacenar un bloque de vídeo. El codificador de vídeo comprende además un procesador en comunicación con la memoria. El procesador está configurado para determinar un valor de potencia total del bloque de vídeo. El procesador está configurado además para determinar una matriz de coeficientes de transformada reducida, en donde la matriz de coeficientes de transformada reducida comprende una región interior de valores nulos o no nulos de la misma región interior de una matriz de coeficientes de transformada completa y una región exterior de valores nulos, en donde la matriz de coeficientes de transformada reducida y la matriz de coeficientes de transformada completa tienen el mismo tamaño. El procesador está configurado además para determinar un valor de potencia parcial del bloque de vídeo usando la matriz de coeficientes de transformada reducida. El procesador está configurado además para transformar el bloque de vídeo desde un dominio de píxeles a un dominio de coeficientes usando la matriz de coeficientes de transformada reducida basándose en el valor de potencia total y en el valor de potencia parcial. El procesador está configurado además para codificar el bloque de vídeo transformado.
El documento JVET-J0017 "Description of SDR video coding technology proposal by LG Electronics", proporcionado por M. Koo y col., cubre aspectos variados de la tecnología de compresión de vídeo.
[Divulgación]
[Problema técnico]
Un objetivo de la presente invención propone un método para realizar una transformada primaria para una región predefinida de acuerdo con una condición específica.
Los objetivos técnicos de la presente invención no se limitan a los objetos técnicos mencionados anteriormente, y otros objetos técnicos, que no se han mencionado anteriormente, serán apreciados evidentemente por un experto en la materia a partir de la siguiente descripción.
[Solución técnica]
La invención se define mediante las reivindicaciones independientes. Las características de las realizaciones ilustrativas se definen en las reivindicaciones dependientes. La invención se describe mediante la realización 6 como se expone en los párrafos [0410] a [0444] de esta descripción. Los ejemplos adicionales, denominados "realizaciones" en la descripción, son solo ejemplos ilustrativos.
Se proporciona un método para descodificar una señal de vídeo basándose en una transformada reducida, que incluye: comprobar si se aplica un salto de transformada a un bloque actual; obtener un índice de transformada que indica un núcleo de transformada del bloque actual a partir de la señal de vídeo cuando el salto de transformada no se aplica al bloque actual; determinar una región en la que una transformada primaria se aplica al bloque actual basándose en el núcleo de transformada indicado por el índice de transformada y un tamaño del bloque actual; y realizar una
transformada primaria inversa sobre la región a la que se aplica la transformada primaria usando el núcleo de transformada indicado por el índice de transformada.
Preferiblemente, la determinación de la región a la que se aplica la transformada primaria puede incluir considerar los coeficientes de la región restante que no sea la región a la que se aplica la transformada primaria como 0 en el bloque actual.
Preferiblemente, la determinación de la región a la que se aplica la transformada primaria puede realizarse determinando, cuando el núcleo de transformada indicado por el índice de transformada es una transformada predefinida y la anchura y/o la altura del bloque actual es más grande que un tamaño predefinido, una región que tiene la anchura y/o la altura que tienen el tamaño predefinido como la región a la que se aplica la transformada primaria.
Preferiblemente, la transformada predefinida puede ser una cualquiera de una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8.
Preferiblemente, el tamaño predefinido puede ser de 16.
Preferiblemente, la determinación de la región a la que se aplica la transformada primaria puede realizarse determinando, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un primer grupo de transformadas, un valor más pequeño de la anchura del bloque actual y 32 como la anchura de la región a la que se aplica la transformada primaria y determinando un valor más pequeño de la altura del bloque actual y 32 como la altura de la región a la que se aplica la transformada primaria, y determinando, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un segundo grupo de transformadas, un valor más pequeño de la anchura del bloque actual y 16 como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y 16 como la altura de la región a la que se aplica la transformada primaria.
Preferiblemente, el primer grupo de transformadas puede incluir una DCT2 y el segundo grupo de transformadas puede incluir una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8.
Se proporciona adicionalmente un aparato para descodificar una señal de vídeo basándose en una transformada reducida, que incluye: una unidad de comprobación de saltos de transformada que comprueba si se aplica un salto de transformada a un bloque actual; una unidad de obtención de índices de transformada que obtiene un índice de transformada que indica un núcleo de transformada del bloque actual a partir de la señal de vídeo cuando el salto de transformada no se aplica al bloque actual; y una unidad de transformada inversa primaria que determina una región en la que una transformada primaria se aplica al bloque actual basándose en el núcleo de transformada indicado por el índice de transformada y un tamaño del bloque actual y que realiza una transformada primaria inversa usando el núcleo de transformada indicado por el índice de transformada con respecto a la región a la que se aplica la transformada primaria.
Preferiblemente, la unidad de transformada inversa puede considerar los coeficientes de la región restante que no sea la región a la que se aplica la transformada primaria como 0 en el bloque actual.
Preferiblemente, la unidad de transformada primaria puede determinar, cuando el núcleo de transformada indicado por el índice de transformada es una transformada predefinida y la anchura y/o la altura del bloque actual es más grande que un tamaño predefinido, una región que tiene la anchura y/o la altura que tienen el tamaño predefinido como la región a la que se aplica la transformada primaria.
Preferiblemente, la transformada predefinida puede ser una cualquiera de una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8.
Preferiblemente, el tamaño predefinido puede ser de 16.
Preferiblemente, la unidad de transformada primaria puede determinar, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un primer grupo de transformadas, un valor más pequeño de la anchura del bloque actual y 32 como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y 32 como la altura de la región a la que se aplica la transformada primaria, y determinar, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un segundo grupo de transformadas, un valor más pequeño de la anchura del bloque actual y 16 como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y 16 como la altura de la región a la que se aplica la transformada primaria.
Preferiblemente, el primer grupo de transformadas puede incluir una DCT2 y el segundo grupo de transformadas puede incluir una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8.
[Efectos ventajosos]
De acuerdo con una realización de la presente invención, solo una región predefinida se transforma de acuerdo con una condición específica, reduciendo de ese modo notablemente la complejidad.
Las ventajas que pueden obtenerse en la presente invención no se limitan a los efectos mencionados anteriormente, y otras ventajas no mencionadas serán claramente entendidas por los expertos en la materia a partir de la siguiente descripción.
[Descripción de los dibujos]
La figura 1 es un diagrama de bloques esquemático de un codificador en el que se realiza una codificación de una señal de vídeo como una realización a la que se aplica la presente invención.
La figura 2 es un diagrama de bloques esquemático de un descodificador en el que se realiza una descodificación de una señal de vídeo como una realización a la que se aplica la presente invención.
La figura 3 ilustra realizaciones a las que puede aplicarse la presente invención, la figura 3A es un diagrama para describir estructuras de división de bloques mediante un árbol cuádruple (QT) (denominado 'QT' en lo sucesivo en el presente documento), la figura 3B es un diagrama para describir estructuras de división de bloques mediante un árbol binario (BT) (denominado 'TT'), la figura 3C es un diagrama para describir estructuras de división de bloques mediante un árbol ternario (TT) (denominado 'TT' en lo sucesivo en el presente documento), y la figura 3D es un diagrama para describir estructuras de división de bloques mediante un árbol asimétrico (AT) (denominado 'AT' en lo sucesivo en el presente documento).
La figura 4 es un diagrama de bloques esquemático de unas unidades de transformada y de cuantificación 120 y 130 y unas unidades de descuantificación y de transformada inversa 140 y 150 en un codificador como una realización a la que se aplica la presente invención.
La figura 5 es un diagrama de bloques esquemático de una unidad de descuantificación y una unidad de transformada inversa 220 y 230 en un descodificador como una realización a la que se aplica la presente invención. La figura 6 es una tabla que muestra un grupo de configuraciones de transformada al que se aplica una selección de transformada múltiple (MTS) como una realización a la que se aplica la presente invención.
La figura 7 es un diagrama de flujo que muestra un proceso de codificación en el que se realiza una selección de transformada múltiple (MTS) como una realización a la que se aplica la presente invención.
La figura 8 es un diagrama de flujo que muestra un proceso de descodificación en el que se realiza una selección de transformada múltiple (MTS) como una realización a la que se aplica la presente invención.
La figura 9 es un diagrama de flujo para describir un proceso de codificación de una bandera de MTS y un índice de MTS como una realización a la que se aplica la presente invención.
La figura 10 es un diagrama de flujo para describir un proceso de descodificación en el que se aplica una transformada horizontal o una transformada vertical a una fila o a una columna basándose en una bandera de MTS y en un índice de MTX como una realización a la que se aplica la presente invención.
La figura 11 es un diagrama de flujo de la ejecución de una transformada inversa basándose en un parámetro relacionado con transformada como una realización a la que se aplica la presente invención.
La figura 12 es una tabla que muestra la asignación de un conjunto de transformadas para cada modo de intra predicción en una NSST como una realización a la que se aplica la presente invención.
La figura 13 es un diagrama de flujo de cálculo para una rotación de Givens como una realización a la que se aplica la presente invención.
La figura 14 ilustra una configuración de rondas en una NSST de 4 x 4 constituida por una capa de rotación de Givens y permutaciones como una realización a la que se aplica la presente invención.
La figura 15 es un diagrama de bloques para describir operaciones de transformada reducida hacia delante y de transformada reducida inversa como una realización a la que se aplica la presente invención.
La figura 16 es un diagrama que ilustra un proceso de la ejecución de una exploración hacia atrás desde el 64° al 17° de acuerdo con un orden de exploración hacia atrás como una realización a la que se aplica la presente invención.
La figura 17 ilustra tres órdenes de exploración hacia delante para un bloque de coeficientes de transformada (un bloque de transformada) como una realización a la que se aplica la presente invención.
La figura 18 ilustra posiciones de coeficientes de transformada válidos y un orden de exploración hacia delante para cada uno de unos bloques de 4 x 4 cuando se aplica una exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 de arriba a la izquierda como una realización a la que se aplica la presente invención.
La figura 19 ilustra un caso en el que unos coeficientes de transformada válidos de dos bloques de 4 x 4 se combinan en un bloque de 4 x 4 cuando se aplica una exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 de arriba a la izquierda como una realización a la que se aplica la presente invención.
La figura 20 es un diagrama de flujo de una codificación de una señal de vídeo basándose en una transformada secundaria reducida como una realización a la que se aplica la presente invención.
La figura 21 es un diagrama de flujo de una descodificación de una señal de vídeo basándose en una transformada secundaria reducida como una realización a la que se aplica la presente invención.
La figura 22 es un diagrama que ilustra un método para codificar una señal de vídeo usando una transformada reducida como una realización a la que se aplica la presente invención.
La figura 23 es un diagrama que ilustra un método para descodificar una señal de vídeo usando una transformada reducida como una realización a la que se aplica la presente invención.
La figura 24 es un diagrama que ilustra una estructura de transformada reducida basándose en un factor reducido como una realización a la que se aplica la presente invención.
La figura 25 es un diagrama que ilustra un método para realizar una descodificación aplicando de forma adaptativa una transformada reducida como una realización a la que puede aplicarse la presente invención.
La figura 26 es un diagrama que ilustra un método para realizar una descodificación aplicando de forma adaptativa una transformada reducida como una realización a la que puede aplicarse la presente invención.
Las figuras 27 y 28 son diagramas que ilustran ejemplos de una transformada secundaria reducida hacia delante y una transformada secundaria reducida inversa y un pseudocódigo para inferir las mismas.
La figura 29 es un diagrama que ilustra un método para aplicar una transformada secundaria reducida a una región no cuadrada como una realización a la que se aplica la presente invención.
La figura 30 es un diagrama que ilustra una transformada reducida controlada por un factor de reducción como una realización a la que se aplica la presente invención.
La figura 31 es un diagrama que ilustra una unidad de transformada inversa de acuerdo con una realización a la que se aplica la presente invención.
La figura 32 ilustra un sistema de codificación de vídeo al que se aplica la presente invención.
La figura 33 es un diagrama de estructura de un sistema de envío por flujo continuo de contenido como una realización a la que se aplica la presente invención.
[Modo para la invención]
En lo sucesivo en el presente documento, se describirá una configuración y un funcionamiento de una realización de la presente invención con referencia a los dibujos adjuntos, la configuración y el funcionamiento de la presente invención descritos por los dibujos se describirán como una realización.
Además, el término usado en la presente invención se selecciona como un término general ampliamente usado como es posible en la actualidad, en un caso específico se describirá usando términos seleccionados arbitrariamente por el solicitante. En un caso de este tipo, debido a que el significado se expone claramente en la descripción detallada de la parte, no debería interpretarse simplemente por el nombre del término usado en la descripción de la presente invención, y debería entenderse que debería interpretarse el significado del término.
Además, los términos usados en la presente invención pueden sustituirse por una interpretación más apropiada cuando hay términos generales seleccionados para describir la invención u otros términos que tienen significados similares. Por ejemplo, señales, datos, muestras, instantáneas, fotogramas, bloques, etc., pueden sustituirse e interpretarse apropiadamente en cada proceso de codificación. Además, la subdivisión en particiones, la descomposición, el fraccionamiento y la división pueden sustituirse e interpretarse apropiadamente en cada proceso de codificación.
En este documento, una selección de transformada múltiple (MTS) puede referirse a un método para realizar una transformada usando al menos dos tipos de transformada. Esto también puede expresarse como transformada múltiple adaptativa (AMT) o transformada múltiple explícita (EMT) y, de forma similar, mts_idx también puede expresarse como AMT_idx, EMT_idx, tu_mts_idx, AMT_TU_idx, EMT_TU_idx, índice de transformada o índice de combinación de transformadas y la presente invención no se limita a las expresiones.
La figura 1 es un diagrama de bloques esquemático de un codificador en el que se realiza una codificación de una señal de vídeo como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 1, el codificador 100 puede configurarse para incluir una unidad de división de imágenes 110, una unidad de transformada 120, una unidad de cuantificación 130, una unidad de descuantificación 140, una unidad de transformada inversa 150, una unidad de filtrado 160, una memoria intermedia de instantáneas descodificadas (DPB) 170, una unidad de inter predicción 180, una unidad de intra predicción 185 y una unidad de codificación por entropía 190.
La unidad de división de imágenes 110 puede dividir una imagen (o instantánea o fotograma) introducida en el codificador 100 en una o más unidades de procesamiento. Por ejemplo, la unidad de procesamiento puede ser una unidad de árbol de codificación (CTU), una unidad de codificación (CU), una unidad de predicción (PU) o una unidad de transformada (TU).
Sin embargo, los términos solo se usan por conveniencia de la descripción de la presente invención y la presente invención no se limita a la definición de los términos. Además, en esta memoria descriptiva, por conveniencia de la descripción, la expresión unidad de codificación se usa como una unidad usada para codificar o descodificar una señal de vídeo, pero la presente invención no se limita a ello y puede interpretarse apropiadamente de acuerdo con la presente invención.
El codificador 100 resta una señal de predicción (o un bloque de predicción) emitido desde la unidad de inter predicción
180 o de la unidad de intra predicción 185 de la señal de imagen de entrada para generar una señal residual (o un bloque residual) y la señal residual generada se transmite a la unidad de transformada 120.
La unidad de transformada 120 puede generar coeficientes de transformada aplicando una técnica de transformada a la señal residual. Un proceso de transformada puede aplicarse a un bloque cuadrado de estructura de árbol cuádruple y a un bloque (cuadrado o rectangular) dividido por una estructura de árbol binario, una estructura de árbol ternario o una estructura de árbol asimétrico.
La unidad de transformada 120 puede realizar una transformada basándose en una pluralidad de transformadas (o combinaciones de transformadas), y el esquema de transformada puede denominarse selección de transformada múltiple (MTS). La MTS también puede denominarse transformada múltiple adaptativa (AMT) o transformada múltiple potenciada (EMT).
La MTS (o la AMT o la EMT) puede referirse a un esquema de transformada realizado basándose en una transformada (o combinaciones de transformadas) seleccionada de forma adaptativa de entre la pluralidad de transformadas (o combinaciones de transformadas).
La pluralidad de transformadas (o combinaciones de transformadas) puede incluir las transformadas (o combinaciones de transformadas) descritas en la figura 6 de esta memoria descriptiva. En esta memoria descriptiva, la transformada o el tipo de transformada puede expresarse como, por ejemplo, DCT de tipo 2, DCT-II, DCT2 o DCT-2.
La unidad de transformada 120 puede realizar las siguientes realizaciones.
La presente invención proporciona un método para designar una RST que puede aplicarse a un bloque de 4x4.
La presente invención proporciona una configuración de una región a la que va a aplicarse la RST de 4 x 4 , un método para disponer coeficientes de transformada generados después de aplicar la RST de 4x 4 , un orden de exploración de los coeficientes de transformada dispuestos, un método para clasificar y combinar coeficientes de transformada generados para cada bloque, y similares.
La presente invención proporciona un método para codificar un índice de transformada que especifica la RST de 4x4.
La presente invención proporciona un método para codificar de forma condicional un índice de transformada correspondiente comprobando si existe un coeficiente de transformada no nulo en una región no aceptable cuando se aplica la RST de 4 x 4.
La presente invención proporciona un método para codificar de forma condicional el índice de transformada correspondiente después de codificar una última posición de coeficiente de transformada no nulo y, entonces, omitir la codificación residual pertinente para las posiciones que no se aceptan.
La presente invención proporciona un método para aplicar una codificación residual y una codificación de índice de transformada diferente a un bloque de luma y a un bloque de croma cuando se aplica la RST de 4x4.
Las realizaciones detalladas de los mismos se describirán con más detalle en esta memoria descriptiva.
La unidad de cuantificación 130 puede cuantificar el coeficiente de transformada y transmite el coeficiente de transformada cuantificado a la unidad de codificación por entropía 190 y la unidad de codificación por entropía 190 puede codificar por entropía una señal cuantificada y emitir la señal cuantificada codificada por entropía como un flujo de bits.
Aunque el convertidor 120 y la unidad de cuantificación 130 se describen como unidades funcionales separadas, la presente invención no se limita a ello y pueden combinarse en una unidad funcional. La unidad de descuantificación 140 y la unidad de transformada inversa 150 también pueden combinarse de forma similar en una unidad funcional.
Una señal cuantificada emitida desde la unidad de cuantificación 130 puede usarse para generar la señal de predicción. Por ejemplo, se aplican una cuantificación inversa y una transformada inversa a la señal cuantificada a través de la unidad de descuantificación 140 y la unidad de transformada inversa 1850 en un bucle para reconstruir la señal residual. La señal residual reconstruida se suma a la señal de predicción emitida desde la unidad de inter predicción 180 o la unidad de intra predicción 185 para generar una señal reconstruida.
Por otro lado, puede tener lugar un deterioro en el que se muestra una frontera de bloque debido a un error de cuantificación que tiene lugar durante un proceso de compresión de este tipo. Un fenómeno de este tipo se conoce como artefactos de división en bloques y este es uno de los elementos clave para evaluar la calidad de imagen. Puede realizarse un proceso de filtrado para reducir el deterioro. Se quita el deterioro de división en bloques y se reduce un error para una instantánea actual a través del proceso de filtrado para potenciar la calidad de imagen.
La unidad de filtrado 160 aplica un filtrado a la señal reconstruida y emite la señal reconstruida aplicada a un dispositivo de reproducción o transmite la señal reconstruida de salida a la memoria intermedia de instantáneas descodificadas 170. La unidad de inter predicción 170 puede usar la señal filtrada transmitida a la memoria intermedia de instantáneas descodificadas 180 como la instantánea de referencia. En este sentido, la instantánea filtrada se usa como la instantánea de referencia en el modo de inter predicción de instantáneas para potenciar la calidad de imagen y la eficiencia de codificación.
La memoria intermedia de instantáneas descodificadas 170 puede almacenar la instantánea filtrada para usar la instantánea filtrada como la instantánea de referencia en la unidad de inter predicción 180.
La unidad de inter predicción 180 realiza una predicción temporal y/o una predicción espacial para quitar la redundancia temporal y/o la redundancia espacial haciendo referencia a la instantánea reconstruida. En el presente caso, debido a que la instantánea de referencia usada para la predicción es una señal transformada que se cuantifica y que se cuantifica inversamente en unidades del bloque en el momento de la codificación/descodificación en el momento previo, pueden existir artefactos de división en bloques o de aparición de anillos.
En consecuencia, la unidad de inter predicción 180 puede interpolar una señal entre píxeles en unidades de un subpíxel aplicando un filtro de paso bajo para solucionar la degradación de rendimiento debido a la discontinuidad o cuantificación de una señal de este tipo. En el presente caso, el subpíxel significa un píxel virtual generado aplicando un filtro de interpolación y un píxel entero significa un píxel real que existe en la instantánea reconstruida. Como un método de interpolación, puede adoptarse una interpolación lineal, una interpolación bilineal, un filtro de Wiener y similares.
Se aplica un filtro de interpolación a la instantánea reconstruida para potenciar la precisión de la predicción. Por ejemplo, la unidad de inter predicción 180 aplica el filtro de interpolación al píxel entero para generar un píxel interpolado y la predicción puede realizarse usando un bloque interpolado constituido por los píxeles interpolados como el bloque de predicción.
Por otro lado, la unidad de intra predicción 185 puede predecir el bloque actual haciendo referencia a muestras en las proximidades de un bloque que va a someterse a una codificación actual. La unidad de intra predicción 185 puede realizar el siguiente proceso para realizar la intra predicción. En primer lugar, puede prepararse una muestra de referencia, que se requiere para generar la señal de predicción. Además, la señal de predicción puede generarse usando la muestra de referencia preparada. Posteriormente, se codifica el modo de predicción. En este caso, la muestra de referencia puede prepararse a través de relleno de muestra de referencia y/o filtrado de muestra de referencia. Debido a que la muestra de referencia se somete a procesos de predicción y de reconstrucción, puede existir un error de cuantificación. En consecuencia, puede realizarse un proceso de filtrado de muestras de referencia con respecto a cada modo de predicción usado para la intra predicción para reducir un error de este tipo.
La señal de predicción generada a través de la unidad de inter predicción 180 o la unidad de intra predicción 185 puede usarse para generar la señal reconstruida o usarse para generar la señal residual.
La figura 2 es un diagrama de bloques esquemático de un descodificador en el que se realiza una descodificación de una señal de vídeo como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 2, el descodificador 200 puede configurarse para incluir una unidad de análisis (no ilustrada), una unidad de descodificación por entropía 210 , una unidad de descuantificación 220, una unidad de transformada inversa 230, una unidad de filtrado 240, una unidad de memoria intermedia de instantáneas descodificadas (DPB) 250, una unidad de inter predicción 260 y una unidad de intra predicción 265.
Además, una señal de vídeo reconstruida emitida a través del descodificador puede reproducirse a través de un dispositivo de reproducción.
El descodificador 200 puede recibir la señal emitida desde el codificador 100 de la figura 1 y la señal recibida puede descodificarse por entropía a través de la unidad de descodificación por entropía 210.
La unidad de descuantificación 220 adquiere el coeficiente de transformada a partir de una señal descodificada por entropía usando información de tamaño de escalón de cuantificación.
La unidad de transformada inversa 230 transforma inversamente el coeficiente de transformada para adquirir la señal residual.
En el presente caso, la presente invención proporciona un método para configurar una combinación de transformadas para cada grupo de configuraciones de transformada dividido por al menos uno de un modo de predicción, un tamaño de bloque o una forma de bloque y la unidad de transformada inversa 230 puede realizar una transformada inversa basándose en la combinación de transformadas configurada por la presente invención. Además, pueden aplicarse las realizaciones descritas en esta memoria descriptiva.
La unidad de transformada inversa 230 puede realizar las siguientes realizaciones.
La presente invención proporciona un método para reconstruir la señal de vídeo basándose en una transformada secundaria reducida.
La unidad de transformada inversa 230 puede inferir una transformada secundaria correspondiente a un índice de transformada secundaria, realiza una transformada secundaria inversa para el bloque de coeficientes de transformada usando la transformada secundaria, y realiza una transformada primaria inversa para el bloque en el que se realiza la transformada secundaria inversa. En el presente caso, la transformada secundaria se refiere a la transformada secundaria reducida y la transformada secundaria reducida representa una transformada en la que se introducen N datos residuales (N x 1 vectores residuales) para emitir L (L < N) datos de coeficiente de transformada (L x 1 vectores de coeficiente de transformada).
La presente invención está caracterizada por que la transformada secundaria reducida se aplica a una región específica del bloque actual y la región específica es una M x M (M < N) de arriba a la izquierda en el bloque actual.
La presente invención está caracterizada por que se aplica una transformada secundaria reducida de 4 x 4 a cada uno de unos bloques de 4 x 4 divididos en los bloques actuales cuando se realiza la transformada secundaria inversa.
La presente invención está caracterizada por que se determina si se obtiene el índice de transformada secundaria basándose en la posición del último coeficiente de transformada no nulo en el bloque de coeficientes de transformada.
La presente invención está caracterizada por que, cuando el último coeficiente de transformada no nulo no se sitúa en la región específica, se obtiene el índice de transformada secundaria y la región específica indica regiones restantes que no sean una posición cuando el coeficiente de transformada no nulo puede existir cuando los coeficientes de transformada se disponen de acuerdo con el orden de exploración en el caso en el que se aplica la transformada secundaria reducida.
La unidad de transformada inversa 230 puede inferir una combinación de transformadas correspondiente a un índice de transformada primaria y realizar una transformada primaria inversa usando la combinación de transformadas. En el presente caso, el índice de transformada primaria corresponde a una cualquiera de una pluralidad de combinaciones de transformadas constituidas por una combinación de DST7 y/o DCT8 y la combinación de transformadas incluye una transformada horizontal y una transformada vertical. En este caso, la transformación horizontal y la transformación vertical corresponden o bien a la DST7 o bien a la DCT8.
Aunque la unidad de descuantificación 220 y la unidad de transformada inversa 230 se describen como unidades funcionales separadas, la presente invención no se limita a ello y pueden combinarse en una unidad funcional.
La señal residual obtenida se suma a la señal de predicción emitida desde la unidad de inter predicción 260 o la unidad de intra predicción 265 para generar la señal reconstruida.
La unidad de filtrado 240 aplica un filtrado a la señal reconstruida y emite la señal reconstruida aplicada a un dispositivo de generación o transmite la señal reconstruida de salida a la unidad de memoria intermedia de instantáneas descodificadas 250. La unidad de inter predicción 250 puede usar la señal filtrada transmitida a la unidad de memoria intermedia de instantáneas descodificadas 260 como la instantánea de referencia.
En esta memoria descriptiva, las realizaciones descritas en la unidad de transformada 120 y las unidades funcionales respectivas del codificador 100 pueden aplicarse igualmente a la unidad de transformada inversa 230 y a las unidades funcionales correspondientes del descodificador, respectivamente.
La figura 3 ilustra realizaciones a las que puede aplicarse la presente invención, la figura 3A es un diagrama para describir estructuras de división de bloques mediante un árbol cuádruple (QT) (denominado 'QT' en lo sucesivo en el presente documento), la figura 3B es un diagrama para describir estructuras de división de bloques mediante un árbol binario (BT) (denominado 'TT'), la figura 3C es un diagrama para describir estructuras de división de bloques mediante un árbol ternario (TT) (denominado 'TT' en lo sucesivo en el presente documento), y la figura 3D es un diagrama para describir estructuras de división de bloques mediante un árbol asimétrico (AT) (denominado 'AT' en lo sucesivo en el presente documento).
En la codificación de vídeo, un bloque puede dividirse basándose en un árbol cuádruple (QT). Además, un subbloque dividido por el QT puede dividirse adicionalmente de forma recursiva usando el QT. Un bloque hoja que ya no se divide en QT puede dividirse por al menos un esquema de árbol binario (BT), árbol ternario (TT) y árbol asimétrico (AT). El BT puede tener dos tipos de divisiones: bT horizontal (2N x N, 2N x N) y BT vertical (N x 2N, N x 2N). El TT puede tener dos tipos de divisiones: TT horizontal (2N x 1 / 2N, 2N x N, 2N x 1 / 2N) y TT vertical (1 / 2N x 2N, N x 2N, 1 / 2N x 2N). El AT puede tener cuatro tipos de divisiones: AT de arriba horizontal (2N x 1 / 2N, 2N x 3 / 2N), AT de abajo horizontal (2N x 3 / 2N, 2N x 1 / 2n ), AT a la izquierda vertical (1 / 2N x 2N, 3 / 2n x 2N), AT a la derecha vertical
(3 / 2N x 2N, 1 / 2N x 2N). Cada uno del BT, el TT y el AT puede dividirse adicionalmente de forma recursiva usando el BT, el TT y el AT.
La figura 3A ilustra un ejemplo de división en QT. El bloque A puede ser dividido en cuatro subbloques A0, A1, A2 y A3 por el QT. El subbloque A1 puede ser dividido de nuevo en cuatro subbloques B0, B1, B2 y B3 por el QT.
La figura 3B ilustra un ejemplo de división en BT. El bloque B3 que ya no se divide por el QT puede dividirse en BT vertical (C0, C1) o BT horizontal (D0, D1). Al igual que el bloque C0, cada subbloque puede dividirse adicionalmente de forma recursiva como una forma de BT horizontal (E0, E1) o BT vertical (F0, F1).
La figura 3C ilustra un ejemplo de división en TT. El bloque B3 que ya no se divide por el QT puede dividirse en TT vertical (C0, C1, C2) o TT horizontal (D0, D1, D2).
Al igual que el bloque C1, cada subbloque puede dividirse adicionalmente de forma recursiva como una forma de TT horizontal (E0, E1, E2) o TT vertical (F0, F1, F2).
La figura 3D ilustra un ejemplo de división en AT. El bloque B3 que ya no se divide por el QT puede dividirse en AT vertical (C0, C1) o AT horizontal (D0, D1). Al igual que el bloque C1, cada subbloque puede dividirse adicionalmente de forma recursiva como una forma de AT horizontal (E0, E1) o TT vertical (F0, F1).
Por otro lado, las divisiones de BT, de TT y de AT pueden hacerse y usarse conjuntamente. Por ejemplo, el subbloque dividido por el BT puede dividirse por el t T o el AT. Además, el subbloque dividido por el TT puede dividirse por el BT o el AT. Además, el subbloque dividido por el AT puede dividirse por el Bt o el TT. Por ejemplo, después de la división en BT horizontal, cada subbloque puede dividirse en BT verticales o después de la división en BT vertical, cada subbloque puede dividirse en bT horizontales. Los dos tipos de métodos de división son diferentes entre sí en términos de un orden de división, pero son iguales entre sí en términos de una forma de división definitiva.
Además, cuando se divide el bloque, puede definirse de diversas formas un orden de búsqueda del bloque. En general, la búsqueda puede realizarse de izquierda a derecha y de arriba abajo, y la búsqueda del bloque puede significar un orden para decidir si dividir adicionalmente cada subbloque dividido, significar un orden de codificación de cada subbloque cuando ya no se divide cada subbloque, o significar un orden de búsqueda cuando se hace referencia a información de otro bloque vecino en el subbloque.
Las figuras 4 y 5 ilustran realizaciones a las que se aplica la presente invención, la figura 4 es un diagrama de bloques esquemático de unas unidades de transformada y de cuantificación 120 y 130 y unas unidades de descuantificación y de transformada inversa 140 y 150 en un codificador, y la figura 5 es un diagrama de bloques esquemático de unas unidades de descuantificación y de transformada inversa 220 y 230 en un descodificador.
Haciendo referencia a la figura 4, las unidades de transformada y de cuantificación 120 y 130 pueden incluir una unidad de transformada primaria 121, una unidad de transformada secundaria 122 y una unidad de cuantificación 130. Las unidades de descuantificación y de transformada inversa 140 y 150 pueden incluir una unidad de descuantificación 140, una unidad de transformada secundaria inversa 151 y una unidad de transformada primaria inversa 152.
Haciendo referencia a la figura 5, las unidades de descuantificación y de transformada inversa 220 y 230 pueden incluir una unidad de descuantificación 220, una unidad de transformada secundaria inversa 231 y una unidad de transformada primaria inversa 232.
En la presente invención, cuando se realiza la transformada, la transformada puede realizarse a través de una pluralidad de etapas. Por ejemplo, pueden aplicarse dos etapas de la transformada primaria y la transformada secundaria como se ilustra en la figura o pueden usarse 4 o más etapas de transformada de acuerdo con un algoritmo. En el presente caso, la transformada primaria también puede denominarse transformada medular.
La unidad de transformada primaria 121 puede aplicar la transformada primaria a la señal residual y, en el presente caso, la transformada primaria puede definirse en una tabla en el codificador y/o el descodificador.
La transformada primaria puede adoptar una transformada de coseno discreta de tipo 2 (denominada 'DCT2' en lo sucesivo en el presente documento).
Como alternativa, solo en un caso específico, puede adoptarse una transformada sinusoidal discreta de tipo 7 ("DST7" en lo sucesivo en el presente documento). Por ejemplo, la DST7 puede aplicarse al bloque de 4 x 4 en el modo de intra predicción.
Además, la transformada primaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, puede adoptarse la figura 6.
La unidad de transformada secundaria 122 puede aplicar la transformada secundaria a una señal transformada
primaria y, en el presente caso, la transformada secundaria puede definirse en la tabla en el codificador y/o el descodificador.
Como una realización, la transformada secundaria puede adoptar de forma condicional una transformada secundaria no separable (denominada 'NSST' en lo sucesivo en el presente documento). Por ejemplo, la NSST puede aplicarse solo al bloque de intra predicción y puede tener un conjunto de transformadas aplicable a cada grupo de modos de predicción.
En el presente caso, el grupo de modo de predicción puede configurarse basándose en la simetría con respecto a una dirección de predicción. Por ejemplo, debido a que el modo de predicción 52 y el modo de predicción 16 son simétricos basándose en el modo de predicción 34 (una dirección diagonal), el mismo conjunto de transformadas puede aplicarse formando un grupo. En este caso, cuando se aplica la transformada para el modo de predicción 52, los datos de entrada se trasponen y, entonces, se aplican debido a que el modo de predicción 52 tiene el mismo conjunto de transformadas que el modo de predicción 16.
Por otro lado, debido a que la simetría para la dirección no existe en el caso de un modo plano y un modo de CC, cada modo tiene un conjunto de transformadas diferente y el conjunto de transformadas correspondiente puede estar constituido por dos transformadas. Con respecto a los modos de dirección restantes, cada conjunto de transformadas puede estar constituido por tres transformadas.
Como otra realización, la transformada secundaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, puede adoptarse la figura 6.
Como otra realización, la DST 7 puede aplicarse a la transformada secundaria.
Como otra realización, la transformada secundaria puede no aplicarse a todo el bloque transformado primario sino que puede aplicarse solo a una región específica de arriba a la izquierda. Por ejemplo, cuando el tamaño de bloque es de 8 x 8 o más, se aplica una NSST de 8 x 8 y, cuando el tamaño de bloque es menor que 8 x 8, puede aplicarse una transformada secundaria de 4 x 4. En este caso, el bloque puede dividirse en bloques de 4 x 4 y, entonces, puede aplicarse la transformada secundaria de 4 x 4 a cada bloque dividido.
Como otra realización, incluso en el caso de 4 x N / N x 4 (N >= 16), puede aplicarse la transformada secundaria de 4 x 4.
La transformada secundaria (por ejemplo, NSST), la transformada secundaria de 4 x 4 y una transformada secundaria de 8 x 8 se describirán con más detalle con referencia a las figuras 12 a 15 y otras realizaciones en la memoria descriptiva.
La unidad de cuantificación 130 puede realizar una cuantificación para la señal transformada secundaria.
Las unidades de descuantificación y de transformada inversa 140 y 150 realizan el proceso descrito anteriormente a la inversa, y se omitirá una descripción redundante del mismo.
La figura 5 es un diagrama de bloques esquemático de una unidad de descuantificación 220 y una unidad de transformada inversa 230 en un descodificador.
Haciendo referencia a la figura 5, las unidades de descuantificación y de transformada inversa 220 y 230 pueden incluir una unidad de descuantificación 220, una unidad de transformada secundaria inversa 231 y una unidad de transformada primaria inversa 232.
La unidad de descuantificación 220 adquiere el coeficiente de transformada a partir de una señal descodificada por entropía usando información de tamaño de escalón de cuantificación.
La unidad de transformada secundaria inversa 231 realiza una transformada secundaria inversa para los coeficientes de transformada. En el presente caso, la transformada secundaria inversa representa una transformada inversa de la transformada secundaria descrita en la figura 4.
Como otra realización, la transformada secundaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, puede adoptarse la figura 6.
La unidad de transformada primaria inversa 232 realiza una transformada primaria inversa para la señal (o el bloque) transformada secundaria inversa y obtiene la señal residual. En el presente caso, la transformada primaria inversa representa la transformada inversa de la transformada primaria descrita en la figura 4.
Como una realización, la transformada primaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, puede adoptarse la figura 6.
Como una realización de la presente invención, la DST 7 puede aplicarse a la transformada primaria.
Como una realización de la presente invención, la DST 8 puede aplicarse a la transformada primaria.
La presente invención proporciona un método para configurar una combinación de transformadas para cada grupo de configuraciones de transformada dividido por al menos uno de un modo de predicción, un tamaño de bloque o una forma de bloque y la unidad de transformada primaria inversa 232 puede realizar la transformada inversa basándose en la combinación de transformadas configurada por la presente invención. Además, pueden aplicarse las realizaciones descritas en esta memoria descriptiva.
La figura 6 es una tabla que muestra un grupo de configuraciones de transformada al que se aplica una selección de transformada múltiple (MTS) como una realización a la que se aplica la presente invención.
Grupo de configuraciones de transformada al que se aplica una selección de transformada múltiple (MTS)
En esta memoria descriptiva, una j-ésima candidata de combinación de transformadas para el grupo de configuraciones de transformada Gi se representa mediante un par mostrado en la Ecuación 1 a continuación.
En el presente caso, H(Gi, j) indica la transformada horizontal para la j-ésima candidata, y V(Gi, j) indica la transformada vertical para la j-ésima candidata. Por ejemplo, en la figura 6, puede representarse H(G3, 2) = DST7, V(G3, 2) = DCT8. Dependiendo de un contexto, un valor asignado a H(Gi, j) o V(G i, j) puede ser un valor nominal para distinguir transformaciones, como en el ejemplo anterior, o puede ser un valor de índice que indica la transformada o puede ser una matriz bidimensional (D) para la transformada.
Además, en esta memoria descriptiva, un valor de matriz 2D para una DCT y una DST puede representarse como se muestra en las Ecuaciones 2 y 3 a continuación.
En el presente caso, si la DST o la DCT se representa mediante S o C y un número de tipo se expresa en superíndices en forma de números romanos y N en un subíndice indica una transformada N x N. Además, matrices 2D tales como la Cii y la S™ suponen que los vectores columna forman una base de transformada.
Haciendo referencia a la figura 6, los grupos de configuraciones de transformada pueden determinarse basándose en el modo de predicción, y el número de grupos puede ser un total de seis grupos G0 a G5. Además, de G0 a G4 corresponden a un caso en el que se aplica una intra predicción, y G5 representa combinaciones de transformadas (o conjuntos de transformadas y conjuntos de combinaciones de transformadas) aplicadas al bloque residual generado por la inter predicción.
Una combinación de transformadas puede estar constituida por una transformada horizontal (o transformada por filas) aplicada a filas de un bloque 2D correspondiente y una transformada vertical (o transformada por columnas) aplicada a columnas.
En el presente caso, cada uno de todos los grupos de configuraciones de transformada puede tener cuatro candidatas de combinación de transformadas. Las cuatro combinaciones de transformadas pueden seleccionarse o determinarse a través de índices de combinación de transformadas de 0 a 3 y transmitirse codificando el índice de combinación de transformadas desde el codificador al descodificador.
Como una realización, los datos residuales (o señal residual) obtenidos a través de la intra predicción pueden tener diferentes características estadísticas de acuerdo con el modo de intra predicción. Por lo tanto, como se ilustra en la figura 6, pueden aplicarse transformadas que no sean una transformada de coseno general a cada modo de intra predicción.
Haciendo referencia a la figura 6, se ilustra un caso de uso de 35 modos de intra predicción y un caso de uso de 67 modos de intra predicción. Puede aplicarse una pluralidad de combinaciones de transformadas a cada grupo de
configuraciones de transformada dividido en cada columna de modos de intra predicción. Por ejemplo, la pluralidad de combinaciones de transformadas puede estar constituida por cuatro combinaciones (transformadas de dirección por filas y transformadas de dirección por columnas). Como un ejemplo específico, pueden aplicarse una DST-7 y una DST-5 en una dirección por filas (horizontal) y una dirección por columnas (vertical) en el grupo 0 y, como resultado, hay disponibles un total de cuatro combinaciones.
Debido a que puede aplicarse un total de combinaciones de núcleos de transformada a cada modo de intra predicción, cada unidad de transformada puede transmitirse un índice de combinación de transformadas para seleccionar una de las combinaciones de núcleos de transformada. En esta memoria descriptiva, el índice de combinación de transformadas puede denominarse índice de MTXy expresarse como mtx_idx.
Adicionalmente, además de los núcleos de transformada presentados en la figura 6 anterior, puede tener lugar un caso en el que una DCT2 sea óptima tanto para la dirección por filas como para la dirección por columnas debido a las características de la señal residual. En consecuencia, la bandera de MTS se define para que cada unidad de codificación realice la transformada de forma adaptativa. En el presente caso, cuando la bandera de MTS es 0, puede aplicarse una DCT2 tanto a la dirección por filas como a la dirección por columnas y, cuando la bandera de MTS es 1, una de cuatro combinaciones puede seleccionarse o determinarse a través del índice de MTS.
Como una realización, cuando la bandera de MTS es 1, si el número de coeficientes de transformada no nulos para una unidad de transformada no es mayor que un umbral, la DST-7 puede aplicarse tanto en la dirección por filas como en la dirección por columnas, no se aplica sin aplicar los núcleos de transformada de la figura 6. Por ejemplo, el umbral puede establecerse a 2 , lo que puede establecerse de forma diferente basándose en el tamaño de bloque o en el tamaño de la unidad de transformada. Esto también es aplicable a otras realizaciones en la memoria descriptiva.
Como una realización, si el número de coeficientes de transformada no nulos no es mayor que el umbral, analizando en primer lugar los valores de coeficiente de transformada, la cantidad de transmisión de información adicional puede reducirse aplicando la DST-7 sin analizar el índice de MTS.
Como una realización, cuando la bandera de MTS es 1, si el número de coeficientes de transformada no nulos es mayor que el umbral para una unidad de transformada, puede analizarse el índice de MTS y la transformada horizontal y la transformada vertical pueden determinarse basándose en el índice de MTS.
Como una realización, la MTS puede aplicarse solo cuando tanto la anchura como la altura de la unidad de transformada son iguales a o más pequeñas que 32.
Como una realización, la figura 6 puede preconfigurarse a través de entrenamiento fuera de línea.
Como una realización, el índice de MTX puede definirse como un índice que puede indicar simultáneamente la transformada horizontal y la transformada vertical. Como alternativa, el índice de MTX puede definirse por separado como un índice de transformada horizontal y un índice de transformada vertical.
Como una realización, la bandera de MTS o el índice de MTX pueden definirse en al menos un nivel de una secuencia, una instantánea, un sector, un bloque, una unidad de codificación, una unidad de transformada o una unidad de predicción. Por ejemplo, la bandera de MTS o el índice de MTX pueden definirse en al menos un nivel de un conjunto de parámetros de secuencia (SPS), la unidad de codificación o la unidad de transformada. Además, como un ejemplo, puede definirse una bandera de sintaxis para habilitar/deshabilitar el MTX en al menos un nivel del conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de instantánea (PPS) o un encabezamiento de sector.
Como otra realización, la combinación de transformadas (transformada horizontal o transformada vertical) correspondiente al índice de transformada puede configurarse sin dependencia de la bandera de MTS, el modo de predicción y/o una forma de bloque. Por ejemplo, la combinación de transformadas puede configurarse por al menos una de DCT2, DST7 y/o DCT8. Como un ejemplo específico, cuando el índice de transformada es 0, 1,2, 3 o 4, cada combinación de transformadas puede ser (d Ct 2, Dc T2), (DST7, DST7), (DCT8, DST7), (DST7, DCT8) o (DCT8, DCT8).
La figura 7 es un diagrama de flujo que muestra un proceso de codificación en el que se realiza una selección de transformada múltiple (MTS) como una realización a la que se aplica la presente invención.
En esta memoria descriptiva, se describe básicamente una realización en la que las transformadas se aplican por separado a la dirección horizontal y a la dirección vertical, pero la combinación de transformadas puede configurarse como transformadas no separables.
Como alternativa, la combinación de transformadas puede configurarse por una mezcla de transformadas separables y transformadas no separables. En este caso, cuando se usa la transformada no separable, puede no requerirse la selección de transformada por filas/columnas o la selección de dirección horizontal/vertical y, solo cuando se selecciona la transformada separable, pueden usarse las combinaciones de transformadas de la figura 6.
Además, los esquemas propuestos por esta memoria descriptiva pueden aplicarse independientemente de la transformada primaria o la transformada secundaria. Es decir, no hay límite de que los esquemas debieran aplicarse solo a una cualquiera de la transformada primaria y la transformada secundaria y los esquemas pueden aplicarse tanto a la transformada primaria como a la transformada secundaria. En el presente caso, la transformada primaria puede significar una transformada para transformar el bloque residual en primer lugar y la transformada secundaria puede significar una transformada para aplicar la transformada al bloque generado como resultado de la transformada primaria.
En primer lugar, el codificador puede determinar el grupo de configuraciones de transformada correspondiente al bloque actual. En el presente caso, el grupo de configuraciones de transformada puede significar el grupo de configuraciones de transformada de la figura 6 y la presente invención no se limita a ello y el grupo de configuraciones de transformadas puede estar constituido por otras combinaciones de transformadas.
El codificador puede realizar una transformada para combinaciones de transformadas candidatas utilizables en el grupo de configuraciones de transformada (S720).
Como resultado de la ejecución de la transformada, el codificador puede determinar o seleccionar una combinación de transformadas que tiene el coste de distorsión de tasa (RD) más pequeño (S730).
El codificador puede codificar el índice de combinación de transformadas correspondiente a la combinación de transformadas seleccionada (S740).
La figura 8 es un diagrama de flujo que muestra un proceso de descodificación en el que se realiza una selección de transformada múltiple (MTS) como una realización a la que se aplica la presente invención.
En primer lugar, el descodificador puede determinar el grupo de configuraciones de transformada para el bloque actual (S810).
El descodificador puede analizar (o adquirir) el índice de combinación de transformadas a partir de la señal de vídeo y, en el presente caso, el índice de combinación de transformadas puede corresponder a una cualquiera de la pluralidad de combinaciones de transformadas en el grupo de configuraciones de transformada (S820). Por ejemplo, el grupo de configuraciones de transformada puede incluir una transformada de seno discreta (DST) de tipo 7 y una transformada de coseno discreta (DST) de tipo 8. El índice de combinación de transformadas puede denominarse índice de MTS.
Como una realización, el grupo de configuraciones de transformada puede configurarse basándose en al menos uno del modo de predicción, el tamaño de bloque o la forma de bloque del bloque actual.
El descodificador puede inferir la combinación de transformadas correspondiente al índice de combinación de transformadas (S830). En el presente caso, la combinación de transformadas puede estar constituida por la transformada horizontal y la transformada vertical y puede incluir al menos una de la DST-7 o la DCT-8.
Además, la combinación de transformadas puede significar la combinación de transformadas descrita en la figura 6, pero la presente invención no se limita a ello. Es decir, la combinación de transformadas puede configurarse por otras combinaciones de transformadas dependiendo de otras realizaciones en esta memoria descriptiva.
El descodificador puede realizar la transformada inversa para el bloque actual basándose en la combinación de transformadas (S840). Cuando la combinación de transformadas está constituida por la transformada por filas (horizontal) y la transformada por columnas (vertical), la transformada por columnas (vertical) puede aplicarse después de aplicar en primer lugar la transformada por filas (horizontal). Sin embargo, la presente invención no se limita a ello y el orden de las transformadas puede invertirse o, cuando la combinación de transformadas está constituida por las transformadas no separables, puede aplicarse inmediatamente la transformada no separable.
Como una realización, cuando la transformada vertical o la transformada horizontal es la DST-7 o la DCT-8, la transformada inversa de la DST-7 o la transformada inversa de la DCT-8 puede aplicarse a cada fila y, entonces, aplicarse a cada fila.
Como una realización, con respecto a la transformada vertical o la transformada horizontal, puede aplicarse una transformada diferente a cada fila y/o cada columna.
Como una realización, el índice de combinación de transformadas puede adquirirse basándose en la bandera de MST que indica si se realiza la MTS. Es decir, el índice de combinación de transformadas puede obtenerse cuando la MTS se realiza de acuerdo con la bandera de MTS.
Como una realización, el descodificador puede comprobar si el número de coeficientes de transformada no nulos es
mayor que el umbral. En este caso, la transformada puede obtenerse cuando el número de coeficientes de transformada no nulos es mayor que el umbral.
Como una realización, la bandera de MTS o el índice de MTX pueden definirse en al menos un nivel de una secuencia, una instantánea, un sector, un bloque, una unidad de codificación, una unidad de transformada o una unidad de predicción.
Como una realización, la transformada inversa puede aplicarse solo cuando tanto la anchura como la altura de la unidad de transformada son iguales a o más pequeñas que 32.
Por otra parte, como otra forma de realización, pueden realizarse al mismo tiempo un proceso de determinación del grupo de configuraciones de transformada y un proceso de análisis sintáctico del índice de combinación de transformadas. Como alternativa, la etapa S810 puede preconfigurarse y omitirse en el codificador y/o el descodificador.
La figura 9 es un diagrama de flujo para describir un proceso de codificación de una bandera de MTS y un índice de MTS como una realización a la que se aplica la presente invención.
El codificador puede determinar si se aplica la selección de transformada múltiple (MTS) al bloque actual (S910). Cuando se aplica la selección de transformada múltiple (MTS), el codificador puede codificar la bandera de MTS = 1 (S920).
Además, el codificador puede determinar el índice de MTS basándose en al menos uno del modo de predicción, la transformada horizontal y la transformada vertical del bloque actual (S930). En el presente caso, el índice de MTS puede significar un índice que indica una cualquiera de la pluralidad de combinaciones de transformadas para cada modo de intra predicción y el índice de MTS puede transmitirse para cada unidad de transformada.
Cuando se determina el índice de MTS, el codificador puede codificar el índice de MTS (S940).
Por otro lado, cuando no se aplica la selección de transformada múltiple (MTS), el codificador puede codificar la bandera de MTS = 0 (S920).
La figura 10 es un diagrama de flujo para describir un proceso de descodificación en el que se aplica una transformada horizontal o una transformada vertical a una fila o a una columna basándose en una bandera de MTS y en un índice de MTX como una realización a la que se aplica la presente invención.
El descodificador puede analizar la bandera de MTS a partir del flujo de bits (S1010). En el presente caso, la bandera de MTS puede indicar si se aplica la selección de transformada múltiple (MTS) al bloque actual.
El descodificador puede determinar si se aplica la selección de transformada múltiple (MTS) al bloque actual basándose en la bandera de MTS (S1020). Por ejemplo, puede comprobarse si la bandera de MTS es 1.
Cuando la bandera de MTS es 1, el descodificador puede comprobar si el número de coeficientes de transformada no nulos es mayor que (o igual a o mayor que) el umbral (S1030). Por ejemplo, el umbral puede establecerse a 2, lo que puede establecerse de forma diferente basándose en el tamaño de bloque o en el tamaño de la unidad de transformada.
Cuando el número de coeficientes de transformada no nulos es mayor que el umbral, el descodificador puede analizar el índice de MTS (S1040). En el presente caso, el índice de MTS puede significar una cualquiera de la pluralidad de combinaciones de transformadas para cada modo de intra predicción o modo de inter predicción y el índice de MTS puede transmitirse para cada unidad de transformada. Como alternativa, el índice de MTS puede significar un índice que indica una cualquiera de las combinaciones de transformadas definidas en una tabla de combinaciones de transformadas preconfiguradas y, en el presente caso, la tabla de combinaciones de transformadas preconfiguradas puede significar la figura 6, pero la presente invención se limita a ello.
El descodificador puede inferir o determinar la transformada horizontal y la transformada vertical basándose en al menos uno del índice de MTS y el modo de predicción (S1050).
Como alternativa, el descodificador puede inferir la combinación de transformadas correspondiente al índice de MTX. Por ejemplo, el descodificador puede inferir o determinar la transformada horizontal y la transformada vertical correspondientes al índice de MTS.
Cuando el número de coeficientes de transformada no nulos no es mayor que el umbral, el descodificador puede aplicar una transformada inversa vertical preconfigurada (S1060). Por ejemplo, la transformada inversa vertical puede ser la transformada inversa de la DST7.
Además, el descodificador puede aplicar una transformación inversa horizontal preconfigurada para cada fila (S1070). Por ejemplo, la transformada inversa horizontal puede ser la transformada inversa de la DST7. Es decir, cuando el número de coeficientes de transformada no nulos no es mayor que el umbral, puede usarse un núcleo de transformada preconfigurado por el codificador o el descodificador. Por ejemplo, puede usarse un núcleo de transformada (por ejemplo, DCT-2, DST-7 o DCT-8) que no se define en la tabla de combinaciones de transformadas ilustrada en la figura 6, pero que se use ampliamente.
Por otro lado, cuando la bandera de MTS es 0, el descodificador puede aplicar la transformada inversa vertical preconfigurada para cada columna (S1080). Por ejemplo, la transformada inversa vertical puede ser la transformada inversa de la DCT2.
Además, el descodificador puede aplicar la transformación inversa horizontal preconfigurada para cada fila (S1090). Por ejemplo, la transformada inversa horizontal puede ser la transformada inversa de la DCT2. Es decir, cuando la bandera de MTS es 0, puede usarse el núcleo de transformada preconfigurado por el codificador o el descodificador. Por ejemplo, puede usarse el núcleo de transformada que no se define en la tabla de combinaciones de transformadas ilustrada en la figura 6, pero que se use ampliamente.
La figura 11 es un diagrama de flujo de la ejecución de una transformada inversa basándose en un parámetro relacionado con transformada como una realización a la que se aplica la presente invención.
El descodificador al que se aplica la presente invención puede obtener sps_mts_intra_enabled_flag o sps_mts_inter_enabled_flag (S1110). En el presente caso, sps_mts_intra_enabled_flag indica si existe tu_mts_flag en una sintaxis de codificación residual de una unidad de intra codificación. Por ejemplo, cuando sps_mts_intra_enabled_flag = 0, no existe tu_mts_flag en la sintaxis de codificación residual de la unidad de intra codificación y, cuando sps_mts_intra_enabled_flag = 0, existe tu_mts_flag en la sintaxis de codificación residual de la unidad de intra codificación. Además, sps_mts_inter_enabled_flag indica si existe tu_mts_flag en una sintaxis de codificación residual de la unidad de inter codificación. Por ejemplo, cuando sps_mts_inter_enabled_flag = 0, no existe tu_mts_flag en la sintaxis de codificación residual de la unidad de intra codificación y, cuando sps_mts_inter_enabled_flag = 0, existe tu_mts_flag en la sintaxis de codificación residual de la unidad de inter codificación.
El descodificador puede obtener tu_mts_flag basándose en sps_mts_intra_enabled_flag o sps_mts_inter_enabled_flag (S1120). Por ejemplo, cuando sps_mts_intra_enabled_flag = 1 o sps_mts_inter_enabled_flag = 1, el descodificador puede obtener tu_mts_flag. En el presente caso, tu_mts_flag indica si se aplica una selección de transformada múltiple (denominada "MTS" en lo sucesivo en el presente documento) a una muestra residual de un bloque de transformada de luma. Por ejemplo, cuando tu_mts_flag = 0, la MTS no se aplica a la muestra residual del bloque de transformada de luma y, cuando tu_mts_flag = 1, la MTS se aplica a la muestra residual del bloque de transformada de luma.
Como otro ejemplo, al menos una de las realizaciones del presente documento puede aplicarse a la tu_mts_flag.
El descodificador puede obtener mts_idx basándose en tu_mts_flag (S1130). Por ejemplo, cuando tu_mts_flag = 1, el descodificador puede obtener mts_idx. En el presente caso, mts_idx indica qué núcleo de transformada se aplica a muestras residuales de luma a lo largo de la dirección horizontal y/o vertical de un bloque de transformada actual.
Por ejemplo, al menos una de las realizaciones del presente documento puede aplicarse a mts_idx. Como un ejemplo específico, puede aplicarse al menos una de las realizaciones de la figura 6.
El descodificador puede inferir el núcleo de transformada correspondiente a mts_idx (S1140). Por ejemplo, el núcleo de transformada correspondiente al mts_idx puede definirse dividiéndose en la transformada horizontal y la transformada vertical.
Como otro ejemplo, pueden aplicarse diferentes núcleos de transformada a la transformada horizontal y a la transformada vertical. Sin embargo, la presente invención no se limita a ello, y puede aplicarse el mismo núcleo de transformada a la transformada horizontal y a la transformada vertical.
Como una realización, mts_idx puede definirse como se muestra en la Tabla 1 a continuación.
T l 11
continuación
Además, el descodificador puede realizar la transformada inversa basándose en el núcleo de transformada (S1150).
En la figura 11 anterior, se describe principalmente una realización en la que se obtiene tu_mts_flag para determinar si aplicar una MTS y se obtiene mts_idx de acuerdo con un valor de tu_mts_flag que se obtiene posteriormente para determinar el núcleo de transformada, pero la presente invención no se limita a ello. Como un ejemplo, el descodificador analiza mts_idx directamente sin analizar tu_mts_flag para determinar el núcleo de transformada. En este caso, puede usarse la Tabla 1 descrita anteriormente. Es decir, cuando el valor de mts_idx indica 0, puede aplicarse una DCT-2 en la dirección horizontal/vertical y, cuando el valor de mts_idx indica un valor que no sea 0, puede aplicarse una DST-7 y/o una DCT-8 de acuerdo con el valor de mts_idx.
Como otra realización de la presente invención, se describe un proceso de descodificación de la ejecución del proceso de transformada.
El descodificador puede comprobar un tamaño de transformada nTbS (S10). En el presente caso, el tamaño de transformada nTbS puede ser una variable que representa un tamaño de muestra horizontal de coeficientes de transformada ajustados a escala.
El descodificador puede comprobar un tipo de núcleo de transformada trType (S20). En el presente caso, el tipo de núcleo de transformada trType puede ser una variable que representa el tipo del núcleo de transformada y pueden aplicarse diversas realizaciones del presente documento. El tipo de núcleo de transformada trType puede incluir un tipo de núcleo de transformada horizontal trTypeHor y un tipo de núcleo de transformada vertical trTypeVer.
Haciendo referencia a la Tabla 1, cuando el tipo de núcleo de transformada trType es 0, el tipo de núcleo de transformada puede representar una DCT2, cuando el tipo de núcleo de transformada trType es 1, el tipo de núcleo de transformada puede representar una DST7 y, cuando el tipo de núcleo de transformada trType es 2, el tipo de núcleo de transformada puede representar una DCT8.
El descodificador puede realizar una multiplicación de matriz de transformada basándose en al menos uno del tamaño de transformada nTbS o el tipo de núcleo de transformada (S30).
Como otro ejemplo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 4, puede aplicarse una matriz de transformada 1 predeterminada cuando se realiza la multiplicación de matriz de transformada.
Como otro ejemplo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 8, puede aplicarse una matriz de transformada 2 predeterminada cuando se realiza la multiplicación de matriz de transformada.
Como otro ejemplo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 16, puede aplicarse una matriz de transformada 3 predeterminada cuando se realiza la multiplicación de matriz de transformada.
Como otro ejemplo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 32, puede aplicarse una matriz de transformada 4 predefinida cuando se realiza la multiplicación de matriz de transformada.
De forma similar, cuando el tipo de núcleo de transformada es 2 y el tamaño de transformada es 4, 8, 16 o 32, pueden aplicarse unas matrices de transformada predefinidas 5, 6, 7 y 8, respectivamente.
En el presente caso, cada una de las matrices de transformada predefinidas 1 a 8 puede corresponder a uno cualquiera de diversos tipos de matrices de transformada. Como un ejemplo, puede aplicarse la matriz de transformada del tipo ilustrado en la figura 6.
El descodificador puede inferir una muestra de transformada (o un coeficiente de transformada) basándose en una multiplicación de matriz de transformada (S40).
Puede usarse cada una de las realizaciones anteriores, pero la presente invención no se limita a ello, y pueden usarse en combinación con las realizaciones anteriores y otras realizaciones de esta memoria descriptiva.
La figura 12 es una tabla que muestra la asignación de un conjunto de transformadas para cada modo de intra predicción en una NSST como una realización a la que se aplica la presente invención.
Transformada secundaria no separable (NSST)
La unidad de transformada secundaria puede aplicar la transformada secundaria a una señal transformada primaria y, en el presente caso, la transformada secundaria puede definirse en la tabla en el codificador y/o el descodificador.
Como una realización, la transformada secundaria puede adoptar de forma condicional una transformada secundaria no separable (denominada 'NSST' en lo sucesivo en el presente documento). Por ejemplo, la NSST puede aplicarse solo al bloque de intra predicción y puede tener un conjunto de transformadas aplicable a cada grupo de modos de predicción.
En el presente caso, el grupo de modo de predicción puede configurarse basándose en la simetría con respecto a una dirección de predicción. Por ejemplo, debido a que el modo de predicción 52 y el modo de predicción 16 son simétricos basándose en el modo de predicción 34 (una dirección diagonal), el mismo conjunto de transformadas puede aplicarse formando un grupo. En este caso, cuando se aplica la transformada para el modo de predicción 52, los datos de entrada se trasponen y, entonces, se aplican debido a que el modo de predicción 52 tiene el mismo conjunto de transformadas que el modo de predicción 16.
Por otro lado, debido a que la simetría para la dirección no existe en el caso de un modo plano y un modo de CC, cada modo tiene un conjunto de transformadas diferente y el conjunto de transformadas correspondiente puede estar constituido por dos transformadas. Con respecto a los modos de dirección restantes, cada conjunto de transformadas puede estar constituido por tres transformadas. Sin embargo, la presente invención no se limita a ello, y cada conjunto de transformadas puede estar constituido por una pluralidad de transformadas.
En una realización, puede definirse una tabla de conjuntos de transformadas que no sea la ilustrada en la figura 12. Por ejemplo, como se muestra en la Tabla 2 a continuación, el conjunto de transformadas puede determinarse a partir de una tabla predefinida de acuerdo con un modo de intra predicción (o un grupo de modos de intra predicción). Una sintaxis que indica una transformada específica en el conjunto de transformadas determinado de acuerdo con el modo de intra predicción puede señalizarse desde el codificador al descodificador.
T l 2
Haciendo referencia a la Tabla 2, puede asignarse un conjunto de transformadas predefinido a los modos de intra predicción agrupados (o grupos de modos de intra predicción). En el presente caso, el valor de IntraPredMode puede ser un valor de modo transformado teniendo en cuenta la intra predicción de ángulo amplio (WAIP).
La figura 13 es un diagrama de flujo de cálculo para una rotación de Givens como una realización a la que se aplica la presente invención.
Como otra realización, la NSST puede no aplicarse a todo el bloque transformado primario sino que puede aplicarse solo a una región de 8 x 8 de arriba a la izquierda. Por ejemplo, cuando el tamaño de bloque es de 8 x 8 o más, se aplica una NSST de 8 x 8 y, cuando el tamaño de bloque es menor que 8 x 8, se aplica una NSST de 4 x 4 y, en este caso, el bloque se divide en bloques de 4 x 4 y, entonces, se aplica la NSST de 4 x 4 a cada uno de los bloques divididos.
Como otra realización, incluso en el caso de 4 x N / N x 4 (N >= 16), puede aplicarse la NSST de 4x4.
Debido a que tanto la NSST de 8 x 8 como la NSST de 4 x 4 siguen una configuración de combinación de transformaciones descrita en este documento y son transformadas no separables, la NSST de 8 x 8 recibe 64 datos y emite 64 datos y la NSST de 4 x 4 tiene 16 entradas y 16 salidas.
Tanto la NSST de 8 x 8 como la NSST de 4 x 4 están configuradas por una combinación jerárquica de rotaciones de Givens. Se muestra una matriz correspondiente a una rotación de Givens en la Ecuación 4 a continuación y se muestra un producto matricial en la Ecuación 5 a continuación.
Como se ilustra en la figura 13, debido a que una rotación de Givens rota dos datos, para procesar 64 datos (para la NSST de 8 x 8) o 16 datos (para la NSST de 4 x 4), se requieren un total de 32 u 8 rotaciones de Givens.
Por lo tanto, se usa una agrupación de 32 u 8 para formar una capa de rotación de Givens. Los datos de salida para una capa de rotación de Givens se transfieren como datos de entrada para una siguiente capa de rotación de Givens a través de una permutación determinada.
La figura 14 ilustra una configuración de rondas en una NSST de 4 x 4 constituida por una capa de rotación de Givens y permutaciones como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 14, se ilustra que cuatro capas de rotación de Givens se procesan secuencialmente en el caso de la NSST de 4x 4. Como se ilustra en la figura 14, los datos de salida para una capa de rotación de Givens se transfieren como datos de entrada para la siguiente capa de rotación de Givens a través de una permutación determinada (es decir, barajado).
Como se ilustra en la figura 14, los patrones que van a permutarse se determinan de forma regular y, en el caso de la NSST de 4x4 , se combinan cuatro capas de rotación de Givens y las permutaciones correspondientes para formar una ronda.
En el caso de la NSST de 8 x 8, seis capas de rotación de Givens y las permutaciones correspondientes forman una ronda. La NSST de 4 x 4 pasa por dos rondas y la NSST de 8 x 8 pasa por cuatro rondas. Diferentes rondas usan el mismo patrón de permutación, pero los ángulos de rotación de Givens aplicados son diferentes. En consecuencia, es necesario almacenar datos de ángulos para todas las rotaciones de Givens que constituyen cada transformada.
Como una última etapa, por último se realiza adicionalmente una permutación sobre los datos emitidos a través de las capas de rotación de Givens, y se almacena información de permutación correspondiente por separado para cada transformada. En una NSST hacia delante, se realiza en último lugar la permutación correspondiente y, en una NSST inversa, por el contrario, se aplica en primer lugar una permutación inversa correspondiente.
En el caso de la NSST inversa, las capas de rotación de Givens y las permutaciones aplicadas a la NSST hacia delante se realizan en el orden inverso y se realiza una rotación tomando un valor negativo incluso para un ángulo de cada rotación de Givens.
La figura 15 es un diagrama de bloques para describir operaciones de transformada reducida hacia delante y de transformada reducida inversa como una realización a la que se aplica la presente invención.
Transformada secundaria reducida (RST)
Cuando se supone que una matriz ortogonal que representa una transformada tiene una forma N x N, una transformada reducida (denominada 'RT' en lo sucesivo en el presente documento) deja solo R vectores de base de transformada de entre N vectores de base de transformada (R < N). Una matriz para una RT hacia delante que genera los coeficientes de transformada viene dada por la Ecuación 6 a continuación.
Debido a que una matriz para una RT inversa se vuelve una matriz traspuesta de la matriz de RT hacia delante, la aplicación de la RT hacia delante y la RT inversa se ilustra como se ilustra en la figura 15. En el presente caso, un factor de reducción se define como R / N (R < N).
El número de elementos de la transformada reducida es R * N, que es más pequeño que el tamaño de toda la matriz (N * N). En otras palabras, una matriz requerida es R / N de toda la matriz. Además, el número de multiplicaciones requeridas es de R x N y es menor en R / N que el N x N original. Cuando se aplica la transformada reducida, se proporcionan R coeficientes y, como resultado, solo pueden transmitirse R valores de coeficiente en lugar de N coeficientes.
Suponiendo un caso en el que se supone la aplicación de la RT al bloque de arriba a la izquierda de 8 x 8 del bloque de transformada que pasa por la transformada primaria, la RT puede denominarse transformada secundaria reducida de 8 x 8 (RST de 8 x 8).
Cuando el valor de R de la Ecuación 6 anterior es 16, la RST de 8 x 8 hacia delante tiene una forma matricial de 16 x 64 y la RST de 8 x 8 inversa tiene una forma matricial de 64 x 16.
Además, la configuración de conjunto de transformadas, que es igual que la ilustrada en la figura 12, puede aplicarse incluso a la RST de 8 x 8. Es decir, puede aplicarse una RST de 8 x 8 correspondiente de acuerdo con el conjunto de transformadas en la figura 12.
Como una realización, cuando un conjunto de transformadas está constituido por dos o tres transformadas de acuerdo con el modo de intra predicción en la figura 12, puede configurarse para seleccionarse una de un máximo de 4 transformadas, incluyendo un caso de no aplicar la transformada secundaria. En el presente caso, una transformada puede considerarse como una matriz identidad.
Cuando se asignan unos índices de 0, 1, 2 y 3 a las cuatro transformadas, respectivamente, puede señalizarse un elemento de sintaxis denominado índice de NSST para cada bloque de transformadas, designando de ese modo una transformada correspondiente. Es decir, en el caso de la NSST, la NSST de 8 x 8 puede designarse para el bloque de arriba a la izquierda de 8 x 8 a través del índice de NSST y la RST de 8 x 8 puede designarse en una configuración de RST. Además, en este caso, el índice 0 puede asignarse a un caso en el que no se aplica la matriz identidad, es decir, la transformada secundaria.
Cuando se aplica la RST de 8 x 8 hacia delante mostrada en la Ecuación 6, se generan 16 coeficientes de transformada válidos y, como resultado, puede considerarse que 64 datos de entrada que constituyen una región de 8 x 8 se reducen a 16 datos de salida. Desde la perspectiva de una región bidimensional, solo una región de un cuarto se rellena con el coeficiente de transformada válido. En consecuencia, una región de arriba a la izquierda de 4 x 4 en la figura 16 puede rellenarse con 16 datos de salida obtenidos aplicando la RST de 8 x 8 hacia delante.
La figura 16 es un diagrama que ilustra un proceso de la ejecución de una exploración hacia atrás desde el 64° al 17° de acuerdo con un orden de exploración hacia atrás como una realización a la que se aplica la presente invención.
La figura 16 ilustra una exploración desde el 17° coeficiente hasta el 64° coeficiente cuando el orden de exploración hacia delante se inicia desde 1 (en el orden de exploración hacia delante). Sin embargo, la figura 16 ilustra la exploración hacia atrás y esto ilustra la ejecución de la exploración hacia atrás desde el 64° coeficiente al 17° coeficiente.
Haciendo referencia a la figura 16, la región de 4 x 4 de arriba a la izquierda es una región de interés (ROI) a la que se asigna el coeficiente de transformada válido y la región restante está vacía. Es decir, puede asignarse un valor de 0 a la región restante por defecto.
Si hay un coeficiente de transformada válido que no sea 0 en una región que no sea la región ROI de la figura 16, esto significa que no se aplica la RST de 8 x 8, y como resultado, en este caso, puede omitirse la codificación de índice de NSST correspondiente a la misma.
A la inversa, si no hay ningún coeficiente de transformada no nulo fuera de la región ROI de la figura 16 (si se aplica la RST de 8 x 8, cuando se asigna 0 a la región que no sea la ROI), existe la posibilidad de que se aplique la RST de 8 x 8 y, como resultado, puede codificarse el índice de NST.
En este sentido, una codificación de índice de NSST condicional puede realizarse después del proceso de codificación residual debido a que es necesario comprobar la existencia del coeficiente de transformada no nulo.
La presente invención proporciona un método para designar una RST y métodos de optimización asociados que pueden aplicarse al bloque de 4 x 4 a partir de una estructura de RST. Las realizaciones divulgadas en esta memoria descriptiva pueden aplicarse a la RST de 8 x 8 u otro tipo de transformada además de la RST de 4x4.
La figura 17 ilustra tres órdenes de exploración hacia delante para un bloque de coeficientes de transformada (un bloque de transformada) como una realización a la que se aplica la presente invención.
Realización 1: RST aplicable a un bloque de 4 x 4
Una transformada no separable que puede aplicarse a un bloque de 4 x 4 es una transformada de 16 x 16. Es decir, cuando unos elementos de datos que constituyen el bloque de 4 x 4 se disponen en un orden de tipo primero por filas o de tipo primero por columnas, se usa un vector de 16x1 para aplicar la transformada no separable.
La transformada de 16 x 16 hacia delante está constituida por 16 vectores de base transformados por filas y, cuando se aplica un producto escalar al vector de 16x1 y a cada vector de base de transformada, se obtiene el coeficiente de transformada para el vector de base de transformada. Un proceso de obtención de coeficientes de transformada correspondientes a todos los 16 vectores de base de transformada es equivalente a multiplicar la matriz de transformada no separable de 16 x 16 por el vector de 16 x 1 de entrada.
Los coeficientes de transformada obtenidos por el producto matricial tienen una forma vectorial de 16x1, y las características estadísticas pueden ser diferentes para cada coeficiente de transformada. Por ejemplo, cuando un vector de coeficientes de transformada de 16 x 1 está constituido por un 0-ésimo elemento a un 15° elemento, la varianza del 0-ésimo elemento puede ser mayor que la varianza del 15° elemento. En otras palabras, a medida que el elemento se sitúa antes, el valor de varianza correspondiente del elemento es más grande, de tal modo que el elemento puede tener un valor de energía más grande.
Cuando se aplica la transformada no separable de 16 x 16 inversa del coeficiente de transformada de 16x1, puede restablecerse una señal de bloque de 4 x 4 original. Cuando la transformada no separable de 16 x 16 hacia delante es una transformada ortonormal, la transformada de 16 x 16 inversa correspondiente puede obtenerse a través de la matriz traspuesta para la transformada de 16 x 16 hacia delante.
Cuando el vector de coeficientes de transformada de 16x1 se multiplica por la matriz de transformada no separable de 16 x 16 inversa, pueden obtenerse datos en forma de vector de 16x1 y, cuando los datos obtenidos se disponen en un orden de tipo primero por filas o de tipo primero por columnas que se aplica en primer lugar, puede restablecerse la señal de bloque de 4 x 4.
Como se ha descrito anteriormente, los elementos que constituyen el vector de coeficientes de transformada de 16x1 pueden tener diferentes características estadísticas.
Si unos coeficientes de transformada dispuestos en un lado anterior (cerca de un 0-ésimo elemento) tienen una energía más grande, puede restablecerse una señal, que está bastante cerca de la señal original, aunque se aplique la transformada inversa a algunos coeficientes de transformada que aparecen en primer lugar sin usar todos los coeficientes de transformada. Por ejemplo, cuando la transformada inversa no separable de 16 x 16 está constituida por 16 vectores en formato columna, solo quedan L vectores en formato columna para formar una matriz de 16 x L. Además, cuando una matriz de 16 x L y una de L x1 se multiplican entre sí después de solo L coeficientes de transformada importantes de entre los coeficientes de transformada (un vector de L x 1), puede restablecerse el vector de 16x1, que tiene un error pequeño con respecto a los datos de vector de 16x1 de entrada originales.
Como resultado, debido a que solo se usan L coeficientes para el restablecimiento de datos, se obtiene el vector de coeficientes de transformada de L x 1 en lugar del vector de coeficientes de transformada de 16x1 cuando se obtiene el coeficiente de transformada. Es decir, cuando una transformada de L x 16 se configura seleccionando L vectores por filas correspondientes en la matriz de transformada no separable de 16x16 hacia delante y la transformada de L x 16 configurada se multiplica por el vector de entrada de 16x1, pueden obtenerse L coeficientes de transformada importantes.
El valor L tiene un rango de 1 < L < 16 y, en general, los vectores L pueden seleccionarse mediante un método arbitrario de entre 16 vectores de base de transformada, pero puede ser ventajoso, en términos de la eficiencia de codificación, seleccionar vectores de base de transformada que tienen una importancia alta en términos de la energía de la señal desde el punto de vista de la codificación y la descodificación.
Realización 2: Configuración de una región de aplicación de una RST de 4 x 4 y disposición de coeficientes de transformada
La RST de 4 x 4 puede aplicarse como la transformada secundaria y, puede aplicarse de forma secundaria a un bloque al que se aplica una transformada primaria tal como una DCT de tipo 2. Cuando el tamaño del bloque al que se aplica la transformada primaria es N x N, el tamaño del bloque al que se aplica la transformada primaria es, en general, más grande que 4x 4. Por lo tanto, cuando se aplica la RST de 4 x 4 al bloque de N x N, puede haber dos métodos como sigue.
Realización 2-1) La RST de 4 x 4 no se aplica a todas las regiones de N x N, sino que puede aplicarse solo a algunas regiones. Por ejemplo, la RST de 4 x 4 puede aplicarse solo a la región de M x M de arriba a la izquierda (M < N). Realización 2-2) Una región a la que va a aplicarse la transformada secundaria puede dividirse en bloques de 4 x 4 y, entonces, puede aplicarse la RST de 4 x 4 a cada bloque dividido.
Como una realización, pueden mezclarse y aplicarse las realizaciones 2-1) y 2-2). Por ejemplo, solo la región de M x M de arriba a la izquierda puede dividirse en bloques de 4 x 4 y, entonces, puede aplicarse la RST de 4x4.
Como una realización, la transformada secundaria puede aplicarse solo a la región de arriba a la izquierda de 8 x 8 y, cuando el bloque de N x N es igual a o más grande que 8 x 8, puede aplicarse la RST de 8 x 8 y, cuando el bloque de N x N bloque es más pequeño que 8 x 8 (4x4, 8 x 4 y 4x8) , el bloque de N x N puede dividirse en bloques de 4 x 4 y, entonces, la RST de 4 x 4 puede aplicarse a cada uno de los bloques de 4 x 4 como en la realización 2-2). Además, incluso en el caso de 4 x N / N x 4 (N >= 16), puede aplicarse la NSST de 4x4.
Cuando se generan L (1 < L < 16) coeficientes de transformada después de aplicar la RST de 4x 4 , se genera un grado de libertad para cómo se disponen los L coeficientes de transformada. Sin embargo, debido a que habrá un orden predeterminado cuando se procesa el coeficiente de transformada en una etapa de codificación residual, el rendimiento de codificación puede variar dependiendo de cómo se disponen los L coeficientes de transformada en un bloque 2D.
Por ejemplo, en el caso de una codificación residual de HEVC, la codificación se inicia desde la posición más alejada de una posición de CC. Esto es para potenciar el rendimiento de codificación aprovechando el hecho de que un valor de coeficiente cuantificado es cero o cercano a cero a medida que se aleja de la posición de CC.
Por lo tanto, puede ser ventajoso en términos del rendimiento de codificación disponer coeficientes más importantes con una energía alta para los L coeficientes de transformada de tal modo que los L coeficientes de transformada se codifican más tarde en el orden de la codificación residual.
La figura 17 ilustra tres órdenes de exploración hacia delante en unidades de un bloque de transformada de 4 x 4 (grupo de coeficientes (CG) aplicado en HEVC. La codificación residual sigue el orden inverso del orden de exploración de la figura 17 (es decir, se realiza una codificación en el orden de 16 a 1).
Debido a que tres órdenes de exploración presentados en la figura 17 se seleccionan de acuerdo con el modo de inter predicción, la presente invención puede configurarse para determinar el orden de exploración de acuerdo con el modo de intra predicción de forma similar incluso para los L coeficientes de transformada.
La figura 18 ilustra posiciones de coeficientes de transformada válidos y un orden de exploración hacia delante para cada uno de unos bloques de 4 x 4 cuando se aplica una exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 de arriba a la izquierda como una realización a la que se aplica la presente invención.
Cuando se sigue un orden de exploración diagonal en la figura 17 y se divide el bloque de arriba a la izquierda de 4 x 8 en bloques de 4 x 4 y se aplica la RST de 4 x 4 a cada bloque de 4x 4 , si el valor L es 8 (es decir, si solo quedan 8 coeficientes de transformada de entre 16 coeficientes de transformada), los coeficientes de transformada pueden situarse como en la figura 18.
Solo la mitad de unos bloques de 4 x 4 respectivos pueden tener los coeficientes de transformada y puede aplicarse un valor de 0 a las posiciones marcadas con una X por defecto.
En consecuencia, la codificación residual se realiza disponiendo L coeficientes de transformada para cada bloque de 4 x 4 de acuerdo con el orden de exploración ilustrado en la figura 17 y suponiendo que 16 - L posiciones restantes de cada bloque de 4 x 4 se rellenan con ceros.
La figura 19 ilustra un caso en el que unos coeficientes de transformada válidos de dos bloques de 4 x 4 se combinan en un bloque de 4 x 4 cuando se aplica una exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 de arriba a la izquierda como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 19, L coeficientes de transformada dispuestos en dos bloques de 4 x 4 pueden combinarse en uno. En particular, cuando el valor L es 8, debido a que los coeficientes de transformada de dos bloques
de 4 x 4 se combinan al tiempo que rellenan completamente un bloque de 4 x 4 , tampoco queda ningún coeficiente de transformada en el otro bloque de 4x4.
En consecuencia, debido a que la mayoría de la codificación residual no se requiere con respecto al bloque de 4 x 4 vacío, la coded_sub_block_flag correspondiente puede codificarse con 0.
Además, como una realización de la presente invención, pueden aplicarse diversos esquemas incluso a cómo se mezclan los coeficientes de transformada de dos bloques de 4 x 4. Los coeficientes de transformada pueden combinarse de acuerdo con un orden aleatorio, pero la presente invención puede proporcionar los siguientes métodos.
1) Los coeficientes de transformada de dos bloques de 4 x 4 se mezclan de forma alterna en el orden de exploración. Es decir, en la figura 18, cuando los coeficientes de transformada para un bloque de arriba son Cq , c“ , c“ , c“ , c“ , c“ , c“ y c“ y los coeficientes de transformada para un bloque de debajo son ci), cl^ , c^, c^, cl/i, c!i , c1^ y ,ó j, los coeficientes de transformada pueden mezclarse de forma alterna uno a uno como Cq , c ¿ , c“ , c|, c“ , c2 , ... , c“ y C7. Como alternativa, puede cambiarse el orden de c“ s y c\.°. En otras palabras, el orden puede configurarse de tal modo que c\.° aparece en primer lugar.
2) Los coeficientes de transformada para un primer bloque de 4 x 4 pueden disponerse en primer lugar y, entonces, pueden disponerse los coeficientes de transformada para un segundo bloque de 4 x 4. En otras palabras, los coeficientes de transformada pueden conectarse y disponerse como Cq,c“ , . , c“ , c¿,c{ , ... , ci7. Como alternativa, el orden puede cambiarse como c¿, c{, ..., c\, cii, c“ , ..., c“ .
Realización 3: Método para codificar un índice de NSST para una RST de 4 x 4
Cuando se aplica la RST de 4 x 4 como se ilustra en la figura 18, de la L 1-ésima a la 16a pueden rellenarse con el valor 0 de acuerdo con el orden de exploración de coeficientes de transformada para cada bloque de 4x4.
En consecuencia, cuando se genera un valor no nulo en las posiciones de la L 1-ésima a la 16a, incluso en uno de dos bloques de 4x 4 , puede conocerse que este caso es un caso en el que no se aplica la RST de 4x4.
Cuando la RST de 4 x 4 también tiene una estructura en la que se selecciona y se aplica uno de los conjuntos de transformadas preparados como la NSST, puede señalizarse un índice de transformada (que puede denominarse índice de NSST en la realización) para qué transformada aplicar.
Se supone que cualquier descodificador puede conocer el índice de NSST a través de un análisis de flujo de bits y el análisis se realiza después de una descodificación residual.
Cuando se realiza la descodificación residual y se confirma que existe al menos un coeficiente de transformada no nulo entre la L 1-ésima y la 16a, la r s t de 4 x 4 no se aplica y, por lo tanto, el índice de NSST puede configurarse para no analizarse.
En consecuencia, el índice de NSST se analiza de forma selectiva solo cuando es necesario para reducir el coste de señalización.
Si la RST de 4 x 4 se aplica a una pluralidad de bloques de 4 x 4 en una región específica como se ilustra en la figura 18 (por ejemplo, puede aplicarse la misma RST de 4 x 4 a toda la pluralidad de bloques de 4 x 4 o pueden aplicarse diferentes r St de 4 x 4), la RST de 4 x 4 aplicada a todos los bloques de 4 x 4 puede designarse a través de un índice de NSST. En este caso, puede designarse la misma RST de 4 x 4 o puede designarse la RST de 4 x 4 aplicada a cada uno de todos los bloques de 4 x 4.
Debido a que, si la RST de 4 x 4 se aplica a todos los bloques de 4 x 4 por un índice de NSST, puede comprobarse si existen coeficientes de transformada no nulos en las posiciones de la L 1-ésima a la 16a para todos los bloques de 4 x 4 durante un proceso de descodificación residual. Como un resultado de comprobación, cuando el coeficiente de transformada no nulo existe en una posición (las posiciones de la L 1-ésima a la 16a) que no se acepta ni siquiera en un bloque de 4 x 4 , el índice de NSST puede configurarse para no codificarse.
El índice de NSST puede señalizarse por separado para el bloque de luma y el bloque de croma y, en el caso del bloque de croma, pueden señalizarse índices de NSST separados para Cb y Cr, y puede compartirse un índice de NSST.
Cuando se comparte un índice de NSST para Cb y Cr, puede aplicarse una RST de 4 x 4 designada por el mismo índice de NSST. En este caso, las RST de 4 x 4 para Cb y Cr pueden ser las mismas o el índice de NSST puede ser el mismo, pero pueden proporcionarse unas RST de 4 x 4 separadas.
Para aplicar la señalización condicional al índice de NSST compartido, se comprueba si existen coeficientes de transformada no nulos de la L 1-ésima a la 16a para todos los bloques de 4 x 4 para Cb y Cr y, cuando existe el
coeficiente de transformada no nulo, el índice de NSST puede configurarse para no señalizarse.
Como se ilustra en la figura 19, incluso para un caso en el que se combinan los coeficientes de transformada de dos bloques de 4 x 4 , se comprueba si existe el coeficiente de transformada no nulo en una posición en la que no existe el coeficiente de transformada válido cuando se aplica la RST de 4 x 4 y, entonces, puede determinarse si se señaliza la NSST.
Por ejemplo, como se ilustra en la figura 19(b), cuando el valor de L es 8 y no existen los coeficientes de transformada válidos para un bloque de 4 x 4 en el momento de la aplicación de la r St de 4 x 4 (un bloque marcado con una X), puede comprobarse coded_sub_block_flag de un bloque en el que no existen los coeficientes de transformada válidos. En este caso, cuando coded_sub_block_flag es 1, el índice de NSST puede configurarse para no señalizarse.
Realización 4: Método de optimización para un caso en que una codificación para el índice de NSST se realiza antes de una codificación residual
Cuando una codificación para el índice de NSST se realiza antes de una codificación residual, se predetermina si aplicar la RST de 4 x 4 y, como resultado, la codificación residual puede omitirse para unas posiciones si se asigna 0 al coeficiente de transformada.
En el presente caso, si aplicar la RST de 4 x 4 puede configurarse para conocerse a través del índice de NSST. Por ejemplo, cuando el índice de NSST es 0, no se aplica la RST de 4 x 4.
Como alternativa, el índice de NSST puede señalizarse a través de un elemento de sintaxis separado (por ejemplo, una bandera de NSST). Por ejemplo, si un elemento de sintaxis separado se denomina bandera de NSST, la bandera de NSST se analiza en primer lugar para determinar si se aplica la RST de 4 x 4 y, si el valor de la bandera de NSST es 1, puede omitirse la codificación residual para las posiciones en las que no puede existir ningún coeficiente de transformada válido.
Como una realización, cuando se realiza la codificación residual, se codifica en primer lugar una última posición de coeficiente de transformada no nulo en la TU. Cuando la codificación para el índice de NSST se realiza después de codificar la última posición de coeficiente de transformada no nulo y se supone que la RST de 4 x 4 se aplica a la última posición de coeficiente de transformada no nulo, si la última posición de coeficiente de transformada no nulo se determina como una posición en la que puede no generarse el coeficiente de transformada no nulo, la RST de 4 x 4 puede configurarse para no aplicarse a la última posición de coeficiente de transformada no nulo sin codificar el índice de NSST.
Por ejemplo, debido a que, en el caso de las posiciones marcadas con una X en la figura 18, los coeficientes de transformada válidos no se sitúan cuando se aplica la RST de 4 x 4 (por ejemplo, las posiciones pueden rellenarse con valores nulos), cuando el último coeficiente de transformada no nulo se sitúa en la región marcada con una X, puede omitirse la codificación para el índice de NSST. Cuando el último coeficiente de transformada no nulo no se sitúa en la región marcada con una X, puede realizarse la codificación del índice de NSST.
Como una realización, cuando se comprueba si aplicar la RST de 4 x 4 codificando de forma condicional el índice de NSST después de la codificación para la última posición de coeficiente de transformada no nulo, la porción de codificación residual restante puede procesarse mediante dos esquemas siguientes.
1) En caso de no aplicar la RST de 4x 4 , la codificación residual general se mantiene tal cual. Es decir, la codificación se realiza con la suposición de que el coeficiente de transformada no nulo puede existir en cualquier posición desde la posición de coeficiente de transformada no nulo hasta CC.
2) Cuando se aplica la RST de 4x 4 , debido a que no existe ningún coeficiente de transformada para una posición específica o un bloque de 4 x 4 específico (por ejemplo, una posición X de la figura 18, que puede rellenarse con 0 por defecto), puede no realizarse el residuo para la posición o el bloque correspondiente.
Por ejemplo, en un caso de alcanzar la posición marcada con una X en la figura 18, puede omitirse la codificación para sig_coeff_flag. En el presente caso, sig_coeff_flag significa una bandera para si existe el coeficiente de transformada no nulo en una posición correspondiente.
Cuando los coeficientes de transformada de dos bloques se combinan como se ilustra en la figura 19, puede omitirse la codificación para coded_sub_block_flag para los bloques de 4 x 4 asignados a 0 y puede inferirse a 0 un valor correspondiente y pueden inferirse a valores nulos todos los bloques de 4 x 4 correspondientes sin una codificación separada.
En un caso en el que el índice de NSST se codifica después de codificar la posición de coeficiente de transformada no nulo, cuando una posición de x Px y una posición de y Py del último coeficiente de transformada no nulo son más pequeñas que Tx y Ty, respectivamente, puede omitirse la codificación de índice de NSST y puede no aplicarse la RST de 4 x 4.
Por ejemplo, un caso de Tx = 1 y Ty = 1 significa que se omite la codificación de índice de NSST para un caso en el que existe un coeficiente de transformada no nulo en la posición de CC.
Un esquema para determinar si codificar el índice de NSST a través de una comparación con el umbral puede aplicarse de forma diferente a luma y a croma. Por ejemplo, pueden aplicarse diferentes Tx y Ty al luma y al croma y el umbral puede aplicarse al luma y no aplicarse al croma. O viceversa.
Pueden aplicarse simultáneamente dos métodos descritos anteriormente, es decir, un primer método para omitir la codificación de índice de NSST cuando el coeficiente de transformada no nulo se ubica en una región en la que no existe el coeficiente de transformada válido y un segundo método para omitir la codificación de índice de NSST cuando cada una de una coordenada X y una coordenada Y para el coeficiente de transformada no nulo es más pequeña que un umbral predeterminado.
Por ejemplo, puede comprobarse en primer lugar un umbral para una coordenada de posición del último coeficiente de transformada no nulo y, entonces, puede comprobarse si el último coeficiente de transformada no nulo se ubica en la región en la que no existe el coeficiente de transformada válido. Como alternativa, puede cambiarse el orden.
Los métodos presentados en la Realización 4 pueden aplicarse incluso a la RST de 8 x 8. Es decir, cuando el último coeficiente de transformada no nulo se ubica en una región que no sean los 4 x 4 de arriba a la izquierda en la región de 8 x 8 de arriba a la izquierda, puede omitirse la codificación para el índice de NSST y, si no, puede realizarse la codificación de índice de NSST.
Además, cuando los valores de coordenada tanto de X como de Y para el coeficiente de transformada no nulo son menores que un umbral, puede omitirse la codificación para el índice de NSST. Como alternativa, dos métodos pueden aplicarse conjuntamente.
Realización 5: Aplicación de diferentes esquemas de codificación residual y de codificación de índice de NSST a luma y a croma cuando se aplica una RST
Los esquemas descritos en las Realizaciones 3 y 4 pueden aplicarse de forma diferente a luma y a croma, respectivamente. Es decir, los esquemas de codificación de índice de NSST y de codificación residual para el luma y el croma pueden aplicarse de forma diferente.
Por ejemplo, el luma puede adoptar el esquema de la Realización 4 y el croma puede adoptar el esquema de la Realización 3. Como alternativa, el luma puede adoptar la codificación de índice de NSST condicional presentada en la Realización 3 o 4 y el croma puede no adoptar la codificación de índice de NSST condicional. O viceversa.
La figura 20 es un diagrama de flujo de una codificación de una señal de vídeo basándose en una transformada secundaria reducida como una realización a la que se aplica la presente invención.
El codificador puede determinar (o seleccionar) la transformada secundaria hacia delante basándose en al menos uno del modo de predicción, la forma de bloque y/o el tamaño de bloque del bloque actual (S2010). En este caso, una candidata de la transformada secundaria hacia delante puede incluir al menos una de las realizaciones de la figura 6 y/o la figura 12.
El codificador puede determinar una transformada secundaria hacia delante óptima a través de una optimización de distorsión de tasa. La transformada secundaria hacia delante óptima puede corresponder a una de una pluralidad de combinaciones de transformadas y la pluralidad de combinaciones de transformadas puede definirse mediante un índice de transformada. Por ejemplo, para la optimización de RD, los resultados de la ejecución de la totalidad de la transformada secundaria hacia delante, la cuantificación, la codificación residual, etc., pueden compararse para candidatas respectivas. En este caso, se puede usar una ecuación tal como coste = tasa A-distorsión o coste = distorsión Atasa, pero la presente invención no se limita a ello.
El codificador puede señalizar un índice de transformada secundaria correspondiente a la transformada secundaria hacia delante óptima (S2020). En el presente caso, el índice de transformada secundaria puede adoptar otras realizaciones descritas en esta memoria descriptiva.
Por ejemplo, el índice de transformada secundaria puede adoptar la configuración de conjunto de transformadas de la figura 12. Debido a que un conjunto de transformadas está constituido por dos o tres transformadas de acuerdo con el modo de intra predicción, puede configurarse para seleccionarse una de un máximo de cuatro transformadas además de un caso de no aplicar la transformada secundaria. Cuando se asignan unos índices de 0, 1, 2 y 3 a las cuatro transformadas, respectivamente, puede designarse una transformada aplicada señalizando el índice de transformada secundaria para cada bloque de coeficientes de transformada. En este caso, el índice 0 puede asignarse a un caso en el que no se aplica la matriz identidad, es decir, la transformada secundaria.
Como otra realización, la señalización del índice de transformada secundaria puede realizarse en una cualquiera de las etapas de 1 ) antes de una codificación residual, 2 ) en medio de una codificación residual (después de codificar la posición de coeficiente de transformada no nulo), o 3) después de una codificación residual. Las realizaciones se describirán a continuación con detalle.
1) Método para señalizar un índice de transformada secundaria antes de una codificación residual
El codificador puede determinar la transformada secundaria hacia delante.
El codificador puede señalizar el índice de transformada secundaria correspondiente a la transformada secundaria hacia delante.
El codificador puede codificar la posición del último coeficiente de transformada no nulo.
El codificador puede realizar una codificación residual para elementos de sintaxis que no sean la posición del último coeficiente de transformada no nulo.
2) Método para señalizar un índice de transformada secundaria en medio de una codificación residual
El codificador puede determinar la transformada secundaria hacia delante.
El codificador puede codificar la posición del último coeficiente de transformada no nulo.
Cuando el coeficiente de transformada no nulo no se ubica en una región específica, el codificador puede codificar el índice de transformada secundaria correspondiente a la transformada secundaria hacia delante. En el presente caso, en el caso en el que se aplica la transformada secundaria reducida, la región específica representa una región restante que no sea la posición en la que puede existir el coeficiente de transformada no nulo cuando los coeficientes de transformada se disponen de acuerdo con el orden de exploración. Sin embargo, la presente invención no se limita a ello.
El codificador puede realizar una codificación residual para elementos de sintaxis que no sean la posición del último coeficiente de transformada no nulo.
3) Método para señalizar un índice de transformada secundaria antes de una codificación residual
El codificador puede determinar la transformada secundaria hacia delante.
El codificador puede codificar la posición del último coeficiente de transformada no nulo.
Cuando el coeficiente de transformada no nulo no se ubica en una región específica, el codificador puede realizar una codificación residual para elementos de sintaxis que no sean la posición del último coeficiente de transformada no nulo. En el presente caso, en el caso en el que se aplica la transformada secundaria reducida, la región específica representa una región restante que no sea la posición en la que puede existir el coeficiente de transformada no nulo cuando los coeficientes de transformada se disponen de acuerdo con el orden de exploración. Sin embargo, la presente invención no se limita a ello.
El codificador puede codificar el índice de transformada secundaria correspondiente a la transformada secundaria hacia delante.
Por otro lado, el codificador puede realizar la transformada de primer orden hacia delante para el bloque actual (un bloque residual) (S2030). En el presente caso, la etapa S2010 y/o la etapa S2020 pueden aplicarse de forma similar a la transformada primaria hacia delante.
El codificador puede realizar la transformada secundaria hacia delante para el bloque actual usando la transformada secundaria hacia delante óptima (S2040). Por ejemplo, la transformada secundaria hacia delante óptima puede ser la transformada secundaria reducida. La transformada secundaria reducida se refiere a una transformada en la que se introducen N datos residuales (N x 1 vectores residuales) y se emiten L (L < N) datos de coeficiente de transformada (L x 1 vectores de coeficiente de transformada).
Como una realización, la transformada secundaria reducida puede aplicarse a una región específica del bloque actual. Por ejemplo, cuando el bloque actual es de N x N, la región específica puede significar una región de N / 2 x N / 2 de arriba a la izquierda. Sin embargo, la presente invención no se limita a ello y puede configurarse de forma diferente de acuerdo con al menos uno del modo de predicción, la forma de bloque o el tamaño de bloque. Por ejemplo, cuando el bloque actual es de N x N, la región específica puede significar una región de M x M de arriba a la izquierda (M < N). Por otro lado, el codificador realiza una cuantificación para el bloque actual para generar un bloque de coeficientes de
transformada (S2050).
El codificador realiza una codificación por entropía para el bloque de coeficientes de transformada para generar el flujo de bits.
La figura 21 es un diagrama de flujo de una descodificación de una señal de vídeo basándose en una transformada secundaria reducida como una realización a la que se aplica la presente invención.
El descodificador puede obtener el índice de transformada secundaria a partir del flujo de bits (S2110). En el presente caso, el índice de transformada secundaria puede adoptar otras realizaciones descritas en esta memoria descriptiva. Por ejemplo, el índice de transformada secundaria puede incluir al menos una de las realizaciones de la figura 6 y/o la figura 12.
Como otra realización, la obtención del índice de transformada secundaria puede realizarse en una cualquiera de las etapas de 1 ) antes de una codificación residual, 2 ) en medio de una codificación residual (después de descodificar la posición de coeficiente de transformada no nulo), o 3) después de una codificación residual.
El descodificador puede inferir la transformada secundaria correspondiente al índice de transformada secundaria (S2120). En este caso, la candidata de la transformada secundaria hacia delante puede incluir al menos una de las realizaciones de la figura 6 y/o la figura 12.
Sin embargo, las etapas S2110 y S2120 son realizaciones y la presente invención no se limita a ello. Por ejemplo, el descodificador puede no obtener el índice de transformada secundaria, sino inferir la transformada secundaria basándose en al menos uno del modo de predicción, la forma de bloque y/o el tamaño de bloque del bloque actual.
Por otro lado, el descodificador puede obtener el bloque de coeficientes de transformada descodificando por entropía el flujo de bits y realizar una descuantificación para el bloque de coeficientes de transformada (S2130).
El descodificador puede realizar la transformada secundaria inversa para el bloque de coeficientes de transformada descuantificados (S2140). Por ejemplo, la transformada secundaria inversa puede ser la transformada secundaria reducida. La transformada secundaria reducida se refiere a una transformada en la que se introducen N datos residuales (N x 1 vectores residuales) y se emiten L (L < N) datos de coeficiente de transformada (Lx 1 vectores de coeficiente de transformada).
Como una realización, la transformada secundaria reducida puede aplicarse a una región específica del bloque actual. Por ejemplo, cuando el bloque actual es de N x N, la región específica puede significar una región de N / 2 x N / 2 de arriba a la izquierda. Sin embargo, la presente invención no se limita a ello y puede configurarse de forma diferente de acuerdo con al menos uno del modo de predicción, la forma de bloque o el tamaño de bloque. Por ejemplo, cuando el bloque actual es de N x N, la región específica puede significar una región de M x M de arriba a la izquierda (M < N) o M x L (M < N, L < N).
Además, el descodificador puede realizar la transformada primaria inversa para el resultado de transformada secundaria inversa (S2150).
El descodificador genera el bloque residual a través de la etapa S2150 y el bloque residual y el bloque de predicción se suman para generar un bloque de reconstrucción.
Realización 6: Selección de transformada múltiple reducida (MTS)
Una realización de la presente invención propone un método para mejorar la complejidad aplicando la transformada primaria solo a una región predefinida. La complejidad puede aumentar cuando unas combinaciones de diversas transformadas (o núcleos de transformada) (por ejemplo, DCT2, DST7, DCT8, DST1, DCT5, etc.) tales como MTS se aplican opcionalmente a la transformada primaria. En particular, a medida que aumenta el tamaño del bloque de codificación (o el bloque de transformada), es necesario considerar diversas transformadas, aumentando ese modo notablemente la complejidad.
En consecuencia, la presente invención propone un método para realizar la transformada solo para una región predefinida de acuerdo con una condición específica, en lugar de realizar (o aplicar) la transformada para todas las regiones para reducir la complejidad.
Como una realización, basándose en el método de transformada reducida (RT) descrito anteriormente con referencia a las figuras 15 a 21, el codificador/descodificador puede obtener un bloque de transformada que tiene un tamaño de R x R realizando la transformada para una región que tiene un tamaño de R x R (M >= R) en lugar de obtener un bloque de transformada que tiene un tamaño de M x M realizando la transformada solo para una región que tiene un tamaño de R x R (M >= R). Como un ejemplo, la región de R x R puede ser una región de R x R de arriba a la izquierda en el bloque actual (un bloque de codificación o un bloque de transformada).
Como resultado, puede haber coeficientes válidos (coeficientes no nulos) solo para la región de R x R. Como un ejemplo, en este caso, el codificador/descodificador puede no realizar un cálculo para los coeficientes que existen en una región que no sea la región de R x R, sino considerar los valores de los coeficientes como 0 (puesta a cero).
Además, el codificador/descodificador puede aplicar la transformada primaria solo a una región predefinida que se determina de acuerdo con el tamaño del bloque de codificación (o el bloque de transformada) y/o el tipo de transformada (o el núcleo de transformada). La Tabla 3 a continuación muestra una transformada múltiple adaptativa reducida (RAMT) usando un valor de R predefinido dependiendo del tamaño de la transformada (o el tamaño del bloque de transformada). En la presente invención, la transformada múltiple adaptativa reducida (RAMT) que representa la transformada reducida determinada de forma adaptativa de acuerdo con el tamaño de bloque puede denominarse selección de transformada múltiple reducida (MTS), transformada múltiple explícita reducida, transformada primaria reducida, etc.
T l 1
Haciendo referencia a la Tabla 3, puede definirse al menos una transformada reducida de acuerdo con el tamaño de la transformada (o el tamaño del bloque de transformada). En una realización, qué transformada reducida va a usarse de entre las transformadas reducidas mostradas en la Tabla 3 puede determinarse de acuerdo con la transformada (o el núcleo de transformada) aplicada al bloque actual (un bloque de codificación o un bloque de transformada). Aunque se supone que en la Tabla 3 se usan tres transformadas reducidas, la presente invención no se limita a ello y pueden predefinirse una o más transformadas reducidas de acuerdo con el tamaño de la transformada.
Además, en una realización de la presente invención, al aplicar la transformada múltiple adaptativa reducida mencionada anteriormente, puede determinarse un factor de transformada reducida (R) de forma dependiente de acuerdo con la transformada primaria. Por ejemplo, cuando la transformada primaria es una DCT2, la cantidad de cálculo es relativamente simple en comparación con otras transformadas primarias (por ejemplo, una combinación de DST7 y/o DCT8), por lo que no se realiza la transformada reducida para bloques más pequeños o se usa un valor de R relativamente grande, minimizando de ese modo la reducción del rendimiento de codificación. La Tabla 4 a continuación muestra una transformada múltiple adaptativa reducida (RAMT) usando un valor de R predefinido dependiendo del tamaño de la transformada (o el tamaño del bloque de transformada) y el núcleo de transformada.
T l 41
Haciendo referencia a la Tabla 4, cuando la transformada aplicada a la transformada primaria es una DCT2 y otras transformadas (por ejemplo, una combinación de DST7 y/o DCT8), pueden usarse diferentes factores de transformada reducida.
La figura 22 es un diagrama que ilustra un método para codificar una señal de vídeo usando una transformada reducida como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 22, el codificador determina en primer lugar si aplicar la transformada al bloque actual (S2201). El codificador puede codificar una bandera de salto de transformada de acuerdo con el resultado determinado. En este caso, la codificación de la bandera de salto de transformada puede incluirse en la etapa S2201.
Cuando la transformada se aplica al bloque actual, el codificador determina el núcleo de transformada aplicado a la transformada primaria del bloque actual (S2202). El codificador puede codificar un índice de transformada que indica el núcleo de transformada determinado y, en este caso, la codificación del índice de transformada puede incluirse en la etapa S2202.
El codificador determina una región en la que la transformada primaria se aplica al bloque actual basándose en el núcleo de transformada aplicado a la primera transformada del bloque actual y el tamaño del bloque actual (S2203).
Como una realización, el codificador puede considerar como 0 los coeficientes de la región restante que no sea la región a la que se aplica la transformada primaria en el bloque actual.
Además, como una realización, cuando el núcleo de transformada indicado por el índice de transformada es una transformada predefinida y la anchura y/o la altura del bloque actual es más grande que un tamaño predefinido, el codificador puede determinar una región que tiene la anchura y/o la altura que tienen el tamaño predefinido como la región a la que se aplica la transformada primaria.
Por ejemplo, la transformada predefinida puede ser una cualquiera de una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8, y el tamaño predefinido puede ser de 16. Como alternativa, la transformada predefinida puede ser una transformada restante excepto para una DCT2. Además, como un ejemplo, cuando el núcleo de transformada indicado por el índice de transformada es una DCT2 y la anchura y/o la altura del bloque actual es más grande que 32, el codificador puede determinar una región que tiene una anchura y/o una altura de 32 como la región a la que se aplica la transformada primaria.
Además, como una realización, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un primer grupo de transformadas, el codificador puede determinar un valor más pequeño de la anchura del bloque actual y un primer umbral como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y el primer umbral como la altura de la región a la que se aplica la transformada primaria. Como un ejemplo, el primer umbral puede ser 32, pero la presente invención no se limita a ello y el primer umbral puede ser 4, 8 o 16, como se muestra en las Tablas 3 o 4 descritas anteriormente.
Además, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un segundo grupo de transformadas, el codificador puede determinar un valor más pequeño de la anchura del bloque actual y un segundo umbral como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y el segundo umbral como la altura de la región a la que se aplica la transformada primaria. Como un ejemplo, el segundo umbral puede ser 16, pero la presente invención no se limita a ello y el segundo umbral puede ser 4, 6, 8, 12 o 32, como se muestra en las Tablas 3 o 4 descritas anteriormente.
Como una realización, el primer grupo de transformadas puede incluir una DCT2 y el segundo grupo de transformadas puede incluir una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8.
El codificador realiza la transformada primaria hacia delante usando el núcleo de transformada aplicado a la transformada primaria del bloque actual para la región a la que se aplica la transformada primaria (S2204). El codificador puede obtener un coeficiente de transformada primaria transformada inversamente realizando la transformada primaria inversa. Como una realización, el codificador puede aplicar la transformada secundaria al coeficiente de transformada transformada primaria y, en este caso, pueden aplicarse el método descrito en las figuras 4 a 20 anteriores.
La figura 23 es un diagrama que ilustra un método para descodificar una señal de vídeo usando una transformada reducida como una realización a la que se aplica la presente invención.
El descodificador comprueba si el salto de transformada se aplica al bloque actual (S2301).
El descodificador obtiene un índice de transformada que indica un núcleo de transformada aplicado al bloque actual a partir de la señal de vídeo cuando el salto de transformada no se aplica al bloque actual (S2302).
El descodificador determina una región en la que la transformada primaria se aplica al bloque actual basándose en el núcleo de transformada indicado por el índice de transformada y el tamaño (es decir, una anchura y/o una altura) del bloque actual (S2303).
Como una realización, el descodificador puede considerar como 0 los coeficientes de la región restante que no sea la región a la que se aplica la transformada primaria en el bloque actual.
Además, como una realización, cuando el núcleo de transformada indicado por el índice de transformada es una transformada predefinida y la anchura y/o la altura del bloque actual es más grande que un tamaño predefinido, el descodificador puede determinar una región que tiene la anchura y/o la altura que tienen el tamaño predefinido como
la región a la que se aplica la transformada primaria.
Por ejemplo, la transformada predefinida puede ser una cualquiera de una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8, y el tamaño predefinido puede ser de 16. Como alternativa, la transformada predefinida puede ser una transformada restante excepto para una DCT2. Además, como un ejemplo, cuando el núcleo de transformada indicado por el índice de transformada es una DCT2 y la anchura y/o la altura del bloque actual es más grande que 32, el descodificador puede determinar una región que tiene una anchura y/o una altura de 32 como la región a la que se aplica la transformada primaria.
Además, como una realización, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un primer grupo de transformadas, el descodificador puede determinar un valor más pequeño de la anchura del bloque actual y un primer umbral como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y el primer umbral como la altura de la región a la que se aplica la transformada primaria. Como un ejemplo, el primer umbral puede ser 32, pero la presente invención no se limita a ello y el primer umbral puede ser 4, 8 o 16, como se muestra en las Tablas 3 o 4 descritas anteriormente.
Además, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un segundo grupo de transformadas, el descodificador puede determinar un valor más pequeño de la anchura del bloque actual y un segundo umbral como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y el segundo umbral como la altura de la región a la que se aplica la transformada primaria. Como un ejemplo, el segundo umbral puede ser 16, pero la presente invención no se limita a ello y el segundo umbral puede ser 4, 6, 8, 12 o 32, como se muestra en las Tablas 3 o 4 descritas anteriormente.
Como una realización, el primer grupo de transformadas puede incluir una DCT2 y el segundo grupo de transformadas puede incluir una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8.
El descodificador realiza una transformada primaria inversa sobre la región a la que se aplica la transformada primaria usando el núcleo de transformada indicado por el índice de transformada (S2304). El descodificador puede obtener un coeficiente de transformada primaria transformada inversamente realizando la transformada primaria inversa. Como una realización, el descodificador puede aplicar la transformada secundaria a un coeficiente de transformada descuantificado antes de realizar la transformada primaria y, en este caso, pueden aplicarse el método descrito en las figuras 4 a 20 anteriores.
De acuerdo con una realización de la presente invención, solo una región predefinida se transforma de acuerdo con una condición específica, reduciendo de ese modo notablemente la complejidad del caso más desfavorable.
Realización 7: Transformada reducida
En la realización de la presente invención, se describen diversas realizaciones de la transformada reducida propuestas en las figuras 15 a 23 para mejorar un problema de complejidad de la transformada. Como se ha descrito anteriormente, la transformada reducida propuesta en la presente invención puede aplicarse independientemente de una transformada primaria (por ejemplo, una DCT, una d St ) o una transformada secundaria (por ejemplo, una NSST, una transformada no separable de frecuencia baja (LFNST)).
La figura 24 es un diagrama que ilustra una estructura de transformada reducida basándose en un factor reducido como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 24, el descodificador se describe principalmente por conveniencia de la descripción, pero la transformada reducida propuesta en la realización puede aplicarse igualmente al codificador.
El descodificador puede aplicar la transformada inversa reducida a los coeficientes de transformada descuantificados. En este caso, el descodificador puede usar un factor reducido predeterminado (o predefinido) (por ejemplo, R o R / N) y/o un núcleo de transformada para realizar la transformada reducida.
Como la realización, el núcleo de transformada puede seleccionarse basándose en información disponible, tal como el tamaño (por ejemplo, anchura/altura) del bloque actual (un bloque de codificación o un bloque de transformada), un modo de intra/inter predicción, CIdx y similares. Cuando un bloque de codificación actual es un bloque de luma, CIdx puede tener un valor de 0. Si no (es decir, si el bloque de codificación actual es un bloque de Cb o de Cr), CIdx puede tener un valor no nulo, tal como uno.
La figura 25 es un diagrama que ilustra un método para realizar una descodificación aplicando de forma adaptativa una transformada reducida como una realización a la que puede aplicarse la presente invención.
Haciendo referencia a la figura 25, el descodificador se describe principalmente por conveniencia de la descripción, pero el método para realizar la transformada usando la transformada reducida propuesta en la realización puede
aplicarse igualmente al codificador.
El descodificador realiza la descuantificación para el bloque actual (S2501).
El descodificador comprueba si la transformada se aplica a (o se usa para) el bloque actual (S2502). Si no se aplica ninguna transformada al bloque actual, el descodificador finaliza un proceso de transformada.
El descodificador analiza el índice de transformada que indica un núcleo de transformada aplicado al bloque actual a partir de la señal de vídeo cuando la transformada se aplica al bloque actual (S2503).
El descodificador comprueba si se satisface una condición de transformada inversa reducida (S2504). Si no se satisface la condición de transformada inversa reducida, el descodificador realiza una transformada inversa normal para el bloque actual (S2505). Si se satisface la condición de transformada inversa reducida, el descodificador realiza la transformada inversa reducida para el bloque actual (S2507). En este caso, el descodificador puede seleccionar el núcleo de transformada aplicado al bloque actual basándose en el índice de transformada analizado en la etapa S2503 (S2506). Como la realización, el núcleo de transformada puede seleccionarse basándose en información disponible, tal como el tamaño (por ejemplo, anchura/altura) del bloque actual (un bloque de codificación o un bloque de transformada), el modo de intra/inter predicción, CIdx y similares. Además, cuando se aplica la transformada inversa reducida al bloque actual, la etapa S2506 puede incluir seleccionar el factor reducido.
En una realización, la condición de transformada inversa reducida puede aplicarse a las condiciones descritas anteriormente de 6) (por ejemplo, las Tablas 3 y 4). En otras palabras, si aplicar la transformada inversa reducida puede determinarse basándose en el tamaño del bloque actual (un bloque de codificación o un bloque de transformada) y el tipo de transformada (o el núcleo de transformada).
Como un ejemplo, la transformada reducida puede usarse cuando se satisface la siguiente condición específica. En otras palabras, la transformada reducida puede aplicarse a bloques que tienen un tamaño predeterminado o más grande (o más grande que el tamaño predeterminado) que satisfacen la siguiente condición específica.
- Anchura > TH && Altura > TH (en donde TH es un valor predefinido (por ejemplo, 4), que representa un umbral específico) o
- Anchura * Altura > K && MIN (anchura, altura) > TH (en donde K o TH es un valor predefinido y representa un umbral específico)
Como otro ejemplo, la transformada reducida puede usarse cuando se satisface la siguiente condición específica. En otras palabras, la transformada reducida puede aplicarse a bloques que tienen un tamaño predeterminado o más pequeño (o más pequeño que el tamaño predeterminado) que satisfacen la siguiente condición específica.
- Anchura <= TH && Altura <= TH (en donde TH es un valor predefinido (por ejemplo, 8), que representa un umbral específico) o
- Anchura * Altura <= K && MIN (anchura, altura) <= TH (en donde K o TH es un valor predefinido y representa un umbral específico)
Como otro ejemplo, la transformada reducida puede aplicarse solo a un grupo de bloques predeterminado.
- Anchura == TH && Altura == TH
o
- Anchura == Altura
Como la realización, si no se satisface una condición de uso de la transformada reducida, puede aplicarse una transformada normal. Específicamente, la transformada regular puede predefinirse y estar disponible para el codificador/descodificador. Lo siguiente muestra un ejemplo de la transformada normal.
- DCT2, DCT4, DCT5, DCT7, DCT8
o
- DST1, DST4, DST7,
o
- Transformada no separable
o
- NSST (HyGT)
o
- LFNST (transformada no separable de frecuencia baja)
Las condiciones anteriores pueden interpretarse basándose en operadores lógicos, como se muestra en la Tabla 5 a continuación.
T l 1
Además, como se ilustra en la figura 25, la condición de transformada reducida puede depender de un índice de transformada Transformjdx que indica la transformada aplicada al bloque actual. Como un ejemplo, el Transformjdx puede transmitirse desde el codificador al descodificador dos veces. Uno puede ser un índice de transformada horizontal Transform_idx_h y el otro puede ser un índice de transformada vertical Transform_idx_v.
La figura 26 es un diagrama que ilustra un método para realizar una descodificación aplicando de forma adaptativa una transformada reducida como una realización a la que puede aplicarse la presente invención.
Haciendo referencia a la figura 26, el descodificador se describe principalmente por conveniencia de la descripción, pero el método para realizar la transformada usando la transformada reducida propuesta en la realización puede aplicarse igualmente al codificador.
En una realización de la presente invención, la transformada reducida descrita anteriormente puede usarse para la transformada secundaria. A este respecto, se omitirá una descripción duplicada con el método descrito en la figura 25.
1) El descodificador realiza la descuantificación para el bloque actual y, entonces, comprueba si se activa la NSST en el bloque actual. El descodificador puede determinar si es necesario analizar el índice de NSST usando una condición predefinida.
2) Si se activa la NSST, el descodificador analiza el índice de NSST y comprueba si se aplica la transformada inversa secundaria reducida.
3) El descodificador comprueba si se satisface la condición de transformada inversa reducida.
4) Si no se satisface la condición de transformada inversa reducida, el descodificador realiza una transformada inversa normal para el bloque actual.
5) Si se satisface la condición de transformada inversa secundaria reducida, el descodificador realiza la transformada inversa secundaria reducida para el bloque actual.
6) En este caso, el descodificador puede seleccionar el núcleo de transformada aplicado al bloque actual basándose en el índice de NSST. Como la realización, el núcleo de transformada puede seleccionarse basándose en información disponible, tal como el tamaño (por ejemplo, anchura/altura) del bloque actual (un bloque de codificación o un bloque de transformada), el modo de intra/inter predicción, CIdx y similares. Además, cuando se aplica la transformada inversa secundaria reducida al bloque actual, el descodificador puede seleccionar el factor reducido.
En una realización, la condición de transformada inversa secundaria reducida puede adoptar las condiciones descritas anteriormente de 6) (por ejemplo, las Tablas 3 y 4). En otras palabras, si aplicar la transformada inversa reducida puede determinarse basándose en el tamaño del bloque actual (un bloque de codificación o un bloque de transformada) y el tipo de transformada (o el núcleo de transformada).
Realización 8: Transformada reducida como una transformada secundaria con un tamaño de bloque diferente
En una realización de la presente invención, se propone una transformada reducida que considera diversos tamaños de bloque usados para la transformada secundaria/transformada inversa secundaria. Como un ejemplo, pueden definirse las transformadas reducidas para diferentes tamaños de bloque de 4x 4 , 8 x 8 y 16x 16 usados para la transformada secundaria/transformada inversa secundaria.
Las figuras 27 y 28 son diagramas que ilustran ejemplos de una transformada secundaria reducida hacia delante y una transformada secundaria reducida inversa y un pseudocódigo para inferir las mismas.
Haciendo referencia a las figuras 27 y 28, la transformada secundaria reducida y la transformada inversa secundaria reducida cuando el bloque al que se aplica la transformada secundaria es un bloque de 8 x 8 y un coeficiente de reducción R es 16. La transformada secundaria reducida y la transformada inversa secundaria reducida ilustradas en la figura 27 pueden inferirse usando el pseudocódigo ilustrado en la figura 28.
Realización 9: Transformada reducida como una transformada secundaria con una forma no rectangular
Como se ha descrito anteriormente, debido al problema de complejidad de la transformada secundaria a la que se aplica la transformada no separable, en una técnica de compresión de imágenes en la técnica relacionada, la transformada secundaria se aplica a la región de 4 x 4 o de 8 x 8 de arriba a la izquierda del bloque de codificación (o
el bloque de transformada).
La realización de la presente invención propone un método para aplicar la transformada secundaria reducida a diversas figuras no cuadradas además de una región cuadrada de 4 x 4 o de 8 x 8.
La figura 29 es un diagrama que ilustra un método para aplicar una transformada secundaria reducida a una región no cuadrada como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 29, en una realización, la transformada secundaria reducida puede aplicarse a solo una porción del bloque, como se ilustra en la figura 29.
En la figura 29, cada cuadrado representa una región de 4x4. En consecuencia, el codificador/descodificador puede aplicar la transformada secundaria reducida a una región de 10 x 4 píxeles, es decir, de 160 píxeles. En este caso, el coeficiente de reducción R = 16 y toda la matriz de RST corresponde a una matriz de 16 x 160, reduciendo de ese modo la complejidad de cálculo de la aplicación de la transformada secundaria.
Realización 10: Factor reducido
La figura 30 es un diagrama que ilustra una transformada reducida controlada por un factor de reducción como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 30, como se ha descrito anteriormente, la transformada de reducción de acuerdo con la realización de la presente invención puede controlarse mediante el factor de reducción, como se ilustra en la figura 30.
Específicamente, modificar el factor de reducción puede modificar la complejidad de memoria y el número de operaciones de multiplicación. Como se ha mencionado previamente en la figura 15 y en la Ecuación 6 como el factor de reducción R / N, la memoria y la multiplicación pueden reducirse modificando el factor de reducción. Por ejemplo, para la NSST de 8 x 8 con R = 16, la memoria y la multiplicación pueden reducirse por un factor de 1/4.
Realización 11: Sintaxis de alto nivel
La realización de la presente invención propone una estructura de sintaxis de alto nivel para controlar la transformada reducida a un alto nivel.
En una realización, como se muestra en el ejemplo de la Tabla 6 a continuación, puede transmitirse si se acepta la transformada reducida a través de un conjunto de parámetros de secuencia (SPS) e información acerca de un factor de reducción y/o tamaño. Sin embargo, la presente invención no se limita a ello y la sintaxis puede señalizarse a través de un conjunto de parámetros de instantánea (PPS), un encabezamiento de sector, etc.
T l
continuación
Haciendo referencia a la Tabla 6, si Reduced_transform_enabled_flag es 1, la transformada reducida puede estar disponible y aplicarse. En un caso en el que Reduced_transform_enabled_flag es 0, el caso puede indicar que la transformada reducida puede no estar disponible. Si Reduced_transform_enabled_flag no existe, puede estimarse que el valor es igual a cero.
Reduced_transform_factor representa un elemento de sintaxis que especifica el número de dimensiones reducidas para la transformada reducida.
min_reduced_transform_size representa un elemento de sintaxis que especifica un tamaño de transformada mínimo al que va a aplicarse la transformada reducida. Si min_reduced_transform_size no existe, puede estimarse que el valor es igual a cero.
max_reduced_transform_size representa un elemento de sintaxis que especifica un tamaño de transformada máximo al que va a aplicarse la transformada reducida. Si max_reduced_transform_size no existe, puede estimarse que el valor es igual a cero.
Reduced_transform_factor representa un elemento de sintaxis que especifica el número de dimensiones reducidas para la transformada reducida. Si Reduced_transform_factor no existe, puede estimarse que el valor es igual a cero.
Realización 12: Núcleos de transformada secundaria
La realización de la presente invención propone diversos núcleos de transformada secundaria.
En una realización, un núcleo de NSST de 4 x 4 para un modo de CC puede definirse como se muestra en la Tabla 7 a continuación.
T l 71
Además, en una realización, un núcleo de NSST de 4 x 4 para un modo plano puede definirse como se muestra en la Tabla 8 a continuación.
Tabla
Además, en una realización, un núcleo de NSST de 8 x 4 para el modo de CC puede definirse como se muestra en la Tabla 9 a continuación.
T l
(continuación)
, 23,
-9, 3, -3,
-1, -63, 1,
1, 69, -187, 2, 0,
-5, 0,
continuación
-49, 5, 6, 4,
0, 0, 23
Además, en una realización, un núcleo de NSST de 8 x 8 para el modo plano puede definirse como se muestra en la
Tabla 10 a continuación.
T l 11
_
(continuación)
-48, 22,
},
0, -1,
(continuación)
Los núcleos de transformada de las Tablas 7 a 10 descritas anteriormente pueden definirse como núcleos de transformada más pequeños para la transformada reducida.
Por ejemplo, para el modo de CC y la NSST de 8 x 8 con R = 8, la memoria y la multiplicación pueden reducirse por un factor de 1/2. En consecuencia, el núcleo de transformada reducida puede definirse con un tamaño más pequeño como se muestra en la Tabla 11 a continuación manteniendo solo los coeficientes (una matriz de 8 x16 ) de una mitad superior del núcleo de transformada de la Tabla 7 anterior.
T l 111
En otro ejemplo, para el modo de CC y la NSST de 8 x 8 con R = 16, la memoria y la multiplicación pueden reducirse por un factor de 1/4. En consecuencia, el núcleo de transformada reducida puede definirse con un tamaño más pequeño como se muestra en la Tabla 12 a continuación manteniendo solo los coeficientes (una matriz de 16 x 64) de un 1/4 superior del núcleo de transformada de la Tabla 9 anterior.
_____________________________________________ [Tabla 12]____________________________________________
(continuación)
, 11,6, 22,
(continuación)
En el ejemplo anterior, cada coeficiente de transformada se representa mediante 9 bits (es decir, 1 bit: signo, 8 bits: valores absolutos de 0 a 255). En una realización de la presente invención, pueden usarse diversas precisiones para representar los coeficientes de transformada. Por ejemplo, en lugar de 9 bits, pueden usarse 8 bits para representar cada coeficiente. En este caso, no se cambia un bit de signo, pero pueden cambiarse los rangos de los valores absolutos.
Las realizaciones de la presente invención descritas anteriormente se han descrito por separado por conveniencia de la descripción, pero la presente invención no se limita a ello. Es decir, las realizaciones descritas en las Realizaciones 1 a 12 descritas anteriormente pueden realizarse de forma independiente y pueden combinarse y realizarse diversas una o más realizaciones.
La figura 31 es un diagrama que ilustra una unidad de transformada inversa de acuerdo con una realización a la que se aplica la presente invención.
En la figura 31, la unidad de transformada inversa se ilustra como un bloque por conveniencia de la descripción, pero la unidad de inter predicción puede implementarse en una configuración incluida en el codificador y/o el descodificador. Haciendo referencia a la figura 31, la unidad de transformada inversa implementa las funciones, los procedimientos y/o los métodos propuestos en las figuras 4 a 30 anteriores. Específicamente, la unidad de transformada inversa puede configurarse para incluir una unidad de comprobación de saltos de transformada 3101, una unidad de obtención de índices de transformada 3102 y una unidad de transformada inversa primaria 3103.
La unidad de comprobación de saltos de transformada 3101 comprueba si se aplica un salto de transformada al bloque actual.
La unidad de obtención de índices de transformada 3102 obtiene un índice de transformada que indica un núcleo de transformada aplicado al bloque actual a partir de la señal de vídeo cuando el salto de transformada no se aplica al bloque actual.
La unidad de transformada inversa primaria 3103 determina una región en la que la transformada primaria se aplica al bloque actual basándose en el núcleo de transformada indicado por el índice de transformada y el tamaño (es decir, una anchura y/o una altura) del bloque actual.
Como una realización, la unidad de transformada inversa primaria 3103 puede considerar como 0 los coeficientes de la región restante que no sea la región a la que se aplica la transformada primaria en el bloque actual.
Además, como una realización, cuando el núcleo de transformada indicado por el índice de transformada es una transformada predefinida y la anchura y/o la altura del bloque actual es más grande que un tamaño predefinido, la unidad de transformada inversa primaria 3103 puede determinar una región que tiene la anchura y/o la altura que tienen el tamaño predefinido como la región a la que se aplica la transformada primaria.
Por ejemplo, la transformada predefinida puede ser una cualquiera de una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8, y el tamaño predefinido puede ser de 16. Como alternativa, la transformada predefinida puede ser una transformada restante excepto para una DCT2. Además, como un ejemplo, cuando el núcleo de transformada indicado por el índice de transformada es una DCT2 y la anchura y/o
la altura del bloque actual es más grande que 32, la unidad de transformada inversa primaria 3103 puede determinar una región que tiene una anchura y/o una altura de 32 como la región a la que se aplica la transformada primaria.
Además, como una realización, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un primer grupo de transformadas, la unidad de transformada inversa primaria 3103 puede determinar un valor más pequeño de la anchura del bloque actual y un primer umbral como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y el primer umbral como la altura de la región a la que se aplica la transformada primaria. Como un ejemplo, el primer umbral puede ser 32, pero la presente invención no se limita a ello y el primer umbral puede ser 4, 8 o 16, como se muestra en las Tablas 3 o 4 descritas anteriormente.
Además, cuando el núcleo de transformada indicado por el índice de transformada pertenece a un segundo grupo de transformadas, el descodificador puede determinar un valor más pequeño de la anchura del bloque actual y un segundo umbral como la anchura de la región a la que se aplica la transformada primaria y determinar un valor más pequeño de la altura del bloque actual y el segundo umbral como la altura de la región a la que se aplica la transformada primaria. Como un ejemplo, el segundo umbral puede ser 16, pero la presente invención no se limita a ello y el segundo umbral puede ser 4, 6, 8, 12 o 32, como se muestra en las Tablas 3 o 4 descritas anteriormente.
Como una realización, el primer grupo de transformadas puede incluir una DCT2 y el segundo grupo de transformadas puede incluir una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8.
La unidad de transformada inversa primaria 3103 realiza una transformada primaria inversa sobre la región a la que se aplica la transformada primaria usando el núcleo de transformada indicado por el índice de transformada. La unidad de transformada inversa primaria 3103 puede obtener un coeficiente de transformada primaria transformada inversamente realizando la transformada primaria inversa. Como una realización, el descodificador puede aplicar la transformada secundaria a un coeficiente de transformada descuantificado antes de realizar la transformada primaria y, en este caso, pueden aplicarse el método descrito en las figuras 4 a 20 anteriores.
La figura 32 ilustra un sistema de codificación de vídeo al que se aplica la presente invención.
El sistema de codificación de vídeo puede incluir un dispositivo fuente y un dispositivo de recepción. El dispositivo fuente puede transferir datos o información de vídeo/imagen codificados al dispositivo de recepción a través de un medio de almacenamiento digital o una red en forma de archivo o de envío por flujo continuo.
El dispositivo fuente 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/imágenes, y el aparato de descodificación puede denominarse aparato de descodificación de vídeo/imágenes. El transmisor puede estar incluido en el aparato de codificación. El receptor puede estar incluido en el aparato de descodificación. El representador puede incluir un visualizador, y el visualizador se puede configurar como un dispositivo separado o un componente externo.
Una fuente de vídeo puede adquirir un vídeo/imagen a través de un proceso de captura, de síntesis o de 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 capturadas previamente y similares. El dispositivo de generación de vídeo/imagen puede incluir, por ejemplo, un ordenador, una tableta y un teléfono inteligente, y puede generar (electrónicamente) el vídeo/imagen. Por ejemplo, puede generarse una imagen/vídeo virtual a través del ordenador, etc., y en este caso, el proceso de captura de vídeo/imagen puede remplazase por un proceso de generación de datos relacionados.
El aparato de codificación puede codificar un vídeo/imagen de entrada. El aparato de codificación puede realizar una serie de procedimientos que incluyen predicción, transformada, cuantificación y similares para la eficiencia de compresión y codificación. Los datos codificados (información de vídeo/imagen codificada) pueden emitirse en forma de flujo de bits.
El transmisor puede transferir los datos o información de vídeo/imagen codificados emitidos en forma de flujo de bits al receptor del dispositivo de recepción a través del medio de almacenamiento digital o una red en forma de archivo o de envío por flujo 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 la transmisión a través de una red de radiodifusión/comunicación. El receptor puede extraer el flujo de bits y transferir el flujo de bits extraído al aparato de descodificación.
El aparato de descodificación realiza una serie de procedimientos que incluyen descuantificación, transformada inversa, predicción, etc., correspondientes a una operación del aparato de codificación para descodificar el
vídeo/imagen.
El representador puede representar un vídeo/imagen descodificado. El vídeo/imagen representado puede visualizarse a través del visualizador.
La figura 33 es un diagrama de estructura de un sistema de envío por flujo continuo de contenido como una realización a la que se aplica la presente invención.
Haciendo referencia a la figura 33, el sistema de envío por flujo continuo de contenido al que se aplica la presente invención puede incluir mayormente un servidor de codificación, un servidor de envío por flujo continuo, un servidor web, un almacenamiento de medios, un dispositivo de usuario y un dispositivo de entrada multimedios.
El servidor de codificación comprime contenidos introducidos desde dispositivos de entrada multimedios, incluyendo un teléfono inteligente, una cámara o una videocámara en datos digitales para servir para generar el flujo de bits y transmitir el flujo de bits al servidor de envío por flujo continuo. Como otro ejemplo, cuando los dispositivos de entrada multimedios, incluyendo el teléfono inteligente, la cámara, la videocámara, etc., generan directamente el 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 flujos de bits al que se aplica la presente invención, y el servidor de envío por flujo continuo puede almacenar de forma temporal el flujo de bits en el proceso de transmisión o recepción del flujo de bits.
El servidor de envío por flujo continuo transmite datos multimedios al dispositivo de usuario basándose en la solicitud de un usuario a través de un servidor web, y el servidor web sirve como un intermediario para informar a un usuario acerca de qué servicio hay. Cuando el usuario solicita un servicio deseado al servidor web, el servidor web transfiere el servicio solicitado al servidor de envío por flujo continuo, y el servidor de envío por flujo continuo transmite los datos multimedios al usuario. En este caso, el sistema de envío por flujo continuo de contenido puede incluir un servidor de control separado y, en este caso, el servidor de control sirve para controlar una orden/respuesta entre dispositivos respectivos en el sistema de envío por flujo continuo de contenido.
El servidor de envío por flujo continuo puede recibir contenidos desde el almacenamiento de medios y/o el servidor de codificación. Por ejemplo, cuando el servidor de envío por flujo continuo recibe los contenidos desde el servidor de codificación, el servidor de envío por flujo continuo puede recibir los contenidos en tiempo real. En este caso, el servidor de envío por flujo continuo puede almacenar el flujo de bits durante un tiempo predeterminado para proporcionar un servicio de envío por flujo continuo fluido.
Los ejemplos del dispositivo de usuario pueden incluir un teléfono celular, un teléfono inteligente, un ordenador portátil, un terminal de radiodifusión digital, un asistente digital personal (PDA), un reproductor multimedios portátil (PMP), una navegación, un PC de tipo pizarra, un PC de tipo tableta, un ultraportátil, un dispositivo ponible tal como un reloj inteligente, unas gafas inteligentes o un visualizador montado en la cabeza (HMD), etc., y similares.
Cada servidor en el sistema de envío por flujo continuo de contenido puede hacerse funcionar como un servidor distribuido y, en este caso, pueden distribuirse y procesarse los datos recibidos por cada servidor.
Como se ha descrito anteriormente, las realizaciones descritas en la presente invención pueden implementarse y realizarse en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales ilustradas en cada dibujo pueden implementarse y realizarse en un ordenador, el procesador, el microprocesador, el controlador o el chip.
Además, el descodificador y el codificador a los que se aplica la presente invención pueden incluirse en un dispositivo de transmisión y recepción de radiodifusión multimedios, un terminal de comunicación móvil, un dispositivo de vídeo de cine en casa, un dispositivo de vídeo de cine digital, una cámara de vigilancia, un dispositivo de chat de vídeo, un dispositivo de comunicación en tiempo real tal como comunicación de vídeo, un dispositivo de envío por flujo continuo móvil, medios de almacenamiento, una videocámara, un dispositivo de provisión de servicios de vídeo a la carta (VoD), un dispositivo de vídeo de OTT (de transmisión libre), un dispositivo de provisión de servicios de envío por flujo continuo por Internet, un dispositivo de vídeo tridimensional (3D), un dispositivo de vídeo con videoteléfono, un terminal de medios de transporte (por ejemplo, un terminal de vehículo, un terminal de avión, un terminal de barco, etc.) y un dispositivo de vídeo médico, etc., y pueden usarse para procesar una señal de vídeo o una señal de datos. Por ejemplo, el dispositivo de vídeo de transmisión libre (OTT) puede incluir una consola de juegos, un reproductor de Blu-ray, una TV con acceso a Internet, un sistema de cine en casa, un teléfono inteligente, un PC de tipo tableta, una grabadora de vídeo digital (DVR) y similares.
Además, un método de procesamiento al que se aplica la presente invención puede producirse en forma de un programa ejecutado por el ordenador, y puede almacenarse en un medio de registro legible por ordenador. Los datos multimedios que tienen una estructura de datos de acuerdo con la presente divulgación también se pueden almacenar en el medio de registro legible por ordenador. El medio de registro legible por ordenador incluye todos los tipos de
dispositivos de almacenamiento y dispositivos de almacenamiento de distribución que almacenan datos legibles por ordenador. El medio de registro legible por ordenador puede incluir, por ejemplo, un disco Blu-ray (BD), un bus serie universal (USB), una ROM, una PROM, una EPROM, una EEPROM, una RAM, un CD-ROM, una cinta magnética, un disquete y un dispositivo de almacenamiento de datos óptico. Además, el medio de registro legible por ordenador incluye medios implementados en forma de una onda portadora (por ejemplo, transmisión a través de Internet). Además, el flujo de bits generado por el método de codificación puede almacenarse en el medio de registro legible por ordenador o transmitirse a través de una red de comunicación cableada/inalámbrica.
Además, la realización de la presente invención puede implementarse como un producto de programa informático mediante un código de programa, que puede ejecutarse en el ordenador mediante la realización de la presente invención. El código de programa puede almacenarse en un soporte legible por ordenador.
En las realizaciones descritas anteriormente, los componentes y las características de la presente invención se combinan en una forma predeterminada. Cada componente o característica debería considerarse como una opción a menos que se exponga expresamente lo contrario. Cada componente o característica puede implementarse para no asociarse con otros componentes o características. Además, la realización de la presente invención puede configurarse asociando algunos componentes y/o características. Puede cambiarse el orden de las operaciones descritas en las realizaciones de la presente invención. Algunos componentes o características de cualquier realización pueden incluirse en otra realización o sustituirse con el componente y la característica correspondientes a otra realización. Es evidente que las reivindicaciones que no se citan expresamente en las reivindicaciones se combinan para formar una realización o se incluyen en una nueva reivindicación mediante una modificación después de la solicitud.
Las realizaciones de la presente invención pueden implementarse mediante hardware, firmware, software o combinaciones de los mismos. En el caso de una implementación por hardware, de acuerdo con la implementación de hardware, la realización ilustrativa descrita en el presente documento puede implementarse usando uno o más circuitos integrados específicos de la aplicación (ASIC), procesadores de señales digitales (DSP), dispositivos de procesamiento de señales digitales (DSPD), dispositivos lógicos programables ( PLD), matrices de puertas programables en campo (FPGA), procesadores, controladores, microcontroladores, microprocesadores, y similares.
En el caso de una implementación por firmware o software, la realización de la presente invención puede implementarse en forma de un módulo, un procedimiento, una función y similares para realizar las funciones u operaciones descritas anteriormente. Un código de software puede almacenarse en la memoria y ser ejecutado por el procesador. La memoria puede situarse dentro o fuera del procesador y puede transmitir y recibir datos a/desde el procesador ya por diversos medios.
Es evidente para los expertos en la materia que la presente invención puede materializarse de otras formas específicas sin apartarse de las características esenciales de la presente invención. En consecuencia, la descripción detallada mencionada anteriormente no debería interpretarse como restrictiva en todos los términos y debería considerarse de forma ilustrativa.
[Aplicabilidad industrial]
En lo que antecede en el presente documento, las realizaciones preferidas de la presente invención se divulgan para un fin ilustrativo y, en lo sucesivo en el presente documento, modificaciones, cambios, sustituciones o adiciones de diversas otras realizaciones serán hechas por los expertos en la materia dentro del alcance técnico de la presente invención divulgada en las reivindicaciones adjuntas.
Claims (6)
1. Un método para descodificar una señal de vídeo, realizado por un aparato de descodificación, comprendiendo el método:
obtener (S2302) una información de índice de transformada que indica núcleos de transformada del bloque actual a partir de la señal de vídeo;
determinar (S2303) un tamaño de una región no nula a la que se aplica una transformada primaria inversa basándose en los núcleos de transformada indicados por la información de índice de transformada y un tamaño del bloque actual, en donde unos coeficientes no nulos se ubican dentro de la región no nula; y
realizar (S2304) la transformada primaria inversa sobre la región no nula a la que se aplica la transformada primaria inversa usando los núcleos de transformada indicados por la información de índice de transformada, en donde los núcleos de transformada indicados por la información de índice de transformada incluyen un par de un núcleo de transformada horizontal y un núcleo de transformada vertical,
caracterizado por que
basándose en que el tamaño del bloque actual es de 32 x 32 y que los núcleos de transformada aplicados al bloque actual pertenecen a un primer grupo de transformadas, el tamaño de la región no nula se determina como 32 x 32, basándose en que el tamaño del bloque actual es de 32 x 32 y que los núcleos de transformada aplicados al bloque actual pertenecen a un segundo grupo de transformadas, el tamaño de la región no nula se determina como 16x 16, y
el primer grupo de transformadas incluye un núcleo de DCT2 y el segundo grupo de transformadas no incluye el núcleo de d Ct 2.
2. El método de la reivindicación 1, en donde los valores de los coeficientes de una región restante en el bloque actual que no sea la región no nula se asignan como 0.
3. El método de la reivindicación 1, en donde el segundo grupo de transformadas incluye al menos uno de un núcleo de DST7 o un núcleo de DCT8.
4. Un método para codificar una señal de vídeo realizado por un aparato de codificación, comprendiendo el método:
inferir (S2202) núcleos de transformada que se aplican a un bloque actual;
determinar (S2203) un tamaño de una región no nula para una transformada primaria basándose en los núcleos de transformada y un tamaño del bloque actual;
realizar (2204) la transformada primaria sobre el bloque actual basándose en los núcleos de transformada, en donde unos coeficientes no nulos se ubican dentro de la región no nula;
generar información de índice de transformada que indica los núcleos de transformada aplicados al bloque actual; y codificar la señal de vídeo que incluye la información de índice de transformada,
en donde los núcleos de transformada indicados por el índice de transformada incluyen un par de un núcleo de transformada horizontal y un núcleo de transformada vertical,
caracterizado por que
basándose en que el tamaño del bloque actual es de 32 x 32 y que los núcleos de transformada aplicados al bloque actual pertenecen a un primer grupo de transformadas, el tamaño de la región no nula se determina como 32 x 32, basándose en que el tamaño del bloque actual es de 32 x 32 y que los núcleos de transformada aplicados al bloque actual pertenecen a un segundo grupo de transformadas, el tamaño de la región no nula se determina como 16x 16, y
el primer grupo de transformadas incluye un núcleo de DCT2 y el segundo grupo de transformadas no incluye el núcleo de d Ct 2.
5. El método de la reivindicación 4, en donde los valores de los coeficientes de una región restante en el bloque actual que no sea la región no nula se asignan como 0.
6. El método de la reivindicación 4, en donde el segundo grupo de transformadas incluye al menos uno de un núcleo de DST7 o un núcleo de DCT8.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862679939P | 2018-06-03 | 2018-06-03 | |
US201862679940P | 2018-06-03 | 2018-06-03 | |
PCT/KR2019/006675 WO2019235797A1 (ko) | 2018-06-03 | 2019-06-03 | 축소된 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2949998T3 true ES2949998T3 (es) | 2023-10-04 |
Family
ID=68769617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19814714T Active ES2949998T3 (es) | 2018-06-03 | 2019-06-03 | Método y dispositivo para procesar una señal de vídeo usando una transformada reducida |
Country Status (12)
Country | Link |
---|---|
US (3) | US11284097B2 (es) |
EP (2) | EP3806476B1 (es) |
JP (2) | JP7223014B2 (es) |
KR (3) | KR102659354B1 (es) |
CN (3) | CN115379216A (es) |
ES (1) | ES2949998T3 (es) |
FI (1) | FI3806476T3 (es) |
HR (1) | HRP20230521T1 (es) |
HU (1) | HUE063012T2 (es) |
PL (1) | PL3806476T3 (es) |
SI (1) | SI3806476T1 (es) |
WO (1) | WO2019235797A1 (es) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019027241A1 (ko) * | 2017-07-31 | 2019-02-07 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
BR112020005097A2 (pt) * | 2017-09-28 | 2020-09-15 | Samsung Electronics Co., Ltd. | método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo |
WO2020035829A1 (en) * | 2018-08-16 | 2020-02-20 | Beijing Bytedance Network Technology Co., Ltd. | Coefficient dependent coding of transform matrix selection |
JP7223014B2 (ja) * | 2018-06-03 | 2023-02-15 | エルジー エレクトロニクス インコーポレイティド | 縮小された変換を用いて、ビデオ信号を処理する方法及び装置 |
WO2019235891A1 (ko) * | 2018-06-08 | 2019-12-12 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
WO2019240050A1 (ja) * | 2018-06-11 | 2019-12-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法および復号方法 |
WO2020006304A1 (en) | 2018-06-29 | 2020-01-02 | Vid Scale, Inc. | Adaptive control point selection for affine motion model based video coding |
KR102553341B1 (ko) * | 2018-08-12 | 2023-07-06 | 엘지전자 주식회사 | 영상 신호를 처리하기 위한 방법 및 장치 |
KR20210046002A (ko) | 2018-09-07 | 2021-04-27 | 주식회사 윌러스표준기술연구소 | 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치 |
EP3854080A1 (en) * | 2018-09-21 | 2021-07-28 | InterDigital VC Holdings, Inc. | Harmonization of intra transform coding and wide angle intra prediction |
WO2020071736A1 (ko) * | 2018-10-01 | 2020-04-09 | 엘지전자 주식회사 | 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치 |
CN113225559B (zh) * | 2018-10-12 | 2023-05-16 | Oppo广东移动通信有限公司 | 视频信号的编码方法和解码方法及其装置 |
US11546632B2 (en) * | 2018-12-19 | 2023-01-03 | Lg Electronics Inc. | Method and device for processing video signal by using intra-prediction |
US10986339B2 (en) * | 2019-02-08 | 2021-04-20 | Tencent America LLC | Method and apparatus for harmonization between transform skip mode and multiple transform selection |
KR20210114386A (ko) | 2019-02-08 | 2021-09-23 | 주식회사 윌러스표준기술연구소 | 이차 변환을 이용하는 비디오 신호 처리 방법 및 장치 |
JP7293376B2 (ja) | 2019-02-28 | 2023-06-19 | ヒューマックス・カンパニー・リミテッド | イントラ予測ベースのビデオ信号処理方法及び装置 |
CN113365057B (zh) * | 2019-03-09 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、解码端、编码端和*** |
US11616966B2 (en) * | 2019-04-03 | 2023-03-28 | Mediatek Inc. | Interaction between core transform and secondary transform |
US11172211B2 (en) * | 2019-04-04 | 2021-11-09 | Tencent America LLC | Method and apparatus for video coding |
WO2020218861A1 (ko) * | 2019-04-23 | 2020-10-29 | 주식회사 윌러스표준기술연구소 | 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치 |
US11032572B2 (en) | 2019-05-17 | 2021-06-08 | Qualcomm Incorporated | Low-frequency non-separable transform signaling based on zero-out patterns for video coding |
CN113950828B (zh) * | 2019-06-07 | 2024-07-05 | 北京字节跳动网络技术有限公司 | 视频比特流中的简化二次变换的有条件信令 |
US11695960B2 (en) | 2019-06-14 | 2023-07-04 | Qualcomm Incorporated | Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding |
KR20210158400A (ko) * | 2019-06-19 | 2021-12-30 | 엘지전자 주식회사 | 영상 코딩에서 변환 커널 세트를 나타내는 정보의 시그널링 |
US11949870B2 (en) * | 2019-06-21 | 2024-04-02 | Qualcomm Incorporated | Context modeling for low-frequency non-separable transformation signaling for video coding |
CN115967811A (zh) * | 2019-06-25 | 2023-04-14 | 三星电子株式会社 | 使用二次变换的视频信号处理方法及装置 |
JP7422858B2 (ja) | 2019-08-03 | 2024-01-26 | 北京字節跳動網絡技術有限公司 | ビデオ処理方法、装置、記憶媒体及び記憶方法 |
WO2021032045A1 (en) | 2019-08-17 | 2021-02-25 | Beijing Bytedance Network Technology Co., Ltd. | Context modeling of side information for reduced secondary transforms in video |
EP4062645A4 (en) * | 2019-11-21 | 2023-08-16 | Beijing Dajia Internet Information Technology Co., Ltd. | METHOD AND DEVICE FOR TRANSFORMATION AND COEFFICIENT SIGNALING |
US11457229B2 (en) * | 2019-12-23 | 2022-09-27 | Qualcomm Incorporated | LFNST signaling for chroma based on chroma transform skip |
WO2021128284A1 (zh) * | 2019-12-27 | 2021-07-01 | 富士通株式会社 | 二次变换的约束方法及其装置 |
WO2021137445A1 (ko) * | 2019-12-31 | 2021-07-08 | (주)휴맥스 | 비디오 신호 처리를 위한 변환 커널 결정 방법 및 이를 위한 장치 |
EP4087252A4 (en) * | 2019-12-31 | 2023-01-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | TRANSFORMATION METHOD, ENCODER, DECODER AND STORAGE MEDIUM |
US20230064931A1 (en) * | 2020-01-12 | 2023-03-02 | Lg Electronics Inc. | Transform-based image coding method and device therefor |
WO2021155005A1 (en) * | 2020-01-28 | 2021-08-05 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatus on transform and coefficient signaling |
EP4307677A3 (en) | 2020-02-24 | 2024-04-17 | ByteDance Inc. | Interaction between subpicture and tile row signaling |
JP7479492B2 (ja) * | 2020-03-03 | 2024-05-08 | バイトダンス インコーポレイテッド | ビデオ・コーディングにおける低周波ノン・セパラブル変換シグナリング |
EP4104438A4 (en) | 2020-03-11 | 2023-08-16 | Beijing Bytedance Network Technology Co., Ltd. | ADAPTIVE LOOP FILTERING |
WO2021194199A1 (ko) * | 2020-03-24 | 2021-09-30 | 엘지전자 주식회사 | 변환에 기반한 영상 코딩 방법 및 그 장치 |
KR20220161382A (ko) * | 2020-03-26 | 2022-12-06 | 엘지전자 주식회사 | 변환에 기반한 영상 코딩 방법 및 그 장치 |
JP7446046B2 (ja) * | 2020-03-27 | 2024-03-08 | 三星電子株式会社 | 映像の復号化方法及び装置 |
GB2593778A (en) * | 2020-04-03 | 2021-10-06 | Sony Group Corp | Video data encoding and decoding |
US11785254B2 (en) * | 2020-05-29 | 2023-10-10 | Tencent America LLC | Implicit mode dependent primary transforms |
CN115699769A (zh) | 2020-05-31 | 2023-02-03 | 抖音视界有限公司 | 使用通用约束信息语法元素的约束信令 |
US11930186B2 (en) | 2020-11-11 | 2024-03-12 | Tencent America LLC | Method and apparatus for video coding |
US20240107009A1 (en) * | 2021-01-25 | 2024-03-28 | Nec Corporation | Video coding device and video coding method |
GB2603559B (en) * | 2021-07-22 | 2023-08-09 | Imagination Tech Ltd | Coding blocks of pixels |
WO2024076134A1 (ko) * | 2022-10-05 | 2024-04-11 | 세종대학교산학협력단 | 동영상 인코딩 및 디코딩 장치와 방법 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100525785B1 (ko) * | 2001-06-15 | 2005-11-03 | 엘지전자 주식회사 | 이미지 화소 필터링 방법 |
US8634456B2 (en) * | 2008-10-03 | 2014-01-21 | Qualcomm Incorporated | Video coding with large macroblocks |
US20110026593A1 (en) * | 2009-02-10 | 2011-02-03 | New Wei Lee | Image processing apparatus, image processing method, program and integrated circuit |
CN101577826B (zh) * | 2009-03-12 | 2014-04-23 | 北京中星微电子有限公司 | 视频编码中的运动搜索控制方法和控制装置 |
US9635368B2 (en) * | 2009-06-07 | 2017-04-25 | Lg Electronics Inc. | Method and apparatus for decoding a video signal |
KR101994216B1 (ko) * | 2009-06-07 | 2019-06-28 | 엘지전자 주식회사 | 비디오 신호의 디코딩 방법 및 장치 |
KR20110112168A (ko) * | 2010-04-05 | 2011-10-12 | 삼성전자주식회사 | 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치 |
AU2011241284B2 (en) * | 2010-04-13 | 2015-05-07 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
KR101791242B1 (ko) * | 2010-04-16 | 2017-10-30 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
KR101791078B1 (ko) * | 2010-04-16 | 2017-10-30 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
KR101813189B1 (ko) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | 영상 부호화/복호화 장치 및 방법 |
US10091529B2 (en) * | 2010-07-09 | 2018-10-02 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding/decoding a transform coefficient |
US8934540B2 (en) * | 2010-07-20 | 2015-01-13 | Cisco Technology, Inc. | Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks |
US9706214B2 (en) * | 2010-12-24 | 2017-07-11 | Microsoft Technology Licensing, Llc | Image and video decoding implementations |
JP6051156B2 (ja) * | 2011-04-27 | 2016-12-27 | シャープ株式会社 | 画像復号装置および画像符号化装置 |
CN107835414B (zh) * | 2011-10-18 | 2020-11-06 | 株式会社Kt | 视频信号解码方法 |
RU2602834C2 (ru) * | 2011-10-19 | 2016-11-20 | Кт Корпорейшен | Способ и устройство для кодирования/декодирования видеоданных |
CN103096053B (zh) * | 2011-11-04 | 2015-10-07 | 华为技术有限公司 | 一种变换模式的编解码方法和装置 |
US9538175B2 (en) * | 2012-09-26 | 2017-01-03 | Qualcomm Incorporated | Context derivation for context-adaptive, multi-level significance coding |
AU2012232992A1 (en) * | 2012-09-28 | 2014-04-17 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding the transform units of a coding unit |
US9367291B2 (en) * | 2013-03-29 | 2016-06-14 | Samsung Electronics Co., Ltd. | Apparatus and method for generating vector code |
US9432696B2 (en) * | 2014-03-17 | 2016-08-30 | Qualcomm Incorporated | Systems and methods for low complexity forward transforms using zeroed-out coefficients |
US20160044314A1 (en) * | 2014-08-08 | 2016-02-11 | Qualcomm Incorporated | System and method for reusing transform structure for multi-partition transform |
EP3211893B1 (en) * | 2014-10-24 | 2019-09-04 | LG Electronics Inc. | Method and apparatus for decoding/encoding video signal using transform derived from graph template |
CN105574842A (zh) * | 2014-11-09 | 2016-05-11 | 许亚夫 | 一种比赛边线视频检测方法 |
WO2016167538A1 (ko) * | 2015-04-12 | 2016-10-20 | 엘지전자(주) | 비디오 신호의 인코딩, 디코딩 방법 및 그 장치 |
JP6613720B2 (ja) * | 2015-08-26 | 2019-12-04 | 沖電気工業株式会社 | 画像処理装置、プログラム及び方法 |
JP6528635B2 (ja) * | 2015-10-05 | 2019-06-12 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
EP3334160A1 (en) * | 2015-11-06 | 2018-06-13 | Huawei Technologies Co., Ltd. | Method and apparatus for de-quantization of transform coefficients, and decoding device |
KR20170124077A (ko) * | 2016-04-29 | 2017-11-09 | 세종대학교산학협력단 | 영상 신호 부호화/복호화 방법 및 장치 |
US10972733B2 (en) * | 2016-07-15 | 2021-04-06 | Qualcomm Incorporated | Look-up table for enhanced multiple transform |
CN115914625A (zh) * | 2016-08-01 | 2023-04-04 | 韩国电子通信研究院 | 图像编码/解码方法 |
US10440394B2 (en) * | 2016-09-08 | 2019-10-08 | Google Llc | Context adaptive scan order for entropy coding |
US10880564B2 (en) * | 2016-10-01 | 2020-12-29 | Qualcomm Incorporated | Transform selection for video coding |
US11095893B2 (en) * | 2016-10-12 | 2021-08-17 | Qualcomm Incorporated | Primary transform and secondary transform in video coding |
US11405645B2 (en) * | 2017-02-28 | 2022-08-02 | Google Llc | Transform kernel selection and entropy coding |
US10855997B2 (en) * | 2017-04-14 | 2020-12-01 | Mediatek Inc. | Secondary transform kernel size selection |
KR20240010541A (ko) * | 2017-07-04 | 2024-01-23 | 삼성전자주식회사 | 다중 코어 변환에 의한 비디오 복호화 방법 및 장치, 다중 코어 변환에 의한 비디오 부호화 방법 및 장치 |
US10841577B2 (en) * | 2018-02-08 | 2020-11-17 | Electronics And Telecommunications Research Institute | Method and apparatus for video encoding and video decoding based on neural network |
CN116847081A (zh) * | 2018-04-01 | 2023-10-03 | Lg电子株式会社 | 图像解码设备、图像编码设备和用于发送视频信号的设备 |
JP7223014B2 (ja) * | 2018-06-03 | 2023-02-15 | エルジー エレクトロニクス インコーポレイティド | 縮小された変換を用いて、ビデオ信号を処理する方法及び装置 |
-
2019
- 2019-06-03 JP JP2020541390A patent/JP7223014B2/ja active Active
- 2019-06-03 WO PCT/KR2019/006675 patent/WO2019235797A1/ko unknown
- 2019-06-03 ES ES19814714T patent/ES2949998T3/es active Active
- 2019-06-03 CN CN202211039334.0A patent/CN115379216A/zh active Pending
- 2019-06-03 KR KR1020237006374A patent/KR102659354B1/ko active IP Right Grant
- 2019-06-03 CN CN201980021153.5A patent/CN111937400B/zh active Active
- 2019-06-03 FI FIEP19814714.2T patent/FI3806476T3/fi active
- 2019-06-03 PL PL19814714.2T patent/PL3806476T3/pl unknown
- 2019-06-03 EP EP19814714.2A patent/EP3806476B1/en active Active
- 2019-06-03 KR KR1020207016734A patent/KR102504694B1/ko active IP Right Grant
- 2019-06-03 US US16/429,956 patent/US11284097B2/en active Active
- 2019-06-03 EP EP23161707.7A patent/EP4216554A1/en active Pending
- 2019-06-03 HR HRP20230521TT patent/HRP20230521T1/hr unknown
- 2019-06-03 SI SI201930603T patent/SI3806476T1/sl unknown
- 2019-06-03 HU HUE19814714A patent/HUE063012T2/hu unknown
- 2019-06-03 KR KR1020247012642A patent/KR20240056624A/ko active Application Filing
- 2019-06-03 CN CN202211038969.9A patent/CN115379215A/zh active Pending
-
2022
- 2022-02-15 US US17/671,946 patent/US11711533B2/en active Active
-
2023
- 2023-02-03 JP JP2023015037A patent/JP2023052876A/ja active Pending
- 2023-06-03 US US18/205,501 patent/US20230396788A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3806476A1 (en) | 2021-04-14 |
JP2021511752A (ja) | 2021-05-06 |
HUE063012T2 (hu) | 2023-12-28 |
KR20240056624A (ko) | 2024-04-30 |
EP4216554A1 (en) | 2023-07-26 |
WO2019235797A1 (ko) | 2019-12-12 |
CN111937400A (zh) | 2020-11-13 |
US20230396788A1 (en) | 2023-12-07 |
FI3806476T3 (fi) | 2023-08-15 |
CN115379215A (zh) | 2022-11-22 |
SI3806476T1 (sl) | 2023-10-30 |
US11284097B2 (en) | 2022-03-22 |
US11711533B2 (en) | 2023-07-25 |
KR20230033024A (ko) | 2023-03-07 |
CN111937400B (zh) | 2022-09-13 |
US20220182651A1 (en) | 2022-06-09 |
HRP20230521T1 (hr) | 2023-08-04 |
KR102504694B1 (ko) | 2023-02-28 |
CN115379216A (zh) | 2022-11-22 |
JP2023052876A (ja) | 2023-04-12 |
KR102659354B1 (ko) | 2024-04-18 |
KR20200078649A (ko) | 2020-07-01 |
JP7223014B2 (ja) | 2023-02-15 |
PL3806476T3 (pl) | 2023-09-11 |
US20190387241A1 (en) | 2019-12-19 |
EP3806476B1 (en) | 2023-05-24 |
EP3806476A4 (en) | 2022-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2949998T3 (es) | Método y dispositivo para procesar una señal de vídeo usando una transformada reducida | |
ES2961923T3 (es) | Procesamiento de una señal de vídeo utilizando una transformada secundaria reducida | |
KR102599446B1 (ko) | 인트라 예측 모드에 기초하여 변환 인덱스 코딩을 수행하는 방법 및 이를 위한 장치 | |
CN112400322B (zh) | 基于二次变换处理视频信号的方法和设备 | |
AU2021258067B2 (en) | Method and apparatus for configuring transform for video compression | |
KR102509578B1 (ko) | 영상의 부호화/복호화 방법 및 이를 위한 장치 | |
WO2019045544A1 (ko) | 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치 |