ES3044708T3 - Coding and decoding methods, coding and decoding devices - Google Patents
Coding and decoding methods, coding and decoding devicesInfo
- Publication number
- ES3044708T3 ES3044708T3 ES20770441T ES20770441T ES3044708T3 ES 3044708 T3 ES3044708 T3 ES 3044708T3 ES 20770441 T ES20770441 T ES 20770441T ES 20770441 T ES20770441 T ES 20770441T ES 3044708 T3 ES3044708 T3 ES 3044708T3
- Authority
- ES
- Spain
- Prior art keywords
- subblock
- current block
- pair
- transform
- height
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
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 invención se refiere al campo de las técnicas de audio y vídeo. Se proporcionan métodos para realizar codificación y decodificación, un terminal de codificación, un terminal de decodificación y un sistema. El método comprende: un terminal de decodificación que adquiere los datos codificados de un bloque actual; si el bloque actual cumple una condición de subpartición y se determina que activa la subpartición intratrama según los datos codificados del bloque actual, se determinan, según la información de subpartición del bloque actual, la información de dimensión y forma de cada subpartición respectiva; si cada subpartición tiene una anchura que cumple una primera condición límite de dimensión y una forma que cumple una primera condición, se determina que DST7 es un núcleo de transformación horizontal en un par de núcleos de transformación correspondiente a la subpartición; si cada subpartición tiene una altura que cumple una segunda condición límite de dimensión y una forma que cumple una segunda condición, se determina que DST7 es un núcleo de transformación vertical en el par de núcleos de transformación correspondiente a la subpartición. y realizar operaciones de transformación inversa sobre datos cuantificados inversamente de las respectivas subparticiones, según los pares de núcleos de transformación correspondientes a dichas subparticiones. La presente divulgación puede mejorar el rendimiento de codificación y decodificación. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Métodos de codificación y decodificación, dispositivos de codificación y decodificación
[0003] Campo técnico
[0004] La presente divulgación se refiere al campo de las tecnologías de audio y vídeo, en particular, se refiere a métodos de codificación y decodificación y a dispositivos de codificación y decodificación.
[0005] Antecedentes
[0006] 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, cuando un bloque actual satisface una condición de partición intra subbloque, los subbloques del bloque actual también pueden predecirse, transformarse, cuantificarse y codificarse por entropía, respectivamente. Un dispositivo de codificación determina si realizar una codificación de predicción, transformada, cuantificación y entropía basándose en el bloque actual o los subbloques del bloque actual según los criterios de optimización de compresión (RDO).
[0007] D1 (XP 30200632 A) describe la selección de transformada adaptativa a la forma. El enfoque propuesto selecciona transformadas utilizadas en la codificación residual basándose en la forma de la unidad de transformada. En la configuración propuesta de la herramienta, la transformada predeterminada es DST7 para la dimensión más corta de un bloque de transformada y DCT2 en caso contrario. Las transformadas predeterminadas se utilizan para intrabloques cuando el indicador de MTS es 0 o cuando MTS está desactivada. DST7 también se usa para los intrabloques Luma cuadrados si MTS está desactivada. La adaptabilidad solo está habilitada para los intrabloques y solo si el bloque utiliza predicción espacial (deshabilitada para los bloques croma predichos entre componentes), y cuando la dimensión de luma más corta es inferior a 32 (Prueba 3. la) o 16 (Prueba 3.1b).
[0008] D2 (XP 30213662 A) describe una MTS de 2 modos con una selección de transformada adaptativa de forma, que propone reducir los modos de MTS (selección de transformada múltiple) de 5 a 2 y aplicar el aspecto de adaptabilidad de forma del CE6.3.1 además de los dos modos de MTS. Además, se propone permitir la división de CU ternaria y binaria para CU de 64x64 en intrasegmentos, como ya se ha hecho en intersegmentos. Se notifica que la configuración propuesta tiene un impacto en la tasa de ED del -0,39 %, el -0,03 % y el 0,07 % para las configuraciones de IA, RA y LDE, respectivamente. Los tiempos de ejecución de codificador se notifican como 94 %, 96 % y 97 % en esas categorías. Además, se notifica que el tiempo de ejecución de la codificación de IA más larga se reduce al 71 % en esta configuración.
[0009] Compendio
[0010] Para resolver los problemas de la técnica relacionada, las realizaciones de la presente divulgación proporcionan un método de codificación, un método de decodificación, un dispositivo de codificación y un dispositivo de decodificación. Las soluciones técnicas se resumen como sigue.
[0011] En un primer aspecto, se proporciona un método de decodificación según la reivindicación independiente 1. En un segundo aspecto, se proporciona un método de codificación según la reivindicación independiente 7. En un tercer aspecto, se proporciona un decodificador según la reivindicación independiente 8.
[0012] En un cuarto aspecto, se proporciona un codificador según la reivindicación independiente 9.
[0013] En un quinto aspecto, se proporciona un dispositivo de decodificación según la reivindicación independiente 10.
[0014] En un sexto aspecto, se proporciona un codificador según la reivindicación independiente 11.
[0015] En un séptimo aspecto, se proporciona un medio de almacenamiento no transitorio legible por ordenador según la reivindicación independiente 12.
[0016] Breve descripción de los dibujos
[0017] La FIG. 1 es un diagrama esquemático que muestra tipos de partición de un bloque según una realización de la presente divulgación;
[0018] la FIG. 2 es un diagrama esquemático que muestra que una CTU se particiona en CU según una realización de la presente divulgación;
[0019] la FIG. 3 es un diagrama esquemático que muestra tres bloques de uso común según una realización de la presente divulgación;
[0020] la FIG. 4 es un diagrama esquemático de direcciones cuando se realiza intrapredicción según una realización de la presente divulgación;
[0021] la FIG. 5 es un diagrama esquemático de ajuste basándose en una forma de bloque según una realización de la presente divulgación;
[0022] la FIG. 6 es un diagrama esquemático de codificación según una realización de la presente divulgación; la FIG. 7 es un diagrama esquemático de una señal distribuida según una realización de la presente divulgación;
[0023] la FIG. 8 es un diagrama esquemático de distribución de datos residuales según una realización de la presente divulgación;
[0024] la FIG. 9 es un diagrama de flujo de un método de decodificación según una realización de la presente divulgación;
[0025] la FIG. 10 es un diagrama de flujo de un método de codificación según una realización de la presente divulgación;
[0026] la FIG. 11 es un diagrama esquemático de subbloques de partición según una realización de la presente divulgación;
[0027] la FIG. 12 es un diagrama de flujo de otro método de decodificación según una realización de la presente divulgación;
[0028] la FIG. 13 es un diagrama de flujo de otro método de codificación según una realización de la presente divulgación;
[0029] la FIG. 14 es un diagrama estructural esquemático de un dispositivo de decodificación según una realización de la presente divulgación;
[0030] la FIG. 15 es un diagrama estructural esquemático de un dispositivo de codificación según una realización de la presente divulgación;
[0031] la FIG. 16 es un diagrama estructural esquemático de otro dispositivo de decodificación según una realización de la presente divulgación;
[0032] la FIG. 17 es un diagrama estructural esquemático de otro dispositivo de codificación según una realización de la presente divulgación;
[0033] la FIG. 18 es un diagrama estructural esquemático de otro dispositivo de codificación más según una realización de la presente divulgación; y
[0034] la FIG. 19 es un diagrama estructural esquemático de otro dispositivo de decodificación más según una realización de la presente divulgación.
[0035] Descripción detallada
[0036] Para descripciones más claras de los objetivos, las soluciones técnicas y las ventajas de la presente divulgación, las realizaciones de la presente divulgación se describen con más detalle a continuación haciendo referencia a los dibujos adjuntos.
[0037] En la técnica relacionada, durante la transformada, se selecciona un par de transformadas preestablecido (el par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical), y los
subbloques obtenidos particionando el bloque actual se someten a transformada para adquirir un coeficiente de transformada. Por consiguiente, una transformada inversa correspondiente a la transformada se realiza en un dispositivo de decodificación, es decir, seleccionando el par de transformadas preestablecido usado en la codificación y realizando la transformada inversa en los subbloques obtenidos al particionar el bloque actual para adquirir datos residuales correspondientes a los subbloques.
[0039] De esta manera, dado que el mismo subbloque se transforma usando diferentes pares de transformadas, el efecto de compresión es bastante diferente, las transformadas de todos los subbloques usando el mismo par de transformadas preestablecido puede resultar en un rendimiento de codificación y decodificación deficiente.
[0040] La presente divulgación proporciona un método de codificación y un método de decodificación. El método de codificación puede ser realizado por 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.
[0042] 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 datos requeridos y 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.
[0044] Los conceptos posiblemente involucrados en las realizaciones de la presente divulgación se explican primero antes de que se describan las realizaciones.
[0046] Núcleo de transformada:
[0048] 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 una 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.
[0050] Tabla 1
[0053]
[0056] Transformada directa y transformada inversa:
[0058] 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 modo que se suprime eficazmente un componente de alta frecuencia y se conservan los componentes de frecuencia intermedia y frecuencia baja, consiguiendo de este modo el efecto
de compresión. Esto se expresa en una matriz con la fórmula (1):
[0061]
[0064] en donde M representa una anchura de un bloque residual, N representa una altura de un 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 dimensional de M*M y una matriz de transformada dimensional de N*N respectivamente, las cuales satisfacen ortogonalidad.
[0066] La transformada inversa, también llamada transformada hacia atrás, 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):
[0069]
[0072] Transformada horizontal y transformada vertical:
[0074] 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), siX=A-fT, F=B XT.
[0077]
[0080] Por 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 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 tanto, la segunda transformada directa se denomina transformada vertical y B se denomina matriz de transformada vertical.
[0082] Par de transformadas:
[0084] 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 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.
[0086] Partición de bloque:
[0088] En la codificación de vídeo de alta eficiencia (HEVC), una unidad de árbol de codificación (CTU) de 64*64 se particiona recursivamente en unidades de codificación (CU) utilizando un árbol cuaternario. La conveniencia de utilizar codificación intramarco o codificación intermarco se determina a nivel de la CU del nodo de hoja. La CU se particiona 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 particiona además en una pluralidad de TU utilizando el árbol cuádruple.
[0090] Sin embargo, en la codificación de vídeo versátil (VVC) recientemente propuesta, la tecnología de partición de bloques ha cambiado enormemente. El modo de partición original se reemplaza por una estructura de partició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 partición más flexible de la CU. La CU está sujeta a particiones cuadradas o rectangulares. La CTU se somete en primer lugar a una partición de árbol cuádruple y, a continuación, cada uno de los nodos hoja adquiridos a partir de la partición de árbol cuádruple se somete además a una partición de árbol binario y a una partición de árbol triple. Es decir, hay disponibles un total de cinco esquemas de partición: partición de árbol cuádruple, partición horizontal de árbol binario, partición vertical de árbol binario, partición horizontal de árbol triple y partición vertical de árbol triple, como se muestra en la FIG. 1, que muestra los cinco esquemas de partición. En la FIG. 1, (a) representa ausencia de partición, (b) representa partición de árbol cuádruple, (c) representa partición horizontal de árbol binario, (d) representa partición vertical de árbol binario, (e) representa partición horizontal de árbol triple y (f) representa partición vertical de árbol triple. Como
se muestra en la FIG. 2, se proporciona un diagrama ilustrativo que muestra que una CTU está particionada en varias CU.
[0092] Por tanto, basándose en los esquemas de partición, el bloque normalmente tiene tres formas como se muestra en la FIG. 3. En la FIG. 3, (a) representa un bloque cuya anchura es mayor que su altura, (b) representa un bloque cuya anchura es igual a su altura y (c) representa un bloque cuya anchura es menor que su altura.
[0093] Intrapredicción:
[0095] 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 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 forma, 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 FIG. 4 muestra un diagrama de direcciones angulares cuando la intrapredicción se realiza en 67 modos de intrapredicción dados por VVC, en donde el número de modos de intrapredicción aumenta de 33 a 65 de HEVC. Un número de modo 0 indica un modo planar; un número de modo 1 indica 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) de HEVC original y las líneas discontinuas representan 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 de coste distorsión de tasa, de modo 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 intramarco se aplican a bloques codificados de todos los tamaños, que incluyen un componente luma y un componente croma.
[0097] En la FIG. 4, donde el número de modo de 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.
[0099] Cabe señalar 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 negativo. 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.
[0101] Intrapredicción de gran angular:
[0103] Para los bloques rectangulares, se introduce un modo de predicción de gran angular basándose en formas de bloques para reemplazar algunos modos de intrapredicción tradicionales. Los números de modo originales todavía se utilizan en el modo de reemplazo, de esta manera, todavía hay 65 modos de ángulo en total, pero se pueden ajustar basándose en diferentes formas. Los detalles se muestran en la FIG. 5.
[0105] En la FIG. 5, (a) muestra un bloque cuadrado para el cual la dirección de ángulo gira justo en el sentido de las agujas del reloj de 45 grados a -135 grados y, por lo tanto, no se requiere ningún ajuste.
[0107] En la FIG. 5, (b) muestra un bloque cuya anchura es mayor que su altura y es necesario realizar el siguiente ajuste. Es decir, varios ángulos en las esquinas inferiores izquierdas se sustituyen por varios ángulos mayores que -135 grados en la esquina superior derecha.
[0109] En la FIG. 5, (c) muestra un bloque cuya anchura es menor que su altura y es necesario realizar el siguiente ajuste. Es decir, varios ángulos en las esquinas superiores derechas se sustituyen con varios ángulos menores que 45 grados en la esquina inferior izquierda.
[0111] En la Tabla 2 se muestra una relación de asignación de los modos de predicción de gran angular específicos:
[0113] Tabla 2
[0114]
[0117] Una realización de la presente divulgación proporciona un marco de codificación común. Como se muestra en la FIG. 6, 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 intrapredicción e 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 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. 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 marcos de imágenes adyacentes en el dominio de tiempo tienen muchos bloques de imágenes similares, los bloques de imagen del marco 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 tasa de bits al codificar el valor de diferencia es normalmente mucho menor que la sobrecarga de tasa de bits causada por la codificación directa del valor de píxel del bloque actual.
[0119] 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 FIG. 7, 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 base de orden cero en la figura que DCT2 tiene un efecto de concentración de energía relativamente más fuerte 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. DST7 tiene un efecto de concentración de energía relativamente más fuerte sobre señales de entrada con amplitudes ascendentes. DCT8 tiene un efecto de concentración de energía relativamente más fuerte sobre señales de entrada con amplitudes descendentes.
[0121] Para experimentar de manera más intuitiva las relaciones entre diferentes núcleos de transformada y propiedades residuales, como se muestra en la FIG. 8, 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.
[0123] Una realización de la presente divulgación proporciona un método de decodificación. Un diagrama de flujo de este método puede mostrarse en la FIG. 9.
[0125] En la etapa 901, un dispositivo de decodificación adquiere datos codificados de un bloque actual.
[0127] En la práctica, donde datos codificados deben decodificarse, el dispositivo de decodificación adquiere los datos codificados y, a continuación, adquiere los datos codificados del bloque actual realizando decodificación
entrópica sobre los datos codificados y realizando cuantificación inversa sobre un resultado de decodificación entrópica.
[0129] En la etapa 902, el dispositivo de decodificación determina información de tamaño e información de forma de subbloques basándose en información de partición de subbloque del bloque actual cuando el bloque actual satisface una condición de partición de subbloques y se determina, basándose en los datos codificados del bloque actual, que el bloque actual activa la partición intra subbloque.
[0131] La información de partición de subbloque indica cómo particionar el bloque actual. Por ejemplo, para un bloque actual de 8*4, puede particionarse horizontalmente en dos subbloques de 8*2.
[0133] En la práctica, en respuesta a adquirir el bloque actual, el dispositivo de decodificación puede determinar si el bloque actual satisface la condición de partición de subbloques; comprobar a partir de los datos codificados del bloque actual si un bit de indicador de partición intra subbloque es un indicador preestablecido cuando el bloque actual satisface la condición de partición de subbloques; determinar que el bloque actual activa el particionamiento intra subbloque cuando la posición del indicador es el indicador preestablecido; o determinar que el bloque actual no activa la partición intra subbloque cuando el bit de indicador no es el indicador preestablecido.
[0135] En el dispositivo de decodificación, cuando se determina que el bloque actual activa la partición intra subbloque, la información de partición de subbloque del bloque actual se adquiere a partir de los datos codificados del bloque actual; a continuación, los subbloques se adquieren particionando el bloque actual basándose en la información de partición de subbloque del bloque actual; y se determina el número de píxeles de cada subbloque del bloque actual en una dirección de altura (es decir, la altura de cada subbloque), y se determina el número de píxeles en una dirección de anchura (es decir, una anchura de cada subbloque). De esta manera, se adquiere la información de tamaño de los subbloques. La información de forma de los subbloques puede determinarse entonces basándose en las alturas y anchuras de los subbloques. La información de forma significa que la altura de cada subbloque es mayor que la anchura, la altura de cada subbloque es menor que la anchura y la altura de cada subbloque es igual a la anchura.
[0137] En algunas posibles realizaciones de la presente divulgación, la condición de partición de subbloque es que el bloque actual sea un bloque de luma y la altura y la anchura del bloque actual sean menores que o iguales a un tercer valor y el bloque actual sea una referencia de una sola línea cuando se somete a intrapredicción y el número de píxeles incluidos en el bloque actual sea mayor que un cuarto valor.
[0139] El tercer valor puede estar preestablecido y almacenado en el dispositivo de decodificación. El tercer valor puede ser 64. El hecho de que el bloque actual sea la referencia de una sola línea durante la intrapredicción significa que solo se hace referencia a una línea durante la intrapredicción del bloque actual. El cuarto valor puede estar preestablecido y almacenado en el dispositivo de decodificación. El cuarto valor puede ser 16.
[0140] En la etapa 903, el dispositivo de decodificación determina, basándose en la información de tamaño y la información de forma de cada subbloque, un par de transformadas correspondiente al subbloque. Determinar, basándose en la información de tamaño y la información de forma de cada subbloque, el par de transformadas correspondiente al subbloque incluye: determinar DST7 como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando una anchura del subbloque satisface una primera condición de restricción de dimensión y la forma del subbloque satisface una primera condición; y determinar DST7 como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque satisface una segunda condición de restricción de dimensión y la forma del subbloque satisface una segunda condición.
[0142] La primera condición de restricción de dimensión es que la anchura sea mayor que o igual al primer valor y menor que o igual al segundo valor; la primera condición es que la anchura sea menor que o igual a la altura; la segunda condición de restricción de dimensión es que la altura sea mayor que o igual al primer valor y menor que o igual al segundo valor; y la segunda condición es que la anchura sea mayor que o igual a la altura. Como alternativa, la primera condición de restricción de dimensión es que la anchura sea mayor que o igual al primer valor y menor que o igual al segundo valor; la segunda condición de restricción de dimensión es que la altura sea mayor que o igual al primer valor y menor que o igual al segundo valor; la primera condición es que la anchura sea menor que o igual a la altura; y la segunda condición es que la anchura sea mayor que la altura. El primer valor y el segundo valor pueden preestablecerse y almacenarse en el dispositivo de decodificación. El primer valor puede ser 4 y el segundo valor puede ser 16. Un par de transformadas incluye un núcleo de transformada horizontal y un núcleo de transformada vertical.
[0144] En la práctica, cada subbloque del bloque actual se procesa como sigue.
[0146] El dispositivo de decodificación puede determinar si la anchura del subbloque satisface la primera condición de restricción de dimensión y si la forma del subbloque satisface la primera condición; y determinar si la altura del
subbloque satisface la segunda condición de restricción de dimensión y si la forma del subbloque satisface la segunda condición. DST7 se determina como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando la anchura del subbloque satisface la primera condición de restricción de dimensión y la forma del subbloque satisface la primera condición. DST7 se determina como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque satisface la segunda condición de restricción de dimensión y la forma del subbloque satisface la segunda condición.
[0148] Además, en algunas posibles realizaciones de la presente divulgación, DCT2 se determina como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando la anchura del subbloque no satisface la primera condición de restricción de dimensión y/o la forma del subbloque no satisface la primera condición. DCT2 se determina como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque satisface la segunda condición de restricción de dimensión y la forma del subbloque satisface la segunda condición.
[0150] En la práctica, DCT2 se determina como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando al menos uno de los casos donde la anchura del subbloque no satisface la primera condición de restricción de dimensión y la forma del subbloque no satisface la primera condición. DCT2 se determina como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando al menos uno de los casos que la altura del subbloque no satisface la segunda condición de restricción de dimensión y la forma del subbloque no satisface la segunda condición es cierta.
[0152] De esta manera, tras determinar el núcleo de transformada horizontal y el núcleo de transformada vertical del subbloque, el núcleo de transformada horizontal y el núcleo de transformada vertical pueden formar un par de transformadas correspondiente al subbloque. Para cualquier subbloque, el par de transformadas se puede determinar de la manera anterior, por lo tanto, se pueden determinar los pares de transformadas correspondientes a los subbloques.
[0154] En la etapa 904, el dispositivo de decodificación realiza una transformada inversa sobre los datos cuantificados inversamente de los subbloques basándose en los pares de transformadas correspondientes a los subbloques.
[0155] En la práctica, tras determinar los pares de transformadas correspondientes a los subbloques, los subbloques se someten a una transformada inversa mediante los pares de transformadas correspondientes para adquirir datos residuales correspondientes a los subbloques. A continuación, los valores de píxel de los píxeles en un área reconstruida alrededor del bloque actual se utilizan para construir señales de predicción de los subbloques según un modo de intrapredicción usado durante la codificación. Para cada subbloque, la información de reconstrucción del subbloque se adquiere sumando los datos residuales del subbloque y la señal de predicción. De esta manera, se puede adquirir la información de reconstrucción de los subbloques y la información de reconstrucción correspondiente al bloque actual se puede adquirir fusionando la información de reconstrucción de los subbloques.
[0157] De esta manera, se completa la decodificación del bloque actual. Cada bloque actual se procesa según el proceso mostrado en la FIG. 9, para decodificar un segmento completo de datos de vídeo.
[0159] Cabe señalar que en la realización anteriormente mencionada, tras particionar el bloque actual, los subbloques tienen la misma anchura y la misma altura.
[0161] Correspondiente al método de codificación mostrado en la FIG. 9, como se muestra en la FIG. 10, una realización de la presente divulgación proporciona además un proceso de codificación. El proceso puede incluir las siguientes etapas.
[0163] En la etapa 1001, un dispositivo de codificación adquiere datos residuales de un bloque actual.
[0165] En la práctica, el dispositivo de codificación realiza primero intrapredicción cuando codifica datos de vídeo, para adquirir datos residuales (el método para adquirir los datos residuales es coherente con los estándares de codificación de vídeo existentes, los cuales no se repiten). Los datos residuales se toman como los datos residuales del bloque actual que se va a procesar.
[0167] En la etapa 1002, el dispositivo de codificación determina información de tamaño e información de forma de subbloques del bloque actual basándose en información de partición de subbloque del bloque actual cuando el bloque actual satisface una condición de partición de subbloques y se activa la partición intra subbloque.
[0168] La información de partición de subbloque indica cómo particionar el bloque actual. Por ejemplo, para un bloque actual de 8*4, puede particionarse horizontalmente en dos subbloques de 8*2.
[0170] En la práctica, en respuesta a adquirir los datos residuales del bloque actual, el dispositivo de codificación
puede determinar si el bloque actual satisface la condición de partición de subbloque; y determinar si la partición intra subbloque se activa cuando se satisface la condición de partición de subbloque. Cuando se enciende un conmutador para la partición intra subbloque, se indica que la partición intra subbloque puede activarse y el bloque actual puede particionarse, a continuación se determinan las alturas y anchuras de los subbloques adquiridos al particionar el bloque actual. La anchura del bloque actual es la cantidad de píxeles contenidos en el bloque actual en su dirección de anchura, la altura del bloque actual es la cantidad de píxeles contenidos en el bloque actual en su dirección de altura, la anchura de cada subbloque es la cantidad de píxeles contenidos en el subbloque en su dirección de anchura y la altura de cada subbloque es la cantidad de píxeles contenidos en el subbloque en su dirección de altura. De esta manera, se puede adquirir la información de tamaño de cada subbloque. Para un bloque actual de M*N, M representa la anchura del bloque actual y N representa la altura del bloque actual.
[0172] La información de forma de los subbloques puede determinarse entonces basándose en las alturas y anchuras de los bloques. La información de forma significa que la altura del subbloque es mayor que, menor que o igual a la anchura del subbloque.
[0174] En algunas posibles realizaciones de la presente divulgación, la condición de partición de subbloque es que el bloque actual sea un bloque de luma y la altura y la anchura del bloque actual sean menores que o iguales a un tercer valor y el bloque actual sea una referencia de una sola línea cuando se somete a intrapredicción y el número de píxeles incluidos en el bloque actual sea mayor que un cuarto valor.
[0176] El tercer valor puede estar preestablecido y almacenado en el dispositivo de codificación. El tercer valor puede ser 64. El hecho de que el bloque actual sea la referencia de una sola línea durante la intrapredicción significa que solo se hace referencia a una línea durante la intrapredicción del bloque actual. El cuarto valor puede estar preestablecido y almacenado en el dispositivo de codificación. El cuarto valor puede ser 16.
[0178] En la etapa 1003, el dispositivo de codificación determina un par de transformadas correspondientes a cada subbloque basándose en la información de tamaño y la información de forma de cada subbloque. Determinar el par de transformadas correspondiente a cada subbloque basándose en la información de tamaño y la información de forma del subbloque incluye: determinar DST7 como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando una anchura del subbloque satisface una primera condición de restricción de dimensión y la forma del subbloque satisface una primera condición; y determinar DST7 como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque satisface una segunda condición de restricción de dimensión y la forma del subbloque satisface una segunda condición.
[0180] Cada subbloque del bloque actual se procesa como sigue.
[0182] El dispositivo de codificación puede determinar si la anchura del subbloque satisface la primera condición de restricción de dimensión y si la forma del subbloque satisface la primera condición; y determinar si la altura del subbloque satisface la segunda condición de restricción de dimensión y si la forma del subbloque satisface la segunda condición. DST7 se determina como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando la anchura del subbloque satisface la primera condición de restricción de dimensión y la forma del subbloque satisface la primera condición. DST7 se determina como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque satisface la segunda condición de restricción de dimensión y la forma del subbloque satisface la segunda condición.
[0184] Además, en algunas posibles realizaciones de la presente divulgación, DCT2 se determina como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando la anchura del subbloque no satisface la primera condición de restricción de dimensión y/o la forma del subbloque no satisface la primera condición. DCT2 se determina como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque satisface la segunda condición de restricción de dimensión y la forma del subbloque satisface la segunda condición.
[0186] En la práctica, DCT2 se determina como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando al menos uno de los casos donde la anchura del subbloque no satisface la primera condición de restricción de dimensión y la forma del subbloque no satisface la primera condición. DCT2 se determina como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando al menos uno de los casos donde la altura del subbloque no satisface la segunda condición de restricción de dimensión y la forma del subbloque no satisface la segunda condición es cierta.
[0188] De esta manera, cuando se determinan el núcleo de transformada horizontal y el núcleo de transformada vertical del subbloque, el núcleo de transformada horizontal y el núcleo de transformada vertical pueden formar un par de transformadas correspondiente al subbloque. Para cualquier subbloque, el par de transformadas se puede determinar de la manera anterior, por lo tanto, se pueden determinar los pares de transformadas
correspondientes a cada subbloque.
[0190] En la etapa 1004, el dispositivo de codificación realiza una transformada sobre los datos residuales de los subbloques basándose en los pares de transformadas correspondientes a los subbloques.
[0192] En la práctica, en respuesta a determinar el par de transformadas correspondientes a los subbloques, el dispositivo de codificación adquiere un coeficiente de transformada correspondiente al subbloque transformando cada subbloque basándose en el par de transformadas correspondientes al subbloque; a continuación, adquiere un coeficiente de cuantificación cuantificando el coeficiente de transformada; y adquiere datos codificados correspondientes al subbloque mediante codificación entrópica del coeficiente de cuantificación.
[0194] De esta manera, los datos codificados correspondientes al bloque actual pueden adquirirse basándose en el procesamiento anterior para cada subbloque, de modo que se completa la codificación del bloque actual. Cada bloque actual puede procesarse según el proceso mostrado en la FIG. 10, para codificar un segmento completo de datos de vídeo.
[0196] En algunas posibles realizaciones de la presente divulgación, para realizar rápidamente partición de subbloques sobre el bloque actual mediante el dispositivo de decodificación, se puede realizar el siguiente procesamiento: adquirir la información de partición de subbloque del bloque actual cuando el bloque actual satisface la condición de partición de subbloque; y añadir la información de partición de subbloque a los datos codificados del bloque actual.
[0198] En la práctica, el dispositivo de codificación puede adquirir la información de partición de subbloque del bloque actual cuando el bloque actual satisface la condición de partición de subbloque; y añadir la información de partición de subbloque a los datos codificados del bloque actual. De esta manera, el dispositivo de decodificación puede adquirir posteriormente, a partir de los datos codificados del bloque actual, la información de partición de subbloque del bloque actual para su decodificación.
[0200] Además, en las realizaciones de la presente divulgación, también se proporciona el proceso para adquirir la información de partición de subbloque por parte del dispositivo de codificación.
[0202] El dispositivo de codificación puede particionar el bloque actual horizontal o verticalmente en varios subbloques pequeños. Por ejemplo, para un bloque actual de 16*8, puede particionarse en cuatro subbloques de 16*2 horizontalmente o en cuatro subbloques de 4*8 verticalmente. Sin embargo, para un bloque de 4*8, se puede particionar en dos subbloques de 4*4 o dos subbloques de 2*8. Cabe señalar que el número de subbloques puede ser solo 2 (para subbloques de 4*8, 8*4). Además, cada subbloque contiene al menos 16 píxeles, de modo que el bloque de 4*4 no se vuelva a particionar y no sea necesario realizar las correspondientes declaraciones gramaticales en el dispositivo de codificación y el dispositivo de decodificación. Las reglas de partición específicas se muestran en la Tabla 3. En cuanto a si se debe particionar horizontal o verticalmente, el dispositivo de codificación debe determinarlo basándose en un criterio de RDO. Para ahorrar tiempo de codificación, los subbloques intra particionados comparten un modo de intrapredicción del bloque actual (es decir, los subbloques obtenidos al particionar el bloque actual tienen el mismo modo de intrapredicción que el bloque actual).
[0204] Tabla 3
[0207]
[0210] En la Tabla 3, w representa la anchura de cada subbloque, h representa la altura de cada subbloque, K representa el número de subbloques que pueden particionarse, W representa la anchura del bloque actual y H
representa la altura del bloque actual. El bloque actual puede particionarse horizontal y verticalmente según la Tabla 3. Por ejemplo, como se muestra en la FIG. 11, para un bloque actual de 8*4, puede particionarse horizontalmente en dos subbloques de 8*2, o particionarse verticalmente en dos subbloques de 4*4.
[0212] El proceso de determinar la información de partición de subbloques basándose en el criterio de RDO puede incluir: determinar una pluralidad de tipos de división del bloque actual primero según la Tabla 3; a continuación, realizar codificación basándose en cada tipo de división; y a continuación, realizar decodificación para determinar el tipo de división con el menor coste de distorsión de tasa como el tipo de división final del bloque actual. De esta manera, se adquiere la información de partición de subbloque del bloque actual.
[0214] En las realizaciones de la presente divulgación, en el dispositivo de codificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en la información de tamaño y la información de forma de los subbloques del bloque actual; y los pares de transformadas determinados se codifican. De manera similar, en el dispositivo de decodificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en la información de tamaño y la información de forma de los subbloques del bloque actual; y los pares de transformadas determinados se decodifican. De esta manera, dado que los pares de transformadas se determinan basándose en la información de tamaño y la información de forma, en lugar de usar el mismo par de transformadas para todos los subbloques, se puede mejorar el rendimiento de codificación y decodificación. Es más, cuando se derivan los pares de transformadas, solo se utilizan las alturas y anchuras, de modo que la derivación es más sencilla y el rendimiento de codificación y decodificación puede mejorarse aún más.
[0216] Otra realización de la presente divulgación proporciona un método de decodificación. Un diagrama de flujo de este método puede mostrarse en la FIG. 12.
[0218] En la etapa 1201, un dispositivo de decodificación adquiere datos codificados de un bloque actual.
[0220] En la práctica, donde datos codificados deben decodificarse, el dispositivo de decodificación adquiere los datos codificados y, a continuación, adquiere los datos codificados del bloque actual realizando decodificación entrópica sobre los datos codificados y realizando cuantificación inversa sobre un resultado de decodificación entrópica.
[0222] En la etapa 1202, cuando el bloque actual satisface una condición de partición de subbloque y se determina, basándose en los datos codificados del bloque actual, que el bloque actual activa partición intra subbloque, el dispositivo de decodificación determina información de tamaño de subbloques basándose en información de partición de subbloque del bloque actual.
[0224] La información de partición de subbloque indica cómo particionar el bloque actual. Por ejemplo, para un bloque actual de 8*4, puede particionarse horizontalmente en dos subbloques de 8*2.
[0226] En la práctica, en respuesta a adquirir el bloque actual, el dispositivo de decodificación puede determinar si el bloque actual satisface una condición de partición de subbloques; comprobar a partir de los datos codificados del bloque actual si un bit de indicador de partición intra subbloque es un indicador preestablecido cuando el bloque actual satisface la condición de partición de subbloques; determinar que el bloque actual activa el particionamiento intra subbloque cuando el bit de indicador es el indicador preestablecido; o determinar que el bloque actual no activa la partición intra subbloque cuando el bit de indicador no es el indicador preestablecido.
[0227] En el dispositivo de decodificación, cuando se determina que el bloque actual activa la partición intra subbloque, la información de partición de subbloque del bloque actual se adquiere a partir de los datos codificados del bloque actual; a continuación, los subbloques se adquieren particionando el bloque actual basándose en la información de partición de subbloque del bloque actual; y se determina el número de píxeles de cada subbloque del bloque actual en una dirección de altura (es decir, la altura de cada subbloque), y se determina el número de píxeles en una dirección de anchura (es decir, una anchura de cada subbloque). De esta manera, se adquiere la información de tamaño de los subbloques. Además, el contenido de un bit de indicador configurado para indicar la información de modo de intrapredicción se puede adquirir a partir de los datos codificados del bloque actual, es decir, se puede adquirir la información de modo de intrapredicción del bloque actual.
[0229] En algunas posibles realizaciones de la presente divulgación, la condición de partición de subbloque es que el bloque actual sea un bloque de luma y la altura y la anchura del bloque actual sean ambas menores que o iguales a un primer valor preestablecido y el bloque actual sea una referencia de una sola línea cuando se somete a intrapredicción y el número de píxeles incluidos en el bloque actual sea mayor que un segundo valor preestablecido.
[0231] El primer valor preestablecido puede preestablecerse y almacenarse en el dispositivo de decodificación (igual que el tercer valor mencionado anteriormente). El primer valor preestablecido puede ser 64. El hecho de que
el bloque actual sea la referencia de una sola línea durante la intrapredicción significa que solo se hace referencia a una línea durante la intrapredicción del bloque actual. El segundo valor preestablecido puede preestablecerse y almacenarse en el dispositivo de decodificación. El segundo valor preestablecido puede ser 16 (igual que el cuarto valor mencionado anteriormente).
[0233] En la etapa 1203, el dispositivo de decodificación determina, basándose en la información de tamaño y la información de modo de intrapredicción de cada subbloque, un par de transformadas correspondiente al subbloque. Determinar, basándose en la información de tamaño y la información de modo de intrapredicción de cada subbloque, el par de transformadas correspondiente al subbloque incluye: determinar el par de transformadas correspondiente a la información de modo de intrapredicción de cada subbloque como el par de transformadas correspondiente al subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface una condición de restricción de dimensión.
[0235] La condición de restricción de dimensión es que la anchura no esté dentro de un intervalo de valores preestablecido y la altura no esté dentro del intervalo de valores preestablecido. El intervalo de valores preestablecido es (2, 32) (excluyendo 2 y 32). "No está dentro del intervalo de valores preestablecido" significa ser mayor que 32 y/o menor que 2.
[0237] En la práctica, cada subbloque del bloque actual se procesa como sigue:
[0239] para cualquier subbloque, el dispositivo de decodificación puede determinar si la información de tamaño del subbloque satisface la condición de restricción de dimensión; determinar un par de transformadas correspondiente en las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas utilizando la información de modo de intrapredicción del bloque actual cuando la condición de restricción de dimensión (la anchura no está dentro del intervalo de valores preestablecido y la altura no está dentro del intervalo de valores preestablecido), no se satisface; y determinar este par de transformadas como el par de transformadas del subbloque.
[0241] Además, en algunas posibles realizaciones de la presente divulgación, cuando se determina, basándose en la información de tamaño del subbloque, que la altura del subbloque satisface la condición de restricción de dimensión y la anchura del subbloque no satisface la condición de restricción de dimensión, DCT2 se determina como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque y un núcleo de transformada horizontal en el par de transformadas correspondiente a la información de modo de intrapredicción del subbloque se determina como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque. Cuando se determina, basándose en la información de tamaño del subbloque, que la anchura del subbloque satisface la condición de restricción de dimensión y la altura del subbloque no satisface la condición de restricción de dimensión, DCT2 se determina como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque y un núcleo de transformada vertical en el par de transformadas correspondiente a la información de modo de intrapredicción del subbloque se determina como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque. Cuando se determina basándose en la información de tamaño de cada subbloque que tanto la altura como la anchura del subbloque satisfacen la condición de restricción de dimensión, DCT2 se determina como un núcleo de transformada horizontal y un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque.
[0243] En la práctica, cuando la altura del subbloque satisface la condición de restricción de dimensión y la anchura del subbloque no satisface la condición de restricción de dimensión, DCT2 puede determinarse como el núcleo de transformada vertical en el par de transformadas correspondiente a cada subbloque. Además, un par de transformadas correspondiente a la información de modo de intrapredicción del bloque actual puede determinarse directamente a partir de las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas basándose en la información de modo de intrapredicción. El núcleo de transformada horizontal en este par de transformadas se determina como un núcleo de transformada horizontal correspondiente al bloque actual.
[0245] Cuando la anchura del subbloque satisface la condición de restricción de dimensión y la altura del subbloque no satisface la condición de restricción de dimensión, DCT2 puede determinarse como el núcleo de transformada horizontal en el par de transformadas correspondiente a cada subbloque. Además, un par de transformadas correspondiente a la información de modo de intrapredicción del bloque actual puede determinarse directamente a partir de las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas basándose en la información de modo de intrapredicción. El núcleo de transformada vertical en este par de transformadas se determina como un núcleo de transformada vertical correspondiente al bloque actual.
[0247] Cuando tanto la altura como la anchura del subbloque satisfacen la condición de restricción de dimensión, DCT2 se determina como el núcleo de transformada horizontal y el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque.
[0248] De esta manera, los pares de transformadas correspondientes a los subbloques pueden determinarse basándose en la forma anterior.
[0250] En la etapa 1204, el dispositivo de decodificación realiza una transformada inversa sobre los datos cuantificados inversamente de los subbloques basándose en los pares de transformadas correspondientes a los subbloques.
[0252] En la práctica, tras determinar los pares de transformadas correspondientes a los subbloques, el subbloque se somete a una transformada inversa mediante los pares de transformadas correspondientes para adquirir datos residuales correspondientes a los subbloques. A continuación, los valores de píxel de los píxeles en un área reconstruida alrededor del bloque actual se utilizan para construir señales de predicción de los subbloques basándose en un modo de intrapredicción usado durante la codificación. Para cada subbloque, la información de reconstrucción del subbloque se adquiere sumando los datos residuales del subbloque y la señal de predicción. De esta manera, se puede adquirir la información de reconstrucción de los subbloques y la información de reconstrucción correspondiente al bloque actual se puede adquirir fusionando la información de reconstrucción de los subbloques.
[0254] De esta manera, se completa la decodificación del bloque actual. Cada bloque actual se procesa según el proceso mostrado en la FIG. 12, para decodificar un segmento completo de datos de vídeo.
[0256] Cabe señalar que en la realización anteriormente mencionada, tras particionar el bloque actual, los subbloques tienen la misma anchura y la misma altura.
[0258] En la etapa 1203, en algunas posibles realizaciones de la presente divulgación, el par de transformadas correspondiente a la información de modo de intrapredicción del subbloque puede determinarse como el par de transformadas correspondiente al subbloque de las siguientes maneras.
[0260] En una primera manera, cuando los números de modo de la información de modo de intrapredicción del subbloque son 1, 33, 35, el par de transformadas correspondiente al subbloque se determina como (DCT2, DCT2); cuando los números de modo de la información de modo de intrapredicción del subbloque son 0, 31, 32, 34, 36, 37, el par de transformadas correspondiente al subbloque se determina como (DST7, DST7); cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 30, números pares entre 2 y 30, 39, 65 y números impares entre 39 y 65, el par de transformadas correspondiente al subbloque se determina como (DST7, DCT8); y cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 29, un número impar entre 3 y 29, 38, 66 y números pares entre 38 y 66, el par de transformadas correspondiente al subbloque se determina como (DCT8, DST7).
[0262] En la práctica, se proporcionan las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas, como se indica en la Tabla 4:
[0264] Tabla 4
[0266]
[0269] En una segunda manera, cuando el número de modo de la información de modo de intrapredicción del subbloque es 1, el par de transformadas correspondiente al subbloque se determina como un primer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 0, 31, 32, 33, 34, 35, 36, 37, el par de transformadas correspondiente al subbloque se determina como un segundo par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 30, números pares entre 2 y 30, 39, 65 y números impares entre 39 y 65, el par de transformadas correspondiente al subbloque se determina como un tercer par de transformadas; y cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 29, un número impar entre 3 y 29, 38, 66 y números pares entre 38 y 66, el par de transformadas correspondiente al subbloque se determina como un cuarto par de transformadas.
[0270] En la práctica, se proporcionan las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas, como se indica en la Tabla 5:
[0271] Tabla 5
[0274]
[0276] En una tercera manera, cuando el número de modo de la información de modo de intrapredicción del subbloque es 1, el par de transformadas correspondiente al subbloque se determina como un primer par de transformadas; cuando el número de modo de la información de modo de intrapredicción del subbloque es 0, el par de transformadas correspondiente al subbloque se determina como un segundo par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 34, números pares entre 2 y 34, 35, 65 y números impares entre 35 y 65, el par de transformadas correspondiente al subbloque se determina como un tercer par de transformadas; y cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 33, un número impar entre 3 y 33, 36, 66 y números pares entre 36 y 66, el par de transformadas correspondiente al subbloque se determina como un cuarto par de transformadas. En la práctica, se proporcionan las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas, como se indica en la Tabla 6:
[0277] Tabla 6
[0280]
[0282] En una cuarta manera, cuando el número de modo de la información de modo de intrapredicción del subbloque es 1, el par de transformadas correspondiente al subbloque se determina como un primer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 0, 3, 65 y números impares entre 3 y 65, el par de transformadas correspondiente al subbloque se determina como un segundo par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 34, y números pares entre 2 y 34, el par de transformadas correspondiente al subbloque se determina como un tercer par de transformadas; y cuando los números de modo de la información de modo de intrapredicción del subbloque son 36, 66 y números pares entre 36 y 66, el par de transformadas correspondiente al subbloque se determina como un cuarto par de transformadas.
[0283] En la práctica, se proporcionan las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas, como se indica en la Tabla 7:
[0284] Tabla 7
[0287]
[0289] Cabe señalar que en las Tablas 4 a 7, las direcciones de ángulos de los modos de intrapredicción con números de modo adyacentes son similares y, entonces, las características residuales son similares. Al usar dos pares de transformadas diferentes para transformar, se puede ahorrar tiempo de codificación y también se pueden seleccionar pares de transformadas adecuados.
[0290] En algunas posibles realizaciones de la presente divulgación, el primer par de transformadas, el segundo par de transformadas, el tercer par de transformadas y el cuarto par de transformadas pueden combinarse en una pluralidad de maneras. A continuación se indican dos combinaciones posibles.
[0291] En una primera combinación, el primer par de transformadas es (DCT2, DCT2), el segundo par de transformadas es (DST7, DST7), el tercer par de transformadas es (DST7, DCT2) y el cuarto par de transformadas es (DCT2, DST7).
[0293] En una segunda combinación, el primer par de transformadas es (DCT2, DCT2), el segundo par de transformadas es (DST7, DST7), el tercer par de transformadas es (DST7, DCT8) y el cuarto par de transformadas es (DCT8, DST7).
[0295] En algunas posibles realizaciones de la presente divulgación, determinar el par de transformadas correspondiente a la información de modo de intrapredicción del subbloque como el par de transformadas correspondiente al subbloque debería satisfacer las siguientes condiciones. La práctica es la siguiente:
[0296] determinar el par de transformadas correspondiente a la información de modo de intrapredicción como el par de transformadas correspondiente a cada subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface la condición de restricción de dimensión y que la información del modo de intrapredicción del subbloque satisface un intervalo de modos de intrapredicción.
[0297] El intervalo de modos de intrapredicción puede preestablecerse y almacenarse en el dispositivo de decodificación. El intervalo de modos de intrapredicción incluye modos de intrapredicción con números de modo de 0, 1 y 31 a 37 (véase la Tabla 8 y la Tabla 9); o el intervalo de modos de intrapredicción incluye modos de intrapredicción con números de modo de 0 y 1 (véase la Tabla 10); o el intervalo de modos de intrapredicción incluye modos de intrapredicción con números de modo de 0, 1,3, 65 y números impares entre 3 y 65 (véase la Tabla 11).
[0299] En la práctica, en respuesta a adquirir el número de modo de intrapredicción de la información de modo de intrapredicción de cada subbloque a partir de los datos codificados, el dispositivo de decodificación puede determinar si el número de modo de intrapredicción está dentro del intervalo de modos de intrapredicción; y determinar directamente un par de transformadas correspondiente al subbloque a partir de las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas cuando el número de modo de intrapredicción está dentro del intervalo de modos de intrapredicción.
[0301] En algunas posibles realizaciones de la presente divulgación, cuando el número de modo de la información de modo de intrapredicción del bloque actual no está dentro del intervalo de modos de intrapredicción, se pueden realizar los siguientes procesos.
[0303] Una relación entre una anchura y una altura de cada subbloque se determina basándose en la información de tamaño del subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface la condición de restricción de dimensión y que la información de modo de intrapredicción del subbloque no satisface el intervalo de modos de intrapredicción. Un par de transformadas correspondiente al subbloque se determina basándose en la relación entre la anchura y la altura del subbloque y la información de modo de intrapredicción del subbloque.
[0305] En la práctica, con respecto a cualquier subbloque, en respuesta a adquirir el número de modo de la información de modo de intrapredicción del subbloque a partir de los datos codificados, el dispositivo de decodificación puede determinar si el número de modo está dentro del intervalo de modos de intrapredicción; determinar una relación entre la anchura y la altura del subbloque cuando el número de modo no está dentro del intervalo de modos de intrapredicción; y determinar un par de transformadas correspondiente al subbloque basándose en la relación entre la anchura y la altura del subbloque y a la información de modo de intrapredicción del subbloque.
[0307] En algunas posibles realizaciones de la presente divulgación, cuando el número de modo de la información de modo de intrapredicción del bloque actual no está dentro del intervalo de modos de intrapredicción, se pueden emplear las siguientes varias maneras de procesamiento.
[0309] En una primera manera, como se indica en la Tabla 8, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1 y 31 a 37.
[0311] La anchura del subbloque está representada por w, y la altura del subbloque está representada por h.
[0313] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6,..., 30, 39, 41, 43,..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, y los segundos puntos suspensivos representan números impares entre 43 y 65), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0314] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, 7, 29, 38, 40, 42, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 7 y 29, y los segundos puntos suspensivos representan números pares entre 42 y 66), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0316] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+1, B+3, ..., 30, 3, 5, ..., B, 39, 41, 43, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre B+3 y 30, los segundos puntos suspensivos representan números impares entre 5 y B y los terceros puntos suspensivos representan números impares entre 43 y 65 ), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0318] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+2, B+4, ..., 29, 38, 40, ..., 66, 2, 4, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre B+4 y 29, los segundos puntos suspensivos representan números pares entre 40 y 66 y los terceros puntos suspensivos representan números pares entre 4 y [B-1]), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0320] Cuando la relación entre la anchura y la altura del subbloque es menor que 1 (es decir, w<h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 30, B+1, B+3, ..., 66, 39, 41, ...,B-2 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, los segundos puntos suspensivos representan números pares entre [B+3] y 66 y los terceros puntos suspensivos representan números impares entre 41 y B-2 ), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0322] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, ..., 29, B, B+2, ..., 65, 38, 40, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 5 y 29, los segundos puntos suspensivos representan números impares entre (B+2) y 65 y los terceros puntos suspensivos representan números pares entre 40 y [B-1]), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0324] Tabla 8
[0326]
[0329] En una segunda manera, como se indica en la Tabla 9, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1 y 31 a 37. La anchura del subbloque está representada por w, y la altura del subbloque está representada por h.
[0331] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6,..., 30, 39, 41,
43,..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, y los segundos puntos suspensivos representan números impares entre 43 y 65), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0333] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, 7, ..., 29, 38, 40, 42, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 7 y 29, y los segundos puntos suspensivos representan números pares entre 42 y 66), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0335] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+1, B+3, ..., 30, 3, 5, ..., B, 39, 41, 43, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre B+3 y 30, los segundos puntos suspensivos representan números impares entre 5 y B y los terceros puntos suspensivos representan números impares entre 43 y 65 ), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0337] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+2, B+4, ..., 29, 38, 40, ..., 66, 2, 4, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre B+4 y 29, los segundos puntos suspensivos representan números pares entre 40 y 66 y los terceros puntos suspensivos representan números pares entre 4 y [B-1]), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0339] Cuando la relación entre la anchura y la altura del subbloque es menor que 1 (es decir, w<h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 30, B+1, B+3, ..., 66, 39, 41, ...,B-2 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, los segundos puntos suspensivos representan números pares entre [B+3] y 66 y los terceros puntos suspensivos representan números impares entre 41 y B-2 ), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0341] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, ..., 29, B, B+2, ..., 65, 38, 40, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 5 y 29, los segundos puntos suspensivos representan números impares entre B+2 y 65 y los terceros puntos suspensivos representan números pares entre 40 y [B-1]), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0343] Tabla 9
[0345]
[0348] En una tercera manera, como se indica en la Tabla 10, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0 y 1. La anchura del subbloque está
representada por w, y la altura del subbloque está representada por h.
[0350] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 34, 35, 37, 39, 41,43, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 34, y los segundos puntos suspensivos representan números impares entre 43 y 65), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0352] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, 7, ..., 33, 36, 38, 40, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 7 y 33, y los segundos puntos suspensivos representan números pares entre 40 y 66), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0354] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+1, B+3, ..., 34, 3, 5, ..., B, 35, 37, 39, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre B+3 y 34, los segundos puntos suspensivos representan números impares entre 5 y B y los terceros puntos suspensivos representan números impares entre 39 y 65 ), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0356] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+2, B+4, ..., 33, 2, 4, ..., (B-1), 36, 38, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre (B+4) y 33, los segundos puntos suspensivos representan números pares entre 4 y (B-1) y los terceros puntos suspensivos representan números pares entre 38 y 66), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0358] Cuando la relación entre la anchura y la altura del subbloque es menor que 1 (es decir, w<h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 34, B+1, B+3, ..., 66, 35, 37, 39, ...,B-2 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 34, los segundos puntos suspensivos representan números pares entre (B+3) y 66 y los terceros puntos suspensivos representan números impares entre 39 y B-2 ), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0360] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, ..., 33, B, B+2, ..., 65, 36, 38, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 5 y 33, los segundos puntos suspensivos representan números impares entre B+2 y 65 y los terceros puntos suspensivos representan números pares entre 38 y [B-1]), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0362] Tabla 10
[0364]
[0365] En una cuarta manera, como se indica en la Tabla 11, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1, 3, 65 y números impares entre 3 y 65. La anchura del subbloque está representada por w, y la altura del subbloque está representada por h.
[0367] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 34 es (DST7, DCT2) (los puntos suspensivos representan números pares entre 6 y 34), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0369] Cuando la relación entre la anchura y la altura del subbloque es 1 (es decir, w=h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 36, 38, 40, ..., 66 es (DCT2, DST7) (los puntos suspensivos representan números pares entre 40 y 66), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0371] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+1, B+3, ..., 34 es (DST7, DCT2) (los puntos suspensivos representan números pares entre [B+3] y 34), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0373] Cuando la relación entre la anchura y la altura del subbloque es mayor que 1 (es decir, w>h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 36, 38, ..., 66, 2, 4, 40, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números pares entre 38 y 66, y los segundos puntos suspensivos representan números pares entre 4 y [B-1]), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0375] Cuando la relación entre la anchura y la altura del subbloque es menor que 1 (es decir, w<h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 34, B+1, B+3, ..., 66 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 34, y los segundos puntos suspensivos representan números pares entre [B+3] y 66), es decir, el par de transformadas correspondiente al subbloque es (DST7, DCT2).
[0377] Cuando la relación entre la anchura y la altura del subbloque es menor que 1 (es decir, w<h), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 36, 38, ..., (B-1) es (DCT2, DST7) (los puntos suspensivos representan números pares entre 38 y [B-1]), es decir, el par de transformadas correspondiente al subbloque es (DCT2, DST7).
[0379] Tabla 11
[0381]
[0384] Cabe señalar que la Tabla 8 a la Tabla 11 tienen en cuenta la influencia del modo de intrapredicción al ser un modo de gran angular, en donde B en el modo de gran angular está determinado por la relación entre la anchura y la altura de cada subbloque del bloque actual. En la Tabla 8 a la Tabla 11, cuando w/h=2, 4, 6, y 8, el B correspondiente es 7, 11, 13 y 15; y cuando w/h=1/2, 1/4, 1/6, 1/8, el B correspondiente es 61,57, 55, 53.
[0385] También cabe señalar que, en la Tabla 8 a la Tabla 11, los modos de intrapredicción con números de modo adyacentes generalmente corresponden a diferentes pares de transformadas.
[0387] En algunas posibles realizaciones de la presente divulgación, cuando el bloque actual no activa partición intra subbloque, se puede realizar el siguiente proceso: determinar, basándose en la información de tamaño y la
información de modo de intrapredicción del bloque actual, un par de transformadas correspondiente al bloque actual cuando el bloque actual no activa la partición intra subbloque.
[0389] En la práctica, el par de transformadas correspondiente al bloque actual puede determinarse conjuntamente basándose en la información de tamaño y la información de modo de intrapredicción del bloque actual cuando el bloque actual no activa la partición intra subbloque.
[0391] En algunas posibles realizaciones de la presente divulgación, determinar, basándose en la información de tamaño y la información de modo de intrapredicción del bloque actual, el par de transformadas correspondiente al bloque actual conjuntamente puede incluir:
[0393] determinar el par de transformadas correspondiente a la información de modo de intrapredicción como el par de transformadas correspondiente al bloque actual cuando se determina, basándose en la información de tamaño, que el bloque actual no satisface una condición de restricción de dimensión objetivo; cuando se determina, basándose en la información de tamaño, que la altura del bloque actual satisface la condición de restricción de dimensión objetivo y la anchura del bloque actual no satisface la condición de restricción de dimensión objetivo, determinar DCT2 como núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual y determinar un núcleo de transformada horizontal en el par de transformadas correspondiente a la información del modo de intrapredicción como núcleo de transformada horizontal en el par de transformadas correspondiente al bloque actual; cuando se determina, basándose en la información de tamaño, que la anchura del bloque actual satisface la condición de restricción de dimensión objetivo y la altura del bloque actual no satisface la condición de restricción de dimensión objetivo, determinar DCT2 como un núcleo de transformada horizontal en el par de transformadas correspondiente al bloque actual y determinar un núcleo de transformada vertical en el par de transformadas correspondiente a la información de modo de intrapredicción como núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual; y determinar DCT2 como núcleo de transformada horizontal y núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual cuando se determina, basándose en la información de tamaño, que tanto la anchura como la altura del bloque actual satisfacen la condición de restricción de dimensión objetivo.
[0395] La condición de restricción de dimensión objetivo es que la anchura sea mayor que o igual a un valor objetivo y la altura sea mayor que o igual al valor objetivo. El valor objetivo puede ser 32.
[0397] En la práctica, el dispositivo de decodificación puede determinar si el bloque actual satisface la condición de restricción de dimensión objetivo; y determinar DCT2 como el núcleo de transformada horizontal y el núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual cuando el bloque actual satisface la condición de restricción de dimensión objetivo (es decir, tanto la altura como la anchura satisfacen la condición de restricción de dimensión objetivo).
[0399] Cuando el bloque actual no satisface la condición de restricción de dimensión objetivo (es decir, ni la altura ni la anchura satisface la condición de restricción de dimensión objetivo), el par de transformadas correspondiente a la información de modo de intrapredicción puede determinarse, a partir de las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas, como el par de transformadas correspondiente al bloque actual.
[0401] Cuando se determina, basándose en la información de tamaño, que la altura del bloque actual satisface la condición de restricción de dimensión objetivo y que la anchura del bloque actual no satisface la condición de restricción de dimensión objetivo, DCT2 puede determinarse como el núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual y el núcleo de transformada horizontal en el par de transformadas correspondiente a la información de modo de intrapredicción puede determinarse a partir de las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas, como el núcleo de transformada horizontal en el par de transformadas correspondiente al bloque actual.
[0402] Cuando se determina, basándose en la información de tamaño, que la anchura del bloque actual satisface la condición de restricción de dimensión objetivo y que la altura del bloque actual no satisface la condición de restricción de dimensión objetivo, DCT2 puede determinarse como el núcleo de transformada horizontal en el par de transformadas correspondiente al bloque actual y el núcleo de transformada vertical en el par de transformadas correspondiente a la información de modo de intrapredicción puede determinarse a partir de las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas, como el núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual.
[0404] En algunas posibles realizaciones de la presente divulgación, cuando existe un identificador objetivo en los datos codificados del bloque actual, se puede determinar que un modo de transformada del bloque actual es un modo de transformada multinúcleo implícito y el par de transformadas correspondiente al bloque actual se puede determinar conjuntamente basándose en la información de tamaño y la información de modo de intrapredicción del bloque actual.
[0405] En algunas posibles realizaciones de la presente divulgación, determinar el par de transformadas correspondiente a la información de modo de intrapredicción como el par de transformadas correspondiente al bloque actual puede realizarse de las siguientes maneras. A continuación se proporcionan varias formas de implementación factibles.
[0407] En una primera manera, como se enumera en la Tabla 12 que describe las relaciones correspondientes entre la información de modo intrapredicción y los pares de transformadas, cuando los números de modo de la información de modo de intrapredicción del bloque actual son 1, 33 y 35, el par de transformadas correspondiente al bloque actual se determina como un primer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del bloque actual son 0, 31, 32, 34, 36, 37, el par de transformadas correspondiente al bloque actual se determina como un segundo par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 30, 39, 65, números pares entre 2 y 30 y números impares entre 39 y 65, el par de transformadas correspondiente al bloque actual se determina como un tercer par de transformadas; y cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 29, 38, 66, números impares entre 3 y 29 y números pares entre 38 y 66, el par de transformadas correspondiente al bloque actual se determina como un cuarto par de transformadas.
[0409] Tabla 12
[0412]
[0415] En la primera manera, el par de transformadas correspondiente al bloque actual puede adquirirse mediante la Tabla 12 anterior.
[0417] En una segunda manera, como se enumera en la Tabla 13, cuando el número de modo de la información de modo de intrapredicción del bloque actual es 1, el par de transformadas correspondiente al bloque actual se determina como un primer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del bloque actual son 0, 31, 32, 33, 34, 35, 36, 37, el par de transformadas correspondiente al bloque actual se determina como un segundo par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 30, 39, 65, números pares entre 2 y 30 y números impares entre 39 y 65, el par de transformadas correspondiente al bloque actual se determina como un tercer par de transformadas; y cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 29, 38, 66, números impares entre 3 y 29 y números pares entre 38 y 66, el par de transformadas correspondiente al bloque actual se determina como un cuarto par de transformadas.
[0419] Tabla 13
[0422]
[0425] En la segunda manera, el par de transformadas correspondiente al bloque actual puede adquirirse mediante la Tabla 13 anterior.
[0427] En una tercera manera, como se enumera en la Tabla 14, cuando el número de modo de la información de modo de intrapredicción del bloque actual es 1, el par de transformadas correspondiente al bloque actual se determina como un primer par de transformadas; cuando el número de modo de la información de modo de intrapredicción del bloque actual es 0, el par de transformadas correspondiente al bloque actual se determina como un segundo par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 34, 35, 65, números pares entre 2 y 34 y números impares entre 35 y 65, el par de transformadas correspondiente al bloque actual se determina como un tercer par de transformadas; y cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 33, 36, 66, números impares entre 3 y 33 y números pares entre 36 y 66, el par de transformadas correspondiente al bloque actual se determina como un cuarto par de transformadas.
[0428] Tabla 14
[0431]
[0434] En una cuarta manera, como se enumera en la Tabla 15, cuando el número de modo de la información de modo de intrapredicción del bloque actual es 1, el par de transformadas correspondiente al bloque actual se determina como un primer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del bloque son 0, 3, 65 y números impares entre 3 y 65, el par de transformadas correspondiente al bloque actual se determina como un segundo par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 34, y números pares entre 2 y 34, el par de transformadas correspondiente al bloque actual se determina como un tercer par de transformadas; y cuando los números de modo de la información de modo de intrapredicción del subbloque son 36, 66 y números pares entre 36 y 66, el par de transformadas correspondiente al bloque actual se determina como un cuarto par de transformadas.
[0436] Tabla 15
[0439]
[0442] En algunas posibles realizaciones de la presente divulgación, hay dos combinaciones del primer par de transformadas con el cuarto par de transformadas. La descripción correspondiente puede ser la siguiente.
[0443] El primer par de transformadas es (DCT2, DCT2), el segundo par de transformadas es (DST7, DST7), el tercer par de transformadas es (DST7, DCT2) y el cuarto par de transformadas es (DCT2, DST7); o el primer par de transformadas es (DCT2, DCT2), el segundo par de transformadas es (DST7, DST7), el tercer par de transformadas es (DST7, DCT8) y el cuarto par de transformadas es (DCT8, DST7).
[0445] En algunas posibles realizaciones de la divulgación, cuando el par de transformadas se determina basándose en la información de modo de intrapredicción, se considera además el intervalo de modos de intrapredicción. El proceso correspondiente puede incluir: determinar el par de transformadas correspondiente a la información de modo de intrapredicción como el par de transformadas correspondiente al bloque actual cuando se determina, basándose en la información de tamaño, que el bloque actual no satisface la condición de restricción de dimensión y que la información de modo de intrapredicción satisface el intervalo de modos de intrapredicción.
[0447] El intervalo de modos de intrapredicción puede preestablecerse y almacenarse en el dispositivo de decodificación. El intervalo de modos de intrapredicción incluye modos de intrapredicción con números de modo de 0, 1 y 31 a 37; o el intervalo de modos de intrapredicción incluye modos de intrapredicción con números de modo de 0 y 1; o el intervalo de modos de intrapredicción incluye modos de intrapredicción con números de modo de 0, 1, 3, 65 y números impares entre 3 y 65.
[0449] En la práctica, en respuesta a adquirir el número de modo de intrapredicción de la información de modo de intrapredicción a partir de los datos codificados, el dispositivo de decodificación puede determinar si el número de modo de intrapredicción está dentro del intervalo de modos de intrapredicción; y un par de transformadas correspondiente al bloque actual puede determinarse directamente a partir de las relaciones correspondientes entre la información de modo de intrapredicción y los pares de transformadas cuando el número de modo de intrapredicción está dentro del intervalo de modos de intrapredicción.
[0451] En algunas posibles realizaciones de la presente divulgación, cuando un número de modo de la información de modo de intrapredicción del bloque actual no está dentro del intervalo de modos de intrapredicción, se pueden emplear las siguientes maneras de procesamiento.
[0453] En una primera manera, como se indica en la Tabla 16, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1 y 31 a 37. La anchura del bloque actual está representada por W y la altura del bloque actual está representada por H.
[0454] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6,..., 30, 39, 41, 43,..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, y los segundos puntos suspensivos representan números impares entre 43 y 65).
[0456] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, 7, ..., 29, 38, 40, 42, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 7 y 29, y los segundos puntos suspensivos representan números pares entre 42 y 66).
[0458] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+1, B+3, ...,30, 3, 5, ..., B, 39, 41, 43, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre B+3 y 30, los segundos puntos suspensivos representan números impares entre 5 y B y los terceros puntos suspensivos representan números impares entre 43 y 65 ).
[0460] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+2, B+4, ..., 29, 38, 40, ..., 66, 2, 4, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre B+4 y 29, los segundos puntos suspensivos representan números pares entre 40 y 66 y los terceros puntos suspensivos representan números pares entre 4 y [B-1]).
[0462] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ...,30, (B+1), (B+3), ..., 66, 39, 41, ..., (B-2) es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, los segundos puntos suspensivos representan números pares entre [B+3] y 66 y los terceros puntos suspensivos representan números impares entre 41 y B-2).
[0464] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, ..., 29, B, B+2, ..., 65, 38, 40, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 5 y 29, los segundos puntos suspensivos representan números pares entre [B+2] y 65 y los terceros puntos suspensivos representan números pares entre 40 y [B-1]).
[0466] Tabla 16
[0468]
[0471] En una segunda manera, como se indica en la Tabla 17, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1 y 31 a 37. La anchura del bloque actual está representada por W y la altura del bloque actual está representada por H.
[0473] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6,..., 30, 39, 41,
43,..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, y los segundos puntos suspensivos representan números impares entre 43 y 65).
[0475] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, 7, ..., 29, 38, 40, 42, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 7 y 29, y los segundos puntos suspensivos representan números pares entre 42 y 66).
[0477] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+1, B+3, ...,30, 3, 5, ..., B, 39, 41, 43, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre B+3 y 30, los segundos puntos suspensivos representan números impares entre 5 y B y los terceros puntos suspensivos representan números impares entre 43 y 65 ).
[0479] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+2, B+4, ..., 29, 38, 40, ..., 66, 2, 4, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre B+4 y 29, los segundos puntos suspensivos representan números pares entre 40 y 66 y los terceros puntos suspensivos representan números pares entre 4 y [B-1]).
[0481] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 30, B+1, B+3, ..., 66, 39, 41, ..., (B-2) es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 30, los segundos puntos suspensivos representan números pares entre [B+3] y 66 y los terceros puntos suspensivos representan números impares entre 41 y [B-2]).
[0483] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, ..., 29, B, (B+2), ..., 65, 38, 40, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 5 y 29, los segundos puntos suspensivos representan números pares entre [B+2] y 65 y los terceros puntos suspensivos representan números pares entre 40 y [B-1]).
[0485] Tabla 17
[0487]
[0490] En una tercera manera, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0 y 1. Como se enumera en la Tabla 18, la anchura del bloque actual está representada por W y la altura del bloque actual está representada por H.
[0492] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 34, 35, 37, 39, 41,43, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 34, y los segundos puntos suspensivos representan números impares entre 43 y 65).
[0493] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, 7, 33, 36, 38, 40, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 7 y 33, y los segundos puntos suspensivos representan números pares entre 40 y 66).
[0495] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de (B+1), (B+3), ..., 34, 3, 5, ..., B, 35, 37, 39, ..., 65 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre [B+3] y 34, los segundos puntos suspensivos representan números impares entre 5 y B y los terceros puntos suspensivos representan números impares entre 39 y 65 ).
[0497] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+2, B+4, ..., 33, 2, 4, ..., (B-1), 36, 38, ..., 66 es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre [B+4] y 33, los segundos puntos suspensivos representan números pares entre 4 y [B-1] y los terceros puntos suspensivos representan números impares entre 38 y 66).
[0499] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 34, (B+1), (B+3), ..., 66, 35, 37, 39, ..., (B-2) es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 34, los segundos puntos suspensivos representan números pares entre [B+3] y 66 y los terceros puntos suspensivos representan números impares entre 39 y [B-2]).
[0501] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 3, 5, ..., 33, B, (B+2), ..., 65, 36, 38, ..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 5 y 33, los segundos puntos suspensivos representan números pares entre [B+2] y 65 y los terceros puntos suspensivos representan números pares entre 38 y [B-1]).
[0503] Tabla 18
[0505]
[0508] En una cuarta manera, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1, 3, 65 y números impares entre 3 y 65. Como se enumera en la Tabla 19, la anchura del bloque actual está representada por W y la altura del bloque actual está representada por H.
[0509] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6,..., 34 es (DST7, DCT2) (los puntos suspensivos representan números pares entre 6 y 34).
[0511] Cuando la relación entre la anchura y la altura del bloque actual es 1 (es decir, W=H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 36, 38, 40, ..., 66 es
(DCT2, DST7) (los puntos suspensivos representan números pares entre 40 y 66).
[0513] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de B+1, B+3, ..., 34 es (DST7, DCT2) (los puntos suspensivos representan números pares entre [B+3] y 34).
[0515] Cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 (es decir, W>H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 36, 38, ..., 66, 2, 4..., (B-1) es (DCT2, DST7) (los primeros puntos suspensivos representan números impares entre 38 y 66, y los segundos puntos suspensivos representan números pares entre 4 y [B-1]).
[0517] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 2, 4, 6, ..., 34, B+1, B+3, ..., 66 es (DST7, DCT2) (los primeros puntos suspensivos representan números pares entre 6 y 34, y los segundos puntos suspensivos representan números pares entre [B+3] y 66).
[0519] Cuando la relación entre la anchura y la altura del bloque actual es menor que 1 (es decir, W<H), el par de transformadas correspondiente a la información de modo de intrapredicción con números de modo de 36, 38, ..., (B-1) es (DCT2, DST7) (los puntos suspensivos representan números pares entre 38 y [B-1]).
[0521] Tabla 19
[0523]
[0526] Cabe señalar que la Tabla 16 a la Tabla 19 tienen en cuenta la influencia del modo de intrapredicción al ser un modo de gran angular, en donde B en el modo de gran angular está determinado por la relación entre la anchura y la altura del bloque actual. En la Tabla 7 a la Tabla 10, cuando W/H=2, 4, 6, y 8, el B correspondiente es 7, 11, 13 y 15; y cuando W/H=1/2, 1/4, 1/6, 1/8, el B correspondiente es 61,57, 55, 53.
[0528] También cabe señalar que, en la Tabla 7 a la Tabla 10, los modos de intrapredicción con números de modo adyacentes generalmente corresponden a diferentes pares de transformadas.
[0530] En correspondencia con la decodificación mostrada en la FIG. 12, como se muestra en la FIG. 13, un proceso de codificación puede incluir las siguientes etapas.
[0532] En la etapa 1301, un dispositivo de codificación adquiere datos residuales de un bloque actual.
[0534] En la práctica, el dispositivo de codificación realiza primero intrapredicción cuando codifica datos de vídeo, para adquirir datos residuales (el método para adquirir los datos residuales es coherente con los estándares de codificación de vídeo existentes, los cuales no se repiten). Los datos residuales se toman como los datos residuales del bloque actual que se va a procesar.
[0536] En la etapa 1302, el dispositivo de codificación determina información de modo de intrapredicción de subbloques del bloque actual e información de tamaño de los subbloques del bloque actual basándose en información de partición del bloque actual cuando el bloque actual satisface una condición de partición de subbloque y se activa la partición intra subbloque.
[0538] La información de partición de subbloque indica cómo particionar el bloque actual. Por ejemplo, para un bloque actual de 8*4, puede particionarse horizontalmente en dos subbloques de 8*2.
[0540] En la práctica, en respuesta a adquirir los datos residuales del bloque actual, el dispositivo de codificación puede determinar si el bloque actual satisface la condición de partición de subbloque; y determinar si la partición intra subbloque se activa cuando se satisface la condición de partición de subbloque. Cuando se enciende un
conmutador para la partición intra subbloque, se indica que la partición intra subbloque puede activarse y el bloque actual puede particionarse. A continuación, se determinan las alturas y anchuras de los subbloques adquiridos particionando el bloque actual. La anchura del bloque actual es la cantidad de píxeles contenidos en el bloque actual en su dirección de anchura, la altura del bloque actual es la cantidad de píxeles contenidos en el bloque actual en su dirección de altura, la anchura de cada subbloque es la cantidad de píxeles contenidos en el subbloque en su dirección de anchura y la altura de cada subbloque es la cantidad de píxeles contenidos en el subbloque en su dirección de altura. De esta manera, se puede adquirir la información de tamaño de cada subbloque. Para un bloque actual de MxN, M representa la anchura del bloque actual y N representa la altura del bloque actual.
[0542] Además, el contenido de un bit de indicador configurado para indicar la información de modo de intrapredicción se puede adquirir a partir de los datos codificados del bloque actual, es decir, se puede adquirir la información de modo de intrapredicción del bloque actual.
[0544] En algunas posibles realizaciones de la presente divulgación, la condición de partición de subbloque es que el bloque actual sea un bloque de luma y la altura y la anchura del bloque actual sean ambas menores que o iguales a un primer valor preestablecido y el bloque actual sea una referencia de una sola línea cuando se somete a intrapredicción y el número de píxeles incluidos en el bloque actual sea mayor que un segundo valor preestablecido.
[0546] El primer valor preestablecido puede preestablecerse y almacenarse en el dispositivo de codificación (igual que el tercer valor mencionado anteriormente). El primer valor preestablecido puede ser 64. El hecho de que el bloque actual sea la referencia de una sola línea durante la intrapredicción significa que solo se hace referencia a una línea durante la intrapredicción del bloque actual. El segundo valor preestablecido puede preestablecerse y almacenarse en el dispositivo de codificación. El segundo valor preestablecido puede ser 16 (igual que el cuarto valor mencionado anteriormente).
[0548] En la etapa 1303, el dispositivo de codificación determina, basándose en la información de tamaño del subbloque y la información de modo de intrapredicción del subbloque, un par de transformadas correspondiente a cada subbloque. Determinar, basándose en la información de tamaño del subbloque y la información de modo de intrapredicción del subbloque, el par de transformadas de cada subbloque incluye: determinar un par de transformadas correspondiente a la información de modo de intrapredicción de cada subbloque como un par de transformadas correspondiente al subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface una condición de restricción de dimensión, en donde la condición de restricción de dimensión es que la anchura no esté dentro de un primer intervalo preestablecido y la altura no esté dentro de un segundo intervalo preestablecido.
[0550] En la práctica, la etapa 1303 es completamente la misma que la etapa 1203, la cual no se repite aquí.
[0552] Cabe señalar que determinar el par de transformadas correspondiente al subbloque basándose en la información de tamaño del subbloque y la información de modo de intrapredicción del subbloque por el dispositivo de codificación es completamente igual a determinar el par de transformadas correspondiente al subbloque basándose en la información de tamaño del subbloque y la información de modo de intrapredicción del subbloque del dispositivo de decodificación en la realización mostrada en la FIG. 12. Para ver más detalles, se hace referencia al proceso de la FIG. 12, el cual no se repite aquí.
[0554] En la etapa 1304, el dispositivo de codificación realiza una transformada sobre los datos residuales de los subbloques basándose en los pares de transformadas correspondientes a los subbloques.
[0556] En la práctica, después de que el dispositivo de codificación determine el par de transformadas correspondientes a los subbloques, se adquiere un coeficiente de transformada correspondiente al subbloque transformando cada subbloque basándose en el par de transformadas correspondientes al subbloque; a continuación, se adquiere un coeficiente de cuantificación cuantificando el coeficiente de transformada; y se adquieren datos codificados correspondientes al subbloque mediante codificación entrópica del coeficiente de cuantificación.
[0558] De esta manera, los datos codificados correspondientes al bloque actual pueden adquirirse basándose en el procesamiento anterior para cada subbloque, de modo que se completa la codificación del bloque actual. Cada bloque actual se procesa según el proceso mostrado en la FIG. 13, para codificar un segmento completo de datos de vídeo.
[0560] En algunas posibles realizaciones de la presente divulgación, para realizar rápidamente partición de subbloques sobre el bloque actual mediante el dispositivo de decodificación, se puede realizar el siguiente proceso: adquirir la información de partición de subbloque del bloque actual cuando el bloque actual satisface la condición de partición de subbloque; y añadir la información de partición de subbloque a los datos codificados del bloque actual.
[0561] En la práctica, el dispositivo de codificación puede adquirir la información de partición de subbloque del bloque actual cuando el bloque actual satisface la condición de partición de subbloque; y añadir la información de partición de subbloque a los datos codificados del bloque actual. De esta manera, el dispositivo de decodificación puede adquirir posteriormente, a partir de los datos codificados del bloque actual, la información de partición de subbloque del bloque actual para su decodificación.
[0563] En respuesta a adquirir el bloque actual, el dispositivo de codificación puede determinar la información de modo de intrapredicción del bloque actual basándose en el criterio de RDO. El proceso puede ser el siguiente.
[0564] En términos generales, hay dos indicadores principales para evaluar la eficiencia de la codificación: tasa de código y proporción máxima señal a ruido (PSNR). En general, cuanto más pequeño es un flujo de bits, mayor es la tasa de compresión; cuanto mayor es la PSNR, mejor es la calidad de una imagen reconstruida. En caso de realizar selección de modo, una fórmula discriminante es esencialmente una evaluación exhaustiva de los dos indicadores.
[0566] El coste de distorsión de tasa correspondiente al modo es J(modo)=D+A*R. D representa Distorsión, que generalmente se mide mediante un indicador de errores cuadráticos (SSE); SSE se refiere a una suma de errores cuadráticos entre un bloque reconstruido y una imagen de origen; A es un multiplicador de Lagrange; y R es un número real de bits requerido para codificar bloque de imágenes en este modo, que incluye la suma de bits requerida para codificar información de modo, información de movimiento, residuales, etc.
[0568] El dispositivo de codificación puede realizar una intrapredicción mediante cada información del modo de intrapredicción para adquirir diferentes residuos (que pueden considerarse como el bloque actual); a continuación, realizar una transformada mediante un par de transformadas correspondiente a cada información del modo de intrapredicción, seguida de la cuantificación, la codificación por entropía y la decodificación; a continuación, seleccionar la información del modo de intrapredicción con el menor coste de distorsión de velocidad; y determinar esta información del modo de intrapredicción como la información del modo de intrapredicción correspondiente al bloque actual.. De esta manera, se puede determinar la información del modo de intrapredicción correspondiente al bloque actual.
[0570] Además, tras adquirirse la información de modo de intrapredicción del bloque actual, se puede añadir un número de modo de la información de modo de intrapredicción a los datos codificados posteriores para procesar el bloque actual.
[0572] Cabe señalar que, para ahorrar el tiempo de codificación, los subbloques intra particionados comparten la información de modo de intrapredicción del bloque actual.
[0574] Además, en las realizaciones de la presente divulgación, también se proporciona el proceso para adquirir la información de partición de subbloque por parte del dispositivo de codificación.
[0576] El dispositivo de codificación puede particionar el bloque actual horizontal o verticalmente en varios subbloques pequeños. Por ejemplo, para un bloque actual de 16*8, puede particionarse en cuatro subbloques de 16x2 horizontalmente o en cuatro subbloques de 4*8 verticalmente. Sin embargo, para un bloque de 4*8, se puede particionar en dos subbloques de 4*4 o dos subbloques de 2*8. Cabe señalar que el número de subbloques puede ser solo 2 (para subbloques de 4*8, 8*4). Además, cada subbloque contiene al menos 16 píxeles, de modo que el bloque de 4*4 no se vuelva a particionar y no sea necesario realizar las correspondientes declaraciones gramaticales en el dispositivo de codificación y el dispositivo de decodificación. Las reglas de partición específicas se muestran en la Tabla 3 mostrada en la FIG. 9. En cuanto a si se debe particionar horizontal o verticalmente, el dispositivo de codificación debe determinarlo basándose en un criterio de RDO. Para ahorrar tiempo de codificación, los subbloques intra particionados comparten un modo de intrapredicción del bloque actual (es decir, los subbloques obtenidos al particionar el bloque actual tienen el mismo modo de intrapredicción que el bloque actual).
[0578] El bloque actual puede particionarse horizontal y verticalmente según la Tabla 3. Por ejemplo, como se muestra en la FIG. 11, para un bloque actual de 8*4, puede particionarse horizontalmente en dos subbloques de 8*2, o particionarse verticalmente en dos subbloques de 4*4.
[0580] Determinar la información de partición de subbloques basándose en el criterio de RDO puede incluir: determinar una pluralidad de tipos de división del bloque actual primero según la Tabla 3; a continuación, realizar codificación según cada tipo de división; y a continuación, realizar decodificación para determinar el tipo de división con el menor coste de distorsión de tasa como el tipo de división final del bloque actual. De esta manera, se adquiere la información de partición de subbloque del bloque actual. La información de partición de subbloques del bloque actual se añade posteriormente a los datos codificados del bloque actual.
[0582] Cabe señalar que en la realización anteriormente mencionada, tras particionar el bloque actual, los subbloques
tienen la misma anchura y la misma altura, además de la misma información de modo intrapredicción y, por lo tanto, los pares de transformadas determinados son también los mismos.
[0584] En las realizaciones de la presente divulgación, en el dispositivo de codificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en el modo de intrapredicción del bloque actual y la información de tamaño de los subbloques; y los pares de transformadas determinados se codifican. De manera similar, en el dispositivo de decodificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en el modo de intrapredicción del bloque actual y la información de tamaño de los subbloques; y los pares de transformadas determinados se decodifican. De esta manera, dado que los pares de transformadas se determinan basándose en el modo de intrapredicción del bloque actual y la información de tamaño de los subbloques, en lugar de usar el mismo par de transformadas para todos los subbloques, se puede mejorar el rendimiento de codificación y decodificación. Es más, la selección de los pares de transformadas basándose en el modo de intrapredicción puede ahorrar el tiempo de selección de los pares de transformadas y mejorar aún más el rendimiento de codificación y decodificación.
[0585] Cabe señalar que, para las dos realizaciones de decodificación mencionadas anteriormente, cuando el bloque actual se particiona horizontalmente, los subbloques del bloque actual se someten uniformemente a decodificación por entropía en secuencia de arriba a abajo para adquirir los coeficientes de cuantificación de los subbloques. A continuación, los subbloques del bloque actual se someten a cuantificación inversa y transformada inversa en secuencia de arriba a abajo para adquirir los datos residuales de los subbloques. Finalmente, los valores de píxel de los píxeles en un área reconstruida alrededor del bloque actual se utilizan para construir, basándose en un modo de intrapredicción utilizado durante la codificación, señales de predicción de los subbloques en secuencia de arriba a abajo. La información de reconstrucción de cada subbloque se adquiere sumando los datos residuales del subbloque y la señal de predicción correspondiente. De esta manera, se puede adquirir la información de reconstrucción correspondiente al bloque actual se puede adquirir fusionando la información de reconstrucción de los subbloques.
[0587] Cuando el bloque actual se particiona verticalmente, los subbloques del bloque actual se someten uniformemente a decodificación por entropía en secuencia de izquierda a derecha para adquirir los coeficientes de cuantificación de los subbloques. A continuación, los subbloques del bloque actual se someten a cuantificación inversa y transformada inversa en secuencia de izquierda a derecha para adquirir los datos residuales de los subbloques. Finalmente, los valores de píxel de los píxeles en un área reconstruida alrededor del bloque actual se utilizan para construir, basándose en un modo de intrapredicción utilizado durante la codificación, señales de predicción de los subbloques en secuencia de izquierda a derecha. La información de reconstrucción de cada subbloque se adquiere sumando los datos residuales del subbloque y la señal de predicción correspondiente. De esta manera, se puede adquirir la información de reconstrucción correspondiente al bloque actual se puede adquirir fusionando la información de reconstrucción de los subbloques.
[0589] También cabe señalar que, para las dos realizaciones de codificación mencionadas anteriormente, cuando el bloque actual se particiona horizontalmente, los subbloques en la primera línea del bloque actual se predicen, transforman, cuantifican y codifican por entropía, respectivamente, primero en la secuencia de líneas; y los subbloques de la segunda línea se predicen, transforman, cuantifican y codifican por entropía, respectivamente, en la secuencia de líneas y el tercer subbloque, el cuarto subbloque, etc., se procesan secuencialmente de arriba a abajo. La razón para codificar de esta forma es que los píxeles de referencia para intrapredicción del siguiente subbloque dependen de la información de reconstrucción del subbloque anterior. Por tanto, cuando se predice el siguiente subbloque, el subbloque anterior ha completado la predicción, transformación, cuantificación y codificación por entropía y se ha adquirido la información de reconstrucción.
[0591] Cuando el bloque actual se particiona verticalmente, el primer subbloque del lado más a la izquierda del bloque actual se predice, transforma, cuantifica y codifica por entropía primero en la secuencia de columnas; y los subbloques en la segunda columna del lado izquierdo se predicen, transforman, cuantifican y codifican por entropía, respectivamente, en la secuencia de columnas, y el tercer subbloque, el cuarto subbloque y similares se procesan secuencialmente de izquierda a derecha. La razón para codificar de esta forma es que los píxeles de referencia para la intrapredicción del subbloque en el lado derecho dependen de la información de reconstrucción del subbloque anterior. Por tanto, cuando se predice un subbloque en el lado derecho, el subbloque izquierdo ha completado la predicción, transformada, cuantificación y codificación por entropía y se ha adquirido la información de reconstrucción.
[0593] También cabe señalar que las realizaciones del dispositivo de codificación mostradas en la FIG. 10 y la FIG.
[0594] 13 son todas mejoras del proceso de transformada. Durante la intrapredicción, todo el bloque actual se usa para realizar la intrapredicción. Tras adquirirse los datos residuales, el bloque actual se particiona en subbloques y los datos residuales de los subbloques se someten a transformada. Durante la intrapredicción, también está disponible particionar directamente el bloque actual en subbloques para la intrapredicción, para adquirir datos residuales de los subbloques y los datos residuales de los subbloques se someten a transformada. El dispositivo de codificación de las realizaciones mencionadas anteriormente de la presente
divulgación es aplicable a las dos maneras anteriores. De manera similar, la transformada inversa del dispositivo de decodificación también es aplicable a las dos maneras.
[0596] También cabe señalar que en las varias realizaciones mencionadas anteriormente, la activación de la partición intra subbloque se refiere a la activación de un tipo de división intra subbloque. La información de partición de subbloques puede ser un tipo de división de subbloque, es decir, un tipo de división de subbloque determinado en los tipos de división de subbloques candidatos soportados por el bloque actual. La información de partición de subbloque mencionada anteriormente no puede añadirse a los datos codificados, es decir, un bit de indicador no está ocupado. Por ejemplo, cuando solo se activa la partición horizontal, el dispositivo de decodificación realiza la partición horizontal mientras realiza la partición de subbloques. De manera similar, cuando solo se activa la partición vertical, el dispositivo de decodificación realiza la partición vertical mientras realiza la partición de subbloque. Solo cuando están activadas tanto la partición horizontal como la partición vertical, se añade una indicación adicional a los datos codificados, de modo que se puedan ahorrar recursos de red.
[0598] Basándose en el mismo concepto técnico, una realización de la presente divulgación proporciona además un dispositivo de decodificación. Como se muestra en la FIG. 14, el dispositivo de decodificación incluye:
[0599] un módulo 1410 de adquisición, configurado para adquirir datos codificados de un bloque actual;
[0601] un módulo 1420 de determinación, configurado para: determinar información de tamaño e información de forma de subbloques basándose en información de partición de subbloque del bloque actual cuando el bloque actual satisface una condición de partición de subbloques y se determina, basándose en los datos codificados del bloque actual, que el bloque actual activa la partición intra subbloque; y determinar, basándose en la información de tamaño y la información de forma de cada subbloque, un par de transformadas correspondiente al subbloque; y
[0603] un módulo 1430 de transformación, configurado para realizar una transformada inversa sobre datos cuantificados inversamente de los subbloques basándose en los pares de transformadas correspondientes a los subbloques;
[0605] en donde el módulo 1420 de determinación está configurado para: determinar DST7 como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando una anchura del subbloque satisface una primera condición de restricción de dimensión y la forma del subbloque satisface una primera condición; y determinar DST7 como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque satisface una segunda condición de restricción de dimensión y la forma del subbloque satisface una segunda condición.
[0607] En algunas posibles realizaciones de la presente divulgación, el módulo 1420 de determinación está configurado además para: determinar DCT2 como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando la anchura del subbloque no satisface la primera condición de restricción de dimensión y/o la forma del subbloque no satisface la primera condición; y determinar DCT2 como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando la altura del subbloque no satisface la segunda condición de restricción de dimensión y/o la forma del subbloque no satisface la segunda condición de restricción de dimensión.
[0609] En algunas posibles realizaciones de la presente divulgación, la primera condición de restricción de dimensión y la segunda condición de restricción de dimensión son mayores que o iguales a un primer valor y menores que o iguales a un segundo valor; la primera condición es que la anchura sea menor que o igual a la altura y la segunda condición es que la anchura sea mayor que o igual a la altura; o la primera condición de restricción de dimensión y la segunda condición de restricción de dimensión son mayores que o iguales a un primer valor y menores que o iguales a un segundo valor; la primera condición es que la anchura sea menor que la altura y la segunda condición es que la anchura sea mayor que la altura.
[0611] En algunas posibles realizaciones de la presente divulgación, la condición de partición de subbloque es que el bloque actual sea un bloque de luma, la altura y la anchura del bloque actual sean menores que o iguales a un tercer valor, el bloque actual sea una referencia de una sola línea durante la realización de intrapredicción y un número de píxeles incluidos en el bloque actual sea mayor que un cuarto valor.
[0613] Basándose en el mismo concepto técnico, una realización de la presente divulgación proporciona además un dispositivo de codificación. Como se muestra en la FIG. 15, el dispositivo de codificación incluye:
[0615] un módulo 1510 de adquisición, configurado para adquirir datos residuales de un bloque actual;
[0617] un módulo 1520 de determinación, configurado para: determinar información de tamaño e información de forma de subbloques del bloque actual basándose en información de partición de subbloque del bloque actual cuando el bloque actual satisface una condición de partición de subbloque y la partición de subbloque
está activada; y determinar un par de transformadas correspondiente a cada subbloque basándose en la información de tamaño e información de forma del subbloque; y
[0619] un módulo 1530 de transformación, configurado para realizar una transformada sobre datos residuales de los subbloques basándose en los pares de transformadas correspondientes a los subbloques;
[0621] en donde el módulo 1520 de determinación está configurado para: determinar DST7 como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque cuando una anchura del subbloque satisface una primera condición de restricción de dimensión y la forma del subbloque satisface una primera condición; y determinar DST7 como un núcleo de transformada vertical en el par de transformadas del subbloque cuando la altura del subbloque satisface una segunda condición de restricción de dimensión y la forma del subbloque satisface una segunda condición.
[0623] En algunas posibles realizaciones de la presente divulgación, el módulo 1510 de adquisición está configurado además para: adquirir la información de partición de subbloque del bloque actual cuando el bloque actual satisface la condición de partición de subbloque; y añadir la información de partición de subbloque a los datos codificados del bloque actual.
[0625] En las realizaciones de la presente divulgación, en el dispositivo de codificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en la información de tamaño y la información de forma de los subbloques del bloque actual; y los pares de transformadas determinados se codifican. De manera similar, en el dispositivo de decodificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en la información de tamaño y la información de forma de los subbloques del bloque actual; y los pares de transformadas determinados se decodifican. De esta manera, dado que los pares de transformadas se determinan basándose en la información de tamaño y la información de forma, en lugar de usar el mismo par de transformadas para todos los subbloques, se puede mejorar el rendimiento de codificación y decodificación. Es más, cuando se derivan los pares de transformadas, solo se utilizan las alturas y anchuras, de modo que la derivación es más sencilla y el rendimiento de codificación y decodificación puede mejorarse aún más.
[0627] Basándose en el mismo concepto técnico, una realización de la presente divulgación proporciona además un dispositivo de decodificación. Como se muestra en la FIG. 16, el dispositivo de decodificación incluye:
[0628] un módulo 1610 de adquisición, configurado para adquirir datos codificados de un bloque actual;
[0630] un módulo 1620 de determinación, configurado para: cuando el bloque actual satisface una condición de partición de subbloque y se determina, basándose en los datos codificados del bloque actual, que el bloque actual activa partición intra subbloque, determinar información de tamaño de subbloques basándose en información de partición de subbloques del bloque actual y determinar información de modo de intrapredicción de los subbloques; y determinar, basándose en la información de tamaño y la información de modo intrapredicción de cada subbloque, un par de transformadas correspondientes al subbloque; y
[0631] un módulo 1630 de transformación, configurado para realizar una transformada inversa sobre datos cuantificados inversamente de los subbloques basándose en los pares de transformadas correspondientes a los subbloques;
[0633] en donde el módulo 1620 de determinación está configurado para: determinar un par de transformadas correspondiente a la información de modo de intrapredicción de cada subbloque como el par de transformadas correspondiente al subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface una condición de restricción de dimensión, en donde la condición de restricción de dimensión es que una anchura no esté dentro de un intervalo de valores preestablecido y una altura no esté dentro del intervalo de valores preestablecido.
[0635] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado además para:
[0637] cuando se determina, basándose en la información de tamaño del subbloque, que la altura del subbloque satisface la condición de restricción de dimensión y la anchura del subbloque no satisface la condición de restricción de dimensión, determinar DCT2 como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque y determinar un núcleo de transformada horizontal en el par de transformadas correspondiente a la información de modo de intrapredicción del subbloque como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque;
[0638] cuando se determina, basándose en la información de tamaño del subbloque, que la anchura del subbloque satisface la condición de restricción de dimensión y la altura del subbloque no satisface la condición de restricción de dimensión, determinar DCT2 como un núcleo de transformada horizontal en el par de
transformadas correspondiente al subbloque y determinar un núcleo de transformada vertical en el par de transformadas correspondiente a la información de modo de intrapredicción del subbloque como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque; y
[0640] determinar DCT2 como un núcleo de transformada vertical y un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque cuando se determina, basándose en la información de tamaño del subbloque, que tanto la altura como la anchura del subbloque satisfacen la condición de restricción de dimensión.
[0642] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado para: determinar el par de transformadas correspondiente al subbloque como (DCT2, DCT2) cuando los números de modo de la información de modo de intrapredicción del subbloque son 1, 33, 35; determinar el par de transformadas correspondiente a los subbloques como (DST7, DST7) cuando los números de modo de la información de modo de intrapredicción del subbloque son 0, 31, 32, 34, 36, 37; determinar el par de transformadas correspondiente al subbloque como (DST7, DCT8); cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 30, números pares entre 2 y 30, 39, 65 y números impares entre 39 y 65; y determinar el par de transformadas correspondiente al subbloque como (DCT8, DST7) cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 29, números impares entre 3 y 29, 38, 66 y números pares entre 38 y 66.
[0644] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado para: determinar el par de transformadas correspondiente al subbloque como un primer par de transformadas cuando un número de modo de la información de modo de intrapredicción del subbloque es 1; determinar el par de transformadas correspondiente al subbloque como un segundo par de transformadas cuando los números de modo de la información de modo de intrapredicción del subbloque son 0, 31, 32, 33, 34, 35, 36, 37; determinar el par de transformadas correspondiente al subbloque como un tercer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 30, números pares entre 2 y 30, 39, 65 y números impares entre 39 y 65; y determinar el par de transformadas correspondiente al subbloque como un cuarto par de transformadas cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 29, números impares entre 3 y 29, 38, 66 y números pares entre 38 y 66.
[0646] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado para: determinar el par de transformadas correspondiente al subbloque como un primer par de transformadas cuando un número de modo de la información de modo de intrapredicción del subbloque es 1; determinar el par de transformadas correspondiente al subbloque como un segundo par de transformadas cuando el número de modo de la información de modo de intrapredicción del subbloque es 0; determinar el par de transformadas correspondiente al subbloque como un tercer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 34, números pares entre 2 y 34, 35, 65 y números impares entre 35 y 65; y determinar el par de transformadas correspondiente al subbloque como un cuarto par de transformadas cuando los números de modo de la información de modo de intrapredicción del subbloque son 3, 33, números impares entre 3 y 33, 36, 66 y números pares entre 36 y 66.
[0648] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado para: determinar el par de transformadas correspondiente al subbloque como un primer par de transformadas cuando el número de modo de la información de modo de intrapredicción del subbloque es 1; determinar el par de transformadas correspondiente al subbloque como un segundo par de transformadas cuando los números de modo de la información de modo de intrapredicción del subbloque son 0, 3, 65 y números impares entre 3 y 65; determinar el par de transformadas correspondiente al subbloque como un tercer par de transformadas; cuando los números de modo de la información de modo de intrapredicción del subbloque son 2, 34 y números pares entre 2 y 34; y determinar el par de transformadas correspondiente al subbloque como un cuarto par de transformadas cuando los números de modo de la información de modo de intrapredicción del subbloque son 36, 66 y números pares entre 36 y 66.
[0650] En algunas posibles realizaciones de la presente divulgación, el primer par de transformadas es (DCT2, DCT2), el segundo par de transformadas es (DST7, DST7), el tercer par de transformadas es (DST7, DCT2) y el cuarto par de transformadas es (DCT2, DST7); o el primer par de transformadas es (DCT2, DCT2), el segundo par de transformadas es (DST7, DST7), el tercer par de transformadas es (DST7, DCT8) y el cuarto par de transformadas es (DcT8, DST7).
[0652] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado para: determinar el par de transformadas correspondiente a la información de modo de intrapredicción como el par de transformadas correspondiente a cada subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface la condición de restricción de dimensión y que la información del modo de intrapredicción del subbloque satisface un intervalo de modos de intrapredicción.
[0653] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado además para: determinar una relación entre una anchura y una altura de cada subbloque basándose en la información de tamaño del subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface la condición de restricción de dimensión y que la información de modo de intrapredicción del subbloque no satisface el intervalo de modos de intrapredicción; y determinar, basándose en la relación entre la anchura y la altura del subbloque y la información de modo de intrapredicción* del subbloque, el par de transformadas correspondientes al subbloque.
[0655] En algunas posibles realizaciones de la presente divulgación, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1 y 31 a 37; o el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0 y 1; o el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1, 3, 65 y números impares entre 3 y 65.
[0657] En algunas posibles realizaciones de la presente divulgación, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1 y 31 a 37; y
[0658] el módulo 1620 de determinación está configurado además para:
[0660] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es igual a 1 y los números de modo de la información de modo de intrapredicción son 2, 4, 6, 30, 39, 41,43, 65, números pares entre 6 y 30 y números impares entre 43 y 65; y determinar el par de transformadas correspondiente al bloque actual como (DCT2), (DST7) cuando la relación entre la anchura y la altura del bloque actual es igual a 1 y los números de modo de la información de modo de intrapredicción son 3, 5, 7, 29 y números impares entre 7 y 29;
[0662] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 y los números de modo de la información de modo de intrapredicción son (B+1), (B+3), 30, 3, 5, B, 39, 41, 43, 65, números pares entre (B+3) y 30, números impares entre 5 y B, y números impares entre 43 y 65; y determinar el par de transformadas correspondiente al bloque actual como (DCT2, DST7) cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 y los números de modo de la información intrapredicción son B+2, B+4, 29, 38, 40, 66, 2, 4, (B-1), números impares entre B+4 y 29, números pares entre 40 y 66 y números pares entre 4 y (B-1); y
[0664] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es menor que 1 y los números de modo de la información de modo de intrapredicción son 2, 4, 6, 30, (B+1), (B+3), 66, 39, 41, (B-2), números pares entre 6 y 30, números pares entre (B+3) y 66 y números impares entre 41 y (B-2); y determinar el par de transformadas correspondiente al bloque actual como (DCT2, DST7) cuando la relación entre la anchura y la altura del bloque actual es menor que 1 y los números de modo de la información intrapredicción son 3, 5, 29, B, (B+2), 65, 38, 40, (B-1), números impares entre 5 y 29, números impares entre (B+2) y 65 y números pares entre 40 y (B-1);
[0666] en donde cuando las relaciones entre la anchura y la altura del bloque actual son 2, 4, 8 y 16, B es 7, 11, 13 y 15; y cuando las relaciones entre la anchura y la altura del bloque actual son 1/2, 1/4, 1/8, and 1/16, B es 61,57, 55, 53.
[0668] En algunas posibles realizaciones de la presente divulgación, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1; y
[0669] el módulo 1620 de determinación está configurado además para:
[0671] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es igual a 1 y los números de modo de la información de modo de intrapredicción son 2, 4, 6, 34, 35, 37, 39, 41, 43, 65, números pares entre 6 y 34 y números impares entre 43 y 65; y determinar el par de transformadas correspondiente al bloque actual como (DCT2), (DST7) cuando la relación entre la anchura y la altura del bloque actual es igual a 1 y los números de modo de la información de modo de intrapredicción son 3, 5, 7, 33, 36, 38, 40, 66, y números impares entre 7 y 33 y números impares entre 40 y 66;
[0673] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 y los números de modo de la información de modo de intrapredicción son (B+1), (B+3), 34, 3, 5, B, 35, 37, 39, 65, números pares entre (B+3) y 34, números impares entre 5 y B, y números impares entre 39 y 65; y determinar el par de transformadas correspondiente al bloque actual como (DCT2, DST7) cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 y los números de modo de la información intrapredicción son (B+2), (B+4),
33, 2, 4, (B-1), 36, 38, 66, números impares entre (B+4) y 33, números pares entre 4 y (B-1) y números pares entre 38 y 66; y
[0675] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es menor que 1 y los números de modo de la información de modo de intrapredicción son 2, 4, 6, 34, (B+1), (B+3), 66, 35, 37, 39, (B-2), números pares entre 6 y 34, números impares entre (B+3) y 66 y números impares entre 39 y (B-2); y determinar el par de transformadas correspondiente al bloque actual como (DCT2, DST7) cuando la relación entre la anchura y la altura del bloque actual es menor que 1 y los números de modo de la información intrapredicción son 3, 5, 33, B, (B+2), 65, 36, 38, (B-1), números impares entre 5 y 33, números impares entre (B+2) y 65 y números pares entre 38 y (B-1);
[0677] en donde cuando las relaciones entre la anchura y la altura del bloque actual son 2, 4, 8 y 16, B es 7, 11, 13 y 15; y cuando las relaciones entre la anchura y la altura del bloque actual son 1/2, 1/4, 1/8, and 1/16, B es 61,57, 55, 53.
[0679] En algunas posibles realizaciones de la presente divulgación, el intervalo de modos de intrapredicción incluye información de modo de intrapredicción con números de modo de 0, 1, 3, 65 y números impares entre 3 y 65; y
[0680] el módulo 1620 de determinación está configurado además para:
[0682] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es igual a 1 y los números de modo de la información de modo de intrapredicción son 2, 4, 6, 34, números pares entre 6 y 34; y determinar el par de transformadas correspondiente al bloque actual como (DCT2), (DST7) cuando la relación entre la anchura y la altura del bloque actual es igual a 1 y los números de modo de la información de modo de intrapredicción son 36, 38, 40, 66, y números impares entre 40 y 66;
[0684] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 y los números de modo de la información de modo de intrapredicción son (B+1), (B+3), 34 y números pares entre (B+3) y 34; y determinar el par de transformadas correspondiente al bloque actual como (DCT2, DST7) cuando la relación entre la anchura y la altura del bloque actual es mayor que 1 y los números de modo de la información intrapredicción son 36, 38, 66, 2, 4, (B-1), números impares entre 38 y 66 y números pares entre 4 y (B-1); y
[0686] determinar el par de transformadas correspondiente al bloque actual como (DST7, DCT2) cuando la relación entre la anchura y la altura del bloque actual es menor que 1 y los números de modo de la información de modo de intrapredicción son 2, 4, 6, 34, (B+1), (B+3), 66, números pares entre 6 y 34 y números pares entre (B+3) y 66; y determinar el par de transformadas correspondiente al bloque actual como (DCT2, DST7) cuando la relación entre la anchura y la altura del bloque actual es menor que 1 y los números de modo de la información intrapredicción son 36, 38, (B-1), números pares entre 38 y (B-1); y
[0688] en donde cuando las relaciones entre la anchura y la altura del bloque actual son 2, 4, 8 y 16, B es 7, 11, 13 y 15; y cuando las relaciones entre la anchura y la altura del bloque actual son 1/2, 1/4, 1/8, and 1/16, B es 61,57, 55, 53.
[0690] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado además para: determinar, basándose en la información de tamaño y la información de modo de intrapredicción del bloque actual, el par de transformadas correspondiente al bloque actual cuando el bloque actual no activa la partición intra subbloque.
[0692] En algunas posibles realizaciones de la presente divulgación, el módulo 1620 de determinación está configurado además para:
[0694] determinar el par de transformadas correspondiente a la información de modo de intrapredicción como el par de transformadas correspondiente al bloque actual cuando se determina, basándose en la información de tamaño, que el subbloque no satisface una condición de restricción de dimensión objetivo, en donde la condición de restricción de dimensión objetivo es que la anchura sea mayor que o igual a un valor objetivo y la altura sea mayor que o igual al valor objetivo;
[0696] cuando se determina, basándose en la información de tamaño del subbloque, que la altura del bloque actual satisface la condición de restricción de dimensión objetivo y la anchura del bloque actual no satisface la condición de restricción de dimensión objetivo, determinar DCT2 como un núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual y determinar un núcleo de transformada horizontal en el par de transformadas correspondiente a la información de modo de intrapredicción como un núcleo de transformada horizontal en el par de transformadas correspondiente al bloque actual;
cuando se determina, basándose en la información de tamaño del subbloque, que la anchura del bloque actual satisface la condición de restricción de dimensión objetivo y la altura del bloque actual no satisface la condición de restricción de dimensión objetivo, determinar DCT2 como un núcleo de transformada horizontal en el par de transformadas correspondiente al bloque actual y determinar un núcleo de transformada vertical en el par de transformadas correspondiente a la información de modo de intrapredicción como un núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual; y
[0698] determinar DCT2 como un núcleo de transformada horizontal y un núcleo de transformada vertical en el par de transformadas correspondiente al bloque actual cuando se determinar, basándose en la información de tamaño, que tanto la anchura como la altura del bloque actual satisfacen la condición de restricción de dimensión objetivo.
[0700] En algunas posibles realizaciones de la presente divulgación, la condición de partición de subbloque es que el bloque actual sea un bloque de luma, la altura y la anchura del bloque actual sean menores que o iguales a un primer valor preestablecido, el bloque actual sea una referencia de una sola línea durante la realización de intrapredicción y un número de píxeles incluidos en el bloque actual sea mayor que un segundo valor preestablecido.
[0702] Basándose en el mismo concepto técnico, una realización de la presente divulgación proporciona además un dispositivo de codificación. Como se muestra en la FIG. 17, el dispositivo de codificación incluye:
[0704] un módulo 1710 de adquisición, configurado para adquirir datos residuales de un bloque actual;
[0706] un módulo 1720 de determinación, configurado para: determinar información de modo intrapredicción de subbloques del bloque actual e información de tamaño de los subbloques del bloque actual basándose en información de partición de subbloque del bloque actual cuando el bloque actual satisface una condición de partición de subbloque y se activa la partición intra subbloque; y determinar, basándose en la información de tamaño del subbloque y la información de modo de intrapredicción del subbloque, un par de transformadas correspondiente a cada subbloque; y
[0708] un módulo 1730 de transformación, configurado para realizar una transformada sobre datos residuales de los subbloques basándose en los pares de transformadas correspondientes a los subbloques;
[0710] en donde el módulo 1720 de determinación está configurado para: determinar un par de transformadas correspondiente a la información de modo de intrapredicción de cada subbloque como un par de transformadas correspondiente al subbloque cuando se determina, basándose en la información de tamaño del subbloque, que el subbloque no satisface una condición de restricción de dimensión, en donde la condición de restricción de dimensión es que una anchura no esté dentro de un primer intervalo de valores preestablecido y una altura no esté dentro de un segundo intervalo de valores preestablecido.
[0712] En algunas posibles realizaciones de la presente divulgación, el módulo 1710 de adquisición está configurado además para: adquirir información de partición de subbloque del bloque actual cuando el bloque actual satisface la condición de partición de subbloque; y añadir la información de partición de subbloque a los datos codificados del bloque actual.
[0714] En las realizaciones de la presente divulgación, en el dispositivo de codificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en el modo de intrapredicción del bloque actual y la información de tamaño de los subbloques; y los pares de transformadas determinados se codifican. De manera similar, en el dispositivo de decodificación, los pares de transformadas correspondientes a los subbloques se determinan directamente basándose en el modo de intrapredicción del bloque actual y la información de tamaño de los subbloques; y los pares de transformadas determinados se decodifican. De esta manera, dado que los pares de transformadas se determinan basándose en el modo de intrapredicción del bloque actual y la información de tamaño de los subbloques, en lugar de usar el mismo par de transformadas para todos los subbloques, se puede mejorar el rendimiento de codificación y decodificación. Es más, la selección de los pares de transformadas basándose en el modo de intrapredicción puede ahorrar el tiempo de selección de los pares de transformadas y mejorar aún más el rendimiento de codificación y decodificación.
[0715] Cabe señalar que: el dispositivo de decodificación según la realización anterior realiza decodificación, solo se ejemplifica la partición de los módulos funcionales anteriores. En aplicaciones reales, las funciones anteriores se pueden asignar para ser completadas por diferentes módulos funcionales según se requiera. Es decir, la estructura interna del dispositivo de decodificación se particiona en diferentes módulos funcionales para completar todas o parte de las funciones descritas anteriormente. Además, el dispositivo de decodificación según la realización anterior y la realización del método de decodificación pertenecen al mismo concepto y la implementación específica se detalla en las realizaciones del método, que no se repetirá en la presente
memoria.
[0717] Cabe señalar que: cuando el dispositivo de codificación según la realización anterior realiza codificación, solo se ejemplifica la partición de los módulos funcionales anteriores. En aplicaciones reales, las funciones anteriores se pueden asignar para ser completadas por diferentes módulos funcionales según se requiera. Es decir, la estructura interna del dispositivo de codificación se particiona en diferentes módulos funcionales para completar todas o parte de las funciones descritas anteriormente. Además, el dispositivo de codificación según la realización anterior y la realización del método de codificación pertenecen al mismo concepto y la implementación específica se detalla en las realizaciones del método, que no se repetirá en la presente memoria.
[0719] La FIG. 18 es un diagrama estructural esquemático de un dispositivo de codificación según una realización de la presente divulgación. El dispositivo 1800 de codificación puede variar mucho dependiendo de diferentes configuraciones o rendimiento y puede incluir al menos una unidad 1801 central de procesamiento (CPU) y al menos una memoria 1802. La memoria 1802 está configurada para almacenar al menos una instrucción en la misma. La al menos una instrucción, cuando se carga y se ejecuta por el procesador 1801, hace que el procesador 1801 realice las etapas del método de codificación.
[0721] La FIG. 19 es un diagrama estructural esquemático de un dispositivo de decodificación según una realización de la presente divulgación. El dispositivo 1900 de decodificación puede variar mucho dependiendo de diferentes configuraciones o rendimiento y puede incluir al menos un procesador 1901 y al menos una memoria 1902. La memoria 1902 está configurada para almacenar al menos una instrucción en la misma. La al menos una instrucción, cuando se carga y se ejecuta por el procesador 1901, hace que el procesador 1901 realice las etapas del método de decodificación.
[0723] Una realización de la presente divulgación proporciona además un medio de almacenamiento legible por ordenador. El medio de almacenamiento legible por ordenador está configurado para almacenar un programa informático en el mismo. El programa informático, cuando se ejecuta por un procesador, hace que el procesador realice las etapas de los métodos de codificación y decodificación.
[0725] Una realización de la presente divulgación proporciona además un dispositivo de codificación. El dispositivo de codificación incluye un procesador y una memoria que almacena un programa informático en la misma. El programa informático, cuando se ejecuta por el procesador, hace que el procesador realice las etapas del método de codificación.
[0727] Una realización de la presente divulgación proporciona además un dispositivo de decodificación. El dispositivo de decodificación incluye un procesador y una memoria que almacena un programa informático en la misma. El programa informático, cuando se ejecuta por el procesador, hace que el procesador realice las etapas del método de decodificación.
[0729] Una realización de la presente divulgación proporciona además un sistema para codificar y decodificar. El sistema incluye un dispositivo de codificación y un dispositivo de decodificación; en donde el dispositivo de codificación es el dispositivo de codificación que realiza codificación como se ha descrito anteriormente; y el dispositivo de decodificación es el dispositivo de decodificación que realiza decodificación como se ha descrito anteriormente.
[0731] Los expertos en la materia entenderán que la totalidad o parte de las etapas de las realizaciones anteriores puede completarse mediante hardware o mediante un programa que dé instrucciones al hardware relevante. El programa puede almacenarse en un medio de almacenamiento legible por ordenador que incluye una memoria de solo lectura, un disco magnético, un disco óptico o similares.
[0733] Lo descrito anteriormente son realizaciones meramente ilustrativas de la presente divulgación y no pretenden limitar la presente divulgación.
Claims (12)
1. REIVINDICACIONES
1. Un método de decodificación, caracterizado por que comprende:
adquirir datos codificados de un bloque actual;
determinar información de tamaño de subbloques basándose en información de partición de subbloques del bloque actual en respuesta a que el bloque actual satisface una condición de partición de subbloque y determinar, basándose en los datos codificados del bloque actual, que el bloque actual activa partición intra subbloque;
determinar, basándose en la información de tamaño de cada subbloque, un par de transformadas correspondiente al subbloque, en donde el subbloque se adquiere particionando el bloque actual; y
realizar una transformada inversa sobre los datos cuantificados inversamente de los subbloques basándose en los pares de transformadas correspondientes a los subbloques;
en donde determinar, basándose en la información de tamaño de cada subbloque, el par de transformadas correspondiente al subbloque comprende:
determinar DST7 como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque en respuesta a una anchura del subbloque que satisface una primera condición de restricción de dimensión; determinar DCT2 como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque en respuesta a que la anchura del subbloque no satisface la primera condición de restricción de dimensión;
determinar el DST7 como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque en respuesta a una altura del subbloque que satisface una segunda condición de restricción de dimensión; y
determinar el DCT2 como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque en respuesta a una altura del subbloque que no satisface la segunda condición de restricción de dimensión; y
en donde la primera condición de restricción de dimensión es que la anchura del subbloque sea mayor que o igual a 4 y menor que o igual a 16; y la segunda condición de restricción de dimensión es que la altura del subbloque sea mayor que o igual a 4 y menor que o igual a 16,
en donde la condición de partición de subbloque comprende al menos: el bloque actual es un bloque de luma, la altura y la anchura del bloque actual son menores que o iguales a un primer valor preestablecido, el bloque actual es una referencia de una sola línea cuando se somete a intrapredicción y el número de píxeles incluidos en el bloque actual es mayor que un cuarto valor.
2. El método de decodificación según la reivindicación 1, en donde determinar, basándose en la información de tamaño de cada subbloque, el par de transformadas correspondiente al subbloque comprende:
determinar DST7 como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque y determinar DST7 como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque en respuesta a que la anchura del subbloque es igual a la altura del subbloque, la anchura del subbloque satisface la primera condición de restricción de dimensión y la altura del subbloque satisface la segunda condición de restricción de dimensión.
3. El método de decodificación según la reivindicación 3, en donde tanto la anchura como la altura del subbloque son iguales a 4, u 8 o 16.
4. El método de decodificación según la reivindicación 1, en donde la anchura del subbloque satisface la primera condición de restricción de dimensión y la altura del subbloque no satisface la segunda condición de restricción de dimensión en respuesta a que la anchura del subbloque es mayor que o igual a 4 y menor que o igual a 16 y la altura del subbloque es igual a 32 o 64.
5. El método de decodificación según la reivindicación 1, en donde la anchura del subbloque no satisface la primera condición de restricción de dimensión en respuesta a que la anchura del subbloque es igual a 32 o 64 y la altura del subbloque satisface la segunda condición de restricción de dimensión en respuesta a que la altura del subbloque es mayor que o igual a 4 y menor que o igual a 16.
6. El método de decodificación según la reivindicación 1, en donde la anchura del subbloque no satisface la
primera condición de restricción de dimensión y la altura del subbloque no satisface la segunda condición de restricción de dimensión en respuesta a que la anchura del subbloque es mayor que 1 y menor que 4 y la altura del subbloque es mayor que 16; o
la anchura del subbloque no satisface la primera condición de restricción de dimensión y la altura del subbloque no satisface la segunda condición de restricción de dimensión en respuesta a que la altura del subbloque es mayor que 1 y menor que 4 y la anchura del subbloque es mayor que 16; o
la anchura del subbloque no satisface la primera condición de restricción de dimensión y la altura del subbloque no satisface la segunda condición de restricción de dimensión en respuesta a que la altura del subbloque es mayor que 16 y la anchura del subbloque es mayor que 16.
7. Un método de codificación, caracterizado por que comprende:
adquirir datos residuales de un bloque actual;
determinar información de tamaño de subbloques del bloque actual basándose en información de partición de subbloque del bloque actual en respuesta a que el bloque actual satisface una condición de partición de subbloque y se active la partición de subbloque;
determinar un par de transformadas correspondiente a cada subbloque basándose en la información de tamaño del subbloque, en donde el subbloque se adquiere particionando el bloque actual; y
realizar una transformada sobre datos residuales de los subbloques basándose en los pares de transformadas correspondientes a los subbloques;
en donde determinar el par de transformadas correspondiente a cada subbloque basándose en la información de tamaño comprende:
determinar DST7 como un núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque en respuesta a una anchura del subbloque que satisface una primera condición de restricción de dimensión;
determinar DCT2 como el núcleo de transformada horizontal en el par de transformadas correspondiente al subbloque en respuesta a la anchura del subbloque que no satisface la primera condición de restricción de dimensión;
determinar el DST7 como un núcleo de transformada vertical en el par de transformadas correspondiente al subbloque en respuesta a una altura del subbloque que satisface una segunda condición de restricción de dimensión; y
determinar el DCT2 como el núcleo de transformada vertical en el par de transformadas correspondiente al subbloque en respuesta a una altura del subbloque que no satisface la segunda condición de restricción de dimensión;
en donde la primera condición de restricción de dimensión es que la anchura del subbloque sea mayor que o igual a 4 y menor que o igual a 16; y la segunda condición de restricción de dimensión es que la altura del subbloque sea mayor que o igual a 4 y menor que o igual a 16,
en donde la condición de partición de subbloque comprende al menos: el bloque actual es un bloque de luma, la altura y la anchura del bloque actual son menores que o iguales a un primer valor preestablecido, el bloque actual es una referencia de una sola línea cuando se somete a intrapredicción y el número de píxeles incluidos en el bloque actual es mayor que un cuarto valor.
8. Un decodificador, caracterizado por que comprende un procesador y una memoria que almacena al menos una instrucción ejecutable por el procesador; en donde se hace que el procesador, cuando carga y ejecuta la al menos una instrucción, realice el método tal como se define en una cualquiera de las reivindicaciones 1 a 6.
9. Un codificador, caracterizado por que comprende un procesador y una memoria que almacena al menos una instrucción ejecutable por el procesador; en donde se hace que el procesador, cuando carga y ejecuta la al menos una instrucción, realice el método tal como se define en la reivindicación 7.
10. Un dispositivo de decodificación, en donde el dispositivo de decodificación está configurado para realizar el método de decodificación tal como se define en una cualquiera de las reivindicaciones 1 a 6.
11. Un dispositivo de codificación, en donde el dispositivo de codificación está configurado para realizar el
método de codificación tal como se define en la reivindicación 7.
12. Un medio de almacenamiento no transitorio legible por ordenador, que almacena al menos una instrucción ejecutable por un procesador; en el que la al menos una instrucción, cuando se carga y ejecuta por el procesador, hace que el procesador realice el método de decodificación tal como se define las reivindicaciones 1 a 6 o el método de codificación tal como se define en una cualquiera de la reivindicación 7.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910177528.9A CN111669582B (zh) | 2019-03-09 | 2019-03-09 | 进行编码和解码的方法、编码端、解码端和系统 |
| PCT/CN2020/078487 WO2020182103A1 (zh) | 2019-03-09 | 2020-03-09 | 进行编码和解码的方法、编码端和解码端 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3044708T3 true ES3044708T3 (en) | 2025-11-27 |
Family
ID=68289760
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20770441T Active ES3044708T3 (en) | 2019-03-09 | 2020-03-09 | Coding and decoding methods, coding and decoding devices |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US11825082B2 (es) |
| EP (1) | EP3923575B1 (es) |
| CN (2) | CN111669582B (es) |
| ES (1) | ES3044708T3 (es) |
| FI (1) | FI3923575T3 (es) |
| HU (1) | HUE072824T2 (es) |
| PL (1) | PL3923575T3 (es) |
| WO (2) | WO2020182105A1 (es) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200288130A1 (en) * | 2019-03-07 | 2020-09-10 | Qualcomm Incorporated | Simplification of sub-block transforms in video coding |
| CN111669582B (zh) | 2019-03-09 | 2022-05-20 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、编码端、解码端和系统 |
| US11539952B2 (en) | 2019-03-12 | 2022-12-27 | Qualcomm Incorporated | Implicit transform selection in video coding |
| CN112887734B (zh) * | 2019-11-29 | 2024-10-15 | 北京三星通信技术研究有限公司 | 视频图像编解码中进行变换的方法及装置 |
| WO2022177317A1 (ko) * | 2021-02-18 | 2022-08-25 | 현대자동차주식회사 | 서브블록 분할 기반 인트라 예측을 이용하는 비디오 코딩방법 및 장치 |
| CN117296323A (zh) * | 2021-04-22 | 2023-12-26 | 抖音视界有限公司 | 基于特征的变换选择 |
| CN115379217B (zh) * | 2022-07-14 | 2025-01-28 | 百果园技术(新加坡)有限公司 | 一种视频编码处理方法、装置、设备及存储介质 |
| CN116233420B (zh) * | 2023-03-24 | 2024-05-14 | 深圳市博锐高科科技有限公司 | 一种基于vvc的帧内快速编码方法 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7760950B2 (en) * | 2002-09-26 | 2010-07-20 | Ntt Docomo, Inc. | Low complexity and unified transforms for video coding |
| KR20100095992A (ko) | 2009-02-23 | 2010-09-01 | 한국과학기술원 | 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 |
| KR101487687B1 (ko) * | 2010-01-14 | 2015-01-29 | 삼성전자주식회사 | 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치 |
| US8885701B2 (en) * | 2010-09-08 | 2014-11-11 | Samsung Electronics Co., Ltd. | Low complexity transform coding using adaptive DCT/DST for intra-prediction |
| KR20120035096A (ko) * | 2010-10-04 | 2012-04-13 | 한국전자통신연구원 | 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치 |
| FR2972588A1 (fr) * | 2011-03-07 | 2012-09-14 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
| CN102843560B (zh) * | 2011-06-21 | 2015-01-21 | 华为技术有限公司 | 图像变换处理方法、设备和系统 |
| PL231162B1 (pl) * | 2011-10-19 | 2019-01-31 | Kt Corp | Sposób dekodowania sygnału wideo |
| KR101591352B1 (ko) * | 2012-04-16 | 2016-02-04 | 한국전자통신연구원 | 비디오 복호화 장치 |
| JP2014036278A (ja) * | 2012-08-07 | 2014-02-24 | Nippon Hoso Kyokai <Nhk> | 画像符号化装置、画像復号装置及びプログラム |
| CN107431813B (zh) * | 2015-02-12 | 2020-04-10 | Lg 电子株式会社 | 使用基于图的变换处理视频信号的方法和装置 |
| EP3439304A4 (en) * | 2016-03-28 | 2020-02-26 | KT Corporation | VIDEO SIGNAL PROCESSING METHOD AND APPARATUS |
| WO2017222334A1 (ko) * | 2016-06-24 | 2017-12-28 | 한국전자통신연구원 | 변환 기반의 영상 부호화/복호화 방법 및 장치 |
| US10972733B2 (en) * | 2016-07-15 | 2021-04-06 | Qualcomm Incorporated | Look-up table for enhanced multiple transform |
| KR20180014675A (ko) | 2016-08-01 | 2018-02-09 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
| CN110326294A (zh) | 2017-01-03 | 2019-10-11 | Lg电子株式会社 | 使用二次变换编码/解码视频信号的方法和设备 |
| US11405645B2 (en) | 2017-02-28 | 2022-08-02 | Google Llc | Transform kernel selection and entropy coding |
| CN114449270B (zh) | 2017-07-04 | 2023-09-26 | 三星电子株式会社 | 使用多核变换的视频解码/编码方法和设备 |
| US11218694B2 (en) * | 2018-09-24 | 2022-01-04 | Qualcomm Incorporated | Adaptive multiple transform coding |
| CN113727120B (zh) | 2019-03-03 | 2022-09-23 | 华为技术有限公司 | 译码方法、装置、编码器和解码器 |
| CN111669582B (zh) | 2019-03-09 | 2022-05-20 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、编码端、解码端和系统 |
-
2019
- 2019-03-09 CN CN201910177528.9A patent/CN111669582B/zh active Active
- 2019-03-09 CN CN201910570214.5A patent/CN110392256B/zh active Active
-
2020
- 2020-03-09 HU HUE20770441A patent/HUE072824T2/hu unknown
- 2020-03-09 US US17/437,391 patent/US11825082B2/en active Active
- 2020-03-09 WO PCT/CN2020/078489 patent/WO2020182105A1/zh not_active Ceased
- 2020-03-09 EP EP20770441.2A patent/EP3923575B1/en active Active
- 2020-03-09 FI FIEP20770441.2T patent/FI3923575T3/fi active
- 2020-03-09 WO PCT/CN2020/078487 patent/WO2020182103A1/zh not_active Ceased
- 2020-03-09 ES ES20770441T patent/ES3044708T3/es active Active
- 2020-03-09 PL PL20770441.2T patent/PL3923575T3/pl unknown
Also Published As
| Publication number | Publication date |
|---|---|
| CN110392256B (zh) | 2020-12-11 |
| US11825082B2 (en) | 2023-11-21 |
| CN111669582A (zh) | 2020-09-15 |
| CN111669582B (zh) | 2022-05-20 |
| EP3923575B1 (en) | 2025-09-03 |
| WO2020182105A1 (zh) | 2020-09-17 |
| WO2020182103A1 (zh) | 2020-09-17 |
| EP3923575A1 (en) | 2021-12-15 |
| FI3923575T3 (fi) | 2025-10-12 |
| EP3923575A4 (en) | 2022-06-08 |
| HUE072824T2 (hu) | 2025-12-28 |
| US20220182624A1 (en) | 2022-06-09 |
| CN110392256A (zh) | 2019-10-29 |
| PL3923575T3 (pl) | 2025-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3044708T3 (en) | Coding and decoding methods, coding and decoding devices | |
| ES3021690T3 (en) | Coding/decoding method and device, and storage medium | |
| ES2575381T3 (es) | Dispositivo de decodificación de intra-predicción | |
| ES2972582T3 (es) | Mejora en la partición forzada límite | |
| ES2982953T3 (es) | Métodos para realizar codificación y decodificación, extremo de decodificación y extremo de codificación |