ES2982953T3 - Métodos para realizar codificación y decodificación, extremo de decodificación y extremo de codificación - Google Patents
Métodos para realizar codificación y decodificación, extremo de decodificación y extremo de codificación Download PDFInfo
- Publication number
- ES2982953T3 ES2982953T3 ES20769784T ES20769784T ES2982953T3 ES 2982953 T3 ES2982953 T3 ES 2982953T3 ES 20769784 T ES20769784 T ES 20769784T ES 20769784 T ES20769784 T ES 20769784T ES 2982953 T3 ES2982953 T3 ES 2982953T3
- Authority
- ES
- Spain
- Prior art keywords
- transform pair
- index
- current block
- transform
- bit
- 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 87
- 230000003044 adaptive effect Effects 0.000 claims abstract description 30
- 230000004044 response Effects 0.000 claims description 75
- 238000013507 mapping Methods 0.000 claims description 4
- 241000023320 Luma <angiosperm> Species 0.000 claims description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 2
- 230000008569 process Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 20
- 238000013139 quantization Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 238000007906 compression Methods 0.000 description 12
- 230000006835 compression Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000001131 transforming effect Effects 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 101100278585 Dictyostelium discoideum dst4 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
La presente divulgación se refiere al campo de las técnicas de audio y vídeo. Se proporcionan métodos para realizar la codificación y decodificación, un extremo de decodificación y un extremo de codificación. El método comprende: adquirir datos codificados de un bloque actual; adquirir, a partir de los datos codificados, un índice de un par de núcleos de transformación asociado con el bloque actual, en donde la decodificación aritmética binaria adaptativa se realiza en un primer bit de una palabra de código binarizada correspondiente al índice del par de núcleos de transformación sobre la base de un modelo de contexto; y determinar el par de núcleos de transformación correspondiente al bloque actual de acuerdo con el índice del par de núcleos de transformación, en donde el par de núcleos de transformación comprende un núcleo de transformación horizontal y un núcleo de transformación vertical. La presente divulgación facilita la mejora del rendimiento de codificación y decodificación. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Métodos para realizar codificación y decodificación, extremo de decodificación y extremo de codificaciónSector técnico
La presente descripción se refiere al campo de las tecnologías de audio y vídeo y, en particular, se refiere a métodos de codificación y decodificación, a un codificador y un decodificador, y a medios de almacenamiento.
Antecedentes
Con el desarrollo de las tecnologías de Internet y las tecnologías informáticas, se están desarrollando cada vez más aplicaciones de vídeo y la demanda de los usuarios de vídeos de alta definición en las aplicaciones de vídeo está aumentando. Sin embargo, dado que un vídeo de alta definición generalmente contiene una gran cantidad de datos, antes de su transmisión en un ancho de banda de red limitado, es necesario codificar el vídeo de alta definición. La codificación de datos generalmente incluye: intrapredicción (o interpredicción), transformada, cuantificación, codificación entrópica, filtrado en bucle y similares. Durante la codificación, un bloque residual, que puede denominarse unidad de transformada (TU) o señal residual de un bloque actual, se adquiere mediante intrapredicción, y se adquiere un coeficiente de transformada transformando la TU (la transformada se refiere a la conversión de una imagen representada en forma de píxeles en un dominio espacial en una imagen expresada en forma de coeficiente de transformada en un dominio de transformada). Posteriormente, los datos codificados se adquieren realizando cuantificación y codificación entrópica sobre el coeficiente de transformada.
““Non-CE8: Unified Transform Type Signalling and Residual Coding for Transform Skip” (Bross et al., reunión de JVET en Marrakech, 9 de enero de 2019) da a conocer la codificación del índice mts. También da a conocer dos modificaciones relacionadas con señalización del tipo de transformada y codificación residual para la omisión de transformada. La primera modificación incluye alinear los casos en los que se aplican omisión de transformada (TS) y selección de transformada múltiple (MTS). Esto limita TS a bloques de transformada de luminancia y lo amplía para transformar tamaños de bloques de hasta 32 x 32. La segunda modificación consiste en una codificación de nivel de coeficiente de transformación modificada para el residuo de TS.
Compendio
Las realizaciones de la presente descripción dan a conocer métodos de codificación y decodificación, un codificador y un decodificador y medios de almacenamiento. La invención se expone en el conjunto de reivindicaciones adjunto. De acuerdo con un aspecto de las realizaciones de la presente descripción, se da a conocer un método de decodificación. El método de decodificación incluye:
adquirir datos codificados de un bloque actual;
determinar que la altura y la anchura del bloque actual son menores o iguales a un umbral preestablecido y que el bloque actual es un bloque de luminancia;
adquirir un índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados, en el que, en el caso de que el índice del par de transformadas incluya cinco valores de índice, un par de transformadas mapeado por el índice de par de transformadas es (DCT2, DCT2) en respuesta a que el valor de índice del índice del par de transformadas es un primer valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DST7, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un segundo valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un tercer valor de índice; el par de transformadas es mapeado por el índice del par de transformadas es (DST7, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un cuarto valor de índice; y el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un quinto valor de índice; en el que una palabra de código binarizada correspondiente al índice de par de transformadas ocupa como máximo cuatro bits y un primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas tiene por objeto indicar si se selecciona el par de transformadas mapeado por el primer valor de índice, en el que el par de transformadas (DCT2, DCT2) mapeado por el primer valor de índice se selecciona en respuesta a que un valor del primer bit es un primer valor, y el par de transformadas mapeado por uno de los valores de índice restantes se selecciona en respuesta a que el valor del primer bit es un segundo valor; y en el que el primer valor es 0 y el segundo valor es 1, el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas se decodifica mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto, otros bits se decodifican mediante codificación aritmética binaria adaptativa basada en contexto (CABAC) en respuesta a que la palabra de código binarizada correspondiente al índice de par de transformadas comprende además los otros bits además del primer bit; y
determinar el par de transformadas correspondiente al bloque actual basándose en el índice de par de transformadas, en el que el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En algunas realizaciones, determinar el par de transformadas correspondiente al bloque actual en función del índice de par de transformadas incluye: determinar, basándose en el índice de par de transformadas correspondiente al bloque actual y una relación correspondiente preconfigurada entre el índice de par de transformadas y el par de transformadas, el par de transformadas correspondiente al bloque actual, en el que la relación correspondiente incluye una relación de mapeo entre cinco valores de índice del índice de par de transformadas y cinco pares de transformadas.
En algunas realizaciones, en respuesta a que el valor del primer bit es el segundo valor, el primer bit pretende indicar que se selecciona el par de transformadas mapeado por uno de los valores de índice restantes, siendo el par de transformadas mapeado por uno de los valores de índice restantes uno de los cuatro pares de transformadas (DST7, DST7), (DCT8, DST7), (DST7, DCT8) y (DCT8, DCT8); donde
un valor de un segundo bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DST7) o uno de (DCT8, DST7), (DST7, DCT8) y (DCT8 DCT8);
un valor de un tercer bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DCT8, DST7) o uno de (DST7, DCT8) y (DCT8 DCT8);
un valor de un cuarto bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DCT8) o (DCT8 DCT8);
En algunas realizaciones, determinar el par de transformadas correspondiente al bloque actual en función del índice de par de transformadas incluye:
determinar que el par de transformadas correspondiente al bloque actual es (DCT2, DCT2) en respuesta a que el primer bit es 0;
determinar que el par de transformadas correspondiente al bloque actual es (DST7, DST7) en respuesta a que el primer bit es 1 y un segundo bit es 0;
determinar que el par de transformadas correspondiente al bloque actual es (DCT8, DST7) en respuesta a que el primer bit es 1, el segundo bit es 1 y un tercer bit es 0;
determinar que el par de transformadas correspondiente al bloque actual es (DCT8, DST7) en respuesta a que el primer bit es 1, el segundo bit es 1, el tercer bit es 1 y un cuarto bit es 0; y
determinar que el par de transformadas correspondiente al bloque actual es (DCT8, DCT8) en respuesta a que el primer bit es 1, el segundo bit es 1, el tercer bit es 1 y un cuarto bit es 1.
En algunas realizaciones, antes de adquirir el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados, el método de decodificación incluye además:
identificar si los datos codificados de un dispositivo de codificación llevan un indicador objetivo, donde el indicador objetivo pretende indicar que la transformada multinúcleo explícita está habilitada.
En algunas realizaciones, adquirir el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados incluye: adquirir el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados en respuesta a determinar que el bloque actual es el bloque de luminancia y que la altura y la anchura del bloque actual son menores o iguales a 32.
En algunas realizaciones, el método de decodificación incluye además: determinar directamente, en lugar de decodificar, el índice del par de transformadas correspondiente al bloque actual (DCT2, DCT2) como el par de transformadas seleccionado por el bloque actual en respuesta a determinar que el bloque actual no es el bloque de luminancia o que la altura o la anchura del bloque actual son superiores a 32.
En algunas realizaciones, el primer valor del primer bit de la palabra de código binarizada correspondiente al índice del par de transformadas es 0, y el segundo valor del primer bit de la palabra de código binarizada correspondiente al índice del par de transformadas es 1.
En algunas realizaciones, la palabra de código binarizada del primer valor de índice es 0; la palabra de código binarizada del segundo valor de índice es 10; la palabra de código binarizada del tercer valor de índice es 110; la palabra de código binarizada del cuarto valor de índice es 1110; y la palabra de código binarizada del quinto valor de índice es 1111.
En algunas realizaciones, adquirir los datos codificados del bloque actual incluye: adquirir datos cuantificados inversamente del bloque actual realizando decodificación entrópica en los datos codificados y realizando cuantificación inversa en un resultado de decodificación entrópica.
En algunas realizaciones, en respuesta a determinar el par de transformadas correspondiente al bloque actual, el método de decodificación incluye además: adquirir una señal residual correspondiente al bloque actual realizando un procesamiento de transformada inversa en datos cuantificados inversamente del bloque actual con el par de transformadas, y a continuación adquirir información de reconstrucción correspondiente al bloque actual añadiendo la señal residual y una señal de predicción.
En algunas realizaciones, el bloque actual es una unidad de transformada, y el bloque actual es una unidad de codificación adquirida dividiendo una unidad de árbol de codificación usando una o más de división de árbol cuádruple, división de árbol binario horizontal, división de árbol binario vertical, división de árbol triple horizontal y división de árbol triple vertical.
En algunas realizaciones, el bloque actual es una unidad de transformada cuya anchura es mayor que su altura, o el bloque actual es una unidad de transformada cuya anchura es igual a su altura, o el bloque actual es una unidad de transformada cuya anchura es menor que su altura.
De acuerdo con otro aspecto de las realizaciones de la presente descripción, se da a conocer un método de codificación. El método de codificación incluye:
determinar que la altura y la anchura de un bloque actual son menores o iguales a un umbral preestablecido y que el bloque actual es un bloque de luminancia;
determinar un par de transformadas correspondiente al bloque actual y un índice de par de transformadas correspondiente al bloque actual, en el que, en el caso de que el índice del par de transformadas incluya cinco valores de índice, el par de transformadas mapeado por el índice de par de transformadas es (DCT2, DCT2) en respuesta a que el valor de índice del índice del par de transformadas es un primer valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DST7, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un segundo valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un tercer valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DST7, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un cuarto valor de índice; y el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un quinto valor de índice; y en el que una palabra de código binarizada correspondiente al índice de par de transformadas ocupa como máximo cuatro bits y un primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas tiene por objeto indicar si se selecciona el par de transformadas mapeado por el primer valor de índice, en el que el par de transformadas (DCT2, DCT2) mapeado por el primer valor de índice se selecciona en respuesta a que un valor del primer bit es un primer valor, y el par de transformadas mapeado por uno de los valores de índice restantes se selecciona en respuesta a que el valor del primer bit es un segundo valor, el primer valor es 0 y el segundo valor es 1; y
codificar el índice de par de transformadas sometiendo el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas a codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto, y sometiendo otros bits de la palabra de código binarizada correspondiente al índice de par de transformadas a codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto en respuesta a que la palabra de código binarizada correspondiente al índice de par de transformadas comprende además los otros bits, además del primer bit, y añadiendo el índice del par de transformadas codificado a los datos codificados del bloque actual.
En algunas realizaciones, determinar el par de transformadas correspondiente al bloque actual y el índice de par de transformadas correspondiente al bloque actual incluye: determinar el par de transformadas correspondiente al bloque actual; y determinar, basándose en el par de transformadas y una relación correspondiente preconfigurada entre el índice de par de transformadas y el índice de par de transformadas, el par de transformadas correspondiente al bloque actual, donde la relación correspondiente incluye una relación de mapeo entre cinco valores de índice del índice de par de transformadas y cinco pares de transformadas.
En algunas realizaciones, en respuesta a que el valor del primer bit es el segundo valor, el primer bit pretende indicar que se selecciona el par de transformadas mapeado por uno de los valores de índice restantes, siendo el par de transformadas mapeado por uno de los valores de índice restantes uno de los cuatro pares de transformadas (DST7, DST7), (DCT8, DST7), (DST7, DCT8) y (DCT8, DCT8); donde
un valor de un segundo bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DST7) o uno de (DCT8, DST7), (DST7, DCT8) y (DCT8 DCT8);
un valor de un tercer bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DCT8, DST7) o uno de (DST7, DCT8) y (DCT8 DCT8);
un valor de un cuarto bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DCT8) o (DCT8 DCT8);
En algunas realizaciones, el primer bit de la palabra de código binarizada es 0 en respuesta al par de transformadas correspondiente a que el bloque actual es (DCT2, DCT2); el primer bit de la palabra de código binarizada es 1 y el segundo bit es 0 en respuesta a que el par de transformadas correspondiente al bloque actual es (DST7, DST7); el primer bit de la palabra de código binarizada es 1, el segundo bit es 1, y el tercer bit es 0 en respuesta a que el par de transformadas correspondiente al bloque actual es (DCT8, DST7); el primer bit de la palabra de código binarizada es 1, el segundo bit es 1, el tercer bit es 1, y el cuarto bit es 0 en respuesta al par de transformadas correspondiente a que el bloque actual es (DST7, DCT8); y el primer bit de la palabra de código binarizada es 1, el segundo bit es 1, el tercer bit es 1 y el cuarto bit es 1 en respuesta al par de transformadas correspondiente a que el bloque actual es (DCT8, DCT8).
En algunas realizaciones, el método de codificación incluye además: añadir un indicador objetivo a los datos codificados, donde el indicador objetivo pretende indicar que la transformada multinúcleo explícita está habilitada. En algunas realizaciones, determinar el par de transformadas correspondiente al bloque actual y el índice de par de transformadas correspondiente al bloque actual incluye: determinar el par de transformadas correspondiente al bloque actual y el índice de par de transformadas correspondiente al bloque actual en respuesta a determinar que el bloque actual es el bloque de luminancia y que la altura y la anchura del bloque actual son menores o iguales a 32. En algunas realizaciones, el método de codificación incluye además: determinar directamente, en lugar de codificar el índice del par de transformadas correspondiente al bloque actual (DCT2, DCT2) como el par de transformadas seleccionado por el bloque actual en respuesta a la determinación de que el bloque actual no es el bloque de luma o que la altura o la anchura del bloque actual es mayor que 32.
En algunas realizaciones, el primer valor del primer bit de la palabra de código binarizada correspondiente al índice del par de transformadas es 0, y el segundo valor del primer bit de la palabra de código binarizada correspondiente al índice del par de transformadas es 1.
En algunas realizaciones, la palabra de código binarizada del primer valor de índice es 0; la palabra de código binarizada del segundo valor de índice es 10; la palabra de código binarizada del tercer valor de índice es 110; la palabra de código binarizada del cuarto valor de índice es 1110; y la palabra de código binarizada del quinto valor de índice es 1111.
En algunas realizaciones, el método de codificación incluye además: codificar otros bits mediante codificación aritmética binaria adaptativa basada en contexto (CABAC) en respuesta a la palabra de código binarizada correspondiente al índice de par de transformadas incluyendo los otros bits además del primer bit.
En algunas realizaciones, el método de codificación incluye además: adquirir un coeficiente de transformada transformando el bloque actual en función del par de transformadas, adquirir un coeficiente de cuantificación cuantificando el coeficiente de transformada y adquirir los datos codificados correspondientes al bloque actual realizando codificación entrópica en el coeficiente de cuantificación.
En algunas realizaciones, en respuesta a determinar el par de transformadas correspondiente al bloque actual, el método de codificación incluye además: adquirir un coeficiente de transformada transformando una señal de residuo del bloque actual en función del par de transformadas, adquirir un coeficiente de cuantificación cuantificando el coeficiente de transformada y adquirir los datos codificados correspondientes al bloque actual realizando codificación entrópica en el coeficiente de cuantificación; y añadir el índice del par de transformadas codificado a los datos codificados.
En algunas realizaciones, el bloque actual es una unidad de transformada, y el bloque actual es una unidad de codificación adquirida dividiendo una unidad de árbol de codificación usando una o más de división de árbol cuádruple, división de árbol binario horizontal, división de árbol binario vertical, división de árbol triple horizontal y división de árbol triple vertical.
En algunas realizaciones, el bloque actual es una unidad de transformada cuya anchura es mayor que su altura, o el bloque actual es una unidad de transformada cuya anchura es igual a su altura, o el bloque actual es una unidad de transformada cuya anchura es menor que su altura.
De acuerdo con otro aspecto de las realizaciones de la presente descripción, se da a conocer un decodificador. El decodificador incluye: un procesador y una memoria que almacena al menos una instrucción ejecutable por el procesador; en el que el procesador, al cargar y ejecutar la al menos una instrucción, es obligado a realizar el método de decodificación de acuerdo con cualquiera de las realizaciones mencionadas anteriormente.
De acuerdo con otro aspecto de las realizaciones de la presente descripción, se da a conocer un codificador. El codificador incluye: un procesador y una memoria que almacena al menos una instrucción ejecutable por el procesador; en el que el procesador, al cargar y ejecutar la al menos una instrucción, es obligado a realizar el método de codificación de acuerdo con cualquiera de las realizaciones mencionadas anteriormente.
De acuerdo con otro aspecto de las realizaciones de la presente descripción, se da a conocer un dispositivo de decodificación. El dispositivo de decodificación está configurado para realizar el método de decodificación de acuerdo con cualquiera de las realizaciones mencionadas anteriormente.
De acuerdo con otro aspecto de las realizaciones de la presente descripción, se da a conocer un dispositivo de codificación. El dispositivo de codificación está configurado para realizar el método de codificación de acuerdo con cualquiera de las realizaciones mencionadas anteriormente.
Según otro aspecto de las realizaciones de la presente descripción, un medio de almacenamiento legible por ordenador no transitorio, que almacena al menos una instrucción ejecutable por un procesador; en el que la al menos una instrucción, cuando es cargada y ejecutada por el procesador, hace que el procesador lleve a cabo el método de decodificación de acuerdo con cualquiera de las realizaciones mencionadas anteriormente o el método de codificación de acuerdo con cualquiera de las realizaciones mencionadas anteriormente.
Breve descripción de los dibujos
La figura 1 es un diagrama que muestra tipos de división de un bloque según una realización de la presente descripción;
la figura 2 es un diagrama que muestra que una CTU se divide en CU de acuerdo con una realización de la presente descripción;
la figura 3 es un diagrama que muestra tres bloques de uso común según una realización de la presente descripción;
la figura 4 es un diagrama de una dirección cuando se realiza intrapredicción de acuerdo con una realización de la presente descripción;
la figura 5 es un diagrama de codificación según una realización de la presente descripción;
la figura 6 es un diagrama de una señal distribuida según una realización de la presente descripción;
la figura 7 es un diagrama de una distribución de señal residual según una realización de la presente descripción;
la figura 8 es un diagrama de flujo de un método de codificación según una realización de la presente descripción;
la figura 9 es un diagrama de flujo de un método de decodificación según una realización de la presente descripción;
la figura 10 es un diagrama de flujo de otro método de codificación según una realización de la presente descripción;
la figura 11 es un diagrama de flujo de otro método de decodificación según una realización de la presente descripción;
la figura 12 es un diagrama de flujo de otro método más de codificación según una realización de la presente descripción;
la figura 13 es un diagrama de flujo de otro método más de decodificación según una realización de la presente descripción;
la figura 14 es un diagrama estructural de un dispositivo de decodificación según una realización de la presente descripción;
la figura 15 es un diagrama estructural de un dispositivo de codificación según una realización de la presente descripción;
la figura 16 es un diagrama estructural de otro dispositivo de decodificación según una realización de la presente descripción;
la figura 17 es un diagrama estructural de otro dispositivo de codificación según una realización de la presente descripción;
la figura 18 es un diagrama estructural de otro dispositivo más de decodificación según una realización de la presente descripción;
la figura 19 es un diagrama estructural de otro dispositivo más de codificación según una realización de la presente descripción;
la figura 20 es un diagrama estructural de otro dispositivo más de codificación según una realización de la presente descripción; y
la figura 21 es un diagrama estructural de otro dispositivo más de decodificación según una realización de la presente descripción;
Descripción detallada
Para descripciones más claras de los objetivos, las soluciones técnicas y las ventajas de la presente descripción, las realizaciones de la presente descripción se describen con más detalle a continuación haciendo referencia a los dibujos adjuntos.
En la técnica relacionada, durante la transformada, el coeficiente de transformada se adquiere generalmente transformando la TU usando un par de transformadas preestablecido (el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical). En consecuencia, durante la decodificación, la señal residual se adquiere mediante la transformada inversa de la TU usando el par de transformadas preestablecido usado durante la codificación.
De esta manera, dado que se consiguen efectos de compresión significativamente diferentes cuando la misma TU se transforma usando diferentes pares de transformadas, se puede provocar un rendimiento deficiente de codificación y decodificación cuando todas las TU se transforman usando el mismo par de transformadas preestablecido.
La presente descripción da a conocer un método de codificación y un método de decodificación. El método de codificación puede realizarse mediante un dispositivo de codificación. El método de decodificación puede ser realizado por un dispositivo de decodificación. Además, el dispositivo de codificación o el dispositivo de decodificación puede ser un dispositivo capaz de codificar y/o decodificar datos de vídeo, tal como un servidor, un ordenador o un teléfono móvil.
Un procesador, una memoria, un transceptor y similares pueden disponerse en el dispositivo de codificación o en el dispositivo de decodificación. El procesador puede configurarse para codificar y/o decodificar datos. La memoria puede configurarse para almacenar los datos requeridos y los datos generados en un proceso de codificación y/o decodificación. El transceptor puede configurarse para recibir y transmitir datos, por ejemplo, para adquirir los datos de vídeo.
Los conceptos posiblemente involucrados en las realizaciones de la presente descripción se explican primero antes de que se describan las realizaciones.
Núcleo de transformada
En la codificación de vídeo, la transformada es una fase indispensable para la compresión de datos de vídeo y permite que la energía de las señales esté más concentrada. Además, una técnica de transformada basada en la transformada de coseno discreta (DCT) /transformada de seno discreta (DST) ha sido una técnica de transformada convencional de la codificación de vídeo. Cada uno de la DCT y la DST incluye específicamente una pluralidad de núcleos de transformada basados en diferentes funciones base. Las funciones base de los tres núcleos de transformada de uso común se muestran en la tabla 1.
Tabla 1
Transformada directa y transformada inversa
En codificación de vídeo, un proceso de transformada incluye una transformada directa y una transformada inversa, que también se denominan transformada directa y transformada hacia atrás. La transformada directa significa que una señal residual bidimensional (un coeficiente residual) se convierte en una señal espectral bidimensional (un coeficiente de transformada) con la energía más concentrada y, a continuación, se cuantifica el coeficiente de transformada. de manera que se suprime eficazmente un componente de alta frecuencia y se conservan los componentes de frecuencia intermedia y baja, consiguiendo así el efecto de compresión. Esto se expresa en una matriz con la fórmula (1):
donde M representa la anchura de un bloque residual, N representa la altura del bloque residual, f representa una señal residual original de N*M dimensiones y F representa una señal en el dominio de la frecuencia de N*M dimensiones. A y B representan una matriz de transformada de M*M dimensiones y una matriz de transformada de N*N dimensiones respectivamente, las cuales satisfacen ortogonalidad.
La transformada inversa es un proceso inverso de la transformada directa. Es decir, la señal F en el dominio de la frecuencia se convierte en una señal residual f en el dominio del tiempo mediante las matrices de transformada ortogonales A y B. Esto se expresa en una matriz como la fórmula (2):
Transformada horizontal y transformada vertical:
En una fase de transformada de codificación de vídeo, se introduce una señal residual bidimensional. Como se muestra en la fórmula (3),s iX=A f T, F =B X T
Por lo tanto, la transformada directa de una señal residual bidimensional se realiza dos veces mediante una transformada directa unidimensional. Tras la primera transformada directa, se adquiere una señal M*N X y se cancela la correlación entre los píxeles en una dirección horizontal de la señal residual bidimensional. Por lo tanto, la primera transformada directa se denomina transformada horizontal y A se denomina matriz de transformada horizontal. Tras la segunda transformada directa, se cancela una correlación entre píxeles en una dirección vertical de la señal residual bidimensional. Por lo tanto, la segunda transformada directa se denomina transformada vertical y B se denomina matriz de transformada vertical.
Par de transformadas
En un estándar de codificación de vídeo de próxima generación, una unidad de transformada (TU) puede ser un bloque rectangular. Por lo tanto, M no es necesariamente igual a N y, por lo tanto, las dimensiones de A y B no son necesariamente iguales. Además, el estándar de codificación de vídeo de próxima generación soporta que A y B no sean matrices de transformada producidas por el mismo núcleo de transformada. Por lo tanto, hay un par de transformadas {H, V} compuesto por núcleos de transformada correspondientes a A y B respectivamente en la transformada, donde H se denomina núcleo de transformada horizontal y V se denomina núcleo de transformada vertical.
División de bloques
En la codificación de vídeo de alta eficiencia (HEVC), una unidad de árbol de codificación (CTU) de 64*64 se divide recursivamente en unidades de codificación (CU) utilizando un árbol cuaternario. La conveniencia de utilizar codificación intracuadro o codificación intercuadro se determina a nivel de la CU del nodo hoja. La CU se divide además en dos o cuatro unidades de predicción (PU), y la misma información de predicción se usa en la misma PU. Una vez que se adquiere una señal residual al completar la predicción, una CU se divide además en una pluralidad de TU utilizando el árbol cuádruple.
Sin embargo, en la codificación de vídeo versátil (WC) recientemente propuesta, la tecnología de división de bloques ha cambiado enormemente. El modo de división original se reemplaza por una estructura de división híbrida de árbol binario/árbol triple/árbol cuádruple (BT/TT/QT), los conceptos originales de CU, PU y TU se cancelan y se soporta un modo de división más flexible de la CU. La CU está sujeta a divisiones cuadradas o rectangulares. La CTU se somete en primer lugar a una división de árbol cuádruple y, a continuación, cada uno de los nodos hoja adquiridos a partir de la división de árbol cuádruple se somete además a una división de árbol binario y a una división de árbol triple. Es decir, hay disponibles un total de cinco esquemas de división: división de árbol cuádruple, división horizontal de árbol binario, división vertical de árbol binario, división horizontal de árbol triple y división vertical de árbol triple, como se muestra en la figura 1, que muestra los cinco esquemas de división. En la figura 1, (a) representa la ausencia de división, (b) representa la división de árbol cuádruple, (c) representa la división horizontal de árbol binario, (d) representa la división vertical de árbol binario, (e) representa la división horizontal de árbol triple y (f) representa la división vertical de árbol triple. Como se muestra en la figura 2, se proporciona un diagrama ejemplar que muestra que una CTU está dividida en varias CU.
Por lo tanto, en función de los esquemas de división, el bloque normalmente tiene tres formas, como se muestra en la figura 3.<0}
Intrapredicción
Intrapredicción significa que, teniendo en cuenta una fuerte correlación de dominio espacial entre bloques adyacentes en una imagen, un bloque actualmente no codificado se predice utilizando píxeles circundantes, que se han reconstruido, como píxeles de referencia. Por lo tanto, solo es necesario someter una señal residual (una señal original, una señal de predicción) a una codificación posterior, en lugar de codificar la señal original. De esta manera, la redundancia en el dominio espacial se elimina de manera efectiva y la eficiencia de compresión de una señal de vídeo mejora considerablemente. Además, en la intrapredicción, los ángulos más densamente dispuestos consiguen mejores efectos de predicción. La figura 4 muestra un diagrama de direcciones angulares cuando la intrapredicción se realiza en 67 modos de intrapredicción dados por WC. en el que el número de modos de intrapredicción aumenta de 33 a 65 de HEVC. Un número de modo 0 indica un modo plano; un número de modo 1 indica s un modo DC (el modo DC significa que los píxeles pronosticados del bloque actual son el promedio de los píxeles de referencia), las líneas continuas negras representan las direcciones angulares (2, 4, 6, 8, 64, 66) del HEVC original y las líneas discontinuas representan las direcciones angulares añadidas (3, 5, 7, 9, 63, 65). Con las direcciones angulares más densas, los límites de cualquier dirección en un vídeo natural pueden capturarse de manera más efectiva, y se puede usar más información de referencia para la selección del coste de la compresión. de manera que se encuentre un modo de intrapredicción más adecuado para predecir el bloque actual con mayor precisión. Por lo tanto, un bloque de predicción está más cerca del bloque original y es necesario transmitir menos bits para codificar el bloque actual, consiguiendo un mayor rendimiento de codificación. Cuando se realiza codificación de intrapredicción, estos 67 modos intracuadro se aplican a bloques codificados de todos los tamaños. incluyendo un componente de luminancia y un componente de crominancia.
En la figura 4, donde el número de modo del modo de intrapredicción es de 2 a 34, un ángulo entre una dirección angular y una dirección horizontal hacia la derecha es de -45 grados a 45 grados; y donde el número de modo del modo de intrapredicción es de 35 a 66, el ángulo entre la dirección angular y la dirección horizontal hacia la derecha es de -135 grados a 45 grados.
Debe observarse que en un sistema de coordenadas rectangulares planas, la dirección horizontal hacia la derecha es una dirección positiva del eje x, y una dirección vertical hacia arriba es una dirección positiva del eje y. De esta manera, un ángulo formado por un rayo con el origen como vértice (el rayo está en una dirección distal del origen) en cada uno de un primer cuadrante y un segundo cuadrante y la dirección positiva del eje x es positivo, y un ángulo formado por un rayo con el origen como vértice (el rayo está en la dirección distal del origen) en cada uno de un tercer cuadrante y un cuarto cuadrante y la dirección positiva del eje x es negativa. Por ejemplo, un ángulo entre la dirección horizontal hacia la derecha y el eje de simetría (en la dirección distal del origen) en el cuarto cuadrante es de -45 grados.
Una realización de la presente descripción da a conocer un marco de codificación común. Como se muestra en la figura 5, un método de codificación de vídeo completo generalmente incluye predicción, transformada, cuantificación, codificación entrópica, filtrado en bucle y similares. La predicción incluye específicamente la intrapredicción y la interpredicción. Intrapredicción significa que, teniendo en cuenta una fuerte correlación de dominio espacial entre bloques adyacentes en una imagen, un bloque actualmente no codificado se predice utilizando píxeles circundantes, que se han reconstruido, como píxeles de referencia. Por lo tanto, solo es necesario someter una señal residual (una señal original, una señal de predicción) a una codificación posterior, en lugar de codificar la señal original. Como resultado, la redundancia en el dominio espacial se elimina de manera efectiva y la eficiencia de compresión de una señal de vídeo mejora considerablemente. La interpredicción significa que al usar una correlación de señales de vídeo en el dominio del tiempo, los píxeles de una imagen actual se predicen con los píxeles de una imagen codificada adyacente para conseguir el propósito de eliminar la redundancia en el dominio del tiempo de un vídeo. En interpredicción, debido a una fuerte correlación de vídeos en el dominio del tiempo, es decir, dos cuadros de imágenes adyacentes en el dominio del tiempo tienen muchos bloques de imágenes similares, los bloques de imagen del cuadro actual se someten a menudo a una búsqueda de movimiento en la imagen de referencia adyacente para encontrar el bloque que mejor se adapte al bloque actual como bloque de referencia. Debido a una gran similitud y a un valor de diferencia muy pequeño entre el bloque de referencia y el bloque actual, la sobrecarga de velocidad de bits al codificar el valor de diferencia es normalmente mucho menor que la sobrecarga de velocidad de bits causada por la codificación directa del valor de píxel del bloque actual.
En el proceso de transformada, para la misma TU (que también puede denominarse bloque residual o bloque actual), cuando se usan diferentes pares de transformadas para comprimir el bloque residual, los efectos de compresión son bastante diferentes. Esto está determinado por una función base del propio núcleo de transformada. Como se muestra en la figura 6, correspondientes a las funciones base de tres núcleos de transformada, es decir, DCT2, DST7 y DCT8, los bits de señal de entrada son 64 puntos. Se puede ver a partir de una función de base de orden cero en la figura que la DCT2 tiene un efecto de concentración de energía relativamente mayor sobre señales distribuidas uniformemente, y un componente de corriente continua formado es un múltiplo del valor promedio de las señales de entrada. La DST7 tiene un efecto de concentración de energía relativamente más fuerte en las señales de entrada con amplitudes ascendentes. La DCT8 tiene un efecto de concentración de energía relativamente más fuerte sobre señales de entrada con amplitudes descendentes.
Para experimentar de manera más intuitiva las relaciones entre diferentes núcleos de transformada y propiedades residuales, como se muestra en la figura 7, cinco pares de transformadas horizontales y verticales diferentes representan diferentes tipos de distribución residual. El tipo de núcleo de transformada {DCT2, DCT2} representa que el residuo de la TU se distribuye uniformemente, y el tipo de núcleo de transformada {DST7, DST7} representa que la distribución residual de la TU aumenta secuencialmente de izquierda a derecha y de arriba a abajo, y que el residuo de la TU se distribuye principalmente en la esquina inferior derecha de la TU. De manera similar, {DCT8, DST7} representa que el residuo se distribuye principalmente en la esquina inferior izquierda de la TU, {DST7, DCT8} representa que el residuo se distribuye principalmente en la esquina superior derecha de la TU, y {DCT8, DCT8} representa que el residuo se distribuye principalmente en la esquina superior izquierda de la TU.
El modelo de contexto se refiere a un proceso de actualización de una probabilidad de símbolo en función de un contexto en la codificación de vídeo.
Una realización de la presente descripción da a conocer un método de codificación. Un flujo de este método puede ser como se muestra en la figura 8.
En la etapa 801, un dispositivo de codificación adquiere una señal residual de un bloque actual.
En la práctica, cuando se codifican datos de vídeo, el dispositivo de codificación primero realiza intrapredicción para adquirir la señal residual (la manera en la que se adquiere un bloque residual es idéntica a la del estándar de codificación de vídeo existente y no se repite aquí la descripción) y, a continuación, toma la señal residual como una señal residual del bloque actual que se va a procesar actualmente.
Una manera en la que se selecciona un modo de intrapredicción puede ser la siguiente.
En general, hay dos índices principales disponibles para evaluar la eficiencia de la codificación: la velocidad de bits y la relación señal/ruido máxima (PSNR). En general, cuanto más pequeño es el flujo de bits, mayor es la velocidad de compresión; y cuanto mayor es la PSNR, mejor es la calidad de una imagen reconstruida. Cuando se selecciona el modo, una fórmula discriminante es esencialmente una evaluación exhaustiva de estos dos índices.
El coste de la compresión correspondiente al modo es J (modo) = D A *R, donde D representa la distorsión que normalmente se mide mediante un índice de suma de errores cuadráticos (SSE), el SSE se refiere a una suma media de cuadrados de un valor de diferencia entre un bloque reconstruido y una imagen de origen, A es el multiplicador lagrangiano y R es el número real de bits necesarios para codificar el bloque de imagen en el modo de intrapredicción, incluida la suma de bits requerida para codificar la información del modo, la información de movimiento, la señal residual y similares.
El dispositivo de codificación puede adquirir una tabla de sintaxis de transformada multinúcleo explícita. Como se muestra en la tabla 2, siempre que se seleccione un modo de intrapredicción, cada par de transformadas de la tabla 2 se selecciona para procesamiento de transformadas, cuantificación, codificación entrópica y decodificación. De esta manera, se recorren todos los modos de intrapredicción, a continuación se seleccionan el modo de intrapredicción y el par de transformadas, que consiguen el coste de la compresión mínimo, y este modo de intrapredicción se determina como el modo de intrapredicción correspondiente al bloque actual. De esta manera, se pueden determinar el modo de intrapredicción y el par de transformadas que corresponden al bloque actual. Por ejemplo, están disponibles 67 modos de intrapredicción y hay cinco pares de transformadas disponibles para cada uno de estos modos de intrapredicción. Por lo tanto, están disponibles 67*5 combinaciones, y cada combinación incluye un modo de intrapredicción y un par de transformadas. La combinación con el coste de la compresión mínimo se selecciona para la intrapredicción y la transformada finales.
Tabla 2
Cabe señalar que en la tabla 2, alternativamente, DCT8 se reemplaza por DCT4 y DST7 se reemplaza por DST4, o DCT8 y DST7 se reemplazan por otros núcleos de transformada.
Además, como se muestra en la tabla 3, para acortar un tiempo de codificación, el par de transformadas (DCT8, DCT8) se elimina basándose en la tabla 2, es decir, no se toma una decisión de RDO para (DCT8, DCT8). De esta manera, el número de combinaciones se reduce de 67*5 a 67*4, y el número de decisiones de RDO se reduce. Por lo tanto, el tiempo de codificación se acorta. Además, dado que el par de transformadas (DCT8, DCT8) no está disponible, el número de bits de una palabra de código binarizada correspondiente a un índice de par de transformadas también se reduce de 4 a 3. Por lo tanto, también se reduce la sobrecarga de velocidad de bits de la codificación.
Tabla 3
Debe observarse que en la tabla 3, alternativamente, DCT8 se reemplaza por DCT2, o DCT8 se reemplaza por DCT2 cuando se cumple una condición de restricción de forma preestablecida.
Además, como se muestra en la tabla 4, para acortar el tiempo de codificación, el par de transformadas (DST7, DCT8) se elimina basándose en la tabla 3, es decir, no se toma una decisión de RDO para (DST7, DCT8). De esta manera, el número de combinaciones se reduce de 67*4 a 67*3, y el número de decisiones de RDO se reduce. Por lo tanto, el tiempo de codificación se acorta. Además, dado que los pares de transformadas (DCT8, DCT8) y (DST7, DCT8) no están disponibles, el número de bits de la palabra de código binarizada correspondiente al índice de par de transformadas también se reduce de 3 a 2. Por lo tanto, también se reduce la sobrecarga de velocidad de bits de la codificación.
Tabla 4
Además, como se muestra en la tabla 5, para acortar el tiempo de codificación, el par de transformadas (DCT8, DST7) se elimina basándose en la tabla 3, es decir, no se adopta una decisión de RDO para (DCT8, DST7). De esta manera, el número de combinaciones se reduce de 67*4 a 67*3, y el número de decisiones de RDO se reduce. Por lo tanto, el tiempo de codificación se acorta. Además, dado que los pares de transformadas (DCT8, DCT8) y (DCT8, DST7) no están disponibles, el número de bits de la palabra de código binarizada correspondiente al índice de par de transformadas también se reduce de 3 a 2. Por lo tanto, también se reduce la velocidad de bits de codificación.
Tabla 5
Además, como se muestra en la tabla 6, para acortar el tiempo de codificación, los pares de transformadas (DCT8, DCT8), (DCT8, DST7) y (DST7, DCT8) se eliminan en función de la tabla 2, es decir, no se adoptan decisiones de RDO para (DCT8, DCT8), (DCT8, DST7) y (DST7, DCT8). De esta manera, el número de combinaciones se reduce de 67*5 a 67*2, y el número de decisiones de RDO se reduce. Por lo tanto, el tiempo de codificación se acorta. Además, dado que los pares de transformadas (DCT8, DCT8), (DCT8, DST7) y (DST7, DCT8) no están disponibles, el número de bits de la palabra de código binarizada correspondiente al índice de par de transformadas también se reduce de 3 a 1. Por lo tanto, también se reduce la velocidad de bits de codificación.
Debe observarse que en las tablas 4 y 5, alternativamente, DCT8 se reemplaza por DCT2, o DCT8 se reemplaza por DCT2 cuando se cumple una condición de restricción de forma preestablecida.
Tabla 6
Debe observarse que cuando se usa la tabla 4, aunque se reduce el número de decisiones de RDO, el rendimiento de codificación se deteriora.
Además, también debe tenerse en cuenta que, para la tabla 2, un primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas está configurado para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 1 o un par de transformadas que corresponde a cualquiera de los índices de par de transformadas 2 a 5; un segundo bit se codifica para identificar si el bloque actual usa un par de transformadas que corresponde a los índices de par de transformadas 2 o un par de transformadas que corresponde al índice de par de transformadas 3 a 5; un tercer bit se codifica para identificar si el bloque actual usa un par de transformadas correspondiente al índice de par de transformadas 3 o un par de transformadas que corresponde a cualquiera de los índices de par de transformadas 4 y 5; y se codifica un cuarto bit para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 4 o un par de transformadas que corresponde al índice de par de transformadas 5 Es decir, si el primer bit es 0, entonces se usa el par de transformadas (DCT2, DCT2); si el primer bit es 1 y el segundo bit es 0, entonces se usa el par de transformadas (DST7, DST7); si el primer bit es 1, el segundo bit es 1 y el tercer bit es 0, entonces se usa el par de transformadas (DCT8, DST7); si el primer bit es 1, el segundo bit es 1, el tercer bit es 1 y el cuarto bit es 0, entonces se usa el par de transformadas (DST7, DCT8); y si el primer bit es 1, el segundo bit es 1, el tercer bit es 1 y el cuarto bit es 1, entonces se usa el par de transformadas (DCT8, DCT8).
Además, también debe tenerse en cuenta que para la tabla 3, el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas está configurado para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 1 o un par de transformadas que corresponde a cualquiera de los índices de par de transformadas 2 y 4; el segundo bit se codifica para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 2 o un par de transformadas que corresponde a cualquiera de los índices de par de transformadas 3 y 4; y el tercer bit se codifica para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 3 o un par de transformadas que corresponde al índice de par de transformadas 4. Es decir, si el primer bit es 0, entonces se usa el par de transformadas (DCT2, DCT2); si el primer bit es 1 y el segundo bit es 0, entonces se usa el par de transformadas (DST7, DST7); si el primer bit es 1, el segundo bit es 1 y el tercer bit es 0, entonces se usa el par de transformadas (DCT8, DST7); y si el primer bit es 1, el segundo bit es 1 y el tercer bit es 1, entonces se usa el par de transformadas (DST7, DCT8).
Además, también debe tenerse en cuenta que para la tabla 4, el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas está configurado para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 1 o un par de transformadas que corresponde a cualquiera de los índices de par de transformadas 2 y 3; el segundo bit se codifica para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 2 o un par de transformadas que corresponde al índice de pares de transformadas 3. Es decir, si el primer bit es 0, entonces se usa el par de transformadas (DCT2, DCT2); si el primer bit es 1 y el segundo bit es 0, entonces se usa el par de transformadas (DST7, DST7); y si el primer bit es 1 y el segundo bit es 1, entonces se usa el par de transformadas (DCT8, DST7).
Además, también debe tenerse en cuenta que para la tabla 5, el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas está configurado para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 1 o un par de transformadas que corresponde a cualquiera de los índices de par de transformadas 2 y 3; y el segundo bit se codifica para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 2 o un par de transformadas que corresponde al índice de par de transformadas 3. Es decir, si el primer bit es 0, entonces se usa el par de transformadas (DCT2, DCT2); si el primer bit es 1 y el segundo bit es 0, entonces se usa el par de transformadas (DST7, DST7); y si el primer bit es 1 y el segundo bit es 1, entonces se usa el par de transformadas (DST7, DCT8).
Además, también debe tenerse en cuenta que para la tabla 6, el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas está configurado para identificar si el bloque actual usa un par de transformadas que corresponde al índice de par de transformadas 1 o un par de transformadas que corresponde al índice de par de transformadas 2. Es decir, si el primer bit es 0, entonces se usa el par de transformadas (DCT2, DCT2); y si el primer bit es 1, entonces se usa el par de transformadas (DST7, DST7).
En la etapa 802, el dispositivo de codificación determina el par de transformadas correspondiente al bloque actual y el índice de par de transformadas correspondiente al bloque actual.
El par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En la práctica, el dispositivo de codificación adquiere el par de transformadas finalmente seleccionado y, a continuación, selecciona el índice de par de transformadas correspondiente a este par de transformadas basándose en una relación correspondiente entre el par de transformadas y el índice de par de transformadas, que se describe en cualquiera de las tablas 2-6.
También debe tenerse en cuenta que durante la codificación, generalmente, se ha determinado cuál de las tablas 2 6 se usa y, por lo tanto, solo se adquiere una de las tablas 2-6.
En una realización ejemplar de la presente descripción, antes de la etapa 802, también se puede realizar la siguiente determinación.
El dispositivo de codificación determina que la altura y la anchura del bloque actual son menores o iguales a un umbral preestablecido y que el bloque actual es un bloque de luminancia.
El umbral preestablecido está predefinido y almacenado en el dispositivo de codificación y generalmente es N (N puede ser 32).
En la práctica, después de realizar la etapa 801, el dispositivo de codificación determina el número de píxeles del bloque actual en una dirección de altura, es decir, la altura del bloque actual, y determina el número de píxeles del bloque actual en una dirección de anchura, es decir, la anchura del bloque actual. Además, el dispositivo de codificación determina si el bloque actual es el bloque de luminancia. Si el bloque actual es el bloque de luminancia y la altura y la anchura del bloque actual son menores o iguales al umbral preestablecido, se realiza la etapa 802. En una realización ejemplar de la presente descripción, el índice de par de transformadas también se determina en función del modo de intrapredicción o de la información de forma del bloque actual, como se muestra a continuación. Modo I: El dispositivo de codificación determina el par de transformadas correspondiente al bloque actual y determina, basándose en el modo de intrapredicción del bloque actual y el par de transformadas, el índice del par de transformadas correspondiente al bloque actual.
En la práctica, el dispositivo de codificación determina el par de transformadas y el modo de intrapredicción del bloque actual según el modo mencionado anteriormente, a continuación adquiere una tabla de sintaxis preestablecida de un par de transformadas multinúcleo explícitas y determina, basándose en el modo de intrapredicción y el par de transformadas de esta tabla de sintaxis, el índice de par de transformadas correspondiente al bloque actual.
En una realización ejemplar de la presente descripción, el índice de par de transformadas se determina en función del modo de intrapredicción de la siguiente manera y el procesamiento correspondiente es el siguiente.
Se determina que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un primer par de transformadas y el número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido. Se determina que el índice de par de transformadas correspondiente al bloque actual es el primer índice si el par de transformadas es un segundo par de transformadas y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido. Se determina que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es el segundo par de transformadas y el número de modo del modo de intrapredicción del bloque actual es menor o igual que el valor preestablecido. Se determina que el índice de par de transformadas correspondiente al bloque actual es el segundo índice si el par de transformadas es el primer par de transformadas y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido.
En la práctica, la tabla de sintaxis preestablecida del par de transformadas multinúcleo explícitas es la que se muestra en la tabla 7.
Tabla 7
En la tabla 7, si el primer par de transformadas es (DST7, DCT8) y el número de modo del modo de intrapredicción es menor o igual al valor preestablecido (el valor preestablecido es 34), se determina que el índice del par de transformadas es 3 y, por lo tanto, la palabra de código binarizada correspondiente tiene tres bits, que son 1, 1 y 0 en secuencia. Si el segundo par de transformadas es (DCT8, DST7) y el número de modo del modo de intrapredicción es mayor que 34, se determina que el índice del par de transformadas correspondiente es 3 y, por lo tanto, la palabra de código binarizada correspondiente tiene tres bits, que son 1, 1 y 0 en secuencia. Si el segundo par de transformadas es (DCT8, DST7) y el número de modo del modo de intrapredicción es menor o igual que 34, se determina que el índice del par de transformadas correspondiente es 4 y, por lo tanto, la palabra de código binarizada correspondiente tiene cuatro bits, que son 1, 1, 1 y 0 en secuencia. Si el segundo par de transformadas es (DST7, DCT8) y el número de modo del modo de intrapredicción es mayor que 34, se determina que el índice del par de transformadas correspondiente es 4 y, por lo tanto, la palabra de código binarizada correspondiente tiene cuatro bits, que son 1, 1, 1 y 0 en secuencia.
También debe tenerse en cuenta que, dado que el índice de par de transformadas se determina directamente en función de algunos pares de transformadas, la condición que se cumple cuando se usa el modo I es que el par de transformadas determinado no sea ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8).
También se debe tener en cuenta que en la tabla 7, donde el índice del par de transformadas es 3, el modo = 0 ~ 34? DST7: DCT8 significa que si es cierto que el número de modo del modo de intrapredicción es de 0 a 34, el núcleo de transformada horizontal es DST7 y, de lo contrario, el núcleo de transformada horizontal es DCT8 y el modo = 0 ~ 34? DCT8: DST7 significa que si es cierto que el número de modo del modo de intrapredicción es de 0 a 34, el núcleo de transformada vertical es DCT8 y, de lo contrario, el núcleo de transformada vertical es DST7. Cuando el índice del par de transformadas es 4, el modo = 0~34? DCT8: DST7 significa que si es cierto que el número de modo del modo de intrapredicción es de 0 a 34, el núcleo de transformada horizontal es DCT8 y, de lo contrario, el núcleo de transformada horizontal es DST7 y el modo = 0 ~ 34 DST7: DCT8 significa que si es cierto que el número de modo del modo de intrapredicción es de 0 a 34, el núcleo de transformada vertical es DST7 y, de lo contrario, el núcleo de transformada vertical es DCT8.
Modo II: El dispositivo de codificación determina el par de transformadas correspondiente al bloque actual y determina, basándose en la información de forma del bloque actual y el par de transformadas, el índice del par de transformadas correspondiente al bloque actual.
En la práctica, el dispositivo de codificación determina el par de transformadas y la información de forma del bloque actual en el modo mencionado anteriormente, a continuación adquiere la tabla de sintaxis preestablecida del par de transformadas multinúcleo explícitas y determina, basándose en el par de transformadas y la información de forma del bloque actual en esta tabla, el índice de par de transformadas correspondiente al bloque actual.
En una realización ejemplar de la presente descripción, el procesamiento para determinar el índice de par de transformadas haciendo referencia a la información de forma del bloque actual puede ser el siguiente.
Se determina que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un primer par de transformadas y la información de forma del bloque actual satisface una condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es el primer índice si el par de transformadas es un segundo par de transformadas y la información de forma del bloque actual no satisface una condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es el segundo par de transformadas y la información de forma del bloque actual satisface la condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es el segundo índice si el par de transformadas es el primer par de transformadas y la información de forma del bloque actual no satisface la condición de restricción de forma preestablecida.
La condición de restricción de forma preestablecida puede preestablecerse y almacenarse en el dispositivo de codificación. La condición de restricción de forma preestablecida es que la anchura sea mayor o igual que la altura. En la práctica, la tabla de sintaxis preestablecida del par de transformadas multinúcleo explícitas es la que se muestra en la tabla 8.
Tabla 8
En la tabla 8, si el primer par de transformadas es (DST7, DCT8) y la información de forma del bloque actual es que la anchura es mayor o igual que la altura, se determina que el índice del par de transformadas es 3 y, por lo tanto, la palabra de código binarizada correspondiente tiene tres bits, que son 1, 1 y 0 en secuencia. Si el segundo par de transformadas es (DCT8, DST7) y la información de forma del bloque actual es que la anchura es menor que la altura, se determina que el índice del par de transformadas correspondiente es 3 y, por lo tanto, la palabra de código binarizada correspondiente tiene tres bits, que son 1, 1 y 0 en secuencia. Si el segundo par de transformadas es (DCT8, DST7) y la información de forma del bloque actual es que la anchura es mayor o igual que la altura, se determina que el índice del par de transformadas correspondiente es 4 y, por lo tanto, la palabra de código binarizada correspondiente tiene cuatro bits, que son 1, 1, 1 y 0 en secuencia. Si el segundo par de transformadas es (DST7, DCT8) y la información de forma del bloque actual es que la anchura es menor que la altura, se determina que el índice del par de transformadas es 4 y, por lo tanto, la palabra de código binarizada correspondiente tiene cuatro bits, que son 1, 1, 1 y 0 en secuencia.
Según la tabla 8, en el modo II, donde la información de forma del bloque actual indica que la anchura es mayor o igual que la altura y el primer par de transformadas es (DST7, DCT8), el primer índice es 3; donde la información de forma del bloque actual indica que la anchura es menor que la altura y el segundo par de transformadas es (DCT8, DST7), el primer índice es 3; donde la información de forma del bloque actual indica que la anchura es menor que la altura y el primer par de transformadas es (DST7, DCT8), el segundo índice es 4; y donde el la información de forma del bloque actual indica que la anchura es mayor o igual que la altura y el segundo par de transformadas es (DCT8, DST7), el segundo índice es 4.
Debe tenerse en cuenta que, dado que el índice de par de transformadas se puede determinar directamente en función de algunos pares de transformadas, la condición que se cumple cuando se usa el modo II es que el par de transformadas determinado no sea ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8).
También se debe tener en cuenta que en la tabla 8, donde el índice del par de transformadas es 3, el W > H DST7: DCT8 significa que si es cierto que la anchura del bloque actual es mayor o igual que su altura, el núcleo de transformada horizontal es DST7 y, de lo contrario, el núcleo de transformada horizontal es DCT8; y W > H? DCT8: DST7 significa que si es cierto que la anchura del bloque actual es mayor o igual que su altura, el núcleo de transformada vertical es DCT8 y, de lo contrario, el núcleo de transformada vertical es DST7. Cuando el índice del par de transformadas es 4, W > H? DCT8: DST7 significa que si es cierto que la anchura del bloque actual es mayor o igual que su altura, el núcleo de transformada horizontal es DCT8 y, de lo contrario, el núcleo de transformada horizontal es DST7; y W > H DST7: DCT8 significa que si es cierto que la anchura del bloque actual es mayor o igual que la altura, el núcleo de transformada vertical es DST7 y, de lo contrario, el núcleo de transformada vertical es DCT8.
También debe tenerse en cuenta que en la tabla 7, Modo representa el número de modo. En la tabla 8, W representa la anchura y H representa la altura.
De esta manera, debido al ajuste adaptativo de la prioridad del par de transformadas en función de la información de forma y del modo de intrapredicción del bloque actual, cuanto mayor sea la probabilidad del par de transformadas, más corta será la palabra de código binarizada correspondiente al índice del par de transformadas que necesita codificarse.
Además, en respuesta a adquirir el bloque actual, el dispositivo de codificación determina si la altura y la anchura del bloque actual son menores o iguales a N (N puede ser 32), y determina si el bloque actual es el bloque de luminancia. Si tanto la altura como la anchura del bloque actual son menores o iguales a N y el bloque actual es el bloque de luminancia, el dispositivo de codificación continúa realizando la etapa 802. Si no se cumple al menos una de las condiciones de que la altura y la anchura del bloque actual sean menores o iguales a N y el bloque actual sea el bloque de luminancia, el dispositivo de codificación adquiere directamente un par de transformadas preestablecido, es decir, (DCT2, DCT2).
En la etapa 803, el dispositivo de codificación adquiere los datos codificados correspondientes al bloque actual codificando la señal residual del bloque actual basándose en el par de transformadas.
En la práctica, en respuesta a adquirir el par de transformadas correspondiente al bloque actual, el dispositivo de codificación transforma la señal residual del bloque actual basándose en el par de transformadas para adquirir un coeficiente de transformada, a continuación cuantifica el coeficiente de transformada para adquirir un coeficiente de cuantificación y realiza codificación entrópica sobre el coeficiente de cuantificación para adquirir los datos codificados correspondientes al bloque actual.
En la etapa 804, el dispositivo de codificación codifica el índice de par de transformadas sometiendo un primer bit de una palabra de código binarizada correspondiente al índice de par de transformadas a codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto, y añade el índice de par de transformadas codificado a los datos codificados del bloque actual.
En la práctica, el índice de par de transformadas se añade a los datos codificados, de manera que un dispositivo de decodificación reconoce el par de transformadas usado por el dispositivo de codificación.
El dispositivo de codificación realiza la codificación aritmética binaria adaptativa basada en contexto basándose en el mencionado modelo de contexto, en el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas. Si la palabra de código binarizada incluye además otros bits, estos bits pueden codificarse mediante codificación aritmética binaria adaptativa basada en contexto (CABAC) o codificarse mediante codificación aritmética binaria con omisión. A continuación, el dispositivo de codificación añade el índice de par de transformadas codificados a los datos codificados del bloque actual.
De este modo, se completa la codificación del bloque actual. Cada bloque actual se procesa de acuerdo con el diagrama de flujo mostrado en la figura 8. de manera que se codifica un segmento completo de datos de vídeo. En una realización ejemplar de la presente descripción, los otros bits se codifican mediante la codificación aritmética binaria con omisión y el procesamiento correspondiente es el siguiente.
Si la palabra de código binarizada correspondiente al índice de par de transformadas incluye una pluralidad de bits, el primer bit se codifica mediante la codificación aritmética binaria adaptativa basada en contexto, en base al mencionado modelo de contexto y al menos uno de los bits, excepto que el primer bit, de entre la pluralidad de bits, se codifica mediante la codificación aritmética binaria con omisión, y a continuación el índice de par de transformadas codificado se añade a los datos codificados del bloque actual.
En la práctica, cuando la palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits, la codificación aritmética binaria adaptativa se realiza sobre el primer bit en base al mencionado modelo de contexto y al menos uno de los bits, excepto que el primer bit, de entre la pluralidad de bits, se codifica mediante la codificación aritmética binaria con omisión, y a continuación el índice de par de transformadas codificado se añade a los datos codificados del bloque actual.
Por ejemplo, si el par de transformadas usado es (DCT8, DCT8) y hay cuatro bits correspondientes, que son 1, 1, 1 y 1 en secuencia, el primer bit se codifica en función del mencionado modelo de contexto y los tres bits siguientes se codifican mediante la codificación aritmética binaria con omisión. De esta manera, no hay necesidad de almacenar modelos de contexto de los siguientes bits, de manera que se puede ahorrar espacio de memoria y se reduce la complejidad de codificación y decodificación.
Además, se añade un indicador objetivo a los datos codificados. de manera que el dispositivo de descodificación utilice un modo de transformación multinúcleo explícito,de manera que el dispositivo de decodificación utiliza un modo de transformada multinúcleo explícita, donde el indicador objetivo indica que el modo de transformada multinúcleo explícita está habilitado.
Para el modo de codificación mostrado en la figura 8, una realización de la presente descripción da a conocer además un modo de decodificación correspondiente. Como se muestra en la figura 9, el flujo de procesamiento es el siguiente.
En la etapa 901, un dispositivo de decodificación adquiere datos codificados de un bloque actual.
En la práctica, cuando hay datos codificados a decodificar, el dispositivo de decodificación adquiere los datos codificadosy, a continuación, adquiere los datos codificados del bloque actual realizando decodificación entrópica en los datos codificados y realizando cuantificación inversa en un resultado de decodificación entrópica.
En la etapa 902, el dispositivo de decodificación adquiere un índice de par de transformadas del bloque actual a partir de los datos codificados. donde un primer bit de una palabra de código binarizada correspondiente al índice de par de transformadas se decodifica mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto.
En la práctica, el dispositivo de decodificación adquiere el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados del bloque actual. Cuando el dispositivo de codificación codifica el índice de par de transformadas del bloque actual, se realiza codificación aritmética binaria adaptativa basada en el mencionado modelo de contexto, en el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas. Por lo tanto, al decodificar el primer bit, el dispositivo de decodificación también realiza codificación aritmética binaria adaptativa basada en el mencionado modelo de contexto, en el primer bit.
En una realización ejemplar de la presente descripción, antes de la etapa 902, también se puede realizar la siguiente determinación.
El dispositivo de decodificación determina que la altura y la anchura del bloque actual son ambas menores o iguales a un umbral preestablecido y que el bloque actual es un bloque de luminancia.
El umbral preestablecido está predefinido y almacenado en el dispositivo de decodificación y generalmente es N (N puede ser 32).
En la práctica, después de realizar la etapa 901, el dispositivo de decodificación determina el número de píxeles del bloque actual en una dirección de altura, es decir, la altura del bloque actual, y el número de píxeles del bloque actual en una dirección de anchura, es decir, la anchura del bloque actual. Además, el dispositivo de decodificación determina si el bloque actual es el bloque de luminancia. Si el bloque actual es el bloque de luminancia y la altura y la anchura del bloque actual son ambas menores o iguales al umbral preestablecido, se realiza la etapa 902.
Además, antes de que se lleve a cabo la etapa 902, también se determina si se incluye un indicador objetivo en los datos codificados, y el indicador objetivo indica que se realiza procesamiento de transformada multinúcleo explícita. Si los datos codificados incluyen el indicador objetivo, entonces se habilita el procesamiento de transformada multinúcleo explícita y, a continuación, se puede realizar la etapa 902.
En la etapa 903, el dispositivo de decodificación determina, basándose en el índice de par de transformadas, un par de transformadas que corresponde al bloque actual. en el que el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En la práctica, en respuesta a determinar el índice de par de transformadas del bloque actual, el dispositivo de decodificación determina, basándose en una relación correspondiente entre el índice de par de transformadas y el par de transformadas, el par de transformadas correspondiente al bloque actual.
En la etapa 904, el dispositivo de decodificación adquiere la información de reconstrucción correspondiente al bloque actual decodificando el bloque actual basándose en el par de transformadas.
En la práctica, en respuesta a determinar el par de transformadas correspondiente al bloque actual, el dispositivo de decodificación adquiere una señal residual correspondiente al bloque actual realizando un procesamiento de transformada inversa en datos cuantificados inversamente del bloque actual con el par de transformadas, y a continuación adquiere la información de reconstrucción correspondiente al bloque actual sumando la señal residual y una señal de predicción del bloque actual.
De este modo, se completa la decodificación del bloque actual. Cada bloque actual se procesa de acuerdo con el diagrama de flujo mostrado en la figura 9. de manera que se decodifica un segmento completo de datos de vídeo.
En la etapa 903, el par de transformadas del bloque actual puede determinarse de diversos modos y la variedad de modos factibles se proporciona de la siguiente manera.
Moda I: Como se muestra en la tabla 2, cuando el índice del núcleo de transformada es 1, el par de transformadas usado es (DCT2, DCT2); cuando el índice del núcleo de transformada es 2, el par de transformadas usado es (DST7, DST7); cuando el índice del núcleo de transformada es 3, el par de transformadas usado es (DCT8, DST7); cuando el índice del núcleo de transformada es 4, el par de transformadas usado es (DST7, DCT8); y cuando el índice del núcleo de transformada es 5, el par de transformadas usado es (DCT8, DCT8).
Modo II: El par de transformadas del bloque actual se determina en función de la relación correspondiente entre el índice de par de transformadas y la lista de pares de transformadas de la tabla 3 y el índice de par de transformadas del bloque actual.
Modo III: El par de transformadas del bloque actual se determina en función de la relación correspondiente entre el índice de par de transformadas y la lista de pares de transformadas de la tabla 4 y el índice de par de transformadas del bloque actual.
Modo IIII: El par de transformadas del bloque actual se determina en función de la relación correspondiente entre el índice de par de transformadas y la lista de pares de transformadas de la tabla 5 y el índice de par de transformadas del bloque actual.
Modo V: El par de transformadas del bloque actual se determina en función de la relación correspondiente entre el índice de par de transformadas y la lista de pares de transformadas de la tabla 6 y el índice de par de transformadas del bloque actual.
En una realización ejemplar de la presente descripción, el par de transformadas también se determina en función de información del modo intracuadro del bloque actual o de información de forma del bloque actual, y el procesamiento correspondiente puede ser el siguiente.
El dispositivo de decodificación determina, basándose en un modo de intrapredicción y el índice de par de transformadas del bloque actual, el par de transformadas correspondiente al bloque actual; o el dispositivo de decodificación determina, basándose en el índice de par de transformadas y la anchura y la altura del bloque actual, el par de transformadas correspondiente al bloque actual.
En la práctica, se determina que el par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice del par de transformadas es un primer índice y el número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido; se determina que el par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice del par de transformadas es el primer índice y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido; se determina que el par de transformadas correspondiente al bloque actual es el segundo par de transformadas si el índice del par de transformadas es un segundo índice y el número de modo del modo de intrapredicción del bloque actual es menor o igual al valor preestablecido; y se determina que el par de transformadas correspondiente al bloque actual es el primer par de transformadas si el índice del par de transformadas es el segundo índice y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido.
Alternativamente, se determina que el par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice de par de transformadas es un primer índice y la información de forma del bloque actual satisface una condición de restricción de forma preestablecida; se determina que el par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice del par de transformadas es el primer índice y la información de forma del bloque actual no satisface la condición de restricción de forma preestablecida; se determina que el par de transformadas correspondiente al bloque actual es el segundo par de transformadas si el índice del par de transformadas es un segundo índice y la información de forma del bloque actual satisface la condición de restricción de forma preestablecida; y se determina que el par de transformadas correspondiente al bloque actual es el primer par de transformadas si el índice del par de transformadas es el segundo índice y la información de forma del bloque actual no satisface la condición de restricción de forma preestablecida (este proceso corresponde al proceso de la etapa 803 y no se describe repetidamente aquí).
El valor preestablecido es 34 en la tabla 7, el primer índice es 3, el primer par de transformadas es (DST7, DCT8), el segundo índice es 4 y el segundo par de transformadas es (DCT8, DST7).
En una realización ejemplar de la presente descripción, para ahorrar espacio de memoria del dispositivo de codificación, cuando el dispositivo de codificación codifica la palabra de código binarizada correspondiente al índice de par de transformadas, si la palabra de código binarizada correspondiente al índice de par de transformadas incluye una pluralidad de bits, al menos uno de los bits, excepto el primer bit, de entre la pluralidad de bits se codifica mediante una codificación aritmética binaria con omisión. De esta manera, si un bit es codificado por el modo de codificación aritmética binaria con omisión, no hay necesidad de almacenar el modo de contexto. Por lo tanto, se puede ahorrar espacio de memoria. Del mismo modo, cuando se realiza la decodificación, el dispositivo de decodificación realiza la decodificación en el modo correspondiente.
En la realización de la presente descripción, al codificar el bloque actual, el dispositivo de codificación adquiere el par de transformadas correspondiente al bloque actual para la codificación, en lugar de adquirir directamente un par de transformadas preestablecido. de manera que se puede mejorar el rendimiento de codificación y decodificación. Al codificar la palabra de código binarizada correspondiente al índice de par de transformadas, el dispositivo de codificación codifica el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas mediante el mencionado modelo de contexto en lugar de una pluralidad de modelos de contexto. de manera que se puede ahorrar espacio de memoria. Además, debido a que no se necesita la pluralidad de modelos de contexto, no es necesario actualizar el contexto, lo que reduce la complejidad de la codificación y la decodificación.
Teniendo en cuenta el ahorro de espacio de memoria cuando una palabra de código binarizada correspondiente a un índice de par de transformadas incluye una pluralidad de bits, otra realización de la presente descripción da a conocer el siguiente proceso de codificación y decodificación, como se muestra en la figura 10.
En la etapa 1001, un dispositivo de codificación adquiere una señal residual de un bloque actual.
En la práctica, cuando se codifican datos de vídeo, el dispositivo de codificación primero adquiere la señal residual mediante realizar intrapredicción (una manera en la que se adquiere una señal residual es idéntica a la del estándar de codificación de vídeo existente y no se repite aquí la descripción) y, a continuación, toma la señal residual como una señal residual del bloque actual que se va a procesar actualmente.
La manera en la que se selecciona un modo de intrapredicción es la misma que la manera en la que se selecciona el modo de intrapredicción en la etapa 801. Para obtener detalles sobre este modo, se puede hacer referencia a la etapa 801, que no se vuelve a describir en este caso.
En la etapa 1002, el dispositivo de codificación determina un par de transformadas correspondiente al bloque actual y un índice de par de transformadas correspondiente al bloque actual.
El par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En la práctica, el dispositivo de codificación adquiere el par de transformadas finalmente seleccionado y, a continuación, selecciona el índice de par de transformadas correspondiente a este par de transformadas basándose en cualquiera de las tablas 2-6 (para obtener detalles sobre este proceso, se puede hacer referencia a la etapa 802). Debe tenerse en cuenta que durante la codificación, generalmente, se ha determinado cuál de las tablas 2-6 se usa y, por lo tanto, solo se adquiere una de las tablas 2-6.
En una realización ejemplar de la presente descripción, el índice de par de transformadas se puede determinar mediante diversos modos, y se proporcionan dos modos de implementación factibles de la siguiente manera.
Modo I: El dispositivo de codificación determina el par de transformadas correspondiente al bloque actual y determina, basándose en el modo de intrapredicción del bloque actual y el par de transformadas, el índice del par de transformadas correspondiente al bloque actual.
Este proceso es idéntico al modo I mostrado en la tabla 7 en la etapa 802 y no se repite aquí la descripción.
Modo II: El dispositivo de codificación determina el par de transformadas correspondiente al bloque actual y determina, basándose en la información de forma del bloque actual y el par de transformadas, el índice del par de transformadas correspondiente al bloque actual.
Este proceso es idéntico al modo II mostrado en la tabla 8 en la etapa 802 y no se repite aquí la descripción.
Además, en respuesta a adquirir el bloque actual, el dispositivo de codificación determina primero si la altura y la anchura del bloque actual son menores o iguales a N (N puede ser 32), y determina si el bloque actual es un bloque de luminancia. Si tanto la altura como la anchura del bloque actual son menores o iguales a 32 y el bloque actual es el bloque de luminancia, el dispositivo de codificación continúa ejecutando la etapa 1002. Si no se cumple al menos una de las condiciones de que la altura y la anchura del bloque actual sean menores o iguales a 32 y el bloque actual sea el bloque de luminancia, el dispositivo de codificación adquiere directamente un par de transformadas preestablecido, es decir, (DCT2, DCT2).
En la etapa 1003, el dispositivo de codificación adquiere los datos codificados correspondientes al bloque actual codificando la señal residual del bloque actual basándose en el par de transformadas.
En la práctica, en respuesta a adquirir el par de transformadas correspondiente al bloque actual, el dispositivo de codificación adquiere un coeficiente de transformada mediante transformar la señal residual del bloque actual basándose en el par de transformadas, adquiriendo a continuación un coeficiente de cuantificación mediante cuantificar el coeficiente de transformada, y adquiere los datos codificados correspondientes al bloque actual mediante realizar codificación entrópica sobre el coeficiente de cuantificación para adquirir los datos codificados correspondientes al bloque actual.
En la etapa 1004, si la palabra de código binarizada correspondiente al índice de par de transformadas incluye una pluralidad de bits, el dispositivo de codificación codifica al menos uno de los bits, excepto un primer bit, entre la pluralidad de bits mediante codificación aritmética binaria con omisión, y añade el índice de par de transformadas codificado a los datos codificados del bloque actual.
En la práctica, el índice de par de transformadas se añade a los datos codificados, de manera que un dispositivo de decodificación reconoce el par de transformadas usado por el dispositivo de codificación.
Si la palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits, el dispositivo de codificación codifica el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas mediante CABAC. Si la palabra de código binarizada incluye además otros bits, al menos uno de los otros bits se codifica mediante la codificación aritmética binaria con omisión y, a continuación, el índice de par de transformadas codificados se añade a los datos codificados. De esta manera, dado que no es necesario almacenar un modelo de contexto para el modo de codificación aritmética binaria con omisión, cuando este bit se codifica mediante la codificación aritmética binaria con omisión, no es necesario almacenar el modelo de contexto para este bit.
De este modo, se completa la codificación del bloque actual. Cada bloque actual se procesa de acuerdo con el diagrama de flujo mostrado en la figura 10. de manera que se puede codificar un segmento completo de datos de vídeo.
En una realización ejemplar de la presente descripción, el primer bit se codifica mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto.
En la práctica, cuando el CABAC codifica el primer bit, la codificación aritmética binaria adaptativa se realiza basándose en un modelo de contexto en lugar de en una pluralidad de modelos de contexto. de manera que no hay necesidad de almacenar la pluralidad de modelos de contexto. Por lo tanto, se puede ahorrar espacio de memoria. Además, se añade un indicador objetivo a los datos codificados. de manera que el dispositivo de decodificación utiliza un modo de transformada multinúcleo explícita, donde el indicador objetivo indica que el modo de transformada multinúcleo explícita está habilitado.
Basándose en el modo de codificación mostrado en la figura 10, tal como se muestra en la figura 11, una realización de la presente descripción da a conocer además un modo de decodificación correspondiente.
En la etapa 1101, un dispositivo de decodificación adquiere datos codificados de un bloque actual.
En la práctica, cuando es necesario decodificar datos codificados, el dispositivo de decodificación adquiere los datos codificados, a continuación adquiere un resultado de decodificación entrópica mediante realizar decodificación entrópica sobre los datos codificados, y adquiere los datos codificados del bloque actual mediante realizar cuantificación inversa sobre el resultado de decodificación entrópica.
En la etapa 1102, el dispositivo de decodificación adquiere un índice de par de transformadas a partir de los datos codificados, en el que al menos uno de los bits, excepto un primer bit, de entre una pluralidad de bits se decodifica mediante codificación aritmética binaria con omisión si una palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits.
En la práctica, el dispositivo de decodificación adquiere el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados. Cuando codifica el índice de par de transformadas del bloque actual, el dispositivo de codificación codifica por lo menos uno de los bits, excepto el primer bit, entre la pluralidad de bits mediante la codificación aritmética binaria con omisión si la palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits. De esta manera, cuando decodifica los bits codificados mediante la codificación aritmética binaria con omisión, el dispositivo de decodificación también decodifica los bits mediante codificación aritmética binaria con omisión. Por lo tanto, también se puede ahorrar el espacio de memoria del dispositivo de decodificación.
En una realización ejemplar de la presente descripción, para ahorrar espacio de memoria, el primer bit de la pluralidad de bits se codifica mediante un modelo de contexto.
En una realización ejemplar de la presente descripción, antes de realizar la etapa 1102, se determina que la altura y la anchura del bloque actual son menores o iguales a un valor objetivo y que el bloque actual es un bloque de luminancia. En la práctica, el valor objetivo está preestablecido y almacenado en el dispositivo de decodificación y generalmente es N (N puede ser 32). Cuando la altura y la anchura del bloque actual son ambas menores o iguales a N y el bloque actual es el bloque de luminancia, solo se realiza la etapa 1102. De lo contrario, se determina que el par de transformadas correspondiente al bloque actual es (DCT2, DCT2) y, posteriormente, este par de transformadas se usa directamente para la decodificación.
Además, antes de que se lleve a cabo la etapa 1102, también se puede determinar si se incluye un indicador objetivo en los datos codificados, y el indicador objetivo indica que se realiza procesamiento de transformada multinúcleo explícita. Si el indicador objetivo se incluye en los datos codificados, entonces se habilita el procesamiento de transformada multinúcleo explícita y, a continuación, se realiza la etapa 1102.
En la etapa 1103, el dispositivo de decodificación determina un par de transformadas que corresponde al bloque actual basándose en el índice de par de transformadas, en el que el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
Este proceso es idéntico al proceso de procesamiento de la etapa 903. Para obtener detalles sobre este proceso, se puede hacer referencia a la etapa 903, que no se vuelve a describir en este caso.
En una realización ejemplar de la presente descripción, el par de transformadas también se determina en función de la altura y la anchura del bloque actual o de un modo de intrapredicción del bloque actual, y el procesamiento correspondiente puede ser el siguiente.
El par de transformadas correspondiente al bloque actual se determina en función del modo de intrapredicción del bloque actual y el índice de par de transformadas; o el par de transformadas correspondiente al bloque actual se determina en función de la información de forma del bloque actual y del índice de par de transformadas. El par de transformadas incluye el núcleo de transformada horizontal y el núcleo de transformada vertical.
En la práctica, este proceso es el mismo que el modo en que el par de transformadas se determina en función de la altura y la anchura del bloque actual o el modo de intrapredicción del bloque actual en la etapa 903. Para obtener detalles sobre este proceso, se puede hacer referencia a la etapa 903, que no se vuelve a describir en este caso. En la etapa 1104, el dispositivo de decodificación adquiere información de reconstrucción correspondiente al bloque actual decodificando el bloque actual basándose en el par de transformadas.
En la práctica, en respuesta a determinar el par de transformadas correspondiente al bloque actual, el dispositivo de decodificación adquiere una señal residual correspondiente al bloque actual realizando un procesamiento de transformada inversa en un coeficiente de cuantificación correspondiente al bloque actual con el par de transformadas. Posteriormente, el dispositivo de decodificación construye una señal de predicción en el modo de intrapredicción usado, con valores de píxel de píxeles en una región que se ha reconstruido alrededor del bloque actual, y a continuación adquiere la información de reconstrucción correspondiente al bloque actual añadiendo la señal residual y la señal de predicción.
De este modo, se completa la decodificación del bloque actual. Cada bloque actual se procesa de acuerdo con el diagrama de flujo mostrado en la figura 11. de manera que se decodifica un segmento completo de datos de vídeo. En la realización de la presente descripción, al codificar el bloque actual, el dispositivo de codificación adquiere el par de transformadas correspondiente al bloque actual para la codificación, en lugar de adquirir directamente un par de transformadas preestablecido. de manera que se puede mejorar el rendimiento de codificación y decodificación. Al codificar el índice de par de transformadas, el dispositivo de codificación codifica el al menos uno de los bits, excepto el primer bit, en la palabra de código binarizada correspondiente al índice de par de transformadas mediante la codificación aritmética binaria con omisión, y para el al menos un bit, no hay necesidad de almacenar el modelo de contexto. Por lo tanto, se puede ahorrar espacio de memoria. Además, para el al menos un bit, se adopta la codificación aritmética binaria con omisión en lugar de CABAC. de modo que no es necesario actualizar el modelo de contexto. Por lo tanto, también se puede reducir la complejidad de la codificación y del análisis sintáctico.
En otra realización de la presente descripción, como se muestra en la figura 12, también se proporciona el procesamiento para determinar un par de transformadas en función de la información de forma de un bloque actual o un modo de intrapredicción del bloque actual.
En la etapa 1201, un dispositivo de codificación adquiere una señal residual de un bloque actual.
En la práctica, cuando se codifican datos de vídeo, el dispositivo de codificación primero adquiere la señal residual mediante realizar intrapredicción (una manera en la que se adquiere una señal residual es idéntica a la del estándar de codificación de vídeo existente y no se repite aquí la descripción) y, a continuación, toma la señal residual como una señal residual del bloque actual que se va a procesar actualmente.
Cabe señalar que la TU en la realización de la presente descripción es la misma que la CU mencionada anteriormente.
La manera en la que se selecciona el modo de intrapredicción es la misma que la manera en la que se selecciona el modo de intrapredicción en la etapa 801. Para obtener detalles sobre este modo, se puede hacer referencia a la etapa 801, que no se vuelve a describir en este caso.
En la etapa 1202, el dispositivo de codificación adquiere el modo de intrapredicción del bloque actual y un par de transformadas correspondiente al bloque actual, o adquiere la información de forma del bloque actual y el par de transformadas correspondiente al bloque actual.
El par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En la práctica, el dispositivo de codificación adquiere el modo de intrapredicción (es decir, el modo de intrapredicción correspondiente al bloque actual) usado finalmente en la intrapredicción en la etapa 1201, y el par de transformadas (es decir, el par de transformadas correspondiente al bloque actual) correspondiente al modo de intrapredicción cuando el coste de de compresión es mínimo.
Alternativamente, el dispositivo de codificación determina la altura y la anchura del bloque actual (es decir, el número de píxeles del bloque actual en la dirección de la altura y el número de píxeles del bloque actual en la dirección de la anchura). De esta manera, el dispositivo de codificación adquiere la información de forma del bloque actual y adquiere el par de transformadas usado cuando el coste de la compresión es mínimo (es decir, el par de transformadas correspondiente al bloque actual).
Además, en respuesta a adquirir el bloque actual, el dispositivo de codificación determina si la altura y la anchura del bloque actual son menores o iguales a N (N puede ser 32), y determina si el bloque actual es un bloque de luminancia. Si tanto la altura como la anchura del bloque actual son menores o iguales a N y el bloque actual es el bloque de luminancia, el dispositivo de codificación continúa realizando la etapa 1202. No se cumple al menos una de las condiciones de que la altura y la anchura del bloque actual sean menores o iguales a N y el bloque actual sea el bloque de luminancia, el dispositivo de codificación adquiere directamente un par de transformadas preestablecido, es decir, (DCT2, DCT2).
En la etapa 1203, el dispositivo de codificación determina, basándose en el modo de intrapredicción del bloque actual y el par de transformadas correspondiente al bloque actual, un índice de par de transformadas correspondiente al bloque actual; alternativamente, el dispositivo de codificación determina, basándose en la información de forma del bloque actual y el par de transformadas correspondiente al bloque actual, el índice de par de transformadas correspondiente al bloque actual.
En la práctica, cuando el par de transformadas determinado en la etapa 1202 no es ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8), se adquiere una tabla de sintaxis preestablecida de un par de transformadas multinúcleo explícitas (como se muestra en la tabla 7), y el modo de intrapredicción del bloque actual y el índice de par de transformadas correspondiente al par de transformadas, es decir, el índice de par de transformadas correspondiente al bloque actual, se determinan a partir de la tabla 7. Por ejemplo, cuando el par de transformadas es (DST7, DCT8) y el número de modo del modo de intrapredicción del bloque actual es 32, el índice de par de transformadas correspondiente es 3.
Alternativamente, cuando el par de transformadas determinado en la etapa 1202 no es ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8), se adquiere la tabla de sintaxis preestablecida del par de transformadas multinúcleo explícitas (como se muestra en la tabla 8), y la información de forma del bloque actual y el índice de par de transformadas correspondiente al par de transformadas, es decir, el índice de par de transformadas correspondiente al bloque actual, se determinan a partir de la tabla 8. Por ejemplo, si el par de transformadas es (DST7, DCT8) y la anchura del bloque actual es mayor que su altura, el índice del par de transformadas correspondiente es 3.
En una realización ejemplar de la presente descripción, el dispositivo de codificación determina el índice del núcleo de transformada basándose en el modo de intrapredicción y el par de transformadas, de la siguiente forma.
Se determina que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un primer par de transformadas y el número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido. Se determina que el índice de par de transformadas correspondiente al bloque actual es el primer índice si el par de transformadas es un segundo par de transformadas y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido. Se determina que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es el segundo par de transformadas y el número de modo del modo de intrapredicción del bloque actual es menor o igual que el valor preestablecido. Se determina que el índice de par de transformadas correspondiente al bloque actual es el segundo índice si el par de transformadas es el primer par de transformadas y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido.
En la práctica, este proceso es idéntico al modo I mostrado en la tabla 7 en la etapa 802 y no se repite aquí la descripción.
En una realización ejemplar de la presente descripción, el dispositivo de codificación determina el índice del núcleo de transformada basándose en la información de forma del bloque actual y el par de transformadas, de la siguiente forma.
Se determina que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un primer par de transformadas y la información de forma del bloque actual satisface una condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es el primer índice si el par de transformadas es un segundo par de transformadas y la información de forma del bloque actual no satisface la condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es el segundo par de transformadas y la información de forma del bloque actual satisface la condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es el segundo índice si el par de transformadas es el primer par de transformadas y la información de forma del bloque actual no satisface la condición de restricción de forma preestablecida.
En la práctica, este proceso es idéntico al modo II mostrado en la tabla 8 en la etapa 802 y no se repite aquí la descripción.
En la etapa 1204, el dispositivo de codificación adquiere los datos codificados correspondientes al bloque actual codificando la señal residual del bloque actual basándose en el par de transformadas.
En la práctica, en respuesta a adquirir el par de transformadas correspondiente al bloque actual, el dispositivo de codificación adquiere un coeficiente de transformada mediante transformar la señal residual del bloque actual basándose en el par de transformadas, adquiere a continuación un coeficiente de cuantificación mediante cuantificar el coeficiente de transformada, y adquiere los datos codificados correspondientes al bloque actual mediante realizar codificación entrópica sobre el coeficiente de cuantificación.
En la etapa 1205, el dispositivo de codificación codifica el índice del par de transformadas y añade el índice del par de transformadas codificado a los datos codificados del bloque actual.
En la práctica, se añade una palabra de código binarizada del índice de par de transformadas a los datos codificados. de manera que un dispositivo de decodificación reconoce el par de transformadas usado por el dispositivo de codificación.
El dispositivo de codificación codifica el índice de par de transformadas y, a continuación, añade el índice de par de transformadas codificado a los datos codificados.
De este modo, se completa la codificación del bloque actual. Cada bloque actual se procesa de acuerdo con el flujo mostrado en la figura 12. de manera que se codifica un segmento completo de datos de vídeo.
En una realización ejemplar de la presente descripción, para ahorrar espacio de memoria, el índice de par de transformadas se codifica de la siguiente manera y el procesamiento correspondiente de la etapa 1205 es el siguiente.
Si la palabra de código binarizada correspondiente al índice de par de transformadas incluye una pluralidad de bits, CABAC codifica un primer bit y al menos uno de los bits, excepto el primer bit, de entre la pluralidad de bits se codifica mediante codificación aritmética binaria con omisión.
En la práctica, si la palabra de código binarizada correspondiente al índice de par de transformadas solo incluye un bit, la CABAC codifica este bit directamente. Si la palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits, CABAC codifica el primer bit y al menos uno de los bits, excepto el primer bit, se codifica mediante codificación aritmética binaria con omisión. A continuación, el dispositivo de codificación añade el índice de par de transformadas codificados a los datos codificados del bloque actual. De esta manera, dado que algunos bits se codifican mediante la codificación aritmética binaria con omisión cuando la palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits y no hay necesidad de almacenar un modo de contexto, se puede ahorrar espacio de memoria.
En una realización ejemplar de la presente descripción, el dispositivo de codificación realiza codificación aritmética binaria adaptativa basada en contexto basándose en el mencionado modelo de contexto, en el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas.
En la práctica, el dispositivo de codificación codifica, basándose en el mencionado modelo de contexto, el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas. De esta manera, como solo se habilita un modelo de contexto, solo se almacena un modelo de contexto y el espacio de memoria ocupado es relativamente pequeño. ahorrando así el espacio de memoria del dispositivo de codificación.
Además, se añade un indicador objetivo a los datos codificados. de manera que el dispositivo de decodificación utiliza un modo de transformada multinúcleo explícita, donde el indicador objetivo indica que el modo de transformada multinúcleo explícita está habilitado.
Basándose en el proceso de codificación mostrado en la figura 12, una realización de la presente descripción da a conocer además un proceso de decodificación, como se muestra en la figura 13.
En la etapa 1301, un dispositivo de decodificación adquiere datos codificados de un bloque actual.
En la práctica, cuando hay datos codificados a decodificar, el dispositivo de decodificación adquiere los datos codificados, a continuación realiza decodificación entrópica en los datos codificados, y realiza cuantificación inversa en un resultado de decodificación entrópica para adquirir los datos codificados del bloque actual.
En la etapa 1302, el dispositivo de decodificación adquiere un índice de par de transformadas a partir de los datos codificados y adquiere un modo de intrapredicción del bloque actual o información de forma del bloque actual.
En la práctica, el dispositivo de decodificación adquiere el índice del par de transformadas correspondiente al bloque actual a partir de los datos codificados, determina el número de píxeles incluidos en el bloque actual en una dirección de la altura (es decir, altura) y determina el número de píxeles incluidos en el bloque actual en una dirección de la anchura (es decir, anchura). A continuación, el dispositivo de decodificación determina los tamaños de la altura y la anchura del bloque actual, es decir, adquiere la información de forma del bloque actual.
Alternativamente, el dispositivo de decodificación adquiere el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados, y adquiere un número de modo del modo de intrapredicción analizando sintácticamente un bit de identificación del modo de intrapredicción en los datos codificados.
En una realización ejemplar de la presente descripción, una palabra de código binarizada correspondiente al índice de par de transformadas incluye una pluralidad de bits. donde un primer bit se decodifica mediante CABAC y al menos uno de los bits, excepto el primer bit, de entre la pluralidad de bits se decodifica mediante una codificación aritmética binaria con omisión. De esta manera, dado que en un dispositivo de codificación, algunos bits se decodifican mediante el modo de codificación aritmética binaria con omisión cuando el índice de par de transformadas incluye la pluralidad de bits, y no es necesario almacenar un modo de contexto. De este modo, se ahorra espacio de memoria. De esta manera, el dispositivo de decodificación necesita decodificar los bits codificados por la codificación aritmética binaria con omisión mediante una codificación aritmética binaria con omisión y tampoco necesita almacenar el modelo de contexto. Por lo tanto, se puede ahorrar espacio de memoria.
En una realización ejemplar de la presente descripción, el primer bit del índice de par de transformadas se decodifica en función de un modelo de contexto. De esta manera, dado que el dispositivo de decodificación solo adopta el mencionado modelo de contexto, solo se almacena un modelo de contexto y el espacio de memoria ocupado es relativamente pequeño.
En una realización ejemplar de la presente descripción, antes de realizar la etapa 1302, se determina que la altura y la anchura del bloque actual son menores o iguales a un valor objetivo y que el bloque actual es un bloque de luminancia.
En la práctica, el valor objetivo está preestablecido y almacenado en el dispositivo de decodificación y generalmente es N (N es 32). Cuando la altura y la anchura del bloque actual son ambas menores o iguales a N y el bloque actual es el bloque de luminancia, solo se realiza la etapa 1302. De lo contrario, se determina que el par de transformadas correspondiente al bloque actual es (DCT2, DCT2) y, posteriormente, este par de transformadas se usa directamente para la decodificación.
Además, antes de que se lleve a cabo la etapa 1302, también se puede determinar si se incluye un indicador objetivo en los datos codificados, y el indicador objetivo indica que se realiza procesamiento de transformada multinúcleo explícita. Si el indicador objetivo se incluye en los datos codificados, entonces se habilita el procesamiento de transformada multinúcleo explícita, y se realiza la etapa 1302.
En la etapa 1303, el dispositivo de decodificación determina, basándose en el modo de intrapredicción del bloque actual y el índice de par de transformadas, un índice de par de transformadas correspondiente al bloque actual; alternativamente, el dispositivo de decodificación determina, basándose en la información de forma del bloque actual y el par de transformadas correspondiente al bloque actual, el índice de par de transformadas correspondiente al bloque actual, donde el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En la práctica, el par de transformadas incluye el núcleo de transformada horizontal y el núcleo de transformada vertical. Cuando el par de transformadas determinado en la etapa 1302 no es ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8), se adquiere una tabla de sintaxis preestablecida de un par de transformadas multinúcleo explícitas (como se muestra en la tabla 7), y el modo de intrapredicción del bloque actual y el índice de par de transformadas correspondiente al índice del par de transformadas, es decir, el par de transformadas correspondiente al bloque actual, se determinan a partir de la tabla 7. Por ejemplo, cuando un número de modo del modo de intrapredicción correspondiente al bloque actual es 32, y el índice del par de transformadas 3, el par de transformadas es (DsT7, DCT8).
Alternativamente, cuando el par de transformadas determinado en la etapa 1302 no es ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8), se adquiere la tabla de sintaxis preestablecida del par de transformadas multinúcleo explícitas (como se muestra en la tabla 8), y la altura y la anchura del bloque actual y el par de transformadas correspondiente al índice de par de transformadas, es decir, el par de transformadas correspondiente al bloque actual, se determinan a partir de la tabla 8. Por ejemplo, si la anchura del bloque actual es mayor que su altura y el índice del par de transformadas correspondiente es 3, el par de transformadas es (DST7, DCT8).
En una realización ejemplar de la presente descripción, el par de transformadas se determina en función del modo de intrapredicción y el índice del par de transformadas de la siguiente manera.
Se determina que el índice de par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice de par de transformadas es un primer índice y el número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido. Se determina que el par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice de par de transformadas es el primer índice y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido. Se determina que el par de transformadas correspondiente al bloque actual es el segundo par de transformadas si el índice de par de transformadas es un segundo índice y el número de modo del modo de intrapredicción del bloque actual es menor o igual que el valor preestablecido. Se determina que el par de transformadas correspondiente al bloque actual es el primer par de transformadas si el índice de par de transformadas es el segundo índice y el número de modo del modo de intrapredicción del bloque actual es mayor que el valor preestablecido.
En la práctica, cuando el par de transformadas determinado en la etapa 1302 no es ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8), se adquiere la tabla de sintaxis preestablecida del par de transformadas multinúcleo explícitas (como se muestra en la tabla 7), y el par de transformadas correspondiente al bloque actual se determina a partir de la tabla 7.
El primer índice es 3, el valor preestablecido es 34, el primer par de transformadas es (DST7, DCT8), el segundo índice es 4, el valor preestablecido es 34 y el segundo par de transformadas es (DCT8, DST7).
En una realización ejemplar de la presente descripción, el par de transformadas se determina en función de la altura y la anchura del bloque actual y el índice del par de transformadas de la siguiente manera.
Se determina que el índice de par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice de par de transformadas es un primer índice y la información de forma del bloque actual satisface una condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice de par de transformadas es el primer índice y la información de forma del bloque actual no satisface la condición de restricción de forma preestablecida. Se determina que el par de transformadas correspondiente al bloque actual es el segundo par de transformadas si el índice de par de transformadas es un segundo par de transformadas y la información de forma del bloque actual satisface la condición de restricción de forma preestablecida. Se determina que el índice de par de transformadas correspondiente al bloque actual es el primer par de transformadas si el índice de par de transformadas es el segundo índice y la información de forma del bloque actual no satisface la condición de restricción de forma preestablecida.
En la práctica, cuando el par de transformadas determinado en la etapa 1302 no es ninguno de (DCT2, DCT2), (DST7, DST7) y (DCT8, DCT8), se adquiere la tabla de sintaxis preestablecida del par de transformadas multinúcleo explícitas (como se muestra en la tabla 8), y el par de transformadas correspondiente al bloque actual se determina a partir de la tabla 8.
El primer índice es 3, W>H, el primer par de transformadas es (DST7, DCT8), el segundo índice es 4, W>H, y el segundo par de transformadas es (DCT8, DST7).
En la etapa 1304, el dispositivo de decodificación adquiere información de reconstrucción correspondiente al bloque actual decodificando el bloque actual basándose en el par de transformadas.
En la práctica, en respuesta a determinar un par de transformadas objetivo correspondiente al bloque actual, el dispositivo de decodificación adquiere una señal residual correspondiente al bloque actual realizando un procesamiento de transformada inversa en un coeficiente de cuantificación correspondiente al bloque actual con el par de transformadas. Posteriormente, el dispositivo de decodificación construye una señal de predicción en el modo de intrapredicción usado, con valores de píxel de píxeles en una región que se ha reconstruido alrededor del bloque actual, y a continuación adquiere la información de reconstrucción correspondiente al bloque actual añadiendo la señal residual y la señal de predicción.
De este modo, se completa la decodificación del bloque actual. Cada bloque actual se procesa de acuerdo con el diagrama de flujo mostrado en la figura 13. de manera que se decodifica un segmento completo de datos de vídeo. Cabe señalar que, en la realización de la presente descripción, debido al ajuste adaptativo de la prioridad del par de transformadas en función del modo de intrapredicción o la información de forma del bloque actual, en la medida de lo posible, cuanto mayor sea la probabilidad del par de transformadas, más corta será la palabra de código binarizada que debe codificarse.
En la realización de la presente descripción, al realizar la codificación, el dispositivo de codificación selecciona el par de transformadas basándose en el modo de intrapredicción del bloque actual o en la información de forma del bloque actual en lugar de en un par de transformadas preestablecido y, en consecuencia, cuando se realiza la decodificación se adopta el modo de intrapredicción del bloque actual o la información de forma del bloque actual en lugar del par de transformadas preestablecido. De este modo, se puede mejorar el rendimiento de codificación y decodificación.
Basándose en el mismo concepto técnico, una realización de la presente descripción da a conocer además un dispositivo de decodificación. Como se muestra en la figura 14, el dispositivo de decodificación incluye: un módulo de adquisición 1410, configurado para adquirir datos codificados de un bloque actual y adquirir un índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados, donde un primer bit de una palabra de código binarizada correspondiente al índice de par de transformadas se decodifica mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto; y un módulo de determinación 1420, configurado para determinar, basándose en el índice de par de transformadas, un par de transformadas correspondiente al bloque actual, en el que el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En una realización ejemplar de la presente descripción, la palabra de código binarizada correspondiente al índice de par de transformadas incluye una pluralidad de bits. donde por lo menos uno de los bits, excepto el primer bit, entre la pluralidad de bits es decodificado mediante codificación aritmética binaria con omisión.
En una realización ejemplar de la presente descripción, el módulo de determinación 1420 está configurado para: determinar, en base a un modo de intra-predicción del bloque actual y al índice de par de transformadas, el par de transformadas correspondiente al bloque actual; o determinar, en base a información de forma del bloque actual y al índice de par de transformadas, el par de transformadas correspondiente al bloque actual.
Basándose en el mismo concepto técnico, una realización de la presente descripción da a conocer además un dispositivo de codificación. Como se muestra en la figura 15, el dispositivo de codificación incluye: un módulo de determinación 1510, configurado para determinar un par de transformadas correspondiente a un bloque actual y un índice de par de transformadas correspondiente al bloque actual; y un módulo de codificación 1520, configurado para codificar el índice de par de transformadas sometiendo un primer bit de una palabra de código binarizada correspondiente al índice de par de transformadas a codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto, y añadir el índice de par de transformadas codificado a los datos codificados del bloque actual.
En una realización ejemplar de la presente descripción, el módulo de codificación 1520 está configurado para: codificar el primer bit, mediante la codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto, y codificar por lo menos uno de los bits, excepto el primer bit, entre una serie de bits mediante codificación aritmética binaria con omisión si la palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits; y añadir el índice de par de transformadas codificado a los tratos codificados.
En una realización ejemplar de la presente descripción, el módulo de determinación 1510 está configurado para: determinar el par de transformadas correspondiente al bloque actual y determinar, basándose en un modo de intrapredicción del bloque actual y el par de transformadas, el índice de par de transformadas correspondiente al bloque actual; o determinar el par de transformadas correspondiente al bloque actual, y determinar, basándose en la información de forma del bloque actual y el par de transformadas, el índice de par de transformadas correspondiente al bloque actual.
En la realización de la presente descripción, al codificar el bloque actual, el dispositivo de codificación adquiere el par de transformadas correspondiente al bloque actual para la codificación, en lugar de adquirir directamente un par de transformadas preestablecido. de manera que se puede mejorar el rendimiento de codificación y decodificación. Al codificar la palabra de código binarizada correspondiente al índice de par de transformadas, el dispositivo de codificación codifica el primer bit en la palabra de código binarizada correspondiente al índice de par de transformadas mediante el mencionado modelo de contexto en lugar de una pluralidad de modelos de contexto. de manera que se puede ahorrar espacio de memoria. Además, debido a que no se necesita la pluralidad de modelos de contexto, no es necesario actualizar el contexto, lo que reduce la complejidad de la codificación y la decodificación.
Basándose en el mismo concepto técnico, una realización de la presente descripción da a conocer además un dispositivo de decodificación. Como se muestra en la figura 16, el dispositivo de decodificación incluye: un módulo de adquisición 1610, configurado para adquirir datos codificados de un bloque actual y adquirir un índice de par de transformadas a partir de los datos codificados, en el que al menos uno de los bits, excepto un primer bit, de entre una pluralidad de bits se decodifica mediante codificación aritmética binaria con omisión si una palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits; y un módulo de determinación 1620, configurado para determinar, basándose en el índice de par de transformadas, un par de transformadas correspondiente al bloque actual, en el que el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En una realización ejemplar de la presente descripción, un primer bit de una palabra de código binarizada correspondiente al índice de par de transformadas se decodifica mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto.
En una realización ejemplar de la presente descripción, el módulo de determinación 1620 está configurado para: determinar, en base a un modo de intra-predicción del bloque actual y al índice de par de transformadas, el par de transformadas correspondiente al bloque actual; o determinar, en base a información de forma del bloque actual y al índice de par de transformadas, el par de transformadas correspondiente al bloque actual, en el que el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
Basándose en el mismo concepto técnico, una realización de la presente descripción da a conocer además un dispositivo de codificación. Como se muestra en la figura 17, el dispositivo de codificación incluye: un módulo de determinación 1710, configurado para determinar un par de transformadas correspondiente a un bloque actual y un índice de par de transformadas correspondiente al bloque actual; y un módulo de codificación 1720, configurado para codificar al menos uno de los bits, excepto un primer bit, entre una pluralidad de bits mediante codificación aritmética binaria con omisión si una palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits, y añadir el índice de par de transformadas codificado a los datos codificados del bloque actual.
En una realización ejemplar de la presente descripción, el módulo de codificación 1720 está configurado además para: codificar el primer bit mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto.
En una realización ejemplar de la presente descripción, el módulo de determinación 1710 está configurado para: determinar el par de transformadas correspondiente al bloque actual y determinar, basándose en un modo de intrapredicción del bloque actual y el par de transformadas, el índice de par de transformadas correspondiente al bloque actual; o determinar el par de transformadas correspondiente al bloque actual, y determinar, basándose en la información de forma del bloque actual y el par de transformadas, el índice de par de transformadas correspondiente al bloque actual.
En la realización de la presente descripción, al codificar el bloque actual, el dispositivo de codificación adquiere el par de transformadas correspondiente al bloque actual para la codificación, en lugar de adquirir directamente un par de transformadas preestablecido. de manera que se puede mejorar el rendimiento de codificación y decodificación. Al codificar el índice de par de transformadas, el dispositivo de codificación codifica el al menos uno de los bits, excepto el primer bit, en la palabra de código binarizada correspondiente al índice de par de transformadas mediante la codificación aritmética binaria con omisión, y para el al menos un bit, no hay necesidad de almacenar el modelo de contexto. Por lo tanto, se puede ahorrar espacio de memoria. Además, para el al menos un bit, se adopta la codificación aritmética binaria con omisión en lugar de CABAC. de manera que también se puede reducir la complejidad de codificación y decodificación.
Basándose en el mismo concepto técnico, una realización de la presente descripción da a conocer además un dispositivo de decodificación. Como se muestra en la figura 18, el dispositivo de decodificación incluye: un módulo de adquisición 1810, configurado para adquirir datos codificados de un bloque actual, adquirir un índice de par de transformadas a partir de los datos codificados y adquirir un modo de intrapredicción del bloque actual o información de forma del bloque actual; y un módulo de determinación 1820, configurado para determinar, en función del modo de intrapredicción del bloque actual y el índice de par de transformadas, un par de transformadas correspondiente al bloque actual, o determinar, basándose en la información de forma del bloque actual y el índice de par de transformadas, el par de transformadas correspondiente al bloque actual, en el que el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
En una realización ejemplar de la presente descripción, el módulo de determinación 1820 está configurado para: determinar que el par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice del par de transformadas es un primer índice y un número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido; determinar que el par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice del par de transformadas es un primer índice y el número de modo del modo de intrapredicción del bloque actual es mayor que un valor preestablecido; determinar que el par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice del par de transformadas es un segundo índice y el número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido; o determinar que el par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice del par de transformadas es un segundo índice y el número de modo del modo de intrapredicción del bloque actual es mayor que un valor preestablecido.
En una realización ejemplar de la presente descripción, el módulo de determinación 1820 está configurado para: determinar que el par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice de par de transformadas es un primer índice y la información de forma del bloque actual satisface una condición de restricción de forme preestablecida; determinar que el par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice de par de transformadas es un primer índice y la información de forma del bloque actual no satisface una condición de restricción de forma preestablecida; determinar que el par de transformadas correspondiente al bloque actual es un segundo par de transformadas si el índice de par de transformadas es un segundo índice y la información de forma del bloque actual satisface una condición de restricción de forma preestablecida; o determinar que el par de transformadas correspondiente al bloque actual es un primer par de transformadas si el índice de par de transformadas es un segundo índice y la información de forma del bloque actual no satisface una condición de restricción de forma preestablecido.
En una realización ejemplar de la presente descripción, donde un primer bit de una palabra de código binarizada correspondiente al índice de par de transformadas se decodifica mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto.
En una realización ejemplar de la presente descripción, la palabra de código binarizada correspondiente al índice de par de transformadas incluye una pluralidad de bits. donde por lo menos uno de los bits, excepto el primer bit, entre la pluralidad de bits es decodificado mediante codificación aritmética binaria con omisión.
Basándose en el mismo concepto técnico, una realización de la presente descripción da a conocer además un dispositivo de codificación. Como se muestra en la figura 19, el dispositivo de codificación incluye: un módulo de adquisición 1910, configurado para adquirir un modo de intrapredicción de un bloque actual y un par de transformadas correspondiente al bloque actual, o adquirir información de forma del bloque actual y el par de transformadas correspondiente al bloque actual; un módulo de determinación 1920, configurado para determinar, basándose en el modo de intrapredicción del bloque actual y el par de transformadas correspondiente al bloque actual, un índice de par de transformadas correspondiente al bloque actual, o determinar, basándose en la información de forma del bloque actual y el par de transformadas correspondiente al bloque actual, el índice de par de transformadas correspondiente al bloque actual; y un módulo de codificación 1930, configurado para codificar el índice de par de transformadas y añadir el índice de par de transformadas codificado a los datos codificados del bloque actual.
En una realización ejemplar de la presente descripción, el módulo de determinación 1920 está configurado para: determinar que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un primer par de transformadas y un número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido; determinar que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un segundo par de transformadas y un número de modo del modo de intrapredicción del bloque actual es mayor que un valor preestablecido; determinar que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es un segundo par de transformadas y un número de modo del modo de intrapredicción del bloque actual es menor o igual a un valor preestablecido; o determinar que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es un primer par de transformadas y un número de modo del modo de intrapredicción del bloque actual es mayor que un valor preestablecido.
En una realización ejemplar de la presente descripción, el módulo de determinación 1920 está configurado para: determinar que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un primer par de transformadas y la información de forma del bloque actual satisface una condición de restricción de forma preestablecida; determinar que el índice de par de transformadas correspondiente al bloque actual es un primer índice si el par de transformadas es un segundo par de transformadas y la información de forma del bloque actual no satisface una condición de restricción de forma preestablecida; determinar que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es un segundo par de transformadas y la información de forma del bloque actual satisface una condición de restricción de forma preestablecida; o determinar que el índice de par de transformadas correspondiente al bloque actual es un segundo índice si el par de transformadas es un primer par de transformadas y la información de forma del bloque actual no satisface una condición de restricción de forma preestablecida.
En una realización ejemplar de la presente descripción, el módulo de codificación 1930 está configurado para: codificar el índice de par de transformadas sometiendo un primer bit de una palabra de código binarizada correspondiente al índice de par de transformadas a codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto.
En una realización ejemplar de la presente descripción, el módulo de codificación 1930 está configurado para: codificar al menos uno de los bits, excepto un primer bit, de entre una pluralidad de bits mediante codificación aritmética binaria con omisión si una palabra de código binarizada correspondiente al índice de par de transformadas incluye la pluralidad de bits.
En la realización de la presente descripción, al realizar la codificación, el dispositivo de codificación selecciona el núcleo de transformada basándose en el modo de intrapredicción del bloque actual o en la información de forma del bloque actual en lugar de en un par de transformadas preestablecido y, en consecuencia, cuando se realiza la decodificación se adopta asimismo el modo de intrapredicción del bloque actual o la información de forma del bloque actual en lugar del par de transformadas preestablecido. De este modo, se puede mejorar el rendimiento de codificación y decodificación.
Debe observarse que el dispositivo de decodificación según la realización anterior solo toma la división de todos los módulos funcionales como un ejemplo de explicación al realizar la decodificación. En la práctica, las funciones pueden implementarse mediante diferentes módulos funcionales según sea necesario. Es decir, el dispositivo de decodificación incluye diferentes módulos funcionales para implementar la totalidad o parte de las funciones descritas anteriormente. Además, el dispositivo de decodificación según la realización anterior y el método de decodificación se basan en el mismo concepto, y un proceso de implementación específico del dispositivo de decodificación se detalla en la realización de método y no se repite aquí la descripción.
Debe observarse que el dispositivo de codificación según la realización anterior solo toma la división de todos los módulos funcionales como un ejemplo de explicación al realizar la codificación. En la práctica, las funciones pueden implementarse mediante diferentes módulos funcionales según sea necesario. Es decir, el dispositivo de codificación incluye diferentes módulos funcionales para implementar la totalidad o parte de las funciones descritas anteriormente. Además, el dispositivo de codificación según la realización anterior y el método de codificación se basan en el mismo concepto, y un proceso de implementación específico del dispositivo de codificación se detalla en la realización de método y no se repite aquí la descripción.
la figura 20 es un diagrama estructural de otro dispositivo más de codificación según una realización de la presente descripción; El dispositivo de codificación 2000 puede tener diferencias relativamente grandes debido a diferentes configuraciones o rendimiento, y puede incluir al menos un procesador 2001 y al menos una memoria 2002. La memoria 2002 almacena al menos una instrucción en la misma. Al cargar y ejecutar la al menos una instrucción, se hace que el procesador 2001 realice las etapas del método de codificación descrito anteriormente.
Lla figura 21 es un diagrama estructural de otro dispositivo más de decodificación según una realización de la presente descripción; El dispositivo de decodificación 2100 puede tener diferencias relativamente grandes debido a diferentes configuraciones o rendimiento, y puede incluir al menos un procesador 2101 y al menos una memoria 2102. La memoria 2102 almacena al menos una instrucción en la misma. Al cargar y ejecutar la al menos una instrucción, se hace que el procesador 2101 realice las etapas del método de decodificación descrito anteriormente. Una realización de la presente descripción da a conocer además un medio de almacenamiento legible por ordenador. El medio de almacenamiento almacena un programa informático en el mismo. El programa informático, cuando se ejecuta en un procesador, hace que el procesador lleve a cabo las etapas del método de codificación y el método de decodificación descritos anteriormente.
Una realización de la presente descripción da a conocer además un dispositivo de codificación. El dispositivo de codificación incluye un procesador y una memoria. La memoria está configurada para almacenar un programa informático. Cuando ejecuta el programa, se provoca que el procesador realice las etapas del método de codificación descrito anteriormente.
Una realización de la presente descripción da a conocer además un dispositivo de decodificación. El dispositivo de decodificación incluye un procesador y una memoria. La memoria está configurada para almacenar un programa informático. Cuando ejecuta el programa, se provoca que el procesador realice las etapas del método de decodificación descrito anteriormente.
Una realización de la presente descripción da a conocer además un sistema de codificación y decodificación. El sistema incluye un dispositivo de codificación y un dispositivo de decodificación.
El dispositivo de codificación es el dispositivo de codificación descrito anteriormente.
El dispositivo de decodificación es el dispositivo de decodificación descrito anteriormente.
Un experto en la materia puede entender que la totalidad o parte de las etapas de las realizaciones anteriores pueden realizarse mediante hardware, o hardware relevante instruido por un programa, y el programa puede almacenarse en un medio de almacenamiento legible por ordenador, tal como una memoria de solo lectura, un disco o un disco óptico.
Claims (13)
1. Un método de decodificación, que comprende:
adquirir datos codificados de un bloque actual;
determinar que la altura y la anchura del bloque actual son menores o iguales a un umbral preestablecido y que el bloque actual es un bloque de luminancia;
adquirir un índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados, en el que, en el caso de que el índice del par de transformadas comprenda cinco valores de índice, un par de transformadas mapeado por el índice de par de transformadas es (DCT2, DCT2) en respuesta a que el valor de índice del índice del par de transformadas es un primer valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DST7, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un segundo valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un tercer valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DST7, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un cuarto valor de índice; y el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un quinto valor de índice; en el que una palabra de código binarizada correspondiente al índice de par de transformadas ocupa como máximo cuatro bits y un primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas tiene por objeto indicar si se selecciona el par de transformadas mapeado por el primer valor de índice, en el que el par de transformadas (DCT2, DCT2) mapeado por el primer valor de índice se selecciona en respuesta a que un valor del primer bit es un primer valor, y el par de transformadas mapeado por uno de los valores de índice restantes se selecciona en respuesta a que el valor del primer bit es un segundo valor; y en el que el primer valor es 0 y el segundo valor es 1, el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas se decodifica mediante codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto, otros bits se decodifican mediante codificación aritmética binaria adaptativa basada en contexto (CABAC) en respuesta a que la palabra de código binarizada correspondiente al índice de par de transformadas comprende además los otros bits además del primer bit; y
determinar el par de transformadas correspondiente al bloque actual basándose en el índice de par de transformadas, en el que el par de transformadas comprende un núcleo de transformada horizontal y un núcleo de transformada vertical.
2. El método de decodificación según la reivindicación 1, en el que determinar el par de transformadas correspondiente al bloque actual basándose en el índice de par de transformadas comprende:
determinar, basándose en el índice de par de transformadas correspondiente al bloque actual y una relación correspondiente preconfigurada entre el índice de par de transformadas y el par de transformadas, el par de transformadas correspondiente al bloque actual, en el que la relación correspondiente comprende una relación de mapeo entre cinco valores de índice del índice de par de transformadas y cinco pares de transformadas.
3. El método de decodificación según la reivindicación 1 o 2, en el que, en respuesta a que el valor del primer bit es el segundo valor, el primer bit pretende indicar que se selecciona el par de transformadas mapeado por uno de los valores de índice restantes, siendo el par de transformadas mapeado por uno de los valores de índice restantes uno de los cuatro pares de transformadas (DST7, DST7), (DCT8, d St7), (DsT7, DCT8) y (DCT8, DCT8); donde
un valor de un segundo bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DST7) o uno de (DCT8, DST7), (DST7, DCT8) y (DCT8 DCT8);
un valor de un tercer bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DCT8, DST7) o uno de (DST7, DCT8) y (DCT8 DCT8);
un valor de un cuarto bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DCT8) o (DCT8 DCT8);
4. El método de decodificación según cualquier reivindicación anterior, en el que determinar el par de transformadas correspondiente al bloque actual basándose en el índice de par de transformadas comprende:
determinar que el par de transformadas correspondiente al bloque actual es (DCT2, DCT2) en respuesta a que el primer bit es 0;
determinar que el par de transformadas correspondiente al bloque actual es (DST7, DST7) en respuesta a que el primer bit es 1 y un segundo bit es 0;
determinar que el par de transformadas correspondiente al bloque actual es (DCT8, DST7) en respuesta a que el primer bit es 1, el segundo bit es 1 y un tercer bit es 0;
determinar que el par de transformadas correspondiente al bloque actual es (DCT8, DST7) en respuesta a que el primer bit es 1, el segundo bit es 1, el tercer bit es 1 y un cuarto bit es 0; y
determinar que el par de transformadas correspondiente al bloque actual es (DCT8, DCT8) en respuesta a que el primer bit es 1, el segundo bit es 1, el tercer bit es 1 y un cuarto bit es 1.
5. El método de decodificación según cualquier reivindicación anterior, en el que, antes de adquirir el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados, el método de decodificación comprende además:
identificar si los datos codificados de un dispositivo de codificación llevan un indicador objetivo, donde el indicador objetivo pretende indicar que la transformada multinúcleo explícita está habilitada.
6. El método de decodificación según cualquier reivindicación anterior, en el que adquirir el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados comprende:
adquirir el índice de par de transformadas correspondiente al bloque actual a partir de los datos codificados en respuesta a determinar que el bloque actual es el bloque de luminancia y que la altura y la anchura del bloque actual son menores o iguales a 32; y
determinar directamente, en lugar de decodificar, el índice del par de transformadas correspondiente al bloque actual (DCT2, DCT2) como el par de transformadas seleccionado por el bloque actual en respuesta a la determinación de que el bloque actual no es el bloque de luma o que la altura o la anchura del bloque actual son superiores a 32.
7. El método de decodificación según cualquier reivindicación anterior, en el que el primer valor del primer bit de la palabra de código binarizada correspondiente al índice del par de transformadas es 0, y el segundo valor del primer bit de la palabra de código binarizada correspondiente al índice del par de transformadas es 1; y
la palabra de código binarizada del primer valor de índice es 0; la palabra de código binarizada del segundo valor de índice es 10; la palabra de código binarizada del tercer valor de índice es 110; la palabra de código binarizada del cuarto valor de índice es 1110; y la palabra de código binarizada del quinto valor de índice es 1111.
8. Un método de codificación, que comprende:
determinar que la altura y la anchura de un bloque actual son menores o iguales a un umbral preestablecido y que el bloque actual es un bloque de luminancia;
determinar un par de transformadas correspondiente al bloque actual y un índice de par de transformadas correspondiente al bloque actual, en el que, en el caso de que el índice del par de transformadas comprenda cinco valores de índice, el par de transformadas mapeado por el índice de par de transformadas es (DCT2, DCT2) en respuesta a que el valor de índice del índice del par de transformadas es un primer valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DST7, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un segundo valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DST7) en respuesta a que el valor de índice del índice del par de transformadas es un tercer valor de índice; el par de transformadas mapeado por el índice del par de transformadas es (DST7, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un cuarto valor de índice; y el par de transformadas mapeado por el índice del par de transformadas es (DCT8, DCT8) en respuesta a que el valor de índice del índice del par de transformadas es un quinto valor de índice; y en el que una palabra de código binarizada correspondiente al índice de par de transformadas ocupa como máximo cuatro bits y un primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas tiene por objeto indicar si se selecciona el par de transformadas mapeado por el primer valor de índice, en el que el par de transformadas (DCT2, DCT2) mapeado por el primer valor de índice se selecciona en respuesta a que un valor del primer bit es un primer valor, y el par de transformadas mapeado por uno de los valores de índice restantes se selecciona en respuesta a que el valor del primer bit es un segundo valor, el primer valor es 0 y el segundo valor es 1; y
codificar el índice de par de transformadas sometiendo el primer bit de la palabra de código binarizada correspondiente al índice de par de transformadas a codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto, y sometiendo otros bits de la palabra de código binarizada correspondiente al índice de par de transformadas a codificación aritmética binaria adaptativa basada en contexto, en base a un modelo de contexto en respuesta a que la palabra de código binarizada correspondiente al índice de par de transformadas comprende además los otros bits, además del primer bit, y añadiendo el índice del par de transformadas codificado a los datos codificados del bloque actual.
9. El método de codificación según la reivindicación 8, en el que determinar el par de transformadas correspondiente al bloque actual y el índice de par de transformadas correspondiente al bloque actual, comprende:
determinar el par de transformadas correspondiente al bloque actual; y
determinar, basándose en el índice de par de transformadas y una relación correspondiente preconfigurada entre el índice de par de transformadas y el par de transformadas, el índice de par de transformadas correspondiente al bloque actual, en el que la relación correspondiente comprende una relación de mapeo entre cinco valores de índice del índice de par de transformadas y cinco pares de transformadas.
10. El método de codificación según la reivindicación 8 o 9, en el que, en respuesta a que el valor del primer bit es el segundo valor, el primer bit pretende indicar que se selecciona el par de transformadas mapeado por uno de los valores de índice restantes, siendo el par de transformadas mapeado por uno de los valores de índice restantes uno de los cuatro pares de transformadas (DST7, DST7), (DCT8, d St7), (DsT7, DCT8) y (DCT8, DCT8); en el que un valor de un segundo bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DST7) o uno de (DCT8, DST7), (DST7, DCT8) y (DCT8 DCT8);
un valor de un tercer bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DCT8, DST7) o uno de (DST7, DCT8) y (DCT8 DCT8);
un valor de un cuarto bit de la palabra de código binarizada está destinado a identificar si el par de transformadas seleccionado por el bloque actual es (DST7, DCT8) o (DCT8 DCT8);
y en el que el primer bit de la palabra de código binarizada es 0 en respuesta a que el par de transformadas correspondiente al bloque actual es (DCT2, DCT2);
el primer bit de la palabra de código binarizada es 1 y el segundo bit es 0 en respuesta a que el par de transformadas correspondiente al bloque actual es (DST7, DST7);
el primer bit de la palabra de código binarizada es 1, el segundo bit es 1 y el tercer bit es 0 en respuesta a que el par de transformadas correspondiente al bloque actual es (DCT8, DST7);
el primer bit de la palabra de código binarizada es 1, el segundo bit es 1, el tercer bit es 1 y el cuarto bit es 0 en respuesta a que el par de transformadas correspondiente al bloque actual es (DST7, DCT8); y
el primer bit de la palabra de código binarizada es 1, el segundo bit es 1, el tercer bit es 1 y el cuarto bit es 1 en respuesta a que el par de transformadas correspondiente al bloque actual es (DCT8, DCT8).
11. Un decodificador, que comprende un procesador y una memoria que almacena al menos una instrucción ejecutable por el procesador; en el que se provoca que el procesador, al cargar y ejecutar la al menos una instrucción, realice el método de decodificación tal como se define en cualquiera de las reivindicaciones 1 a 7.
12. Un codificador, que comprende un procesador y una memoria que almacena al menos una instrucción ejecutable por el procesador; en el que se provoca que el procesador, al cargar y ejecutar la al menos una instrucción, realice el método de codificación tal como se define en cualquiera de las reivindicaciones 8 a 10.
13. Un medio de almacenamiento legible por ordenador no transitorio, que almacena al menos una instrucción ejecutable por un procesador; en el que la al menos una instrucción, cuando es cargada y ejecutada por el procesador, hace que el procesador lleve a cabo el método de decodificación tal como se define en cualquiera de las reivindicaciones 1 a 7 o el método de codificación tal como se define en cualquiera de las reivindicaciones 8 a 10.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910177580.4A CN111669580B (zh) | 2019-03-09 | 2019-03-09 | 进行编码和解码的方法、解码端、编码端和系统 |
| PCT/CN2020/078486 WO2020182102A1 (zh) | 2019-03-09 | 2020-03-09 | 进行编码和解码的方法、解码端和编码端 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2982953T3 true ES2982953T3 (es) | 2024-10-21 |
Family
ID=69229943
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20769784T Active ES2982953T3 (es) | 2019-03-09 | 2020-03-09 | Métodos para realizar codificación y decodificación, extremo de decodificación y extremo de codificación |
Country Status (13)
| Country | Link |
|---|---|
| US (2) | US20220070458A1 (es) |
| EP (1) | EP3913917B1 (es) |
| JP (2) | JP7286783B2 (es) |
| KR (1) | KR102840218B1 (es) |
| CN (22) | CN113747158A (es) |
| CA (2) | CA3131035C (es) |
| ES (1) | ES2982953T3 (es) |
| FI (1) | FI3913917T3 (es) |
| MX (1) | MX2021010615A (es) |
| PH (1) | PH12021552016A1 (es) |
| PL (1) | PL3913917T3 (es) |
| SG (1) | SG11202109129UA (es) |
| WO (2) | WO2020182104A1 (es) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113747158A (zh) * | 2019-03-09 | 2021-12-03 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、解码端、编码端和系统 |
| WO2021062768A1 (zh) * | 2019-09-30 | 2021-04-08 | 浙江大学 | 一种数据编码、解码方法、设备及存储介质 |
| CN112533000B (zh) * | 2020-10-16 | 2022-08-05 | 腾讯科技(深圳)有限公司 | 视频解码方法、装置、计算机可读介质及电子设备 |
| CN114900703B (zh) * | 2022-03-31 | 2024-07-23 | 中南大学 | 一种通用视频编码系统及数据处理方法 |
| WO2024248598A1 (ko) * | 2023-06-01 | 2024-12-05 | 현대자동차주식회사 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Family Cites Families (58)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100488254C (zh) * | 2005-11-30 | 2009-05-13 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的熵编码方法及解码方法 |
| KR101375668B1 (ko) * | 2008-03-17 | 2014-03-18 | 삼성전자주식회사 | 변환 계수의 부호화, 복호화 방법 및 장치 |
| US9154801B2 (en) * | 2010-09-30 | 2015-10-06 | Texas Instruments Incorporated | Method and apparatus for diagonal scan and simplified coding of transform coefficients |
| CN102238387B (zh) * | 2011-05-25 | 2017-07-18 | 深圳市云宙多媒体技术有限公司 | 一种视频熵编码、熵解码方法、装置 |
| KR20130008119A (ko) * | 2011-07-11 | 2013-01-22 | 주식회사 잉카인터넷 | 파일 변조 검출방법 |
| KR101857107B1 (ko) * | 2011-10-19 | 2018-05-11 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 그 장치 |
| US10390046B2 (en) * | 2011-11-07 | 2019-08-20 | Qualcomm Incorporated | Coding significant coefficient information in transform skip mode |
| JP6134651B2 (ja) * | 2011-12-28 | 2017-05-24 | シャープ株式会社 | 算術復号装置、算術符号化装置および算術復号方法 |
| US8552890B2 (en) * | 2012-01-19 | 2013-10-08 | Sharp Laboratories Of America, Inc. | Lossless coding with different parameter selection technique for CABAC in HEVC |
| AU2014220725B2 (en) * | 2013-02-20 | 2016-11-17 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap |
| US20160044314A1 (en) * | 2014-08-08 | 2016-02-11 | Qualcomm Incorporated | System and method for reusing transform structure for multi-partition transform |
| WO2016190690A1 (ko) * | 2015-05-26 | 2016-12-01 | 엘지전자(주) | 적응적인 분리가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
| WO2017014585A1 (ko) * | 2015-07-21 | 2017-01-26 | 엘지전자(주) | 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
| WO2017061671A1 (ko) * | 2015-10-08 | 2017-04-13 | 엘지전자 주식회사 | 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치 |
| CN105262229A (zh) * | 2015-11-23 | 2016-01-20 | 重庆安迈科技有限公司 | 基于输变电设备的监控方法 |
| KR102859935B1 (ko) * | 2016-02-04 | 2025-09-12 | 삼성전자주식회사 | 크로마 다중 변환에 의한 비디오 복호화 방법 및 장치,크로마 다중 변환에 의한 비디오 부호화 방법 및 장치 |
| CN114422796B (zh) * | 2016-06-24 | 2025-05-02 | 韩国电子通信研究院 | 用于对视频进行编码/解码的方法 |
| US10972733B2 (en) * | 2016-07-15 | 2021-04-06 | Qualcomm Incorporated | Look-up table for enhanced multiple transform |
| US10326986B2 (en) | 2016-08-15 | 2019-06-18 | Qualcomm Incorporated | Intra video coding using a decoupled tree structure |
| CN110546952A (zh) * | 2017-03-21 | 2019-12-06 | Lg电子株式会社 | 图像编码系统中的变换方法和用于该变换方法的设备 |
| US10750181B2 (en) * | 2017-05-11 | 2020-08-18 | Mediatek Inc. | Method and apparatus of adaptive multiple transforms for video coding |
| EP3606078A4 (en) * | 2017-07-04 | 2020-04-29 | Samsung Electronics Co., Ltd. | VIDEO DECODING METHOD AND DEVICE WITH MULTI-CORE TRANSFORMATION AND VIDEO CODING METHOD AND DEVICE WITH MULTI-CORE TRANSFORMATION |
| CA3073674C (en) * | 2017-08-04 | 2022-11-29 | Lg Electronics Inc. | Method and apparatus for configuring transform for video compression |
| WO2019076138A1 (en) * | 2017-10-16 | 2019-04-25 | Huawei Technologies Co., Ltd. | Encoding method and apparatus |
| WO2019172798A1 (en) * | 2018-03-07 | 2019-09-12 | Huawei Technologies Co., Ltd. | Method and apparatus for residual sign prediction in transform domain |
| WO2019190284A1 (ko) * | 2018-03-29 | 2019-10-03 | 엘지전자 주식회사 | 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치 |
| WO2019190283A1 (ko) * | 2018-03-29 | 2019-10-03 | 엘지전자 주식회사 | 저복잡도 연산 dst7을 설계하는 방법 및 장치 |
| CN112532979A (zh) * | 2018-03-31 | 2021-03-19 | 华为技术有限公司 | 图像块编码中的变换方法、解码中的反变换方法及装置 |
| FI3764649T3 (fi) * | 2018-04-01 | 2023-10-19 | Lg Electronics Inc | Videosignaalin prosessointi käyttämällä redusoitua sekundääristä muunnosta |
| US10999604B2 (en) * | 2018-04-13 | 2021-05-04 | Mediatek Inc. | Adaptive implicit transform setting |
| EP4216554B1 (en) * | 2018-06-03 | 2025-03-26 | LG Electronics Inc. | Method and device for processing video signal by using reduced transform |
| US11356702B2 (en) * | 2018-06-06 | 2022-06-07 | Lg Electronics Inc. | Method for performing transform index coding on basis of intra prediction mode, and device therefor |
| AU2018204786B2 (en) * | 2018-06-29 | 2025-05-29 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a transformed block of video samples |
| CN116347076B (zh) * | 2018-07-02 | 2025-07-22 | Oppo广东移动通信有限公司 | 对视频信号进行编解码的设备和发送图像的数据的设备 |
| AU2018217333B2 (en) * | 2018-08-17 | 2025-04-24 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a transformed block of video samples |
| WO2020046086A1 (ko) * | 2018-09-02 | 2020-03-05 | 엘지전자 주식회사 | 영상 신호를 처리하기 위한 방법 및 장치 |
| CN115426493B (zh) * | 2018-09-02 | 2024-05-31 | Lg电子株式会社 | 对视频信号进行编码的方法和计算机可读介质 |
| KR20250133453A (ko) * | 2018-09-02 | 2025-09-05 | 엘지전자 주식회사 | 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치 |
| WO2020050651A1 (ko) * | 2018-09-05 | 2020-03-12 | 엘지전자 주식회사 | 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치 |
| CN116055718B (zh) * | 2018-09-05 | 2025-12-26 | Lg电子株式会社 | 设备对图像信号进行编码/解码的方法及比特流发送方法 |
| KR102858206B1 (ko) * | 2018-09-07 | 2025-09-11 | 삼성전자주식회사 | 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치 |
| US11218694B2 (en) * | 2018-09-24 | 2022-01-04 | Qualcomm Incorporated | Adaptive multiple transform coding |
| WO2020064732A1 (en) * | 2018-09-25 | 2020-04-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Transformation selection by transmitting a transformation set indicator for use in video coding |
| EP3664449A1 (en) * | 2018-12-05 | 2020-06-10 | InterDigital VC Holdings, Inc. | Method and device for picture encoding and decoding |
| MX2021007633A (es) * | 2018-12-28 | 2021-08-11 | Ericsson Telefon Ab L M | Metodo y aparato para seleccionar seleccion de transformacion en un codificador y decodificador. |
| ES3001382T3 (en) * | 2019-01-11 | 2025-03-05 | Huawei Tech Co Ltd | Encoder, decoder and corresponding methods using dct2 enabled high level flag |
| KR102657248B1 (ko) * | 2019-01-12 | 2024-04-25 | (주)휴맥스 | 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치 |
| CN117915091B (zh) * | 2019-01-12 | 2026-03-31 | Oppo广东移动通信有限公司 | 在图像编译系统中使用残差信息的图像解码方法及其装置 |
| KR102914522B1 (ko) * | 2019-01-14 | 2026-01-20 | 로즈데일 다이나믹스 엘엘씨 | 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치 |
| EP3703376A4 (en) * | 2019-01-15 | 2020-09-02 | LG Electronics Inc. -1- | IMAGE CODING METHOD AND DEVICE USING A TRANSFORMATION JUMP FLAG |
| CN111225212B (zh) * | 2019-01-18 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 一种确定视频块的色度信息的方法及装置 |
| US10986339B2 (en) * | 2019-02-08 | 2021-04-20 | Tencent America LLC | Method and apparatus for harmonization between transform skip mode and multiple transform selection |
| JP7148739B2 (ja) * | 2019-03-04 | 2022-10-05 | エルジー エレクトロニクス インコーポレイティド | 映像コーディングシステムにおいて文脈コーディングされたサインフラグを使用する映像デコーディング方法及びその装置 |
| CN113747158A (zh) * | 2019-03-09 | 2021-12-03 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、解码端、编码端和系统 |
| FI4415358T3 (fi) * | 2019-03-26 | 2026-02-24 | Beijing Xiaomi Mobile Software Co Ltd | Muunnospohjainen kuvankoodaus |
| JP7522135B2 (ja) * | 2019-05-11 | 2024-07-24 | 北京字節跳動網絡技術有限公司 | 複数のイントラ符号化方法の相互作用 |
| RS67143B1 (sr) * | 2019-06-19 | 2025-09-30 | Lg Electronics Inc | Signalizacija informacija koje određuju skup jezgara transformacije u kodiranju slike |
| HRP20240826T1 (hr) * | 2019-06-19 | 2024-11-22 | Lg Electronics Inc. | KODIRANJE INFORMACIJA O TRANSFORMACIJSKOM KERNEL SET-u |
-
2019
- 2019-03-09 CN CN202111007265.0A patent/CN113747158A/zh not_active Withdrawn
- 2019-03-09 CN CN202111005659.2A patent/CN113596446A/zh not_active Withdrawn
- 2019-03-09 CN CN201910177580.4A patent/CN111669580B/zh active Active
- 2019-03-09 CN CN202110644719.9A patent/CN113365055B/zh active Active
- 2019-03-09 CN CN202111005658.8A patent/CN113596445B/zh active Active
- 2019-03-09 CN CN202111007260.8A patent/CN113747157A/zh not_active Withdrawn
- 2019-03-09 CN CN202110644745.1A patent/CN113365058B/zh active Active
- 2019-03-09 CN CN202111007273.5A patent/CN113905232A/zh not_active Withdrawn
- 2019-03-09 CN CN202111007258.0A patent/CN113747156A/zh not_active Withdrawn
- 2019-03-09 CN CN201911059312.9A patent/CN110708550B/zh active Active
- 2019-03-09 CN CN202111007271.6A patent/CN113905231A/zh not_active Withdrawn
- 2019-03-09 CN CN202110642812.6A patent/CN113365049B/zh active Active
- 2019-03-09 CN CN202110642800.3A patent/CN113365048B/zh active Active
- 2019-03-09 CN CN202110644715.0A patent/CN113365053B/zh active Active
- 2019-03-09 CN CN202110642813.0A patent/CN113365050B/zh active Active
- 2019-03-09 CN CN202110644714.6A patent/CN113365052B/zh active Active
- 2019-03-09 CN CN202110644727.3A patent/CN113365056B/zh active Active
- 2019-03-09 CN CN202110642815.XA patent/CN113365051B/zh active Active
- 2019-03-09 CN CN202110644718.4A patent/CN113365054B/zh active Active
- 2019-03-09 CN CN202111007270.1A patent/CN113596447B/zh active Active
- 2019-03-09 CN CN202111007275.4A patent/CN113596448A/zh not_active Withdrawn
- 2019-03-09 CN CN202110644728.8A patent/CN113365057B/zh active Active
-
2020
- 2020-03-09 PL PL20769784.8T patent/PL3913917T3/pl unknown
- 2020-03-09 MX MX2021010615A patent/MX2021010615A/es unknown
- 2020-03-09 CA CA3131035A patent/CA3131035C/en active Active
- 2020-03-09 FI FIEP20769784.8T patent/FI3913917T3/fi active
- 2020-03-09 CA CA3221507A patent/CA3221507A1/en active Pending
- 2020-03-09 SG SG11202109129UA patent/SG11202109129UA/en unknown
- 2020-03-09 WO PCT/CN2020/078488 patent/WO2020182104A1/zh not_active Ceased
- 2020-03-09 WO PCT/CN2020/078486 patent/WO2020182102A1/zh not_active Ceased
- 2020-03-09 ES ES20769784T patent/ES2982953T3/es active Active
- 2020-03-09 KR KR1020217026567A patent/KR102840218B1/ko active Active
- 2020-03-09 JP JP2021549391A patent/JP7286783B2/ja active Active
- 2020-03-09 PH PH1/2021/552016A patent/PH12021552016A1/en unknown
- 2020-03-09 US US17/432,887 patent/US20220070458A1/en active Pending
- 2020-03-09 EP EP20769784.8A patent/EP3913917B1/en active Active
-
2023
- 2023-05-24 JP JP2023085664A patent/JP7536386B2/ja active Active
-
2024
- 2024-07-09 US US18/767,880 patent/US20240364883A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3044708T3 (en) | Coding and decoding methods, coding and decoding devices | |
| US20240364883A1 (en) | Coding and decoding methods, coder and decoder, and storage medium | |
| RU2777923C1 (ru) | Способы кодирования и декодирования, кодер и декодер, и носитель данных | |
| RU2795462C2 (ru) | Способы кодирования и декодирования, кодер и декодер, и носитель данных | |
| HK40036903A (en) | Coding method and decoding method, decoding terminal, coding terminal and system | |
| HK40036903B (en) | Coding method and decoding method, decoding terminal, coding terminal and system |