ES2935261T3 - Método y aparato de codificación de modo de paleta para datos de video de color - Google Patents

Método y aparato de codificación de modo de paleta para datos de video de color Download PDF

Info

Publication number
ES2935261T3
ES2935261T3 ES20180787T ES20180787T ES2935261T3 ES 2935261 T3 ES2935261 T3 ES 2935261T3 ES 20180787 T ES20180787 T ES 20180787T ES 20180787 T ES20180787 T ES 20180787T ES 2935261 T3 ES2935261 T3 ES 2935261T3
Authority
ES
Spain
Prior art keywords
palette
chroma
luma
mode
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20180787T
Other languages
English (en)
Inventor
Tzu-Der Chuang
Yu-Chen Sun
Shan Liu
Ching-Yeh Chen
Yu-Wen Huang
Xiaozhong Xu
Wang-Lin Lai
Jing Ye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HFI Innovation Inc
Original Assignee
HFI Innovation Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HFI Innovation Inc filed Critical HFI Innovation Inc
Application granted granted Critical
Publication of ES2935261T3 publication Critical patent/ES2935261T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Se describen métodos y aparatos para un sistema de codificación que usa codificación de modo de paleta para vídeo en color. Según el método, cuando el modo de paleta está habilitado, la codificación separada de los componentes de luma y croma está deshabilitada o si la codificación separada de los componentes de luma y croma, el modo de paleta está deshabilitado. De acuerdo con otro método, cuando el modo de paleta está habilitado para la imagen actual, la codificación del modo de paleta solo se aplica a los bloques de luminancia y la codificación del modo sin paleta se aplica a los bloques de croma. De acuerdo con otro método más, la codificación del modo de paleta se aplica a los bloques de luminancia utilizando paletas de luminancia si se selecciona el modo de paleta para los bloques de luminancia y la codificación del modo de paleta se aplica a los bloques de croma utilizando paletas de croma si se selecciona el modo de paleta para los bloques de croma. . Según otro método más, (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y aparato de codificación de modo de paleta para datos de video de color
Referencia cruzada a solicitudes relacionadas
La presente invención reclama prioridad a la Solicitud Provisional de Patente de Estados Unidos, núm. de serie 62/342.882 presentada el 28 de mayo de 2016.
Campo de la invención
La presente invención se refiere a una partición de bloques para el proceso de codificación y/o predicción en codificación de video. En particular, la presente invención divulga diversas disposiciones de codificación para un sistema de codificación que utiliza codificación de modo de paleta en datos de video con componentes de luma y croma. Más en particular, la presente invención se refiere a un método de acuerdo con la parte de pre-caracterización de la reivindicación 1 y a un aparato de acuerdo con la parte de pre-caracterización de la reivindicación 5. Este método y aparato se muestran en US 2016/0345014 A1.
Antecedentes y técnica relacionada
EP 2 858 367 A2 divulga que el componente de luma, un primer componente de croma y un segundo componente de croma o el componente de luma y los dos componentes de croma pueden usar respectivamente un modo de intrapredicción seleccionado independientemente.
La norma de Codificación de Video de Alta Eficiencia (HEVC, por sus siglas en inglés) se desarrolla bajo el proyecto conjunto de video del Grupo de Expertos en Codificación de Video ITU-T (VCEG, por sus siglas en inglés) y las organizaciones de normalización del Grupo de Expertos en Imágenes en Movimiento ISO/IEC (MPEG, por sus siglas en inglés), y es especialmente con la asociación conocida como Equipo Conjunto de Colaboración en Codificación de Video (JCT-VC, por sus siglas en inglés). En HEVC, un sector se particiona en múltiples unidades de árbol de codificación (CTU, por sus siglas en inglés). En el perfil principal, los tamaños mínimo y máximo de CTU se especifican por los elementos de sintaxis en el conjunto de parámetros de secuencia (SPS, por sus siglas en inglés). El tamaño CTU permitido puede ser 8x8, 16x16, 32x32 o 64x64. Para cada segmento, las CTU dentro del sector se procesan de acuerdo con un orden de escaneo de trama.
La CTU se particiona adicionalmente en múltiples unidades de codificación (CU, por sus siglas en inglés) para adaptarse a diversas características locales. Un árbol cuádruple, denotado árbol de codificación, se utiliza para particionar la CTU en múltiples CU. Permítase que el tamaño CTU sea MxM, donde M es uno de los valores de 64, 32 o 16. La CTU puede ser una sola CU (es decir, sin división) o se puede dividir en cuatro unidades más pequeñas de tamaños iguales (es decir, M/2xM/2 cada una), que corresponden a los nodos del árbol de codificación. Si las unidades son nodos hoja del árbol de codificación, las unidades se convierten en CU. De lo contrario, el proceso de división de árbol cuádruple se puede iterar hasta que el tamaño de un nodo alcance un tamaño CU mínimo permitido como se especifica en el SPS (Conjunto de Parámetros de Secuencia). Esta representación da como resultado una estructura recursiva como se especifica por un árbol de codificación (también denominado estructura de árbol de partición) 120 en la figura 1. La partición CTU 110 se muestra en la figura 1, donde las líneas sólidas indican límites CU. La decisión de si se debe codificar un área de imagen utilizando predicción inter-imagen (temporal) o intra-imagen (espacial) se toma al nivel de CU. Dado que el tamaño CU mínimo puede ser 8x8, la granularidad mínima para conmutar entre diferentes tipos de predicción básica es 8x8.
Además, de acuerdo con HEVC, cada CU se puede particionar en una o más unidades de predicción (PU, por sus siglas en inglés). Junto con la CU, la PU funciona como un bloque representativo básico para compartir la información de predicción. Dentro de cada PU, se aplica el mismo proceso de predicción y la información relevante se transmite al decodificador de una forma por PU. Una CU se puede dividir en una, dos o cuatro PU de acuerdo con el tipo de división PU. HEVC define ocho formas para dividir una CU en PU como se muestra en la figura 2, que incluyen tipos de partición 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N y nRx2N. A diferencia de la CU, la PU solo se puede dividir una vez de acuerdo con HEVC. Las particiones que se muestran en la segunda fila corresponden a particiones asimétricas, donde las dos partes particionadas tienen tamaños diferentes.
Después de obtener el bloque residual mediante el proceso de predicción con base en el tipo de división PU, los residuos de predicción de una CU se pueden particionar en unidades de transformada (TU, por sus siglas en inglés) de acuerdo con otra estructura de árbol cuádruple que es análoga al árbol de codificación para la CU como se muestra en la figura 1. Las líneas sólidas indican límites CU y las líneas punteadas indican límites TU. La TU es un bloque representativo básico que tiene coeficientes residuales o de transformada para aplicar la transformada entera y cuantificación. Para cada TU, se aplica una transformada entera que tiene el mismo tamaño que la TU para obtener coeficientes residuales. Estos coeficientes se transmiten al decodificador después de la cuantificación de una forma por TU.
Los términos bloque de árbol de codificación (CTB, por sus siglas en inglés), bloque de codificación (CB, por sus siglas en inglés), bloque de predicción (PB, por sus siglas en inglés) y bloque de transformada (TB, por sus siglas en inglés) se definen para especificar la matriz de muestra 2-D de un componente de color asociado con CTU, CU, PU y TU, respectivamente. Por lo tanto, una CTU consiste en un CTB de luma, dos CTB de croma y elementos de sintaxis asociados. Una relación similar es válida para CU, PU y TU. La partición de árbol generalmente se aplica simultáneamente tanto a luma como a croma, aunque se aplican excepciones cuando se alcanzan ciertos tamaños mínimos para croma.
Alternativamente, se propone una estructura de partición de bloques por árboles binarios en JCTVC-P1005 (D. Flynn, et al, "HEVC Range Extensions Draft 6", Equipo Colaborativo Conjunto sobre Codificación de Video (JCT-VC) de ITU-T SG 16 WP 3 e ISO/IEC JTC 1/SC 29/WG 11, 16a Reunión: San José, EE. UU., 9 - 17 de enero de 2014, Documento: JCTVC-P1005). En la estructura de partición de árbol binario propuesta, un bloque se puede dividir recursivamente en dos bloques más pequeños usando varios tipos de división binaria como se muestra en la figura 3. Los más eficientes y simples son la división horizontal y vertical simétrica como se muestra en los dos tipos de división superiores en la figura 3. Para un bloque dado de tamaño MxN, se señaliza una bandera para indicar si el bloque dado se divide en dos bloques más pequeños. En caso afirmativo, se señaliza otro elemento de sintaxis para indicar qué tipo de división se utiliza. Si se utiliza la división horizontal, el bloque dado se divide en dos bloques de tamaño M*N/2. Si se utiliza la división vertical, el bloque dado se divide en dos bloques de tamaño M/2*N. El proceso de división de árbol binario se puede iterar hasta que el tamaño (ancho o alto) de un bloque de división alcanza un tamaño de bloque mínimo permitido (ancho o alto). El tamaño de bloque mínimo permitido se puede definir en sintaxis de alto nivel tal como SPS. Dado que el árbol binario tiene dos tipos de división (es decir, horizontal y vertical), se deben indicar el ancho y la altura mínimos permitidos del bloque. La división no horizontal es implícita cuando la división daría como resultado una altura de bloque menor que el mínimo indicado. La división no vertical es implícita cuando la división daría como resultado un ancho de bloque menor que el mínimo indicado. La figura 4 ilustra un ejemplo de partición de bloques 410 y su árbol binario 420 correspondiente. En cada nodo de división (es decir, nodo no hoja) del árbol binario, se utiliza una bandera para indicar qué tipo de división (horizontal o vertical) se utiliza, donde 0 puede indicar división horizontal y 1 puede indicar división vertical.
La estructura de árbol binario se puede usar para dividir un área de imagen en múltiples bloques más pequeños tal como particionar un sector en CTU, una CTU en CU, una CU en PU o una CU en TU, etc. El árbol binario se puede utilizar para la partición de una CTU en CU, donde el nodo raíz del árbol binario es una CTU y el nodo hoja del árbol binario es CU. Los nodos hoja se pueden procesar adicionalmente mediante predicción y codificación de transformada. Para simplificar, no existe una partición adicional de CU a PU o de CU a TU, lo que significa CU igual a PU y PU igual a TU. Por lo tanto, en otras palabras, el nodo hoja del árbol binario es la unidad básica para codificación de predicción y transformada.
La estructura de árbol binario es más flexible que la estructura de árbol cuádruple, ya que se pueden soportar más formas de partición, que también es la fuente de mejora de la eficiencia de codificación. Sin embargo, la complejidad de la codificación también incrementará para seleccionar la mejor forma de partición. Con el fin de equilibrar la complejidad y la eficiencia de codificación, se ha divulgado un método para combinar la estructura de árbol cuádruple y árbol binario, que también se denomina estructura de árbol cuádruple más árbol binario (QTBT, por sus siglas en inglés). De acuerdo con la estructura QTBT, un bloque se particiona en primer lugar por una estructura de árbol cuádruple y la división de árbol cuádruple se puede iterar hasta que el tamaño de un bloque de división alcanza el tamaño de nodo hoja de árbol cuádruple mínimo permitido. Si el bloque de árbol cuádruple de hoja no es mayor que el tamaño de nodo raíz de árbol binario máximo permitido, se puede particionar adicionalmente mediante una estructura de árbol binario y la división de árbol binario se puede iterar hasta que el tamaño (ancho o alto) para un bloque de división alcanza el tamaño de nodo hoja de árbol binario mínimo permitido (ancho o alto) o la profundidad de árbol binario alcanza la profundidad de árbol binario máxima permitida. En la estructura QTBT, el tamaño de nodo hoja de árbol cuádruple mínimo permitido, el tamaño de nodo raíz de árbol binario máximo permitido, el ancho y la altura de nodo hoja de árbol binario mínimo permitido y la profundidad de árbol binario máxima permitida se pueden indicar en la sintaxis de alto nivel, tal como en SPS. La figura 5 ilustra un ejemplo de partición de bloques 510 y su QTBT 520 correspondiente. Las líneas sólidas indican división de árbol cuádruple y las líneas punteadas indican división de árbol binario. En cada nodo de división (es decir, nodo no hoja) del árbol binario, una bandera indica qué tipo de división (horizontal o vertical) se utiliza, 0 puede indicar división horizontal y 1 puede indicar división vertical.
La estructura QTBT anterior se puede usar para dividir un área de imagen (por ejemplo, un sector, CTU o CU) en múltiples bloques más pequeños tal como particionar un sector en CTU, una CTU en CU, una CU en PU o una CU en TU, etc. Por ejemplo, el QTBT se puede utilizar para la partición de una CTU en CU, donde el nodo raíz del QTBT es una CTU que se divide en múltiples Cu mediante una estructura QTBT y las CU se procesan adicionalmente mediante predicción y codificación de transformada. Para simplificar, no existe una partición adicional de CU a PU o de CU a TU. Eso significa CU igual a PU y PU igual a TU. Por lo tanto, en otras palabras, el nodo hoja de la estructura QTBT es la unidad básica para predicción y transformada.
Un ejemplo de la estructura QTBT se muestra como sigue. Para una CTU con un tamaño de 128x128, el tamaño de nodo hoja de árbol cuádruple mínimo permitido se establece a 16x16, el tamaño de nodo raíz de árbol binario máximo permitido se establece a 64x64, el ancho y la altura de nodo hoja de árbol binario mínimo permitido se establecen a 4 y la profundidad de árbol binario máxima permitida se establece a 4. En primer lugar, la CTU se particiona por una estructura de árbol cuádruple y la unidad de árbol cuádruple de hoja puede tener un tamaño de 16x16 (es decir, un tamaño de nodo hoja de árbol cuádruple mínimo permitido) a 128*128 (igual al tamaño de CTU, es decir, sin división). Si la unidad de árbol cuádruple hoja es 128x128, no se puede dividir adicionalmente por árbol binario ya que el tamaño excede el tamaño de nodo raíz de árbol binario máximo permitido 64x64. De lo contrario, la unidad hoja de árbol cuádruple se puede dividir adicionalmente por árbol binario. La unidad de árbol cuádruple hoja, que también es la unidad de árbol binario raíz, tiene la profundidad de árbol binario como 0. Cuando la profundidad de árbol binario alcanza 4 (es decir, el árbol binario máximo permitido como se indica), no se implica implícitamente ninguna división. Cuando el bloque de un nodo de árbol binario correspondiente tiene un ancho igual a 4, la división no horizontal es implícitamente implícita. Cuando el bloque de un nodo de árbol binario correspondiente tiene una altura igual a 4, la división no vertical es implícitamente implícita. Los nodos hoja del QTBT se procesan adicionalmente mediante predicción (Intra-imagen o Inter-imagen) y codificación de transformada.
La estructura del árbol QTBT se aplica por separado a los componentes luma y croma para sectores en I, y se aplica simultáneamente tanto a luma como croma (excepto cuando se alcanzan ciertos tamaños mínimos para croma) para sectores en P y B. En otras palabras, en un sector I, el CTB de luma tiene su partición en bloque estructurada por QTBT y los dos CTB de croma tienen otra partición en bloque estructurada por QTBT. En otro ejemplo, los dos CTB de croma también pueden tener sus propias particiones de bloque estructuradas por QTBT.
Para la codificación basada en bloques, siempre hay una necesidad de particionar una imagen en bloques (por ejemplo, CU, PU y TU) para el propósito de codificación. Como se conoce en el campo, la imagen se puede dividir en áreas de imágenes más pequeñas, tal como sectores, mosaicos, filas de CTU o CTU antes de aplicar la partición de bloques. El proceso para particionar una imagen en bloques para el propósito de codificación se conoce como partición de la imagen usando una estructura de unidad de codificación (CU). El método de partición particular para generar CU, PU y TU adoptado por HEVC es un ejemplo de la estructura de unidad de codificación (CU). La estructura de árbol QTBT es otro ejemplo de la estructura de unidad de codificación (CU).
Codificación de paleta
El modo de paleta se diseña de acuerdo con la observación de que los valores de píxeles en un cuadro de contenido de pantalla generalmente se concentran en pocos valores de color. La figura 6 muestra un ejemplo de las operaciones de modo de paleta, donde el área de imagen 610 es la entrada y el histograma 620 del área de imagen muestra niveles de intensidad escasa concentrados en 50, 80 y 210. Por consiguiente, se genera una paleta 630 (también denominada tabla de paleta) con base en el histograma, donde cada valor de color representativo se asocia con un índice de color (también denominado índice de paleta) en la tabla de paleta. El área de imagen se representa entonces de forma compacta como un mapa de índices de color 640. El codificador analiza los píxeles en una CU y determina varios colores representativos para construir una tabla de paleta; es decir, una tabla de mapeo de color entre los valores de color representativos (también nombrados como valores de color principales) y los índices de color. La tabla de paleta se señaliza en el flujo de bits. Los píxeles con los valores de píxeles cercanos a los colores de paleta se cuantifican a los colores de paleta y se representan por los índices de paleta correspondientes. El resto de los píxeles (es decir, píxeles que tienen valores no representados en la paleta) se llaman píxeles de escape. Los valores de píxel de los píxeles de escape se señalizan directamente. Se reserva un valor de índice de paleta especial para representar los píxeles de escape. Todos los índices de paleta en la CU forman un mapa de índices de paleta, que se transmite al decodificador junto con los valores de píxeles de escape. Se señala que en la figura 6, para simplificar la ilustración, se muestra que un píxel o un índice de paleta corresponde a un solo valor. Sin embargo, en el borrador de codificación de contenido de pantalla (SCC, por sus siglas en inglés) de HEVC, un píxel o un índice de paleta puede representar tres valores de componentes de color (por ejemplo, YCbCr o GBR).
En el modo de paleta HEVC SCC, se transmite una bandera al nivel CU para señalizar si se utiliza el modo de paleta. Si se utiliza el modo de paleta, los píxeles en una CU se representan por colores principales y colores de escape. Los colores principales son colores representativos en la CU. Los colores de escape son los colores que no pertenecen a los colores principales. Se señala que un color es un vector de 3 valores (por ejemplo, YCbCr o GBR).
Los colores principales se describen mediante una tabla de paleta y se codifican mediante herramientas de codificación de tablas de paleta. Con base en la tabla de paleta, un píxel de tres componentes de color se representa por un índice de paleta. Los índices de paleta de todos los píxeles en una CU forman un mapa de índices de paleta y se codifican por herramientas de codificación de mapa de índices de paleta.
Se aplica codificación predictiva para la tabla de paleta. El decodificador construye un predictor de tabla de paleta para predecir la tabla de paleta de la Cu actual. En un método de codificación de tabla de paleta temprana, el predictor es la tabla de paleta de la CU vecina. Sin embargo, si la CU vecina no está codificada en el modo de paleta, no existe un predictor válido y no se aplica ninguna predicción en este caso. Como resultado, la predicción de la tabla de paleta es ineficiente. Para resolver este problema, se utiliza como predictor la paleta de la última CU codificada por paleta. En otras palabras, ya sea que la CU vecina esté codificada por paleta o no, una CU siempre puede obtener un predictor de paleta válido. Además, se encuentra que la predicción es ineficiente cuando una CU grande utiliza una tabla de paleta de una CU pequeña como predictor de tabla de paleta debido a que la CU pequeña puede contener muchos menos colores que una CU grande. La predicción de paleta no proporciona suficientes colores en el predictor de tabla de paleta. En consecuencia, no solo la última tabla de paleta codificada, sino también los colores en todas las tablas de paleta codificadas anteriores se utilizan para formar un nuevo predictor para las siguientes CU para que una CU pueda adquirir un predictor de tabla de paleta con suficientes colores para realizar una buena predicción.
Después de que se codifica la tabla de paleta, los píxeles en una CU se representan por índices de paleta correspondientes a los colores en la paleta. Los índices forman un mapa de índices y se codifican con base en corrida orden de escaneo transversal horizontal o vertical. La figura 7A muestra un ejemplo de la codificación de mapa de índices de paleta, donde se asume el orden de escaneo horizontal. En este ejemplo, un mapa de índices con 16 índices para 16 píxeles se codifica mediante tres corridas con escaneo transversal horizontal. Hay dos modos de ejecución: modo de copia de índice y modo de copia encima. Para cada posición de inicio de una corrida, se transmite una bandera para indicar qué modo de ejecución se utiliza.
Si se utiliza el modo de copia encima, se transmite información PalettelndexRun para indicar la longitud de corrida. Para el modo correspondiente a la corrida de píxeles, los índices de paleta se copian de sus píxeles anteriores, donde el valor de corrida se deriva de PaletteIndexRun. La figura 7B ilustra un ejemplo de codificación de mapa de índices para el ejemplo en la figura 7A. La corrida correspondiente a R2 es una corrida de copia encima con un valor de corrida igual a 10. Dado que el valor de corrida debe ser mayor que cero, PalettelndexRun se define como PalettelndexRun = valor de corrida - 1. Por lo tanto, los valores de PalettelndexRun para R0, R1 y R2 son 3, 1 y 9, respectivamente para el ejemplo en la figura 7B. Además, PalettelndexRun se codifica en partes separadas como un elemento de sintaxis de prefijo y un elemento de sintaxis de sufijo.
Si se utiliza el modo de copia de índice, primero se señaliza un elemento de sintaxis palette_index_idc, seguido de información PalettelndexRun. Una corrida de píxeles comparte el mismo índice de paleta, donde el índice de paleta y el valor de corrida se derivan de la palette_index_idc y PalettelndexRun, respectivamente. Para el ejemplo en la figura 7A y la figura 7B, R0 y R1 son dos corridas de copia de índice, donde los correspondientes (índice de paleta, valor de corrida) son (1, 4) y (2, 2), respectivamente.
En la presente invención, se abordan diversos aspectos de la codificación de modo de paleta para datos de video utilizando la estructura de unidad de codificación (CU).
Breve descripción de la invención
Los objetivos mencionados anteriormente se logran mediante un método de acuerdo con la reivindicación independiente 1 y un aparato de acuerdo con la reivindicación independiente 5. Las reivindicaciones dependientes definen realizaciones preferidas de las mismas.
Se divulga un método y aparato para codificar video que utiliza el modo de codificación de paleta para video en color que comprende un componente de luma y uno o más componentes de croma. De acuerdo con un método que no se encuentra dentro del alcance de las reivindicaciones, cuando se activa un modo de paleta para la imagen actual, los componentes de luma y croma de la imagen actual se particionan conjuntamente en bloques de luma y bloques de croma utilizando una misma estructura de unidad de codificación (CU) y los bloques de luma y los bloques de croma se codifican conjuntamente si se selecciona el modo de paleta para los bloques de luma y los bloques de croma. De manera alternativa, cuando los componentes de luma y croma de la imagen actual se particionan en los bloques de luma y croma por separado usando estructuras CU separadas, los bloques de luma y croma se codifican o decodifican usando un modo de codificación seleccionado de un grupo de modo de codificación excluyendo el modo de paleta. Si el modo de paleta se activa se puede indicar mediante una sintaxis de activación de modo de paleta señalizada en un flujo de bits de video en un lado de codificador o analizada desde el flujo de bits de video en un lado de decodificador. La sintaxis de activación del modo de paleta se señaliza o analiza en SPS (conjunto de parámetros de secuencia), PPS (conjunto de parámetros de imagen) o una cabecera de sector del flujo de bits de vídeo.
De acuerdo con otro método que se encuentra dentro del alcance de las reivindicaciones, los componentes de luma y croma de la imagen actual se particionan en bloques de luma y bloques de croma usando una estructura de unidad de codificación (CU). Cuando el modo de paleta se activa para la codificación de modo de paleta de imagen actual, solo se aplica a los bloques de luma y la codificación de modo no de paleta se aplica a los bloques de croma. Cuando un bloque de croma se codifica usando el modo directo (DM) y un bloque de luma correspondiente se codifica en el modo de paleta, se puede usar un intramodo predefinido para codificar el bloque de croma. El intramodo predefinido puede corresponder al modo DC o al modo plano. Si se codifica un bloque de luma correspondiente en el modo de paleta, se codifica o decodifica una palabra de código para indicar un modo de codificación utilizado por un bloque de croma asociado con el bloque de luma correspondiente utilizando una tabla de palabras de código excluyendo el modo directo (DM, por sus siglas en inglés).
De acuerdo con aun otro método que no se encuentra dentro del alcance de las reivindicaciones, el componente de luma y el uno o más componentes de croma de la imagen actual se convierten por separado en bloques de luma y bloques de croma utilizando estructuras de unidad de codificación (CU) separadas. La codificación de modo de paleta se aplica a los bloques de luma utilizando paletas de luma si se selecciona el modo de paleta para los bloques de luma y la codificación de modo de paleta que se aplica a los bloques de croma utilizando paletas de croma si se selecciona el modo de paleta para los bloques de croma. Los componentes de croma pueden compartir el mismo croma o utilizar paletas de croma separadas. Se puede determinar si una CU de croma objetivo se codifica usando el modo de paleta de acuerdo con si una o más CU de luma coubicadas se codifican por el modo de paleta. Por ejemplo, si un bloque 4x4 superior izquierdo del bloque de luma coubicado se codifica por el modo de paleta, el bloque de croma objetivo se codifica por el modo de paleta y de otro modo; el bloque de croma objetivo no se codifica por el modo de paleta. En otro ejemplo, si cualquiera de cuatro bloques 4x4 de esquina y cuatro bloques 4x4 centrales del bloque de luma coubicado se codifica por el modo de paleta, el bloque de croma objetivo se codifica por el modo de paleta y de lo contrario, el bloque de croma objetivo no se codifica por el modo de paleta. Si un bloque de croma objetivo se codifica usando el modo de paleta se puede indicar señalizando en un lado de codificador o analizando en un lado de decodificador una sintaxis de modo de paleta de croma. En otra realización que no se encuentra dentro del alcance de las reivindicaciones, si la sintaxis del modo de paleta de croma para el bloque de croma objetivo se señaliza o se analiza condicionalmente dependiendo de si un bloque de luma coubicado se codifica por el modo de paleta.
En el método anterior, se puede generar una lista de predictores de paleta inicial al comienzo de un sector, frente de onda o mosaicos. La lista inicial de predictores de paleta se puede usar como predictores iniciales para los bloques de luma o bloques de croma codificados en el modo de paleta. En una realización que no se encuentra dentro del alcance de las reivindicaciones, la lista de predictores de paleta inicial utiliza una paleta de componentes de color conjunta, donde los bloques de luma o bloques de croma codificados en el modo de paleta utilizan el componente de luma correspondiente o uno o más componentes de croma correspondientes de entradas de color de la lista de predictores de paleta inicial como predictores de paleta respectivos. En otra realización que no se encuentra dentro del alcance de las reivindicaciones, la lista de predictores de paleta inicial utiliza una paleta de luma inicial separada para los bloques de luma codificados en el modo de paleta y una o más paletas de croma iniciales para los bloques de croma codificados en el modo de paleta. Cuando los componentes de croma corresponden a un componente U y un componente V, los bloques de croma para el componente U y los bloques de croma para el componente V pueden compartir una paleta de croma inicial conjunta o utilizar paletas de croma iniciales separadas. Cuando un bloque de croma objetivo se codifica usando el modo de paleta y un bloque de luma coubicado también se codifica usando el modo de paleta, la dirección de escaneo de paleta del bloque de croma se puede heredar de la dirección de escaneo de paleta del bloque de luma coubicado.
De acuerdo con aun otro método que no se encuentra dentro del alcance de las reivindicaciones, la imagen actual se particiona en unidades de codificación (CU) utilizando una estructura de unidad de codificación (CU), donde al menos una CU no es cuadrada. Si se utiliza un modo de paleta para una CU no cuadrada, se determina una dirección de escaneo asociada con la codificación de paleta para la CU no cuadrada de acuerdo con una forma de la CU no cuadrada con respecto a si el ancho de la CU no cuadrada es mayor o menor que la altura de la CU no cuadrada. Luego, la codificación de paleta se aplica a la CU no cuadrada utilizando la dirección de escaneo inferida. La dirección de escaneo se puede inferir sin señalizar o analizar una bandera. Alternativamente, la bandera se puede señalar explícitamente. Si el ancho de la CU no cuadrada es mayor que la altura de la CU no cuadrada, la dirección de escaneo corresponde a un escaneo horizontal; de lo contrario, la dirección de escaneo corresponde a un escaneo vertical. En los ejemplos anteriores, las direcciones horizontales y verticales se pueden intercambiar.
Breve descripción de los dibujos
La figura 1 ilustra un ejemplo de partición de bloques que utiliza una estructura de árbol cuádruple para particionar una unidad de árbol de codificación (CTU) en unidades de codificación (CU).
La figura 2 ilustra una partición de movimiento asimétrico (AMP, por sus siglas en inglés) de acuerdo con la Codificación de Video de Alta Eficiencia (HEVC), donde la AMP define ocho formas para dividir una CU en PU.
La figura 3 ilustra un ejemplo de varios tipos de división binaria utilizados por una estructura de partición de árbol binario, donde un bloque se puede dividir recursivamente en dos bloques más pequeños usando los tipos de división.
La figura 4 ilustra un ejemplo de partición en bloques y su árbol binario correspondiente, donde cada nodo de división (es decir, nodo no hoja) del árbol binario, se utiliza una bandera para indicar qué tipo de división (horizontal o vertical) se utiliza, donde 0 puede indicar división horizontal y 1 puede indicar división vertical.
La figura 5 ilustra un ejemplo de partición de bloques y su estructura de árbol cuádruple más árbol binario (QTBT, por sus siglas en inglés) correspondiente, donde las líneas sólidas indican división de árbol cuádruple y las líneas punteadas indican división de árbol binario.
La figura 6 muestra un ejemplo de las operaciones de modo de paleta, donde el histograma del área de imagen se utiliza para determinar los colores principales, se genera una paleta de acuerdo con los colores principales seleccionados y se genera un mapa de índices de color para el área de imagen.
La figura 7A muestra un ejemplo de la codificación de mapa de índices de paleta, donde se asume el orden de escaneo horizontal.
La figura 7B ilustra un ejemplo de codificación de mapa de índices para el ejemplo en la figura 7A.
La figura 8 muestra un ejemplo de codificación de paleta de croma y luma separada correspondiente a una realización que no se encuentra dentro del alcance de las reivindicaciones, donde los componentes de croma comparten paletas de croma.
La figura 9 muestra un ejemplo de codificación de paleta de croma y luma separada correspondiente a una realización que no se encuentra dentro del alcance de las reivindicaciones, donde los componentes de croma utilizan paletas de croma individuales.
La figura 10 ilustra un ejemplo de derivación de la bandera chroma_palette_mode para la CU de croma objetivo con base en una CU de luma coubicada.
La figura 11 ilustra un diagrama de flujo de un ejemplo de sistema de codificación que utiliza codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, donde cuando se activa el modo de paleta, se desactiva la codificación separada de componentes de luma y croma o si se desactiva la codificación separada de componentes de luma y croma, se desactiva el modo de paleta.
La figura 12 ilustra un diagrama de flujo de un sistema de codificación de ejemplo que utiliza la codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que se encuentra dentro del alcance de las reivindicaciones, donde cuando el modo de paleta se activa para la imagen actual, la codificación de modo de paleta solo se aplica a los bloques de luma y la codificación de modo no de paleta se aplica a los bloques de croma.
La figura 13 ilustra un diagrama de flujo de un ejemplo de sistema de codificación que utiliza codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, donde la codificación de modo de paleta se aplica a los bloques de luma utilizando paletas de luma si se selecciona el modo de paleta para los bloques de luma y la codificación de modo de paleta que se aplica a los bloques de croma utilizando paletas de croma si se selecciona el modo de paleta para los bloques de croma.
La figura 14 ilustra un diagrama de flujo de un sistema de codificación de ejemplo que utiliza codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, donde si se utiliza un modo de paleta para una CU no cuadrada, se determina una dirección de escaneo asociada con la codificación de paleta para la CU no cuadrada de acuerdo con una forma de la CU no cuadrada con respecto a si el ancho de la CU no cuadrada es mayor o menor que la altura de la CU no cuadrada.
Descripción detallada de la invención
La siguiente descripción es del modo mejor contemplado para llevar a cabo la invención. Esta descripción se hace con el fin de ilustrar los principios generales de la invención y no se debe tomar en un sentido limitante. El alcance de la invención se determina mejor con referencia a las reivindicaciones anexas.
De acuerdo con la estructura QTBT existente para codificación de video, el luma y croma se codifican por separado para todos los intracuadros. Sin embargo, en HEVC-SCC, el modo de paleta se diseña para unir tres componentes de color. Además, en HEVC-SCC, las CU codificadas en el modo de paleta son siempre CU cuadradas. Sin embargo, cuando se aplica QTBT, se pueden generar CU no cuadradas. En esta invención, se divulgan varios métodos para abordar problemas relacionados con la aplicación del modo de paleta al video en color que comprende componentes de luma y componentes de croma. La estructura de unidad de codificación (CU) utilizada para particionar una imagen en bloques para la codificación comprende la partición QTBT, HEVC CU/PU/TU, así como otras técnicas de partición de bloques en esta divulgación.
Codificación conjunta de componentes de color para modo de paleta
Cuando se activa el modo de paleta, la codificación separada de luma y croma (o R/G/B) se desactiva de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones. En este caso, los componentes de luma y croma se codificarán conjuntamente como el caso para el sector P o B. El uso del modo de paleta se puede indicar mediante una bandera, tal como palette_mode_enabled_flag que es verdadera en SPS, PPS (conjunto de parámetros de imagen) o cabecera de sector.
En otra realización que no se encuentra dentro del alcance de las reivindicaciones, si se aplica la codificación separada de luma y croma (o R/G/B), se desactiva el modo de paleta. En otras palabras, si se aplica la codificación separada de luma y croma (o R/G/B), los componentes de luma y croma se codificarán usando un modo de codificación seleccionado de un grupo excluyendo el modo de paleta.
Codificación de paleta separada para componentes de luma y croma
Cuando los componentes de luma y croma se codifican por separado, se utiliza codificación de paleta separada para componentes de luma y croma de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones. Por ejemplo, para la codificación de componentes luma, se utiliza el modo de paleta de un solo componente. Un índice de paleta o un color principal se refiere a un valor de luma. Las paletas de luma solo contienen valores de un solo componente de color. Para la codificación de componentes de croma, se utiliza el modo de paleta de dos componentes. Un índice de paleta o un color principal se refiere a dos valores de croma. Las paletas de croma contienen dos valores de dos componentes de color. Las paletas de luma y las paletas de croma son independientes. La figura 8 muestra un ejemplo de codificación de paleta de croma y luma separada correspondiente a esta realización. El componente de color Y 810 tiene una paleta individual 840, y los componentes U/V (820 y 830) comparten otra paleta 850. El bloque 812 corresponde a una CU de luma que se codifica. Los bloques 822 y 832 corresponden a una Cu de croma U y una CU de croma V respectivamente que se codifican. Para la tabla de paleta 840, hay tres entradas y cada índice apunta a un valor de color de luma (y0, y1 o y2). Para la tabla de paleta 850, hay tres entradas y cada índice apunta a un par de valores de color de croma ((u0, v0), (u1, v1) o (u2, v2)).
En otra realización que no se encuentra dentro del alcance de las reivindicaciones, los componentes U/V (o Cb/Cr) se codifican de forma separada. La figura 9 muestra un ejemplo. Cada componente de color tiene una paleta individual. El componente de color Y 910 tiene una paleta individual 940, y los componentes U/V (920 y 930) también utilizan paletas individuales 950 y 960 respectivamente. El bloque 912 corresponde a una CU de luma que se codifica. Los bloques 922 y 932 corresponden a una CU de croma U y una CU de croma V respectivamente que se codifican. Para la tabla de paleta 940, hay tres entradas y cada índice apunta a un valor de color de luma (y0, y1 o y2). Para la tabla de paleta 950, hay tres entradas y cada índice apunta a los valores de croma U (u0, u1 o u2). Para la tabla de paleta 960, hay tres entradas y cada índice apunta a los valores de croma V (v0, v1 o v2).
Cuando se aplica codificación de paleta separada a los componentes de luma y croma, la codificación de paleta de croma puede derivar cierta información del componente de luma ya que los componentes de luma y croma en general probablemente están correlacionados. De acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, se puede determinar si se utiliza la codificación de paleta para un bloque de croma objetivo con base en el bloque de luma coubicado (por ejemplo, CU). Si el bloque de croma objetivo se codifica en el modo de paleta se puede indicar mediante la bandera chroma_palette_mode. La figura 10 ilustra un ejemplo de derivación de la bandera chroma_palette_mode para la CU de croma objetivo con base en una CU de luma coubicada. El área 1010 corresponde a una CTU de luma. El bloque 1020 corresponde a una CU de luma coubicada, donde cada cuadrado pequeño corresponde a un bloque 4x4 (es decir, el tamaño CU mínimo). Los bloques 1030, 1032, 1034 y 1036 corresponden a cuatro bloques 4x4 de esquina y los bloques 1038 corresponden a cuatro bloques 4x4 centrales. De acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, si el bloque 4x4 superior izquierdo de la CU de luma coubicada se codifica en el modo de paleta, se infiere que el bloque de croma actual (denominado bloque de croma objetivo) se codifica en el modo de paleta (es decir, chroma_palette_mode igual a 1). De acuerdo con otra realización que no se encuentra dentro del alcance de las reivindicaciones, se verifican los cuatro bloques 4x4 de esquina (es decir, superior izquierdo, superior derecho, inferior izquierdo, inferior derecho) de la CU de luma coubicada y cuatro (o un) bloque de luma 4x4 central. Si alguno de ellos se codifica usando el modo de paleta, se infiere que el bloque de croma actual se codifica usando el modo de paleta. De lo contrario, la bandera chroma_palette_mode es igual a 0 para indicar que el modo de paleta no se utiliza para el bloque de croma.
La bandera chroma_palette_mode se puede señalar o analizar condicionalmente. De acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, si el bloque 4x4 superior izquierdo de la CU de luma coubicada se codifica en el modo de paleta, se señaliza chroma_palette_mode para el bloque de croma actual. De acuerdo con otra realización que no se encuentra dentro del alcance de las reivindicaciones, se verifican los cuatro bloques 4x4 de esquina (es decir, superior izquierdo, superior derecho, inferior izquierdo, inferior derecho) de la CU de luma coubicada y cuatro (o un) bloque de luma 4x4 central. Si alguno de ellos se codifica usando el modo de paleta, se señaliza el croma_palette_mode para el bloque de croma actual. De lo contrario, la bandera chroma_palette_mode se infiere como 0.
De acuerdo con otra realización que no se encuentra dentro del alcance de las reivindicaciones, si el bloque 4x4 superior izquierdo de la CU de luma coubicada se codifica en el modo de paleta, se infiere que el chroma_palette_mode utiliza el modo de paleta para el bloque de croma actual (es decir, chroma_palette_mode igual a 1). De acuerdo con otra realización que no se encuentra dentro del alcance de las reivindicaciones, se verifican los cuatro bloques 4x4 de esquina (es decir, superior izquierdo, superior derecho, inferior izquierdo, inferior derecho) de la CU de luma coubicada y cuatro (o un) bloque de luma 4x4 central. Si alguno de ellos se codifica usando el modo de paleta, se infiere que chroma_palette_mode usa el modo de paleta para el bloque de croma actual (es decir, chroma_palette_mode igual a 1). De lo contrario, se señaliza la bandera chroma_palette_mode.
Lista de predictores de paleta iniciales
La lista de predictores de paleta iniciales establece entradas de color en la lista de predictores de paleta al comienzo de un sector, frente de onda y mosaicos. Sirven como los predictores iniciales para las CU codificadas por paleta. En la presente divulgación se divulgan dos métodos que no se encuentran dentro del alcance de las reivindicaciones:
A. Lista de predictores de paleta iniciales con componente de color de conjunto
En este método que no se encuentra dentro del alcance de las reivindicaciones, la lista de predictores de paleta iniciales para el sector en I tiene la misma estructura que los sectores P/B, es decir, utilizando una paleta de componentes de color conjunta (por ejemplo, cada entrada con tres componentes). Cuando se utiliza una codificación separada de luma y croma para el sector I, para un bloque de luma (por ejemplo, Y) codificado con el modo de paleta, se utiliza el componente de luma correspondiente de la entrada de color en la paleta inicial como predictor de paleta. Para un bloque de croma codificado con el modo de paleta, los valores de dos componentes correspondientes de la entrada de color en la lista de paleta inicial se utilizan como predictor de paleta si U y V se codifican conjuntamente bajo QTBT u otra estructura CU. Por otro lado, el valor correspondiente de cada componente de la lista inicial de predictores de paleta se utiliza respectivamente si U y V se codifican por separado bajo QTBT u otra estructura CU.
B. Lista de predictores de paleta iniciales separados
En este método que no se encuentra dentro del alcance de las reivindicaciones, para el sector I con codificación separada de luma y croma, se utiliza una lista de predictores de paleta inicial separada. Una lista de predictores de paleta iniciales contiene solo los valores de luma (lista de predictores de paleta iniciales de componente Y), que se utiliza para un bloque de luma codificado con el modo de paleta. Si U y V se codifican conjuntamente utilizando QTBT u otra estructura CU, se utiliza otra lista inicial de predictores de paleta que contiene entradas de color de dos componentes, que es para un bloque de croma (U+V) codificado con modo de paleta. Si U y V se codifican por separado bajo el uso de QTBT u otra estructura CU, se utilizan dos listas de predictores de paleta iniciales, cada una que contiene solo los valores de componentes U y V. Se utilizan para un bloque U o bloque V codificado con el modo de paleta.
Codificación compartida de mapa de índices de paleta
En la codificación separada de luma y croma, se puede usar la codificación de paleta separada en la figura 8 o figura 9. De acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, el resultado de codificación de mapa de índices de luma se comparte mediante la codificación de mapa de índices de croma. Por ejemplo, cuando se codifica una CU de croma, si la CU de luma coubicada también se codifica en el modo de paleta, se puede reutilizar el mapa de índices de luma. Por ejemplo, se pueden compartir la palette_transpose_flag y la palette_escape_val_present_flag. También se puede compartir la copy_above_palette_indices_flag, que se puede usar para derivar si se usa el modo copy_above o index_run para una muestra. Si se comparte copy_above_palette_indices_flag del componente de luma para el componente croma, se omiten copy_above_palette_indices_flag y palette_run. En este caso, solo se requiere que se señalice la palette_index_idc para cada corrida de paleta index_run_mode. También se omiten y se copian del componente de luma los valores num_palette_indices_minus1 y copy_above_indices_for_final_run_flag.
En una realización que no se encuentra dentro del alcance de las reivindicaciones, se señaliza una share_plt_coding_flag para indicar si la codificación de paleta de CU de croma puede compartir la información de la CU de luma coubicada.
En otra realización que no se encuentra dentro del alcance de las reivindicaciones, identificar el primer subbloque de NxN de la CU de croma (por ejemplo, el primero en orden de escaneo de trama dentro de esta CU de croma), cuyo bloque de luma coubicado correspondiente pertenece a una paleta codificada CU. La información de codificación de mapa de índices de paleta mencionada anteriormente de esta CU de luma se comparte al codificar la CU de croma en modo de paleta.
En aun otra realización que no se encuentra dentro del alcance de las reivindicaciones, cuando la codificación de paleta de CU de croma puede compartir la información de algunas CU de luma codificadas con paleta, se establece una lista de candidatos de estas CU de luma con un índice señalizado para indicar qué CU de luma se selecciona para compartir la información asociada.
En aun otra realización que no se encuentra dentro del alcance de las reivindicaciones, si el bloque de luma se codifica en el modo de paleta, el bloque de croma coubicado se puede predecir a partir del bloque de luma de una manera similar al modo LM en HEVC. De acuerdo con otra realización que no se encuentra dentro del alcance de las reivindicaciones, los parámetros a y b se pueden derivar o señalizar, donde la chroma_pred_samlpe = a*coubicado_luma_rec_samlpe b o chroma_pred_samlpe = a*coubicado_luma_pred_samlpe b.
Muestras codificadas de paleta compartida
En la codificación separada de luma y croma, se puede utilizar el modo de codificación de paleta de tres componentes en HEVC-SCC para la codificación de componentes de luma. En este caso, solo se utilizará el componente de luma de la paleta decodificada para reconstruir la CU de luma. Cuando se codifica/decodifica una CU de croma, si su CU de luma coubicada se codifica en modo de paleta de tres componentes, las muestras reconstruidas de croma del modo de codificación de paleta de tres componentes se pueden utilizar para codificar/decodificar la CU de croma. Se puede usar una bandera explícitamente señalizada o derivada para indicar si se deben reutilizar las muestras de croma reconstruidas del modo de codificación de paleta de tres componentes.
Dirección de escaneo diferente para CU no cuadrada
En HEVC-SCC, la forma de CU siempre es cuadrada. Los escaneos transversales horizontales y verticales se aplican para una CU. Se señaliza una palette_transpose_flag para indicar la dirección de escaneo. En QTBT u otras estructuras de CU, se puede producir la CU no cuadrada y, por lo tanto, la CU puede ser cuadrada así como no cuadrada. Para una CU en forma de cuadrado codificada en el modo de paleta, la dirección de escaneo sigue señalizada. Para una CU no cuadrada, se puede inferir la dirección de escaneo. En un ejemplo que no se encuentra dentro del alcance de las reivindicaciones, para una CU no cuadrada con la CU_width mayor que la CU_height, se utiliza el escaneo vertical. De lo contrario (es decir, la CU_width más pequeña que la CU_Heigh), se utiliza el escaneo horizontal. En otras palabras, la dirección de escaneo depende de si la CU_width es mayor o menor que la CU_heigh. En otra realización que no se encuentra dentro del alcance de las reivindicaciones, para una CU no cuadrada con la CU_width mayor que la CU_height, se utiliza el escaneo horizontal. De lo contrario (es decir, la CU_width más pequeña que la CU_Heigh), se utiliza el escaneo vertical. En otra realización que no se encuentra dentro del alcance de las reivindicaciones, la palette_transpose_flag se señaliza para una CU no cuadrada. Si la CU_width es mayor que la CU_height, la palette_transpose_flag se establece a 0 para indicar un escaneo horizontal o se establece a 1 para indicar un escaneo vertical. De lo contrario (es decir, la CU_width es más pequeña que la CU_height), la palette_transpose_flag se señaliza a 1 para indicar un escaneo horizontal o se establece en 0 para indicar un escaneo vertical.
Los ejemplos y realizaciones divulgados anteriormente se pueden incorporar en diversos sistemas de codificación o decodificación de video en diversas formas. Por ejemplo, los ejemplos y realizaciones se pueden implementar usando enfoques basados en hardware, tales como circuitos integrados dedicados (IC, por sus siglas en inglés), arreglo lógico programable en el campo (FPGA, por sus siglas en inglés), procesador de señales digitales (DSP, por sus siglas en inglés), unidad de procesamiento central (CPU, por sus siglas en inglés), etc. Los ejemplos y realizaciones también se pueden implementar usando códigos de software o códigos de firmware ejecutables en una computadora, computadora portátil o dispositivo móvil tal como teléfonos inteligentes. Además, los códigos de software o códigos de firmware se pueden ejecutar en una plataforma de tipo mixto tal como una CPU con procesadores dedicados (por ejemplo, motor de codificación de video o coprocesador).
La figura 11 ilustra un diagrama de flujo de un ejemplo de sistema de codificación que utiliza codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, donde cuando se activa el modo de paleta, se desactiva la codificación separada de componentes de luma y croma o si se desactiva la codificación separada de componentes de luma y croma, se desactiva el modo de paleta. Los pasos que se muestran en el diagrama de flujo, así como otros diagramas de flujo siguientes en esta divulgación, se pueden implementar como códigos de programa ejecutables en uno o más procesadores (por ejemplo, una o más CPU) en el lado de codificador y/o el lado de decodificador. Los pasos mostrados en el diagrama de flujo también se pueden implementar con base en hardware tal como uno o más dispositivos o procesadores electrónicos dispuestos para realizar los pasos en el diagrama de flujo. De acuerdo con este método, los datos de entrada asociados con un área de imagen en una imagen actual se reciben en el paso 1110, donde la imagen actual comprende un componente de luma y uno o más componentes de croma. En el lado de codificador, los datos de entrada pueden corresponder a datos de video que se van a codificar. En el lado de decodificador, los datos de entrada pueden corresponder a datos de video comprimidos que se van a decodificar. En el paso 1120, cuando se activa un modo de paleta para la imagen actual, el componente de luma y el uno o más componentes de croma de la imagen actual se particionan conjuntamente en bloques de luma y bloques de croma usando una misma estructura de unidad de codificación (CU) y la codificación de paleta se aplica a los bloques de luma y los bloques de croma conjuntamente si el modo de paleta se selecciona para los bloques de luma y los bloques de croma, o cuando el componente de luma y el uno o más componentes de croma de la imagen actual se particionan en los bloques de luma y los bloques de croma por separado usando estructuras CU separadas, los bloques de luma y los bloques de croma se codifican o decodifican usando un modo de codificación seleccionado de un grupo de modo de codificación excluyendo el modo de paleta.
La figura 12 ilustra un diagrama de flujo de un sistema de codificación de ejemplo que utiliza la codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que se encuentra dentro del alcance de las reivindicaciones, donde cuando el modo de paleta se activa para la imagen actual, la codificación de modo de paleta solo se aplica a los bloques de luma y la codificación de modo no de paleta se aplica a los bloques de croma. De acuerdo con este método, los datos de entrada asociados con un área de imagen en una imagen actual se reciben en el paso 1210, donde la imagen actual comprende un componente de luma y uno o más componentes de croma. El componente de luma y el uno o más componentes de croma de la imagen actual se particionan en bloques de luma y bloques de croma usando una estructura de unidad de codificación (CU) en el paso 1220. Cuando el modo de paleta se activa para la imagen actual, la codificación de modo de paleta se aplica a los bloques de luma y se aplica la codificación de modo no de paleta a los bloques de croma en el paso 1230.
La figura 13 ilustra un diagrama de flujo de un ejemplo de sistema de codificación que utiliza codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, donde la codificación de modo de paleta se aplica a los bloques de luma utilizando paletas de luma si se selecciona el modo de paleta para los bloques de luma y la codificación de modo de paleta que se aplica a los bloques de croma utilizando paletas de croma si se selecciona el modo de paleta para los bloques de croma. De acuerdo con este método, los datos de entrada asociados con un área de imagen en una imagen actual se reciben en el paso 1310, donde la imagen actual comprende un componente de luma y uno o más componentes de croma. El componente de luma y el uno o más componentes de croma de la imagen actual se particionan por separado en bloques de luma y bloques de croma usando estructuras de unidad de codificación (CU) separadas en el paso 1320. La codificación de modo de paleta se aplica a los bloques de luma utilizando paletas de luma si se selecciona el modo de paleta para los bloques de luma y la codificación de modo de paleta se aplica a los bloques de croma utilizando paletas de croma si se selecciona el modo de paleta para los bloques de croma en el paso 1330.
La figura 14 ilustra un diagrama de flujo de un sistema de codificación de ejemplo que utiliza codificación de modo de paleta para datos de video con componentes de color de acuerdo con una realización que no se encuentra dentro del alcance de las reivindicaciones, donde si se utiliza un modo de paleta para una CU no cuadrada, se determina una dirección de escaneo asociada con la codificación de paleta para la CU no cuadrada de acuerdo con una forma de la CU no cuadrada con respecto a si el ancho de la CU no cuadrada es mayor o menor que la altura de la CU no cuadrada. De acuerdo con este método, los datos de entrada asociados con un área de imagen en una imagen actual se reciben en el paso 1410. La imagen actual se particiona en unidades de codificación (CU) utilizando una estructura de unidad de codificación (CU) en el paso 1420, donde al menos una CU no es cuadrada. En el paso 1430 se verifica si se utiliza un modo de paleta para una CU no cuadrada. Si se utiliza el modo de paleta para la CU no cuadrada (es decir, la ruta "Sí" de el paso 1430), se realizan los pasos 1440 y 1450. De lo contrario (es decir, la ruta "No" de el paso 1430), los pasos 1440 y 1450 se omiten. En el paso 1440, se determina una dirección de escaneo asociada con la codificación de paleta para la CU no cuadrada de acuerdo con una forma de la CU no cuadrada con respecto a si el ancho de la CU no cuadrada es mayor o menor que la altura de la CU no cuadrada. En el paso 1450, la codificación de paleta se aplica a la CU no cuadrada utilizando la dirección de escaneo inferida.
Se pretende que los diagramas de flujo mostrados ilustren ejemplos de codificación de video de acuerdo con la presente divulgación. Una persona experta en la técnica puede modificar cada paso, reorganizar los pasos, dividir un paso o combinar pasos para poner en práctica la presente invención sin desviarse de la presente invención. En la divulgación, se han utilizado sintaxis y semántica específicas para ilustrar ejemplos para implementar realizaciones correspondientes. Un experto en la técnica puede poner en práctica la presente invención sustituyendo la sintaxis y semántica con sintaxis y semántica equivalentes sin desviarse de la presente invención.
La descripción anterior se presenta para permitir que una persona experta en la técnica ponga en práctica la presente invención tal como se proporciona en el contexto de una solicitud particular y su requisito. Diversas modificaciones a las realizaciones descritas serán evidentes para aquellos expertos en la técnica, y los principios generales definidos en la presente se pueden aplicar a otras realizaciones. Por lo tanto, no se pretende que la presente invención se limite a las realizaciones particulares que se muestran y describen, sino que se le va a conceder el alcance más amplio consistente con los principios y características novedosas divulgadas en la presente. En la descripción detallada anterior, se ilustran varios detalles específicos con el fin de proporcionar una comprensión completa de la presente invención. Sin embargo, se entenderá por aquellos expertos en la técnica que la presente invención se puede practicar.
La realización de la presente invención como se describió anteriormente se puede implementar en diversos códigos de hardware, software o una combinación de ambos. Por ejemplo, una realización de la presente invención puede ser uno o más circuitos integrados en un chip de compresión de video o código de programa integrado en un software de compresión de video para realizar el procesamiento descrito en la presente. Una realización de la presente invención también puede ser un código de programa que se ejecuta en un procesador de señales digitales (DSP, por sus siglas en inglés) para realizar el procesamiento descrito en la presente. La invención también puede implicar una cantidad de funciones que se van a realizar por un procesador de computadora, un procesador de señales digitales, un microprocesador o un arreglo de compuertas programable en el campo (FPGA, por sus siglas en inglés). Estos procesadores se pueden configurar para realizar tareas particulares de acuerdo con la invención, al ejecutar código de software legible por máquina o código de firmware que define los métodos particulares incorporados por la invención. El código de software o el código de firmware se pueden desarrollar en diferentes lenguajes de programación y diferentes formatos o estilos. El código de software también se puede compilar para diferentes plataformas objetivo. Sin embargo, los diferentes formatos de código, estilos e lenguajes de códigos de software y otros medios de configuración de código para realizar las tareas de acuerdo con la invención no se desviarán del alcance de la invención.
La invención se puede incorporar en otras formas específicas sin apartarse de sus características esenciales. Los ejemplos descritos se van a considerar en todos los aspectos solo como ilustrativos y no como restrictivos. Por lo tanto, el alcance de la invención se indica por las reivindicaciones anexas en lugar de por la descripción anterior.

Claims (5)

REIVINDICACIONES
1. Un método de codificación y decodificación de video utilizado por un sistema de codificación de video y un sistema de decodificación de video, respectivamente, el método que comprende:
recibir (1210) datos de entrada asociados con una imagen actual, donde la imagen actual comprende un componente de luma y uno o más componentes de croma;
particionar (1220) el componente de luma y el uno o más componentes de croma de la imagen actual en bloques de luma y bloques de croma usando una estructura de unidad de codificación, CU;
caracterizado por:
cuando el modo de paleta se activa para la imagen actual, aplicar la codificación de modo de paleta (1230) a los bloques de luma y aplicar la codificación de modo no de paleta (1230) a los bloques de croma.
2. El método de acuerdo con la reivindicación 1, donde cuando un bloque de croma se codifica usando el modo directo, DM, y un bloque de luma correspondiente se codifica en el modo de paleta, se usa un intramodo predefinido para codificar el bloque de croma.
3. El método de acuerdo con la reivindicación 2, donde el intramodo predefinido corresponde al modo DC o al modo plano.
4. El método de acuerdo con la reivindicación 1, donde si se codifica un bloque de luma correspondiente en el modo de paleta, se codifica o decodifica una palabra de código para indicar un modo de codificación utilizado por un bloque de croma asociado con el bloque de luma correspondiente utilizando una tabla de palabras de código excluyendo el modo directo (DM).
5. Un aparato de codificación y decodificación de video utilizado por un sistema de codificación de video y un sistema de decodificación de video, respectivamente, el aparato que comprende uno o más circuitos o procesadores electrónicos dispuestos para:
recibir datos de entrada asociados con una imagen actual, donde la imagen actual comprende un componente de luma y uno o más componentes de croma;
particionar el componente de luma y el uno o más componentes de croma de la imagen actual en bloques de luma y bloques de croma usando una estructura de unidad de codificación, CU;
caracterizado porque el uno o más circuitos electrónicos o procesadores se disponen además para:
cuando el modo de paleta se activa para la imagen actual, aplicar la codificación de modo de paleta a los bloques de luma y aplicar un modo no de paleta a los bloques de croma.
ES20180787T 2016-05-28 2017-05-26 Método y aparato de codificación de modo de paleta para datos de video de color Active ES2935261T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201662342882P 2016-05-28 2016-05-28

Publications (1)

Publication Number Publication Date
ES2935261T3 true ES2935261T3 (es) 2023-03-03

Family

ID=60479707

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20180787T Active ES2935261T3 (es) 2016-05-28 2017-05-26 Método y aparato de codificación de modo de paleta para datos de video de color

Country Status (6)

Country Link
EP (2) EP3449633A4 (es)
CN (2) CN113727109B (es)
ES (1) ES2935261T3 (es)
PL (1) PL3731527T3 (es)
TW (1) TWI672943B (es)
WO (1) WO2017206805A1 (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190246122A1 (en) * 2018-02-08 2019-08-08 Qualcomm Incorporated Palette coding for video coding
CN112673640A (zh) * 2018-08-30 2021-04-16 华为技术有限公司 使用调色板译码的编码器、解码器和相应方法
US11025905B2 (en) * 2018-09-14 2021-06-01 Tencent America LLC Method and device for decoding with palette mode
KR20210104133A (ko) 2018-12-30 2021-08-24 미디어텍 인크. 제약이 있는 루마-크로마 분리 코딩 트리 코딩의 방법 및 장치
SG11202107760PA (en) 2019-02-01 2021-08-30 Beijing Bytedance Network Technology Co Ltd Signaling of in-loop reshaping information using parameter sets
WO2020156533A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and palette mode
AU2020224256A1 (en) 2019-02-24 2021-09-09 Beijing Bytedance Network Technology Co., Ltd. Independent coding of palette mode usage indication
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
JP7417624B2 (ja) 2019-03-23 2024-01-18 北京字節跳動網絡技術有限公司 適応ループフィルタリングパラメータセットに対する制限
KR102472032B1 (ko) * 2019-04-25 2022-11-28 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 팔레트 모드를 이용한 비디오 코딩 방법 및 장치
WO2020228566A1 (en) 2019-05-10 2020-11-19 Mediatek Inc. Method and apparatus of chroma direct mode generation for video coding
WO2020243295A1 (en) 2019-05-31 2020-12-03 Bytedance Inc. Palette mode with intra block copy prediction
CN114128272B (zh) * 2019-06-20 2024-03-26 Lg电子株式会社 基于亮度样本的映射和色度样本的缩放的视频或图像编码
EP3970369A4 (en) 2019-06-28 2022-07-20 ByteDance Inc. TECHNIQUES FOR MODIFYING QUANTIZATION PARAMETERS IN TRANSFORM SKIP MODE
EP3973450A4 (en) 2019-06-28 2023-02-22 ByteDance Inc. CHROMINANCE INTRA MODE DERIVATION IN SCREEN CONTENT ENCODING
EP4358514A3 (en) * 2019-07-19 2024-06-12 Wilus Institute of Standards and Technology Inc. Video signal processing method and device
CN117459744A (zh) 2019-07-20 2024-01-26 北京字节跳动网络技术有限公司 调色板模式使用指示的条件相关编解码
EP4346209A1 (en) * 2019-07-21 2024-04-03 LG Electronics Inc. Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream
WO2021013210A1 (en) * 2019-07-23 2021-01-28 Beijing Bytedance Network Technology Co., Ltd. Mode determining for palette mode in prediction process
CN117221536A (zh) 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
JP2022543009A (ja) 2019-07-29 2022-10-07 北京字節跳動網絡技術有限公司 予測処理におけるパレットモードの符号化
KR102601022B1 (ko) * 2019-08-06 2023-11-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 색상 포맷에 기초한 비디오 영역 분할
JP7494289B2 (ja) 2019-08-15 2024-06-03 バイトダンス インコーポレイテッド 異なるパーティション構造をもつパレット・モード
WO2021030747A1 (en) * 2019-08-15 2021-02-18 Beijing Dajia Internet Information Technology Co., Ltd. Small chroma block size restriction in video coding
KR20220044279A (ko) 2019-08-15 2022-04-07 바이트댄스 아이엔씨 팔레트 이스케이프 심벌에 대한 엔트로피 코딩
CN117714683A (zh) 2019-09-02 2024-03-15 北京字节跳动网络技术有限公司 基于色彩格式的视频区分割
WO2021055782A1 (en) 2019-09-19 2021-03-25 Bytedance Inc. Quantization parameter derivation for palette mode
EP4070555A4 (en) * 2019-12-05 2023-01-25 Alibaba Group Holding Limited METHOD AND DEVICE FOR CHROMA SCANNING
WO2021137962A1 (en) * 2019-12-30 2021-07-08 Alibaba Group Holding Limited Method and apparatus for coding video data in palette mode
MX2022008575A (es) * 2020-01-11 2022-10-07 Beijing Dajia Internet Information Tech Co Ltd Metodos y aparatos de codificacion de video usando el modo de paleta.
US11184632B2 (en) 2020-01-20 2021-11-23 Tencent America LLC Method and apparatus for palette based coding mode under local dual tree structure
CN117544767A (zh) * 2020-03-27 2024-02-09 北京达佳互联信息技术有限公司 对视频进行编码的方法、电子装置、存储介质和程序产品
WO2023020389A1 (en) * 2021-08-19 2023-02-23 Mediatek Singapore Pte. Ltd. Method and apparatus for low-latency template matching in video coding system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171051B1 (en) * 2003-06-17 2007-01-30 Nvidia Corporation Method and apparatus for performing fixed blocksize compression for texture mapping
KR101291196B1 (ko) * 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9807426B2 (en) * 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
EP2858367B1 (en) * 2012-04-26 2018-12-05 Sony Corporation Predictive video coding with sub-pixel accuracy for different colour sampling formats
US9558567B2 (en) * 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
EP3033886B1 (en) * 2013-11-27 2021-01-06 HFI Innovation Inc. Method of video coding using prediction based on intra picture block copy
KR101782280B1 (ko) * 2013-12-18 2017-10-23 에이치에프아이 이노베이션 인크. 팔레트 테이블 예측을 위한 방법 및 장치
WO2015094711A1 (en) * 2013-12-18 2015-06-25 Mediatek Inc. Palette prediction and sharing in video coding
WO2015090219A1 (en) * 2013-12-18 2015-06-25 Mediatek Inc. Method and apparatus for palette initialization and management
US9826242B2 (en) * 2014-03-14 2017-11-21 Qualcomm Incorporated Palette-based video coding
CN105323583B (zh) * 2014-06-13 2019-11-15 财团法人工业技术研究院 编码方法、解码方法、编解码***、编码器与解码器
US9961351B2 (en) * 2014-11-26 2018-05-01 Qualcomm Incorporated Palette mode coding
GB2534607A (en) * 2015-01-29 2016-08-03 Canon Kk Palette predictor initializer when encoding or decoding self-contained coding structures
US20160345014A1 (en) * 2015-05-20 2016-11-24 Sharp Laboratories Of America, Inc. Systems and methods for coding a number of palette indices

Also Published As

Publication number Publication date
PL3731527T3 (pl) 2023-01-09
TW201811043A (zh) 2018-03-16
CN113727109A (zh) 2021-11-30
EP3731527A1 (en) 2020-10-28
EP3449633A4 (en) 2019-12-18
WO2017206805A1 (en) 2017-12-07
CN109479137B (zh) 2021-09-21
EP3449633A1 (en) 2019-03-06
TWI672943B (zh) 2019-09-21
EP3731527B1 (en) 2022-10-19
CN109479137A (zh) 2019-03-15
CN113727109B (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
ES2935261T3 (es) Método y aparato de codificación de modo de paleta para datos de video de color
US11039147B2 (en) Method and apparatus of palette mode coding for colour video data
TWI627856B (zh) 視訊編碼和視訊解碼的方法及裝置
CN109845261B (zh) 图像和视频编解码中帧内色度编解码的方法及装置
CN108605130B (zh) 一种用于对与区块相关的符号进行熵编解码的方法和装置
CA2981185C (en) Method and apparatus of non-square intra prediction for chroma components in coding system with quad-tree and binary-tree partition
CA2966522C (en) Method of video coding using binary tree block partitioning
TWI692973B (zh) 利用自適應運動向量解析度和子塊預測模式進行視訊編解碼的當前圖像參考的方法和裝置
WO2017008263A1 (en) Conditional binary tree block partitioning structure
WO2018018486A1 (en) Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure
TW201813404A (zh) 一種視訊編碼系統使用的視訊編碼方法及裝置
WO2020140876A1 (en) Method and apparatus of luma-chroma separated coding tree coding with constraints
EP4102837A1 (en) Methods and apparatus of alternative transform skip mode for image and video coding
TWI702838B (zh) 一種用於視訊編碼器或視訊解碼器的視訊編解碼方法及裝置
SG188647A1 (en) Apparatus and method of constrained partition size for high efficiency video coding
WO2020098786A1 (en) Method and apparatus of luma-chroma separated coding tree coding with constraints
US20180054629A1 (en) Method and Apparatus for Index Map Coding in Video and Image Compression
WO2017114450A1 (en) Method and apparatus of prediction binary tree structure for video and image coding
BR112018000549B1 (pt) Método de particionamento de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente e aparelho para o particionamento de blocos para a codificação ou a decodificação de vídeo efetuada por um codificador de vídeo ou por um decodificador de vídeo respectivamente