ES2665908T3 - Predicción inter-componente - Google Patents

Predicción inter-componente Download PDF

Info

Publication number
ES2665908T3
ES2665908T3 ES14719660.4T ES14719660T ES2665908T3 ES 2665908 T3 ES2665908 T3 ES 2665908T3 ES 14719660 T ES14719660 T ES 14719660T ES 2665908 T3 ES2665908 T3 ES 2665908T3
Authority
ES
Spain
Prior art keywords
component
prediction
signal
snapshot
residual
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
ES14719660.4T
Other languages
English (en)
Inventor
Tung Nguyen
Ali Atef Ibrahim KHAIRAT ABDELHAMID
Detlev Marpe
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.)
GE Video Compression LLC
Original Assignee
GE Video Compression LLC
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 GE Video Compression LLC filed Critical GE Video Compression LLC
Application granted granted Critical
Publication of ES2665908T3 publication Critical patent/ES2665908T3/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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/103Selection of coding mode or of prediction mode
    • 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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Landscapes

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

Abstract

Decodificador configurado para decodificar una instantanea de multiples componentes (202) muestreando espacialmente una escena con respecto a diferentes componentes (206, 208, 210), reconstruyendo una primera senal de componente (2561; 2701) con relacion a un primer componente (206) de la instantanea de multiples componentes (202) desde un flujo de datos (104); reconstruir (400) una porcion (440) de una segunda senal de componente (256'2; 270'2) relacionada con un segundo componente (208) de la instantanea de multiples componentes (202) desde una porcion espacialmente correspondiente de la primera senal de componente reconstruida (2561; 2701) y una senal de correccion (2562; 2702) derivada desde el flujo de datos, en el que el primer y segundo componentes son componentes de color y la primera senal de componente es una prediccion residual de una prediccion de manera temporal, espacial o inter-vista del primer componente de la instantanea de multiples componentes y la segunda senal de componente es una prediccion residual de una prediccion temporal, espacial o inter-vista del segundo componente de la instantanea de multiples componentes, en el que el decodificador esta configurado para, al reconstruir la segunda senal de componente, establecer de manera adaptativa un primer peso (α2) en el que la porcion espacialmente correspondiente (442) de la primera senal de componente reconstruida influencia la reconstruccion de la segunda senal de componente a una granularidad de subinstantanea, dependiendo de la senalizacion en el flujo de datos.

Description

5
10
15
20
25
30
35
40
45
50
55
60
Predicción inter-componente DESCRIPCIÓN
La presente solicitud está relacionada con la predicción inter-componente en codificación de instantánea de múltiples componentes tal como entre luminancia y crominancia.
En procesamiento de señal de imagen y vídeo, la información de color se representa principalmente en un espacio de color que consiste típicamente en tres componentes como R'G'B' o Y'CbCr. El primer componente, Y' en el caso de Y'CbCr, a menudo se denomina como la luminancia y los dos componentes restantes, los componentes Cb y Cr o planos en el caso de Y'CbCr, se denominan como la crominancia. La ventaja del espacio de color Y'CbCr sobre el espacio de color R'G'B' es principalmente la característica residual de los componentes de crominancia, es decir, los componentes de crominancia contienen menos energía o amplitud en comparación con las señales de crominancia de espacios de color absolutos como R'G'B'. En particular para Y'CbCr, el componente de luminancia implica la información de escala de grises de la imagen o vídeo y el componente de crominancia Cb implica la diferencia con relación al azul primario, respectivamente Cr indica la diferencia con relación al rojo primario.
En el espacio de aplicación de compresión y procesamiento de imagen y vídeo, las señales Y'CbCr se prefieren sobre R'G'B' debido al hecho de que la transformación de espacio de color desde R'G'B' a Y'CbCr reduce o elimina la correlación entre los diferentes componentes de color o planos. Además de la eliminación de la correlación, ha de transmitirse menos información, y por lo tanto, la transformación de color actúa también como un enfoque de compresión. Un pre-procesamiento de este tipo en eliminación de correlación o reducción posibilita eficacia de compresión superior mientras mantiene o aumenta la complejidad en una cantidad significativa como un ejemplo. Un esquema de compresión de vídeo híbrido a menudo se diseña para entrada de Y'CbCr puesto que se elimina o reduce la correlación entre los diferentes componentes de color y los diseños de esquemas de compresión híbridos únicamente tienen que considerar el procesamiento separado de los diferentes componentes. Sin embargo, la transformación desde R'G'B' a Y'CbCr y viceversa no es sin pérdidas, y por lo tanto, la información, es decir, valores de muestra disponibles en el espacio de color original puede, perderse después de una transformación de color de este tipo. El problema puede evitarse usando espacios de color que implican una transformación sin pérdidas desde el espacio de color original y de vuelta al espacio de color original, por ejemplo, el espacio de color Y'CoCg cuando tiene entrada de R'G'B'. Sin embargo, las transformaciones de espacio de color fijas pueden conducir a resultados subóptimos dependiendo de la aplicación. Para compresión de imagen y vídeo, las transformaciones de color fijas a menudo son subóptimas para tasas de bits superiores y señales no naturales con alta correlación o sin ella entre los planos de color. En el segundo caso, una transformación fija introduciría correlación entre las diferentes señales, y en el primer caso, la transformación fija puede no eliminar toda la correlación entre las diferentes señales. Adicionalmente, debido a la aplicación global de la transformación, la correlación puede no eliminarse por completo de los diferentes componentes o planos localmente o incluso globalmente. Otro problema introducido por una transformación de espacio de color radica en la arquitectura de un codificador de imagen o de vídeo. Normalmente, el proceso de optimización intenta reducir una función de coste, que a menudo es una métrica de distancia definida a través del espacio de color de entrada. En el caso de señales de entrada transformadas, puede ser difícil conseguir un resultado óptimo para la señal de entrada original debido a las etapas de procesamiento adicionales. En consecuencia, el proceso de optimización puede dar como resultado un coste mínimo para la señal transformada pero no para la señal de entrada original. Aunque las transformaciones son a menudo lineales, el cálculo de coste en el proceso de optimización a menudo implica una tara de señalización y el coste para la decisión final se calcula a continuación por una fórmula de Lagrange. Lo último puede conducir a diferentes valores de coste y diferente decisión de optimización. El aspecto de la transformación de color es especialmente crucial en el dominio de la representación de color ya que las pantallas de imagen y vídeo modernas normalmente usan la composición de color de R'G'B' para representación de contenido. Hablando en general, se aplican transformaciones cuando debiera eliminarse o reducirse la correlación en la señal o entre las señales. Como consecuencia, la transformación de espacio de color es un caso especial del enfoque de transformación más genérico.
Por consiguiente, sería favorable tener disponible un concepto de codificación de instantánea de múltiples componentes que sea incluso más eficaz, es decir, conseguir tasas de bits superiores a través de un intervalo más amplio de contenido de instantánea de múltiples componentes.
Por consiguiente, es un objeto de la presente invención proporcionar un concepto de codificación de instantánea de múltiples componentes de tal eficacia superior.
Este objeto se consigue mediante la materia objeto de las reivindicaciones independientes pendientes. La presente invención está basada en el hallazgo de que reconstruir una segunda señal de componente relacionada con un segundo componente de una instantánea de múltiples componentes desde una porción espacialmente correspondiente de una primera señal de componente reconstruida y una señal de corrección derivada desde un flujo de datos para el segundo componente promete eficacia de codificación mejorada a través de un intervalo más amplio de contenido de instantánea de múltiples componentes. Incluyendo la porción espacialmente correspondiente
5
10
15
20
25
30
35
40
45
50
55
60
de la primera señal de componente reconstruida en la reconstrucción de la segunda señal de componente, cualesquiera redundancias/correlaciones inter-componente restantes presentes tales como aún presentes a pesar de una posible transformación de espacio de componente realizada a priori, o presentes debido a que se ha introducido por tal transformación de espacio de componente realizada a priori, por ejemplo, pueden eliminarse fácilmente por medio de la reducción de redundancia/correlación inter-componente de la segunda señal de componente.
De acuerdo con una realización de la presente solicitud, el códec de instantánea de múltiples componentes se construye como un códec de vídeo híbrido basado en bloques que opera en unidades de bloques de código, bloques de predicción, bloques residuales y bloques de transformada, y la dependencia inter-componente se conecta y desconecta a una granularidad de los bloques residuales y/o bloques de transformada por una respectiva señalización en el flujo de datos. La tara adicional de gastar la señalización está sobre-compensada por la ganancia de eficacia de codificación ya que la cantidad de redundancia inter-componente puede variar en una instantánea. De acuerdo con una realización de la presente solicitud, la primera señal de componente es una predicción residual de una predicción de manera temporal, espacial o inter-vista del primer componente de la instantánea de múltiples componentes y la segunda señal de componente es una predicción residual de una predicción temporal, espacial o inter-vista del segundo componente de la instantánea de múltiples componentes. Mediante esta medida, la dependencia inter-componente aprovechada se centra en las redundancias inter-componente restantes de modo que la predicción inter-componente puede tender a mostrar un comportamiento espacial más suave.
Un primer peso en el que la porción espacialmente correspondiente de la primera señal de componente reconstruida influencia la reconstrucción de la segunda señal de componente, indicado a a continuación, establece de manera adaptativa una granularidad de subinstantánea. Mediante esta medida, la variación intra-instantánea en redundancia inter-componente puede seguirse más estrechamente. De acuerdo con una realización, se usa una mezcla de una estructura de elemento de sintaxis de alto nivel y elementos de sintaxis de primer peso de granularidad de subinstantánea para señalizar el primer peso en la granularidad de subinstantánea, en el que la estructura de elemento de sintaxis de alto nivel define un mapeo desde un conjunto de dominios de posibles cadenas de bits de una conversión a binario predeterminada de los elementos de sintaxis de primer peso en un dominio conjunto de posibles valores del primer peso. Mediante esta medida, la tara para una información secundaria para controlar el primer peso se mantiene baja. La adaptación puede hacerse hacia delante de manera adaptativa. Un elemento de sintaxis puede usarse por bloque tal como un bloque residual o de transformada, que tiene un número limitado de estados que pueden señalizarse que indexan simétricamente uno de un número de valores de peso para a distribuido simétricamente alrededor de cero. En una realización, el número de estados que pueden señalizarse es impar incluyendo el número de valores de peso cero, en el que la señalización de cero se usa para señalizar el no uso de predicción inter-componente de modo que una bandera adicional se vuelve obsoleta. Además, la magnitud se señaliza antes del signo señalizado condicionalmente, la magnitud se mapea en el número de valores de peso y si la magnitud es cero, el signo no se señaliza de modo que los costes de señalización se reducen adicionalmente.
De acuerdo con una realización, un segundo peso en el que influencia la señal de corrección la reconstrucción de la segunda señal de componente, se establece a una granularidad de subinstantánea, además de, o como alternativa a, el ajuste adaptativo del primer peso. Mediante esta medida, la adaptabilidad de reducción de redundancia intercomponente puede aumentarse adicionalmente. En otras palabras, de acuerdo con una realización, al reconstruir la segunda señal de componente, los pesos de una suma ponderada de la señal de corrección y la porción espacialmente correspondiente de la primera señal de componente reconstruida, pueden establecerse a una granularidad de subinstantánea. La suma ponderada puede usarse como un argumento escalar de una función escalar que es constante, al menos por instantánea. Los pesos pueden establecerse de una manera de accionamiento hacia atrás basándose en unas cercanías locales. Los pesos pueden corregirse de una manera de accionamiento hacia delante.
De acuerdo con una realización, el dominio donde se realiza la reconstrucción de la segunda señal de componente desde una porción espacialmente correspondiente de la primera señal de componente reconstruida usando la señal de corrección, es el dominio espacial. Como alternativa, se usa el dominio espectral. E incluso como alternativa, el dominio usado se cambia entre dominio espacial y espectral. La conmutación se realiza a granularidad de subinstantánea. Resulta que la capacidad para conmutar, a granularidad de subinstantánea, el dominio donde tiene lugar la combinación de la primera señal de componente reconstruida y la señal de corrección, aumenta la eficacia de codificación. La realización de la conmutación puede hacerse de una manera adaptativa hacia atrás o de una manera adaptativa hacia delante.
De acuerdo con una realización, se usa un elemento de sintaxis en el flujo de datos para posibilitar cambiar el papel de la primera y segunda señales de componente en los componentes de la instantánea de múltiples componentes. La tara adicional para señalizar el elemento de sintaxis es baja en comparación con la posible ganancia en eficacia de codificación.
De acuerdo con una realización, la reconstrucción de la segunda señal de componente se permite que conmute, a
5
10
15
20
25
30
35
40
45
50
55
60
granularidad de sub-instantánea, entre la reconstrucción basándose en la primera señal de componente reconstructiva únicamente, y reconstruyendo la misma basándose en la primera señal de componente reconstruida y una señal de componente reconstruida adicional de un componente adicional de la instantánea de múltiples componentes. A esfuerzo adicional relativamente bajo, esta posibilidad aumenta la flexibilidad al eliminar redundancias residuales entre componentes de la instantánea de múltiples componentes.
Análogamente, de acuerdo con una realización, se usa un primer elemento de sintaxis en el flujo de datos para, de manera global o a un nivel de alcance aumentado, posibilitar o no posibilitar la reconstrucción de la segunda señal de componente basándose en la primera señal de componente reconstruida. Si se posibilita, los elementos de sintaxis de nivel de subinstantánea en el flujo de datos se usan para adaptar la reconstrucción de la segunda señal de componente basándose en una primera señal de componente reconstruida a granularidad de subinstantánea. Mediante esta medida, gastar información secundaria para los elementos de sintaxis de nivel de subinstantánea es simplemente necesario en casos de aplicación o contenido de instantánea de múltiples componentes para los que la activación da como resultado ganancia de eficacia de codificación.
Como alternativa, la conmutación entre activación y desactivación se realiza localmente de una manera de accionamiento hacia atrás. En este caso, el primer elemento de sintaxis incluso no es necesario que esté presente en el flujo de datos. De acuerdo con una realización, por ejemplo, la conmutación local se realiza localmente dependiendo de una comprobación de si la primera y segunda señales de componente son predicciones residuales de una predicción espacial con el modo de intra-predicción de la predicción espacial que coincide, o no se desvía en más de una cantidad predeterminada. Mediante esta medida, la conmutación local entre activación y desactivación no consume tasa de bits.
De acuerdo con una realización, se usa un segundo elemento de sintaxis en el flujo de datos para conmutar entre reconstrucción adaptativa de la segunda señal de componente basándose en la primera señal de componente reconstruida a granularidad de sub-instantánea usando de manera adaptativa hacia delante elementos de sintaxis de nivel de subinstantánea en el flujo de datos, y realizando no de manera adaptativa la reconstrucción de la segunda señal de componente basándose en la primera señal de componente reconstruida. La tara de señalización para el segundo elemento de sintaxis es baja en comparación con la posibilidad de evitar la tara para transmitir los elementos de sintaxis de nivel de subinstantánea para contenido de instantánea de múltiples componentes para los que realizar de manera no adaptativa la reconstrucción ya es lo suficientemente eficaz.
De acuerdo con una realización, el concepto de reducción de redundancia inter-componente se transfiere en una instantánea de tres componentes de crominancia. De acuerdo con una realización, se usa luminancia y dos componentes de crominancia. El componente de luminancia puede elegirse como el primer componente.
De acuerdo con una realización, el elemento de sintaxis de nivel de subinstantánea para adaptar la reconstrucción de la segunda señal de componente desde la primera señal de componente reconstruida se codifica en el flujo de datos usando un código Golomb-Rice. Los binarios del código Golomb-Rice pueden someterse a codificación aritmética binaria. Pueden usarse diferentes contextos para diferentes posiciones de binario del código Golomb-Rice.
De acuerdo con una realización, la reconstrucción de la segunda señal de componente desde la primera señal de componente reconstruida implica un re-escalamiento espacial y/o un mapeo de precisión de profundidad de bits en la porción espacialmente correspondiente de la primera señal de componente reconstruida. La adaptación del reescalamiento espacial y/o rendimiento del mapeo de precisión de profundidad de bits, puede hacerse de una manera adaptativa hacia atrás y/o hacia delante. La adaptación del re-escalamiento espacial puede implicar la selección de un filtro espacial. La adaptación de la realización del mapeo de precisión de profundidad de bits puede implicar la selección de una función de mapeo.
De acuerdo con una realización, la reconstrucción de la segunda señal de componente desde la primera señal de componente reconstruida se hace indirectamente mediante una versión filtrada de paso bajo de manera espacial de la primera señal de componente reconstruida.
Implementaciones ventajosas de realizaciones de la presente solicitud son el objeto de las reivindicaciones dependientes.
Se describen realizaciones preferidas de la presente solicitud a continuación con respecto a las figuras, entre las cuales:
La Figura 1 muestra un diagrama de bloques de un codificador configurado para codificar una instantánea de múltiples componentes de acuerdo con una realización;
La Figura 2 muestra un diagrama de bloques de un decodificador que se adapta al codificador de la Figura 1 de acuerdo con una realización;
5
10
15
20
25
30
35
40
45
50
55
60
La Figura 3
La Figura 4 La Figura 5
La Figura 6
La Figura 7
muestra esquemáticamente una instantánea y su subdivisión/particionamiento en diversos bloques de diferente tipo de acuerdo con una realización;
muestra esquemáticamente un módulo de reconstrucción de acuerdo con una realización de la presente solicitud y que se crea en los codificadores y decodificadores de las Figuras 1 y 2; muestra esquemáticamente una instantánea con dos componentes, un bloque actualmente previsto inter-componente así como la porción espacialmente correspondiente en el primer (base) componente;
muestra esquemáticamente una instantánea con tres componentes para ilustrar una realización donde un componente sirve de manera constante como el componente de base (primero) de acuerdo con una realización;
muestra esquemáticamente una instantánea con tres componentes donde cada uno de los componentes puede servir, como alternativa, como el primer (base) componente de acuerdo con una realización;
La Figura 8 muestra esquemáticamente una posibilidad de acuerdo con la cual el dominio para predicción inter-componente se cambia de manera adaptativa;
La Figura 9A muestra esquemáticamente una posibilidad de señalización de un parámetro de predicción intercomponente;
La Figura 9b muestra la realización de la Figura 9a en más detalle;
La Figura 9c muestra esquemáticamente la aplicación del parámetro de predicción inter-componente al que se
refieren las Figuras 9a y 9b para fines de ilustración; y
La Figura 10 muestra esquemáticamente una predicción inter-componente adaptativa hacia delante de acuerdo con una realización.
La descripción presentada a continuación empieza con la descripción de una realización detallada de un codificador y una descripción de una realización detallada de un decodificador que se adapta al codificador, en la que después se presentan realizaciones generalizadas.
La Figura 1 muestra un codificador 100 configurado para codificar una instantánea de múltiples componentes 102 en un flujo de datos 104. La Figura 1 ilustra ejemplarmente el caso de la instantánea de múltiples componentes 102 que comprende tres componentes 106, 108 y 110, pero la descripción presentada a continuación revelará que realizaciones ventajosas de la presente solicitud pueden derivarse fácilmente a partir de la descripción de la Figura 1 transfiriendo el ejemplo de la instantánea de tres componentes actual en un ejemplo donde únicamente se presentan dos componentes, tal como los componentes 106 y 108. Por consiguiente algunos de los elementos del codificador 100 mostrado en la Figura 1 se muestran usando líneas discontinuas y son hasta ahora características opcionales con respecto a realizaciones más generalizadas como se expone adicionalmente a continuación.
En principio, el codificador de la Figura 1 y todas las realizaciones descritas en lo sucesivo podrían operar con cualquier tipo de "componente". De hecho, la instantánea de múltiples componentes 102 es una instantánea de una escena que muestrea la escena con respecto a los diversos componentes 106, 108 y 110 espacialmente en condiciones de otro modo coincidentes con respecto a, por ejemplo, indicación de tiempo, condiciones de vista y similares. Para facilitar el entendimiento de las realizaciones descritas adicionalmente a continuación, sin embargo, se supone que los componentes 106, 108 y 110 todos se refieren a la textura y son, por ejemplo, componentes de color tal como componentes de luminancia y crominancia, o componentes de color de cualquier otro espacio de color.
El codificador de la Figura 1 está configurado sustancialmente para aplicar codificación de vídeo híbrida basada en bloques a cada uno de los componentes 106, 108 y 110 de la instantánea 102 de manera separada, sin embargo, usando predicción inter-componente para reducir redundancias inter-componente. La predicción inter-componente se refiere a diversos aspectos como se señalará en más detalle a continuación.
Por consiguiente, el codificador 100 comprende, por componente 106, 108 y 110, un formador de secuencia de una predicción residual 112, en este punto realizado de manera ejemplar como un restador, un transformador 114 y un cuantificador 116 conectados en serie, en el orden de su mención entre una entrada a la que un respectivo componente 106, 108 y 110, llega respectivamente, y una respectiva entrada de un formador de flujo de datos 118 configurado para multiplexar los coeficientes cuantificados y otros parámetros de codificación mencionados en más
5
10
15
20
25
30
35
40
45
50
55
60
detalle a continuación, en el flujo de datos 104. Aunque está dispuesta una entrada de no inversión del formador de predicción residual 112 para recibir el respectivo componente de la instantánea 102, la entrada de inversión (sustraendo) del mismo recibe una señal de predicción 120 desde un predictor 122, la entrada del cual está conectada a la salida del cuantificador 116 mediante una ruta de reconstrucción que comprende una secuencia de un descuantificador 124, un re-transformador 126 y un recombinador de predicción/residual 128, en este punto realizados de manera ejemplar como un sumador. Aunque la salida del recombinador de predicción/residual 126 está conectada a una entrada de la predicción 122, y una primera entrada está conectada a una salida del retransformador 126, una entrada adicional del mismo recibe la señal de predicción 120 emitida por el predictor 122. Los elementos 112, 114, 116, 124, 126, 128, 122 y 120 están presentes en el codificador 100 en una manera paralela para cada uno de los componentes 106 a 110 para formar tres rutas de codificación de vídeo híbridas basadas en bloque separadas 1301, 1302 y 1303. Los índices 1, 2 y 3 se usan para distinguir entre los diferentes componentes de la instantánea 102 con el índice 1 asociado con el componente 106, el índice 2 asociado con el componente 108 y el índice 3 asociado con el componente 110.
En el ejemplo mostrado en la Figura 1, el componente 106 representa una clase de "componente de base" como se hará más evidente a partir de la descripción presentada a continuación. Debería observarse, sin embargo, y se analizará también en más detalle a continuación, que el papel entre los componentes 106 a 110 puede igualarse en que se ha elegido una configuración ilustrada y mostrada en la Figura 1 simplemente por motivos de un entendimiento más fácil de los principios de las realizaciones de la presente solicitud descritos en más detalle a continuación. En cualquier caso, para distinguir los elementos 112, 114, 116, 124, 126, 128, 122 y 120 de las rutas 1301 a 1303 descritos hasta ahora, los índices se usan también con respecto a estos elementos.
Como se hace evidente a partir de la observación anteriormente presentada, en el ejemplo de la Figura 1, los componentes 108 y 110 representan "componentes dependientes" y por esta razón, elementos adicionales además de aquellos ya analizados para las rutas de codificación 1301 a 1303 están conectados entre estos elementos ya analizados. En particular, un formador residual de predicción inter-componente de dominio espacial 132 está conectado, por medio de su entrada no de inversión y su salida, entre el formador de predicción residual 112 por una parte, y la entrada del transformador 114, por otra parte, y análogamente, un recombinador de predicción intercomponente de dominio espacial y residual 134 está conectado entre el re-transformador 126 por una parte, y el recombinador de predicción/residual 128 por otra parte. La Figura 1 también muestra un formador residual de predicción inter-componente de dominio espectral 136 como situado, por medio de su entrada no de inversión y su salida, entre el transformador 114 y el cuantificador 116 con un correspondiente recombinador de predicción/residual inter-componente de dominio espectral 138 estando conectado entre el descuantificador 124 por una parte y el retransformador 126 por otra parte. El par de formador de predicción inter-componente de dominio espacial 132 y correspondiente recombinador 134 se alimentan, en su entrada adicional, por un respectivo predictor residual intercomponente de dominio espacial 140, y análogamente, la entrada adicional del formador de predicción inter-vista de dominio espectral 136 junto con su recombinador asociado 138 se alimenta con una señal de predicción residual de dominio espectral 142 proporcionada por un predictor residual inter-componente de dominio espectral 144. Como su interfaz de entrada, los predictores 140 y 144 están conectados con nodos internos de cualquiera de las respectivas rutas de codificación anteriores. Por ejemplo, el predictor 1402 está conectado a la salida del formador de predicción residual 1121, y el predictor 1442 tiene una entrada conectada a la salida del descuantificador 1241. Análogamente, los predictores 1403 y 1443 tienen una entrada conectada a la salida del formador de predicción residual 1122 y al descuantificador 1242, respectivamente, pero adicionalmente se muestra una entrada adicional del predictor 1403 como que está conectada a la salida del formador de predicción residual 1121 y se muestra una entrada adicional del predictor 1443 como estando conectada a la salida del descuantificador 1241. Los predictores 140 y 144 se muestran como generando opcionalmente parámetros de predicción para implementar un control adaptativo hacia delante de la predicción inter-componente realizada por los mismos, indicándose los parámetros emitidos por los predictores 140 por 146, e indicándose los parámetros emitidos por el predictor 144 por el signo de referencia 148. Al igual que la señal residual 150 emitida por los cuantificadores 116, los parámetros de predicción 146 y 148 de los predictores 140 y 144 se reciben por el formador de flujo de datos 118 que, por ejemplo, codifica de una manera sin pérdidas todos estos datos en el flujo de datos 104.
Antes de describir el modo de operación del codificador de la Figura 1 en más detalle a continuación, se hace referencia a la Figura 2 que muestra el correspondiente decodificador. De manera sustancial, el decodificador 200 corresponde a esa parte del codificador 100 que, para cada componente, se extiende desde el descuantificador 124 hasta el predictor 122 y por consiguiente, se usan los mismos signos de referencia, pero aumentados en 100, con respecto a estos elementos correspondientes. Para ser más precisos, el decodificador 200 de la Figura 2 está configurado para recibir el flujo de datos 104 en la entrada de un extractor de flujo de datos 218 del decodificador 200, configurado para extraer desde el flujo de datos 104 las señales residuales 1501 a 1503 y todos los parámetros de codificación relacionados incluyendo los parámetros de predicción 146 y 148. Correspondiendo al codificador 100 de la Figura 1, el decodificador 200 de la Figura 2 está estructurado en rutas de decodificación paralelas 230, con una ruta por componente de la instantánea de múltiples componentes, la reconstrucción de la cual se indica usando el signo de referencia 202 y el componente reconstruido de la cual se emite en la salida de la respectiva ruta de decodificación como 206, 208 y 210. Debido a las cuantificaciones, la reconstrucción se desvía desde la instantánea
5
10
15
20
25
30
35
40
45
50
55
60
original 102.
Como ya se ha indicado anteriormente, las rutas de decodificador 230i a 2303 del decodificador 200 corresponden sustancialmente a aquellas rutas de las rutas de codificación 1301 a 1303 del codificador 100, que abarcan los elementos 124, 138, 126, 134, 128 y 122 del mismo. Es decir, las rutas de decodificación 2302 y 2303 de los "componentes dependientes" 208 y 210 comprenden entre una respectiva salida del extractor de flujo de datos 218 por una parte, y la respectiva salida para emitir el respectivo componente 208 y 210, respectivamente, una conexión en serie de un descuantificador 224, un recombinador de predicción/residual inter-componente de dominio espectral 238, un transformador inverso 226, un recombinador de predicción/residual inter-componente de dominio espacial 234 y recombinador de predicción/residual 228 conectado entre el extractor de flujo de datos 218 por una parte y la salida del decodificador 200 para emitir la instantánea de múltiples componentes 202, por otra parte, en el orden de su mención, en el que un predictor 222 está conectado en un bucle de realimentación que conduce desde el recombinador de predicción/residual 228 de vuelta a otra entrada del mismo. Las entradas adicionales de 238 y 234 se alimentan por los respectivos predictores inter-componente de dominio espacial y de dominio espectral 240 y 244. La ruta de decodificación 2301 del "componente de base" 206 se diferencia en que los elementos 238, 234, 244 y 240 no están presentes. El predictor 2443 tiene una entrada en el mismo conectada a una salida del descuantificador 2242, y otra salida conectada a la salida de descuantificador 2241, el predictor 2403 tiene una primera entrada conectada a una salida del transformador inverso 2262 y otra entrada conectada a una salida del transformador inverso 2261. El predictor 2442 tiene una entrada conectada a la salida del descuantificador 2241, y el predictor 2402 tiene una entrada del mismo conectada al transformador invertido 2261.
Debería observarse que los predictores 1403 y 1402 de la Figura 1 se han mostrado como estando conectados a las señales residuales aún no cuantificadas de componentes subyacentes en el dominio espacial simplemente por motivos de una ilustración más fácil, pero eso, como se hace evidente a partir de la Figura 2, para evitar inconsistencias de predicción entre codificador y decodificador, los predictores 1402 y 1403 de la Figura 1 pueden como alternativa, y ventajosamente, conectarse a las salidas de los transformadores inversos 1262 y 1261, respectivamente, en lugar de las versiones no cuantificadas de las señales residuales del dominio espectral de los componentes subyacentes.
Después de haber descrito la estructura tanto del codificador 100 como del decodificador 200, se describe su modo de operación en lo sucesivo. En particular, como ya se ha descrito anteriormente, el codificador 100 y el decodificador 200 están configurados para usar codificación híbrida para codificar/decodificar cada componente de la instantánea de múltiples componentes. Realmente, cada componente de la instantánea de múltiples componentes 102 representa una serie de muestras o instantánea, muestreando cada una espacialmente la misma escena con respecto a un componente de color diferente. La resolución espacial de los componentes 106, 108 y 110, es decir la resolución espectral a la que se muestrea la escena con respecto al respectivo componente, puede diferenciarse de componente a componente.
Como se ha descrito anteriormente, los componentes de la instantánea de múltiples componentes 102 se someten de manera separada a codificación/decodificación híbrida. "De manera separada" no significa necesariamente que la codificación/decodificación de los componentes se realice completamente independiente unos de los otros. En primer lugar, la predicción inter-componente elimina redundancias entre los componentes y adicionalmente pueden elegirse algunos parámetros de codificación de manera común para los componentes. En la Figura 3, por ejemplo, se supone que los predictores 122 y 222 eligen la misma subdivisión de instantánea 102 en bloques de codificación, pero es factible también una subdivisión individual de componente de la instantánea 102 en bloques de codificación por los predictores 122 y 222. La subdivisión de instantánea 102 en bloques de codificación puede fijarse o pueden señalizarse en el flujo de datos 104. En el último caso, la información de subdivisión puede ser parte de parámetros previstos emitidos por el predictor 122 al formador de flujo de datos 118 e indicados usando el signo de referencia 154, en el que extractor de flujo de datos 218 extrae estos parámetros de predicción incluyendo la información de subdivisión y emite los mismos al predictor 222.
La Figura 3 ilustra de manera ejemplar que la subdivisión de instantánea 102 en bloques de codificación o bloques de código puede hacerse de acuerdo con un proceso de dos etapas, de acuerdo con el cual la instantánea de múltiples componentes 102 se subdivide en primer lugar de manera regular en los bloques de raíz de árbol, las siluetas de los cuales se indican usando líneas dobles 300 en la Figura 3, aplicando posteriormente subdivisión de árbol múltiple recursiva para subdividir cada bloque de raíz de árbol 302 en bloques de código 304, las siluetas 306 de los cuales se ilustran en la Figura 3 usando líneas continuas sencillas 306. Por lo tanto, los bloques de código 304 representan bloques de hoja de la subdivisión de árbol múltiple recursiva de cada bloque de raíz de árbol 302. La información de subdivisión anteriormente mencionada posiblemente contenida en el flujo de datos 104 - ya sea para los componentes de manera común o para los componentes de manera individual - puede comprender información de subdivisión de árbol múltiple para cada bloque de raíz de árbol 302 para señalizar la respectiva subdivisión del bloque de raíz de árbol 302 en los bloques de código 304 y opcionalmente información de subdivisión que controla y señaliza la subdivisión de la instantánea 102 en la disposición regular de los bloques de raíz de árbol 302 en filas y columnas.
5
10
15
20
25
30
35
40
45
50
55
60
En unidades de bloques de código 304, por ejemplo, los predictores 122 y 222 varían entre una pluralidad de modos de predicción soportados por el codificador 100 y decodificador 200, respectivamente. Por ejemplo, los predictores 1221 a 1223 seleccionan los modos de predicción para los bloques de código individualmente e indican la selección mediante los parámetros de predicción 1541 a 1543 a los predictores 2223. Los modos de predicción disponibles pueden comprender modos de predicción temporal y espacial. Pueden soportarse otros modos de predicción también, tal como modos de predicción de inter-vista o similares. Usando subdivisión de árbol múltiple recursiva, tal como subdivisión de árbol dual, los bloques de código pueden subdividirse adicionalmente en bloques de predicción 308, las siluetas 310 de los cuales se indican en la Figura 3 usando líneas discontinuas. La información de subdivisión recursiva respectiva puede contenerse en los parámetros de predicción 1541 a 1543 para cada bloque de código. En una realización alternativa, esta selección de los modos de predicción se realiza a la granularidad de los bloques de predicción. Análogamente, cada bloque de código 304 puede, usando subdivisión de árbol múltiple recursiva, tal como la subdivisión de árbol dual, subdividirse adicionalmente en bloques residuales 312, las siluetas de los cuales se indican usando líneas de puntos discontinuos 314 en la Figura 3. Por lo tanto, cada bloque de código 304 se particiona, concurrentemente, en bloques de predicción 308 y bloques residuales 312. Los bloques residuales 312 pueden, opcionalmente, subdividirse en bloques de transformada 316, las siluetas de los cuales se indican usando líneas de puntos discontinuos 318 en la Figura 3. Como alternativa, los bloques de transformada y residuales forman las mismas entidades, es decir los bloques residuales son bloques de transformada y viceversa. En otras palabras, los bloques residuales pueden coincidir con los bloques de transformada de acuerdo con una realización alternativa. La información de subdivisión relacionada con el bloque residual y/o el bloque de transformada puede o no estar contenida en los parámetros de predicción 154.
Dependiendo del modo de predicción asociado con el respectivo bloque de código o bloque de predicción, cada bloque de predicción 308 tiene respectivos parámetros de predicción asociados con los mismos que se selecciona por los predictores 1221 a 1223 de manera apropiada, insertados en información de parámetro 1541 a 1543 y usados por los predictores 2221 a 2223 para controlar la predicción en los respectivos bloques de predicción 308 en consecuencia. Por ejemplo, los bloques de predicción 308 que tienen un modo de predicción temporal asociado con los mismos pueden tener un vector de movimiento para predicción de movimiento compensado asociado con los mismos, y opcionalmente un índice de instantánea de referencia que indica una instantánea de referencia a partir de la cual, con el desplazamiento indicado por el vector de movimiento, se deriva/copia la predicción del respectivo bloque de predicción 308. Los bloques de predicción 308 de un modo de predicción espacial pueden tener una dirección de predicción espacial asociada con los mismos, contenida en la información de predicción 1511 a 1543, indicando la última la dirección a lo largo de la cual el ya reconstruido que rodea el respectivo bloque de predicción se extrapola espacialmente en el respectivo bloque de predicción.
Por lo tanto, usando los modos de predicción y parámetros de predicción, los predictores 122 y 222 derivan una señal de predicción 1201 a 1203 para cada uno de los componentes, y para cada uno de los componentes, esta señal de predicción se corrige usando una señal residual 1561 a 1563. Estas señales residuales se codifican mediante el uso de codificación de transformada. Es decir, los transformadores 1141 a 1143 realizan una transformación, es decir una descomposición espacial, en cada bloque de transformada 116 individualmente, tal como una DCT, DST o similares, y los transformadores inversos 226 invierten la misma individualmente para los bloques de transformada 308, es decir realizan, por ejemplo, una IDCT o IDST. Es decir, en lo que respecta al codificador 100, los transformadores 114 realizan la transformación en la señal residual aún no cuantificada según se forma por los formadores de predicción residual 112. Los transformadores inversos 126 y 226 invierten la descomposición espectral basándose en la señal residual cuantificada 150 del respectivo componente que es de una manera sin pérdidas, tal como usando codificación Huffman o aritmética, insertada en el flujo de datos por el formador de flujo de datos 118 y se extrae a partir del mismo usando, por ejemplo, decodificación de Huffman o aritmética, por el extractor de flujo de datos 218.
Sin embargo, para reducir la tasa de datos para codificar la señal residual 2561 a 2563 usando la señal de predicción 2201 a 2203 que se corrige en los recombinadores de predicción/residuales 2281 a 2283, los codificadores 100 y 200 soportan predicción inter-componente con respecto a la codificación de la señal residual de los componentes. Como se describirá en más detalle a continuación, la predicción inter-componente para codificar la señal residual puede conectarse y desconectarse y/o ajustarse hacia delante y/o hacia detrás de manera adaptativa a la granularidad de bloques residuales y/o bloques de transformada. Si se desconecta, las señales de predicción inter-componente emitidas por los predictores 140, 144 y 240 y 244 son cero y las señales residuales 2561 a 2563 de todos los componentes se derivan desde los coeficientes de transformada cuantificados contenidos en su respectiva señal residual 1501 y 1503 únicamente. Si se conectan, sin embargo, las redundancias/correlaciones inter-componente se eliminan en lo que respecta a los componentes dependientes, es decir las señales residuales 2562 y 2563 se codifican/decodifican usando predicción inter-componente. El componente de base (primero) que sirve como origen de predicción inter-componente se deja, en lo que respecta a la predicción inter-componente, sin cambios. Cómo se hace esto se señala a continuación.
Por el momento, la descripción de la reducción de redundancia inter-componente realizada por los predictores 140;
5
10
15
20
25
30
35
40
45
50
55
60
144, 240 y 244 se centra en la reducción de redundancia inter-componente entre los componentes 106 y 108 y 206 y 208, respectivamente. Después de eso, para facilitar el entendimiento, la descripción se amplía al caso de tres componentes ilustrado en las Figuras 1 y 2.
Como será evidente a partir de la descripción presentada a continuación, las realizaciones señaladas a continuación se aprovechan de, por ejemplo, la caracterización residual de los componentes de crominancia, especialmente en casos donde los componentes de crominancia absolutos, o planos, sirven como la entrada. En caso de los tres componentes de las Figuras 1 y 2, por ejemplo, que representan componentes de un componente de espacio de color de luminancia/crominancia 106/206 pueden ser por ejemplo un componente de luminancia, mientras que los componentes 108/208 y 110/210 son componentes de crominancia, tal como componentes de crominancia relacionados con el azul y rojo. Manteniendo el cálculo de distorsión definido a través del espacio de entrada original, las realizaciones señaladas a continuación posibilitan fidelidad superior. En otras palabras, el codificador de la Figura 1 junto con el decodificador de la Figura 2 posibilitan introducir una instantánea multi-componente original como está sin que se realice, por ejemplo, ninguna transformación de espacio de color con antelación. La eficacia de codificación conseguible por las realizaciones de las Figuras 1 y 2 es independiente del espacio de color de entrada, es decir las realizaciones señaladas a continuación para realizar eliminación de redundancia inter-componente actúan como una etapa de eliminación de correlación adicional para la entrada y'CbCr 106 a 110, y como una transformada de color en caso de la entrada R'G'B' 106 a 110. Adicionalmente, las realizaciones señaladas adicionalmente a continuación aplican la reducción de redundancia entre los componentes, o planos, localmente, es decir el codificador 100 decide de manera adaptativa para cada región de la imagen/instantánea 102, o el vídeo, si se aplica o no predicción inter-plano/componente que implica las señales residuales. Sin embargo, de nuevo se observa que las realizaciones de la presente invención no están restringidas a componentes o planos de color únicamente, en su lugar las técnicas expuestas en el presente documento pueden aplicarse a planos/componentes genéricos así como donde los residuos resultantes de los dos o más planos consistan en correlación. Por ejemplo, las realizaciones descritas en la presente solicitud pueden aplicarse también a planos de diferentes capas en un esquema de compresión de vídeo escalable. En la parte superior de la predicción, el orden de procesamiento de los componentes o planos puede cambiarse localmente, tal como por ejemplo por medio de un elemento de sintaxis que señaliza el orden de componente en el flujo de bits. Esta alternativa también se describe a continuación.
Con respecto a las Figuras 1 y 2, se ilustra un caso de un esquema de compresión de imágenes y de vídeo basado en bloques híbrido, donde se realiza la predicción realizada por los predictores 122/222 basada en registro y codificación de transformada en lo que respecta al lado de la codificación de los transformadores 114, cuantificadores 116, el insertador de flujo de datos 118, y el transformador inverso 226 y descuantificador 224 así como el extractor de flujo de datos 218, en lo que respecta al lado de decodificación, se aplica contribución al error de predicción, es decir la salida de los formadores de predicción residual 112, denominado como residuo.
Por favor, obsérvese que el término bloque deberá entenderse como que describe una forma rectangular genérica a continuación, es decir un bloque puede tener una forma rectangular.
En las realizaciones descritas a continuación, el codificador decide sobre la aplicación de la predicción inter- solicitud/componente para cada bloque de predicción 308 o bloque de transformada 304.
Se presenta con la presente que en las Figuras 1 y 2 la predicción inter-plano/componente se aplica a la predicción residual de una señal de predicción de una señal de predicción de manera espacial, temporal y/o de inter-vista. Teóricamente, existen ejemplos de comparación donde las realizaciones presentadas en el presente documento podría transferirse de manera análoga en un caso donde la predicción inter-plano/componente se realiza en la muestra de los componentes directamente.
Para cada bloque residual 312 (o forma rectangular), de acuerdo con una realización, se transmite un elemento de sintaxis en el flujo de datos 104, y el elemento de sintaxis indica si debería usarse o no la predicción inter- plano/componente por medio de los predictores 140, 144, 240, 244. En el caso de un esquema de compresión de vídeo como H.265/EVC, también se ilustra en la Figura 3, cuando el residuo se divide adicionalmente en bloques de transformada más pequeños o formas 216, el codificador 100 puede, de acuerdo con una realización, transmitir los elementos de sintaxis recién mencionados especificando el uso o no uso de la predicción inter-plano/componente para cada bloque de transformada 316, o incluso un grupo de bloques de transformada. Obsérvese que la agrupación, es decir nivel de señalización, podría seleccionarse de manera adaptativa y una decisión de agrupación de este tipo puede transmitirse como un elemento de sintaxis adicional en el flujo de bits/datos 104, tal como en un encabezamiento del flujo de datos. En el nivel de señalización más alto el uso, o el no uso de la predicción inter- plano/componente puede señalizarse para una unidad de codificación o bloque de codificación 304, un grupo de bloques de código 304, o incluso para una imagen o fotograma total.
Dicho de otra manera, se hace referencia a la Figura 4. La Figura 4 ilustra un módulo de reconstrucción 400 que se realiza en las realizaciones mostradas en las Figuras 1 y 2 en varias porciones, en concreto por par de
5
10
15
20
25
30
35
40
45
50
55
60
- predictor inter-componente de dominio espacial 1402 y recombinador de predicción/residual inter-componente de dominio espacial asociado 1342, que recibe x en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 1561, que recibe y en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 1562, y que emite z como la señal residual 156'2 que sustituye la señal residual 1562,
- predictor inter-componente de dominio espectral 1442 y recombinador de predicción/residual inter-componente de dominio espectral asociado 1382, que recibe x en forma del flujo de datos extraído y señal residual descuantificada 1701, que recibe y en forma del flujo de datos extraído y señal residual descuantificada 1702, y que emite z como la señal residual 170'2 que sustituye la señal residual 1702,
- predictor inter-componente de dominio espacial 1403 y recombinador de predicción/residual inter-componente de dominio espacial asociado 1343, que recibe x en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 1561 o el flujo de datos extraído, señal residual descuantificada y transformada inversa 1562 (o cualquier combinación de los mismos o ambos de ellos), que recibe y en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 1563, y que emite z como la señal residual 156'3 que sustituye la señal residual 1563,
- predictor inter-componente de dominio espectral 1443 y recombinador de predicción/residual inter-componente de dominio espectral asociado 1383, que recibe x en forma del flujo de datos extraído y señal residual descuantificada 1701 o el flujo de datos extraído y señal residual descuantificada 1702 (o cualquier combinación de los mismos o ambos de ellos), que recibe y en forma del flujo de datos extraído y señal residual descuantificada 1703, y que emite z como la señal residual 170'3 que sustituye la señal residual 1703,
- predictor inter-componente de dominio espacial 2402 y recombinador de predicción/residual inter-componente de ominio espacial asociado 2342, que recibe x en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 2561, que recibe y en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 2562, y que emite z como la señal residual 256'2 que sustituye la señal residual 2562,
- predictor inter-componente de dominio espectral 2442 y recombinador de predicción/residual inter-componente de
dominio espectral asociado 2382, que recibe x en forma del flujo de datos extraído y señal residual
descuantificada 2701, que recibe y en forma del flujo de datos extraído y señal residual descuantificada 2702, y que emite z como la señal residual 170'2 que sustituye la señal residual 2702,
- predictor inter-componente de dominio espacial 2403 y recombinador de predicción/residual inter-componente de dominio espacial asociado 2343, que recibe x en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 2561 o el flujo de datos extraído, señal residual descuantificada y transformada inversa 2562 (o cualquier combinación de los mismos o ambos de ellos), que recibe y en forma del flujo de datos extraído, señal residual descuantificada y transformada inversa 2563, y que emite z como la señal residual 256'3 que sustituye la señal residual 2563,
- predictor inter-componente de dominio espectral 2443 y recombinador de predicción/residual inter-componente de
dominio espectral asociado 2383, que recibe x en forma del flujo de datos extraído y señal residual
descuantificada 2701 o el flujo de datos extraído y señal residual descuantificada 2702 (o cualquier combinación de los mismos o ambos de ellos), que recibe y en forma del flujo de datos extraído y señal residual descuantificada 2703, y que emite z como la señal residual 270'3 que sustituye la señal residual 2703,
En todas estas ocasiones en las Figuras 1 y 2, la predicción inter-plano/componente descrita posteriormente en más detalle se realiza en cualquiera de estas ocasiones, las realizaciones de las Figuras 1 y 2 pueden modificarse por medio del módulo de predicción inter-plano/componente 400 más generalizado de la Figura 4. Obsérvese que puede realmente usarse simplemente algunas de las ocasiones.
Como se muestra en la Figura 4, el módulo de predicción inter-plano/componente 400 o el módulo de reconstrucción 400 tiene dos entradas y una salida y, opcionalmente, usa una señalización de parámetro de predicción entre el lado de codificador y decodificador. La primera entrada 402 se indica como "x" y representa la primera señal de componente reconstruida entrante basándose en la cual la reducción de redundancia inter-plano/componente para el segundo componente se realiza por el módulo de reconstrucción 400. Esta primera señal de componente reconstruida 402 puede ser, como se muestra en las Figuras 1 y 2, la señal residual transmitida según se extrae desde el flujo de datos para la porción del primer componente, co-localizado a la porción del segundo componente que es actualmente el objeto de la reducción de redundancia inter-plano/componente, en el dominio espacial o espectral.
La otra señal de entrada 404 del módulo de reconstrucción 400 se indica "y" y representa la señal residual transmitida de la porción del segundo componente, que es actualmente el objeto de la reducción de redundancia inter-plano/componente por el módulo 400, en el mismo dominio que la señal 402, es decir dominio espectral o espacial. El módulo de reconstrucción 400 reconstruye una segunda señal de componente 406, indicada "z" en la
5
10
15
20
25
30
35
40
45
50
55
60
Figura 4, de nuevo, en el mismo dominio, señal de componente 406 que representa la salida principal del módulo de reconstrucción 400 y al menos participa en reconstruir el componente dependiente de la instantánea de múltiples componentes sustituyendo x. "Al menos" significa que, como se muestra en la Figuras 1 y 2, la señal de componente 406 emitida por módulo de reconstrucción 400 puede representar una predicción residual, y en consecuencia aún tener que combinarse con la señal de predicción 1541 del respectivo componente dependiente i.
Al igual que los otros módulos del codificador y decodificador, el módulo de reconstrucción 400 opera en una base por bloques. La operación en una base por bloques, por ejemplo, puede manifestarse por sí misma en una adaptación a nivel de bloques de la inversa de la reducción de redundancia inter-componente realizada por el módulo de reconstrucción 400. La "adaptación a nivel de bloques" puede implicar, opcionalmente, la señalización explícita de parámetros previstos 146/148 en el flujo de datos. Sin embargo, también es factible un ajuste adaptativo hacia atrás de los parámetros para controlar la reducción de redundancia inter-componente. Es decir, haciendo referencia a la Figura 4, en caso de que el módulo de reconstrucción 400 se integre en el decodificador, los parámetros de predicción entran en el módulo de restricción, y por lo tanto representan una entrada adicional del mismo, mientras que en el caso de que el módulo de reconstrucción 400 se cree en el codificador, los parámetros de predicción se determinan internamente de una manera ejemplificada a continuación que implica, por ejemplo, la resolución de un problema de optimización de LSE.
Como se señala en más detalle a continuación, un módulo de reconstrucción 400 puede operar, por ejemplo, de tal manera que z puede representarse como 9(ax + p + Yy). a, p y y son posibles parámetros de predicción intercomponente. Para cada una de a, p y y, puede mantenerse que las mismas son una constante, por lo tanto no se varía de manera adaptativa ni hacia detrás ni hacia delante, se varía de manera adaptativa hacia atrás y en consecuencia no forma parte del flujo de datos, o se varía de manera adaptativa hacia delante y se señaliza en el flujo de datos. La Figura 5 ilustra esto para el caso ejemplar de la predicción inter-componente desde el primer componente 106 al segundo componente 108. En ejemplos específicamente señalados a continuación, por ejemplo, la operación se eleva de una manera de modo que z = ax + y.
La Figura 5 muestra una porción o bloque actualmente reconstruido 440 del segundo componente 108. La Figura 5 también muestra la porción/bloque espacialmente correspondiente 442 del primer componente 106, es decir la porción espacialmente co-localizada en la instantánea 10. Las señales de entrada 402 y 404 que reciben el módulo 400 para los componentes 106 y 108 con respecto a bloques co-localizados 440 y 442 pueden representar, como se señala con respecto a las Figuras 1 y 2, señales residuales según se transmiten por los componentes 106 y 108 en el flujo de datos. Con respecto al segundo componente 108, el módulo 400 calcula z. Para cada bloque, tal como el bloque 440, los parámetros a, p y Y - o simplemente un subconjunto de los mismos - se adaptan de una manera ejemplificada adicionalmente a continuación.
En particular, para un bloque dado tal como el bloque 440, puede señalizarse en el flujo de datos por medio de un elemento de sintaxis, en cuanto a si se ha de realizar o no predicción inter-componente. Los parámetros a, p y Y en caso de que se conecte predicción inter-componente, simplemente representan posibles ejemplos. Para un bloque 440 para el que se aplica predicción inter-componente, puede señalizarse un modo de predicción en el flujo de datos, puede señalizarse un origen de predicción en los datos, puede señalizarse un dominio de predicción en el flujo de datos y pueden señalizarse parámetros relacionados con los parámetros anteriormente mencionados en el flujo de datos. El significado de "modo de predicción", "origen de predicción", "dominio de predicción" y "parámetros relacionados" se harán evidentes a partir de la descripción presentada a continuación. En los ejemplos descritos hasta ahora, la predicción inter-componente opera en señales residuales. Es decir, x e y eran predicciones residuales según se transmiten en el flujo de datos y ambas representan predicciones residuales de una predicción híbrida. Como también se ha descrito anteriormente, x e y pueden ser predicciones residuales en el dominio espacial o en el dominio de la frecuencia en el caso ejemplar de usar codificación de transformada como se ha señalado anteriormente. Aplicar la predicción en la etapa de un codificador o un decodificador tiene varios beneficios. El primero de todos ellos, normalmente es innecesaria memoria adicional, y en segundo lugar puede realizarse la predicción inter-componente localmente, es decir sin la introducción de etapas intermedias adicionales después del proceso de análisis desde el punto de vista del decodificador. Para distinguir el dominio de predicción, puede transmitirse un elemento de sintaxis adicional en el flujo de bits. Es decir, el último elemento de sintaxis adicional puede indicar si el dominio de predicción inter-componente puede ser el dominio espacial o el dominio espectral. En el primer caso, x, e y z se encuentran en el dominio espacial, y en el último caso x, y y z se encuentran en el dominio espectral. Por favor, obsérvese que desde la perspectiva del decodificador, el residuo se reconstruye desde el flujo de bits y puede ser diferente de aquellos que se han generado en el codificador antes de la etapa de cuantificación. Sin embargo, se prefiere usar el residuo ya cuantificado y reconstruido como un origen de predicción en un codificador que implementa la realización de la presente solicitud. Adicionalmente, en el caso de omitir la etapa de transformada, la predicción inter-componente en los dominios espacial y de frecuencia es exactamente igual. Para una configuración de este tipo, la señalización del dominio de predicción, es decir dominio espacial o de frecuencia, puede omitirse.
En lo que respecta a los "modos de predicción" anteriormente mencionados, los mismos pueden ser afines, lineales,
5
10
15
20
25
30
35
40
45
50
55
60
no lineales o más complejos. En el primer caso, el predictor puede escribirse como ya se ha descrito anteriormente, en concreto como z = 9(ax + p + Yy) donde z es la señal o muestra residual reconstruida, x es el vector que contiene muestras desde la señal de origen de predicción, a, p y y son parámetros de modelo, e y muestras desde la señal actual, es decir la señal residual pasada desde el lado del decodificador, y 9 puede ser alguna función lineal o no lineal.
Para mantener la cadena de procesamiento tan sencilla como sea posible, una configuración de ejemplo puede mantener el procesamiento del primer componente, tal como el componente de luminancia, sin cambiar y usar la señal residual reconstruida de luminancia como un predictor para las señales residuales de componente. Esto es una posible configuración de origen de predicción y obsérvese que un origen de predicción sencillo de este tipo simplifica el enfoque de transformación genérico, donde se requieren los tres componentes o planos de la señal de entrada para generar las muestras de transformada.
Otra configuración posible es hacer el origen predicción adaptativo, es decir señalizar qué señal residual de todas las ya disponibles, o componentes residuales respectivamente reconstruidos, se usan para predicción. Como alternativa, el orden de procesamiento puede cambiarse localmente, por ejemplo el segundo componente se reconstruye en primer lugar y se usa como origen de predicción para los componentes restantes. Una configuración de este tipo se aprovecha del hecho de que el delta entre dos componentes que usan un predictor biyectivo (o cercano a invertible) es el mismo, pero con signo invertido, sin embargo, el coste absoluto para codificar el origen de predicción es diferente. Adicionalmente, es posible la combinación de varios orígenes de predicción. En este caso, los pesos de combinación pueden transmitirse en el flujo de bits o estimarse mediante accionamiento hacia atrás usando las estadísticas de los respectivos vecinos disponibles o codificados.
La especificación de los parámetros de modelo puede realizarse accionándose hacia atrás, compuesta de estimación de accionamiento hacia atrás y señalización hacia delante, o señalizado hacia delante completamente en el flujo de datos. Una configuración de ejemplo es usar un conjunto fijado de parámetros de modelo, conocidos tanto para el codificador como decodificador, y señalizar el índice establecido al decodificador para cada bloque o forma. Otra configuración es usar un conjunto dinámico o una lista donde se cambia el orden de predictores después de un número específico de bloques o formas. Un enfoque de este tipo posibilita adaptación local superior a la señal de origen. Un ejemplo más detallado sobre modo de predicción, origen de predicción, dominio de predicción y señalización de parámetros se presenta a continuación.
En cuanto al modo de predicción, puede observarse lo siguiente.
El modo de predicción puede ser afín, no lineal o una función más compleja realizada por enfoques como curvas diferenciables definidas en porciones o regresión de vector de soporte.
Obsérvese que las transformaciones de espacio de color son la mayoría lineales empleando todos los componentes de entrada disponibles. Es decir, las transformaciones de espacio de color tienden a mapear un vector de tres componentes de tres componentes de color, en otro vector de otros tres componentes de otro espacio de color. El codificador y decodificador pueden operar, de acuerdo con una realización de la presente solicitud, de manera independiente del espacio de color de entrada, y por lo tanto el componente de luminancia puede mantenerse sin cambiar para formar un origen de predicción. Sin embargo, de acuerdo con una realización alternativa, la definición del "componente de luminancia" o "primer componente" puede ser diferente para cada bloque, tal como bloque de predicción o de transformación (o forma rectangular), es decir para cada bloque o forma, el componente que sirve como el "primer componente" puede seleccionarse de manera adaptativa. La adaptación puede indicarse al codificador por una señalización en el flujo de datos. Por ejemplo, aunque la Figura 5 ilustra el caso del componente 106 que forma el "primer componente" mientras que el componente 108 es el componente inter-componente previsto, es decir el segundo componente, en lo que respecta al bloque 440, las cosas podrían ser diferentes de otro bloque de la instantánea 10 cuando, por ejemplo, la señal de componente 106 se prevé inter-componente desde el componente 108. La adaptación a nivel de bloques del "origen de predicción" puede indicarse en el flujo de datos como se acaba de señalar. Adicionalmente o como alternativa, para cada bloque 440, un elemento de sintaxis que señaliza donde se aplica o no la predicción puede transmitirse en el flujo de datos. Es decir, en caso de usar el componente 106 como el "primer componente" de manera constante, un elemento de sintaxis de este tipo estaría presente para bloques de un componente dependiente únicamente, es decir los componentes 108 y 110 en la Figura 1 y 2. En ese caso, el primer componente, tal como el componente de luminancia, proporcionaría el origen de predicción, en concreto la señal residual del mismo en caso de las realizaciones anteriormente señaladas.
Si la predicción se posibilita para un cierto bloque 440, adicionalmente o como alternativa, el modo de predicción puede señalizarse en el flujo de datos para ese bloque 440. Por favor, obsérvese que la predicción puede omitirse para el caso de una primera señal de componente reconstruida con valor cero, es decir una señal de luminancia residual con valor cero en caso de usar una predicción residual como una base para la predicción inter-componente. En ese caso, el elemento de sintaxis anteriormente mencionado que señaliza si se aplica o no la predicción intercomponente, podría omitirse, es decir no presente, en el flujo de datos para el respectivo bloque 440.
5
10
15
20
25
30
35
40
45
50
55
60
En el caso de un enfoque de señalización de accionamiento hacia atrás y hacia delante combinado, los parámetros derivados desde respectivos datos reconstruidos ya codificados pueden servir como parámetros de inicio. En un caso de este tipo, un delta con relación al modo de predicción seleccionado puede transmitirse en el flujo de datos. Esto podría conseguirse calculando el parámetro óptimo para un modo de predicción fijo o adaptado y los parámetros calculados se transmiten en el flujo de bits. Otra posibilidad es transmitir algún delta con relación a un parámetro de inicio derivado usando un enfoque de selección de accionamiento hacia atrás o siempre usando los parámetros calculados y seleccionados por el enfoque de accionamiento hacia atrás únicamente.
Una configuración de ejemplo de modos de predicción se describe a continuación. En este ejemplo, el primer modo de predicción implica a = 1, p = 0, y = 1 y 9(x) = LxJ y el segundo modo de predicción implica los mismos parámetros excepto para a = 0,5 con x = (xo), y = (yo) y los únicos elementos de x e y son el valor residual para el bloque en la misma posición espacial en el primer y segundo componentes, tal como en el componente de luminancia y la respectiva posición en el componente de crominancia. Dicho de otra manera, de acuerdo con una realización de la presente solicitud, para cada bloque 440, para el que se aplica la predicción inter-componente, se señaliza en el flujo de datos si a equivale a un primer valor, en concreto 1, o a un segundo valor, en este punto 0,5. En lugar de una señalización en el flujo de datos, puede usarse un enfoque de accionamiento hacia detrás y hacia delante mixto como ya se ha descrito anteriormente, o la selección entre los valores disponibles de a puede realizarse de manera adaptativa hacia atrás. p y y representarían simplemente constantes.
Obsérvese que el único elemento en y se sustituye después de la predicción por z. En otras palabras, el módulo de reconstrucción 400 recibe la señal de corrección 404 y sustituye la misma por z 406. También obsérvese que cuando se usa una configuración de este tipo, la predicción inter-componente se simplifica a una operación de adición: ya sea el valor de muestra residual totalmente reconstruido del primer componente (a = 1) o la mitad de su valor (a =0,5) se añade a un valor de muestra de corrección 404. La división a la mitad puede generarse por una operación de desplazamiento a la derecha sencilla. En ese caso, por ejemplo, la configuración podría implementarse realizando la multiplicación entre x y a en el predictor en módulo de reconstrucción 400, y realizando la adición en el sumador mostrado en la Figura 4. En otras palabras, en el ejemplo dado, en el lado del codificador el modo de operación sería como sigue.
La señal residual del componente de crominancia para un bloque de transformada (o forma rectangular) se resta por la muestra residual reconstruida en la misma (espacial o frecuencia) localización en el plano de luminancia. Después de la transformada y cuantificación, el residuo reconstruido se añade a la muestra residual reconstruida en la misma localización espacial en el plano de luminancia. A partir de la perspectiva del decodificador, únicamente es necesaria la última operación. Una configuración de ejemplo de un enfoque que implica un esquema de accionamiento hacia atrás puede hacerse como sigue. Para cada bloque o forma 440, se calcula un parámetro óptimo a. Se deriva un inicio cP de accionamiento hacia atrás desde las cercanías locales, por ejemplo, desde el bloque superior y el izquierdo (o forma rectangular) que se ha codificado antes. Si un elemento de sintaxis en el flujo de bits señaliza que no se transmiten parámetros adicionales en el flujo de bits, se usa la a° derivada. De otra manera, es decir, la predicción debería usarse aunque corregida por un elemento de sintaxis, indica un delta a* en el flujo de bits. También es posible transmitir dos banderas, la primera bandera indica si A debería usarse y la segunda bandera indica si un a* existe en el flujo de bits.
Otra configuración posible es aumentar la granularidad para el proceso de derivación de parámetro. Este enfoque también implica granularidad de señalización superior cuando se aplica transmisión hacia delante. De otra manera, se implica una granularidad superior para el esquema de accionamiento hacia atrás. En esta posible configuración, los parámetros de predicción se derivan para cada muestra o para un grupo de muestras en un bloque de transformada (o forma rectangular) o incluso para un mismo bloque de predicción. Por favor, obsérvese que se proporciona un caso especial acoplando el nivel de señalización a bloques de transformada (o formas rectangulares). Para la muestra actual o grupo de muestras, se toma una cantidad específica de muestras en el mismo bloque de transformada o bloque de predicción, definida por una ventana predefinida, para la derivación de parámetro. Usando el ejemplo anterior donde se emplea un predictor afín, el parámetro A' puede derivarse desde la muestra o grupo de muestras previamente reconstruidas como sigue donde n es el índice de grupo.
^•n 1-*- Pn~~í + Yn-iy)
El parámetro para la primera muestra o grupo de muestras puede inicializarse por algunos valores por defecto o calculados desde bloques o formas vecinos. Otra posibilidad es transmitir los parámetros óptimos para la primera muestra o grupo de muestras. Para usar tantas muestras anteriores como sean posibles, un patrón de exploración predefinido puede usarse para mapear el bloque residual de 2 dimensiones (o forma rectangular) a un vector de 1 dimensión. Por ejemplo, la muestras o los grupos de muestras pueden explorase vertical, horizontal o direccionalmente de manera similar a las direcciones de exploración de los coeficientes de transformada. De nuevo, la exploración específica puede derivarse por un esquema de accionamiento hacia atrás o se señaliza en el flujo de
5
10
15
20
25
30
35
40
45
50
55
60
bits.
Otra extensión es la combinación del ejemplo ya presentado y una transformación usando todos los tres componentes disponibles como entrada. En este punto, en este ejemplo, la señal residual se transforma usando una matriz de transformación que elimina la correlación para el bloque de transformada dado. Esta configuración es útil cuando la correlación entre los planos es muy grande o extremadamente pequeña. Una configuración de ejemplo usaría transformación de Y'CoCg en el caso de espacios de color de entrada como R'G'B' o un enfoque de análisis de componente principal. Para el último caso, la matriz de transformada tiene que señalizarse al decodificador de una manera hacia delante o usando un conjunto y regla predefinido conocido en el codificador así como en el decodificador para derivar los valores de matriz. Por favor, obsérvese que esta configuración requiere la señal residual de todos los componentes o planos disponibles.
En cuando al dominio de predicción, se observa lo siguiente.
El dominio de predicción puede ser, como se ha descrito anteriormente, el dominio espacial, es decir, operando en el residuo, o el dominio de frecuencia, es decir, operando en el residuo después de aplicar una transformación como DCT o DST. Adicionalmente, el dominio puede ser una composición de ambos transmitiendo la información al decodificador. Además del dominio para la predicción, los parámetros relacionados con el dominio pueden transmitirse o derivarse por un esquema de accionamiento hacia atrás.
Relacionado con los parámetros de dominio se encuentra un sub muestreo adicional del componente de crominancia, es decir, un bloque de crominancia (o forma rectangular) se escala hacia abajo de manera horizontal, vertical o ambas. En un caso de este tipo, el origen de predicción puede muestrearse descendentemente también o tiene que seleccionarse un conjunto de modo de predicción que considera diferente resolución en dominio espacial, dominio de frecuencia, o ambos. Otra posibilidad es escalar ascendentemente el objetivo de predicción de modo que la dimensión del origen de predicción y el objetivo de predicción coinciden entre sí. La escala descendente mejora adicionalmente la eficacia de compresión, especialmente para áreas muy planas en la imagen o vídeo. Por ejemplo, el origen de predicción contiene tanto bajas como altas frecuencias pero el bloque de crominancia (o forma rectangular) contiene frecuencias bajas únicamente. En este ejemplo, el sub muestreo del origen de predicción eliminaría las frecuencias altas y puede emplearse un modo de predicción menos complejo y conectarse al de menos información que tiene que transmitirse al decodificador. Por favor, obsérvese que la señalización de un uso de escalamiento descendente puede hacerse para cada bloque de transformada, o para cada bloque de predicción, o incluso para un grupo de bloques de predicción o para la imagen total.
Además del enfoque de muestreo descendente adicional, un ajuste de profundidad de bits puede transmitirse también al decodificador. Este caso tiene lugar cuando la precisión de las muestras es diferente a lo largo de los diferentes componentes. Una posible manera es reducir o aumentar el número de bits para el origen. Otra posible configuración puede aumentar o reducir la profundidad de bits del objetivo y corregir el resultado final de vuelta a la profundidad de bits correcta. Una opción adicional es el uso de un conjunto de predictores adecuado para la diferente profundidad de bits. Un modo de predicción de este tipo consideraría la diferente profundidad de bits por los parámetros de predicción. El nivel de señalización para la corrección de profundidad de bits puede hacerse para cada bloque o forma, o para la instantánea o secuencia total, dependiendo de la variación del contenido.
Como el origen de la predicción, se observa lo siguiente.
El origen de predicción puede ser el primer componente o todos los componentes disponibles. Para cada bloque (o forma rectangular), el origen de predicción puede señalizarse por el codificador. Como alternativa, el origen de predicción puede ser un diccionario que contiene todos los posibles bloques, ya sea el bloque de predicción o de transformada, desde todos los componentes disponibles y el origen de predicción que debería usarse para la predicción se señaliza al decodificador por un elemento de sintaxis en el flujo de bits.
En cuanto a la derivación de parámetro, se observa lo siguiente.
Los parámetros pueden derivarse, de manera ejemplar, desde la cercanía causal del bloque - en el decodificador para realizar la capacidad de adaptación hacia atrás mencionada en otro lugar o en el codificador, para señalizar el resultado en el flujo de datos para accionar el decodificador de u na manera adaptativa hacia delante - resolviendo un problema de optimización de error de mínimos cuadrados (LSE). El LSE puede formularse como:
imagen1
Minimizando esta ecuación con respecto a a. El parámetro para la ecuación tiene una solución de forma cerrada calculada como:
5
10
15
20
25
30
35
40
45
imagen2
donde Ai es la covarianza entre z y y(ax + B + Yy), y A2 es la varianza de z.
Una implementación de números enteros se implementa para que este método sustituya la operación de división por una tabla de búsqueda y una operación de multiplicación. Se anula el escalamiento de A2 para reducir el tamaño de tabla mientras que se anula el escalamiento de A1 para evitar el desbordamiento de la multiplicación. Únicamente se mantienen los bits más significativos na1 y na2 desde A1 y A2. A1 y A'2 pueden derivarse como:
imagen3
donde
rA — max(hd(A') — nA, 0) Donde bd(A) es la profundidad de bits del valor de A calculado por log2 A. Ahora a’ puede recalcularse como
imagen4
Ahora la división puede representarse por una tabla de búsqueda
por Ntabla
imagen5
, bits. El índice para esta tabla se calcula como y el tamaño de tabla es
cuyos elementos se representan
nA2
Por favor, obsérvese que en el problema de minimización anterior, y representa la señal residual que, para el respectivo bloque previsto inter-componente 440, se transmite sin pérdidas en el flujo de datos. En otras palabras, y es la señal de corrección para el bloque previsto inter-componente 440. Puede determinarse lo mismo de manera iterativa, en cada iteración, realizando la resolución del problema de optimización de LSE anteriormente señalado. De esta manera, el codificador puede decidir de manera óptima realizar o no realizar predicción inter-componente, al elegir los parámetros de predicción inter-componente tal como el modo de predicción, origen de predicción y así sucesivamente.
En cuanto a la señalización de parámetro, se observa lo siguiente.
La misma predicción puede conmutarse y debería transmitirse una bandera de encabezamiento que especifica el uso de la predicción residual al comienzo del flujo de bits. Cuando se permite predicción, un elemento de sintaxis que especifica su uso local se embebe en el flujo de bits para un bloque 440, que como se ha descrito anteriormente puede ser un bloque residual (o forma rectangular), un bloque de transformada (o forma rectangular), o incluso un grupo de bloques de transformada (o formas rectangulares). El primer bit puede indicar si se posibilita o no la predicción y los siguientes bits pueden indicar el modo de predicción, el origen de predicción, o el dominio de predicción y los parámetros relacionados. Por favor, obsérvese que puede usarse un elemento de sintaxis para posibilitar o no posibilitar la predicción para ambos componentes de crominancia. También es posible señalizar el uso de la predicción así como el modo de predicción y origen para cada segundo componente (por ejemplo crominancia) de manera separada. De nuevo, para conseguir una adaptación alta a la señal residual, puede usarse un criterio de ordenación para señalizar el modo de predicción. Por ejemplo, el modo de predicción más usado es uno, a continuación una lista ordenada contendría el modo uno en el índice cero. Entonces, únicamente es un bit necesario para señalizar el modo uno más probable. Adicionalmente, el uso de la predicción puede restringirse en el caso de aplicar la predicción inter-componente en los residuos, la correlación puede ser alta si se usa el mismo modo de predicción para generar el residuo entre los diferentes componentes de color. Una restricción de este tipo
5
10
15
20
25
30
35
40
45
50
55
60
es útil en bloques intra previstos (o formas rectangulares). Por ejemplo, esta predicción inter-componente puede aplicarse únicamente si el mismo modo de intra predicción como se usa para el bloque (o forma rectangular) 442, que puede ser luminancia, se usa para el bloque (o forma rectangular) 440, que puede ser crominancia.
Es decir, en el último caso, la adaptación a nivel de bloques del proceso de predicción inter-componente implicaría comprobar si el bloque 440 está asociado con un modo de predicción espacial en lo que respecta a la predicción por el predictor 2222, y si el modo de predicción espacial coincide, o no se desvía en más de una cantidad predeterminada, desde el modo espacial usando el bloque co-localizado 442 que se prevé por el predictor 2221. El modo de predicción espacial puede comprender, por ejemplo, una dirección de predicción espacial a lo largo de la cual se extrapolan muestras ya reconstruidas vecinas a los bloques 440 y 442, respectivamente, en el bloque 440 y 442, respectivamente, para dar como resultado la respectiva señal de predicción 2202 y 2201, respectivamente, que a continuación se combina con z y x, respectivamente.
En una realización, el origen de predicción siempre es el componente de luminancia. En esta realización preferida, que se representa en las Figuras 1 y 2 si se apagan las interconexiones entre componentes 108/208 y 110/210, el procesamiento de la luminancia queda sin cambiar y se usa el residuo reconstruido resultante del plano de luminancia para predicción. Como consecuencia, el origen de predicción no se transmite en el flujo de bits.
En otra realización, el origen de predicción se transmite para un bloque o forma 440, tal como un bloque residual, un grupo de bloques o formas residuales, por ejemplo, para el tamaño donde se aplica la intra o inter predicción.
Por ejemplo, el origen de predicción es luminancia para el primer componente de crominancia y luminancia o el primer componente de crominancia para el segundo componente de crominancia. Esta realización preferida es similar a una configuración que permite todos los planos disponibles como origen de predicción y corresponde a las Figuras 1 y 2.
Para ilustrar las realizaciones anteriormente mencionadas, véase la Figura 6. Se muestra una instantánea de tres componentes 102/202. El primer componente 106/206 se codifica/decodifica usando (de)codificación híbrida sin ninguna predicción inter-componente. En lo que respecta al segundo componente 108/208, el mismo se particiona en los bloques 440, uno de los cuales se muestra de manera ejemplar en la Figura 6 al igual que era el caso en la Figura 5. En unidades de estos bloques 440, la predicción inter-componente está adaptada con respecto a, por ejemplo, a como se ha descrito anteriormente. Análogamente, la instantánea 102/202 se particiona en bloques 450 en lo que respecta al tercer componente 110/210 mostrándose de manera representativa tal bloque en la Figura 6. Como se describe con respecto a las dos alternativas recién señaladas, puede ocurrir que la predicción intercomponente del bloque 450 se realice usando el primer componente 106/206 como un origen de predicción de manera inevitable, es decir la porción co-localizada 452 del primer componente 106/206. Esto se indica usando la flecha con línea continua 454. De acuerdo con una segunda alternativa recién descrita, sin embargo, un elemento de sintaxis 456 en el flujo de datos 104 conmuta entre usar el primer componente como el origen de predicción, es decir 454, y usar el segundo componente como el origen de predicción, es decir el bloque de predicción inter-componente 450 basándose en la porción co-localizada 458 del segundo componente 108/208 como se indica por la flecha 460. En la Figura 6, el primer componente 106/206 puede ser, por ejemplo, el componente de luminancia, mientras que los otros dos componentes 108/208 y 110/210 pueden ser componentes de crominancia.
Se observa que con respecto a la Figura 6, posiblemente, el particionamiento en bloques 440 para el segundo componente 108/208 puede señalizarse en el flujo de datos 104 de una manera independiente de, o que permite una desviación de, el particionamiento del componente 110/210 en bloques 450. Naturalmente, el particionamiento podría ser el mismo también e incluso podría adoptarse desde la forma señalizada, o usarse para, el primer componente ya que es el caso ejemplar en la Figura 10 descrita más adelante.
Una realización adicional, que se acaba de señalar anteriormente, es la posibilidad de que todos los componentes de la instantánea 110/210 pueden servir, como alternativa, como un origen de predicción. Véase la Figura 7. En la Figura 7, todos los componentes 106 a 110/206 a 210 tienen un particionamiento común en los bloques 470 asociados con los mismos con un bloque 470 de este tipo que se ilustra de manera ejemplar en la Figura 7. El particionamiento o subdivisión en bloques 470 puede señalizarse en el flujo de datos 104. Como ya se ha indicado anteriormente, el bloque 470 puede ser bloques residuales o de transformada. En este punto, sin embargo, cualquier componente puede formar el "primer componente", es decir el origen de predicción. Un elemento de sintaxis 472 y un flujo de datos 104 indican para el bloque 470 entre cuál de los componentes 106 a 110/206 a 210 forman el origen de predicción para, por ejemplo, los otros dos componentes. La Figura 7, por ejemplo, ilustra otro bloque 472, para el que se elige el origen de predicción de manera diferente como se ilustra por las flechas en la Figura 7. En el bloque 470, el primer componente sirve como el origen de predicción para los otros dos componentes, en el caso del bloque 472 el segundo componente asume el papel del primer componente.
Con respecto a las Figuras 6 y 7, se observa que el alcance en el que los elementos de sintaxis 456 y 472 indican el origen de predicción puede elegirse de manera diferente, es decir para cada bloque 450 y 470/72 de manera
5
10
15
20
25
30
35
40
45
50
55
60
individual, o para grupos de bloques o incluso la instantánea total 102/202.
En una realización adicional, el origen de predicción puede ser todos los componentes disponibles o un subconjunto del componente disponible. En esta realización preferida, puede señalizarse una ponderación del origen al decodificador.
En una realización preferida, el dominio de predicción radica en el dominio espacial. En esta realización, puede usarse el residuo para un bloque o forma residual total o únicamente una parte específica del bloque o forma residual, dependiendo de la configuración de señalización. El último caso se proporciona cuando se señaliza la predicción de manera individual para cada bloque o forma de transformada y se permite una subdivisión adicional de bloques o formas residuales en bloques o formas de transformada más pequeños.
En una realización adicional, el dominio de predicción radica en el dominio de la frecuencia. En esta realización preferida, la predicción está acoplada al bloque de transformada o tamaño de forma.
En una realización adicional, el dominio de predicción puede ser en los dominios espacial o de frecuencia. En esta realización, el dominio de predicción se especifica de manera separada, ya sea por señalización hacia delante o estimación de accionamiento hacia atrás dependiendo de las estadísticas locales.
La última circunstancia se ilustra en la Figura 8. En la Figura 8, simplemente se muestran de manera ejemplar dos componentes de instantánea 102/202. Además, un bloque actualmente previsto inter-componente 440 y su porción espacialmente correspondiente 442 se muestran también como un elemento de sintaxis 490 contenido en el flujo de datos 104 para señalizar el bloque 440 si la predicción inter-componente por módulo de reconstrucción 400 implementado, por ejemplo, usando el modelo que implica la función 9 como se ha analizado anteriormente, se realiza en dominio de transformada o dominio espacial. En particular, la Figura 8 ilustra el procesamiento en el decodificador para fines de ilustración. En primer lugar, desde el flujo de datos 104, se extrae la señal de corrección del segundo componente 208 con relación al bloque 440 desde el flujo de datos, y análogamente una señal residual se extrae desde el flujo de datos 104 para el primer componente 206 en lo que respecta a la porción espacialmente correspondiente 442. Si el elemento de sintaxis 490 indica para el bloque 440 el uso del dominio espectral, estas señales se introducen en el módulo de reconstrucción 400 directamente con la salida prevista inter-componente z sustituyendo la señal de corrección del bloque 440 para la reconstrucción adicional del segundo componente 208 de la instantánea 202. Sin embargo, si el elemento de sintaxis 490 indica el uso del dominio espacial, las señales extraídas desde el flujo de datos 104 para el bloque 440 y la porción espacialmente correspondiente 442 se someten a transformación inversa 226 antes del procesamiento por el módulo de reconstrucción 400. En el caso de usar el dominio espectral, se realiza una combinación de x e y, para obtener z a nivel de componente espectral, y en el caso de usar el dominio espacial, la combinación de x e y para obtener z por el módulo 400 se realiza a nivel de muestra.
De nuevo, el elemento de sintaxis 490 puede señalizar el dominio a usarse para predicción inter-componente para el bloque 440 individualmente, para grupos de bloques 440 o para la instantánea total o para incluso un alcance mayor, tal como un grupo de instantáneas.
En una realización adicional, ambos dominios de predicción se ven implicados en el proceso de predicción. En esta realización preferida de la invención, se realiza en primer lugar una predicción en el dominio espacial, y se aplica una predicción adicional en el dominio de la frecuencia usando ambas predicciones diferentes modos de predicción y orígenes.
En una realización, el bloque o forma de crominancia puede submuestrearse de manera horizontal, vertical o ambas en algún factor. En esta realización, el factor de escala descendente puede ser igual a la potencia de dos. El uso del muestreador descendente se transmite como un elemento de sintaxis en el flujo de bits y el muestreador descendente se fija.
En una realización adicional, el bloque o forma de crominancia puede submuestrearse de manera horizontal, vertical o ambas en algún factor. El factor puede transmitirse en el flujo de bits y el muestreador descendente se selecciona a partir de un conjunto de filtros, donde el filtro exacto puede direccionarse por un índice transmitido en el flujo de bits.
En una realización adicional, el filtro de muestreo ascendente seleccionado se transmite en el flujo de bits. En esta realización, los bloques de crominancia pueden estar submuestreados originalmente, y por lo tanto, para usar la predicción con un bloque coincidente o tamaño de rectángulo, el muestreo ascendente tiene que hacerse antes de la predicción.
En una realización adicional, el filtro de muestreo descendente seleccionado se transmite en el flujo de bits. En esta realización, la luminancia está muestreada descendentemente para conseguir el mismo bloque o tamaño rectangular.
5
10
15
20
25
30
35
40
45
50
55
60
En una realización, se señaliza un elemento de sintaxis indicando la corrección de bits cuando la profundidad de bits del origen y el objetivo es diferente. En esta realización, puede reducirse la precisión de luminancia o puede aumentarse la precisión de crominancia para tener la misma profundidad de bits para la predicción. En el último caso, la precisión de crominancia se reduce de vuelta a la profundidad de bits original.
En una realización, el número de modos de predicción es dos y el conjunto de predictores se define exactamente como en el ejemplo dado.
En una realización adicional, el número de modo de predicción es uno y la configuración es la misma como se describe en la realización anterior.
En una realización adicional, el número de predictores es ajustable de manera libre con el conjunto de predictores que se define exactamente como en el ejemplo dado. Esta realización es la descripción más genérica del ejemplo con a = 1/m donde m > 0 indica el número o modo de predicción. Por lo tanto, m = 0 indica que debería omitirse la predicción.
En una realización adicional, el modo de predicción está fijado, es decir, la predicción está siempre activada. Para esta realización, se puede posibilitar la predicción inter-plano adaptativa y establecer el número de predictores igual a cero.
En una realización adicional, siempre se aplica la predicción y los parámetros de predicción como a se derivan desde los bloques vecinos o formas. En esta realización, la a óptima para un bloque o forma se calcula después de la reconstrucción completa. La a calculada actúa como el parámetro para el siguiente bloque o forma en las cercanías locales.
En una realización adicional, se trasmite un elemento de sintaxis en el flujo de bits que indica el uso de los parámetros derivados desde la cercanía local.
En una realización adicional, los parámetros derivados desde las cercanías siempre se usan. Además de eso, puede transmitirse un delta relativo a los parámetros óptimos calculados en el codificador en el flujo de bits.
En una realización adicional, se deshabilita el esquema de selección de accionamiento hacia atrás para los parámetros y los parámetros óptimos se transmiten en el flujo de bits.
En una realización adicional, el uso de la a de inicio así como de la existencia de un delta a en el flujo de bits se señaliza de manera separada.
En una realización, la señalización de modo de predicción, origen de predicción y parámetros de predicción están restringidos al mismo modo de predicción regular. En esta realización, la información relacionada con la predicción inter-plano se transmite únicamente cuando el modo de intra predicción para el componente de crominancia es el mismo que el usado para el componente de luminancia.
En una realización adicional, el bloque se particiona en ventanas de diferentes tamaños y los parámetros para la ventana actual se derivan desde la ventana previamente reconstruida en el bloque. En una realización adicional, los parámetros para la primera ventana se derivan desde los bloques vecinos reconstruidos.
En una realización adicional, un elemento de sintaxis se transmite en el flujo de bits que indica el uso de los parámetros derivados de las cercanías locales a usarse para la primera ventana.
En una realización adicional, las ventanas pueden explorarse en una vertical, dirección horizontal o vertical.
En una realización adicional, los parámetros para la ventana actual se derivan desde la ventana anterior donde la ventana anterior se decide de acuerdo con la posición de exploración de los subbloques de coeficientes de transformada.
En una realización adicional, la exploración de ventana está limitada a una dirección de exploración.
En una realización adicional, los parámetros se derivan usando una implementación de números enteros usando una tabla de búsqueda y una operación de multiplicación en lugar de una división.
En una realización, una bandera global en el encabezamiento del flujo de bits indica el uso de la predicción interplano adaptativa. En esta realización, la bandera está embebida en el nivel de secuencia.
5
10
15
20
25
30
35
40
45
50
55
60
En una realización adicional, se transmite una bandera global en el encabezamiento del flujo de bits, con la incrustación en el nivel del parámetro de instantánea.
En una realización adicional, el número de predictores se transmite en el encabezamiento del flujo de bits. En esta realización, el número cero indica que siempre se posibilita la predicción, un número que no es igual a cero indica que el modo de predicción se selecciona de manera adaptativa.
En una realización, el conjunto de modo de predicción se deriva desde el número de modos de predicción.
En una realización adicional, un conjunto de modo de predicción es conocido en el decodificador y el decodificador que especifica todos los parámetros de modelo de la predicción.
En una realización adicional, los modos de predicción son todos lineales o afines.
En una realización, el conjunto de predictores es híbrido, es decir, que contiene modos de predicción sencillos que usan otros planos como origen de predicción, y que contienen modos de predicción más complejos que usan todos los planos disponibles y transforman las señales residuales de entrada en otro componente o espacio de plano.
En una realización, el uso de predicción se especifica para cada bloque de transformada o forma para cada componente de crominancia. En esta realización, esta información puede omitirse cuando el componente de luminancia consiste en el residuo con valor cero en la misma localización espacial.
En una realización, los modos se transmiten usando descomposición unaria truncada. En esta realización, se asignan diferentes modelos de contexto para cada índice binario, sin embargo, limitado a un número específico, por ejemplo, en tres. Adicionalmente, los mismos modelos de contexto se usan para ambos componentes de crominancia.
En una realización adicional, diferentes planos de crominancia usan diferentes conjuntos de modelo de contexto.
En una realización adicional, diferentes bloques de transformada o tamaños de forma usan diferentes conjuntos de modelo de contexto.
En una realización adicional, el mapeo de binarios a modo de predicción es dinámico o de manera adaptativa. En esta realización, desde la perspectiva del decodificador, un modo decodificado igual a cero indica el modo más usado hasta el tiempo decodificado.
En una realización adicional, se transmiten el modo de predicción y el origen de predicción si usan una configuración que permite diferentes orígenes de predicción para un bloque o forma residual. En esta realización, diferentes bloques o formas de tamaño pueden usar diferentes modelos de contexto.
La realización descrita a continuación, se refiere específicamente a un ejemplo de cómo codificar los parámetros de predicción para la "Descorrelación de Componente Cruzada" descrita hasta ahora.
Aunque no está restringida a lo mismo, la siguiente descripción puede pensarse que hace referencia a la alternativa donde el componente dependiente (segundo) se reconstruye basándose en la señal de componente de referencia (primero) x y la señal residual (corrección) y calculando z = a x + y usando z como la predicción de la señal de componente dependiente. La predicción puede aplicarse en el dominio espacial, por ejemplo. Como en los ejemplos anteriores, la predicción inter-componente puede aplicarse un residual de codificación híbrido, es decir la primera y segunda señal de componente pueden representar una señal residual de la codificación híbrida. La siguiente realización se concentra, sin embargo, en la señalización de a: este parámetro se codifica en una base a subinstantáneas tal como, por ejemplo, en unidades de bloques residuales en los que se subdivide la instantánea de múltiples componentes. Lo siguiente es acerca del hecho de que los estados que pueden señalizarse de a deberían ser preferentemente variables, también, para tener en cuenta el hecho de que el intervalo de valores óptimos para a depende del tipo del contenido de instantánea que, a su vez, varía en alcance/unidades mayores que los bloques residuales. Por lo tanto, en principio, los detalles expuestos a continuación con respecto a la transmisión de a pueden transferirse a las otras realizaciones señaladas anteriormente también.
El enfoque de descorrelación de componente cruzado (CCD) utiliza la dependencia restante entre diferentes componentes de color que posibilita eficacia de compresión superior. Un modelo afín puede emplearse para un enfoque de este tipo y los parámetros de modelo se transmiten en el flujo de bits como información secundaria.
Para minimizar el coste de la información secundaria, se transmite únicamente un conjunto limitado de posibles parámetros. Por ejemplo, una posible implementación de CCD en Codificación de Vídeo de Alta Eficacia (HEVC) podría usar un modelo de predicción lineal en lugar de un modelo de predicción afín y el único parámetro de modo,
5
10
15
20
25
30
35
40
45
50
55
60
es decir, el parámetro de pendiente o gradiente a, podría estar limitado en el intervalo de 0 a 1 y cuantificarse a no uniformemente. Particularmente, el conjunto limitado de valores para a podría ser a e {0, ±0,125, ±0,25, ±0,5, ±1}.
La selección de una cuantificación de este tipo para el parámetro de modelo de predicción lineal podría basarse en el hecho de que la distribución de a está concentrada simétricamente alrededor del valor 0 para contenido de vídeo natural almacenado en el espacio de color Y'CbCr. En Y'CbCr, los componentes de color están descorrelacionados usando una matriz de transformación para convertir desde R'G'B' antes de entrar en la etapa de compresión. Debido al hecho de que una transformación global a menudo es subóptima, el enfoque de CCD puede conseguir eficacia de compresión superior eliminando la dependencia restante entre los diferentes componentes de color.
Sin embargo, una suposición de este tipo no se mantiene para diferente clase de contenido, especialmente para contenido de vídeo natural almacenado en el dominio de espacio de color R'G'B'. En este caso, el parámetro de gradiente a a menudo se concentra alrededor del valor 1.
Similar al caso dado anteriormente, la distribución se vuelve completamente diferente cuando se extiende CCD al primer componente de crominancia como el origen de predicción. Por lo tanto, puede ser beneficioso ajustar los parámetros de CCD de acuerdo con el contenido dado.
Por ejemplo, para Y'CbCr, la cuantificación de a puede establecerse a (0, ±0,125, ±0,25, ±0,5, ±1) mientras que para R'G'B' la cuantificación de a podría invertirse, es decir (0, ±1, ±0,5, ±0,25, ±0,125). Sin embargo, permitir diferentes rutas de codificación de entropía introduce problemas adicionales. Un problema es que la implementación se vuelve más costosa en términos de área y velocidad tanto para hardware como software. Para evitar esta desventaja, el intervalo de parámetros puede especificarse en el nivel de conjunto de parámetros de instantánea (PPS) donde se indica también el uso de CCD.
Es decir, un elemento de sintaxis que señaliza a se transmite a nivel/granularidad de subinstantánea, por ejemplo de manera individual para un bloque residual. Podría llamarse res_scale_value, por ejemplo. Podría codificarse, por ejemplo, usando una conversión a binario unaria (truncada) combinada con codificación aritmética binaria de la cadena binaria. El mapeo de los valores (no convertidos a binario) de res_scale_value en a podría implementarse de manera que el mapeo se varíe usando el pps, es decir para la instantánea completa o incluso a un alcance mayor como en una base por secuencia de instantáneas. La variación podría variar el número de valores de a representables, el orden de valores de a representables y la selección de valores de a representables, es decir sus valores reales. Permitiendo simplemente conmutar el orden entre los valores de a representables o restringiendo los valores de a representables a valores positivos o negativos únicamente es una manera para proporcionar adaptabilidad de contenido, pero las realizaciones señaladas a continuación permiten - simplemente con tara menor aumentada - una flexibilidad incluso aumentada al variar el mapeo desde granularidad de subinstantánea señalizada res_scale_value a valores de a tal como una variación del tamaño, miembros y orden de miembro del dominio conjunto del mapeo (conjunto representable de valores de a), y resulta que las ventajas proporcionadas por esta provisión en términos de ahorros de bits para transmitir res_scale_value sobre-compensa - observado sobre una mezcla típica de contenidos de vídeo codificados en YCC o RGB - la necesidad de señalizar la variación del mapeo.
La especificación del intervalo para a puede hacerse, por ejemplo, como sigue. En el caso de Y'CbCr, el subconjunto preferido puede ser, por ejemplo (0, ±0,125, ±0,25, ±0,5) mientras que puede ser (0, ±0,5, ±1) o (0, 0,5, 1) o incluso (0, 0,5, 1, 2) para R'G'B'. Para conseguir el comportamiento mencionado, el intervalo puede especificarse en el PPS usando dos elementos de sintaxis que representan dos valores. Dado el ejemplo anterior y el hecho de que la predicción se realiza con precisión de 3 puntos, es decir, los valores de muestra de predicción se multiplican por a y a continuación se desplazan a la derecha en 3, la configuración de intervalo para Y'CbCr puede transmitirse como [3, 3].
Sin embargo, con una señalización de este tipo, únicamente puede conseguirse el segundo y el tercer caso para R'G'B' usando [2, 3] y [2, 4]. Para conseguir el primer ejemplo para R'G'B', el signo tiene que separarse usando una sintaxis adicional. Adicionalmente, es suficiente transmitir el delta para el segundo valor sirviendo el primer valor como el punto de inicio. Para este ejemplo, la segunda configuración de R'G'B' es [2, 1] en lugar de [2, 3].
En el caso de predicción desde el primer componente de crominancia, los valores de intervalo pueden especificarse por separado para cada componente de crominancia. Obsérvese que esto puede hacerse incluso sin el soporte para la predicción desde el primer componente de crominancia.
Dado el límite especificado en el PPS, el análisis y reconstrucción del parámetro de predicción a se modifica como sigue. Para el caso sin límite, es decir, a e {0, ±0,125, ±0,25, ±0,5, ±1} y una precisión de exactitud de 3 puntos, la aF final se reconstruye como sigue donde aP indica el valor analizado desde el flujo de bits: aF = 1 << aP. Esto se modifica de acuerdo con aF = 1 << (aP + ai_) donde aL indica el desplazamiento para el valor absoluto más pequeño cuando el intervalo radica completamente en intervalo positivo o negativo.
5
10
15
20
25
30
35
40
45
50
55
60
Ambos valores se usan para derivar el límite en el número de binarios analizados desde el flujo de bits cuando ap se convierte a binario usando código unario truncado. Por favor, obsérvese que el análisis del signo puede depender del intervalo dado. Una mejor manera para utilizar este aspecto es codificar el signo antes del valor absoluto de a. Después de codificar el signo, puede derivarse el número de binarios máximo a analizarse desde el flujo de bits. Este caso es útil cuando el intervalo es asimétrico, por ejemplo, es [-1, 3].
A menudo, se desea un orden diferente como (0, 1, 0,5), por ejemplo, para algún contenido de R'G'B'. Una inversión de este tipo puede conseguirse de manera sencilla estableciendo los valores de intervalo de acuerdo con [3, 2]. En este caso, el número de binarios analizados desde el flujo de bits es aún 2 (la diferencia absoluta entre los dos valores de intervalo es n = 1 y el número de binarios en caso de código unario truncado es siempre n + 1). Entonces, la inversión puede conseguirse por dos maneras. La primera opción introduce un desplazamiento fijo, que es igual a 2 veces el valor actual si no se desea inversión y el valor representable máximo en el caso de inversión. La segunda manera y más elegante de hacer esto es ampliar el intervalo transmitido en el PPS a una memoria y acceder al correspondiente valor a través de una operación de búsqueda. Este enfoque conduce a una lógica unificada y ruta sencilla para ambos casos. Por ejemplo, el caso (0, 0,25, 0,5, 1) se señaliza en el PPS transmitiendo [1, 3] y se crea una memoria con las siguientes entradas (0, 1, 2, 3). Por otra parte, es decir, en el caso invertido con los valores transmitidos [3, 1] en el flujo de bits, se crea una memoria con las siguientes entradas (0, 3, 2, 1). Usando un enfoque de este tipo, la aF final puede formularse como aF = 1 << (LUT[aP]) donde LUT[aP] indica la operación de búsqueda.
Para explicar el aspecto mencionado más recientemente en más detalle, se hace referencia a las Figuras 9a, b y c. Las Figuras 9a, b y c, a continuación simplemente denominadas como la Figura 9, muestran de manera ejemplar una instantánea de múltiples componentes 102/202 de manera ejemplar en una manera a capas: el primer componente (referencia) 106/206 detrás del componente dependiente (segundo) (108/208).
La instantánea 102/202 puede ser parte de un vídeo 500.
El flujo de datos 104, en el que se codifica la instantánea 102/202, comprende una estructura de elemento de sintaxis de alto nivel 510 que se refiere a al menos la instantánea total 102/202 o incluso por debajo de esa a una secuencia de instantánea fuera del vídeo 500 que comprende la instantánea 102/202. Esto se ilustra en la Figura 9 usando la llave 502. Además, el flujo de datos 104 comprende en un nivel de subinstantánea, elementos de sintaxis de primer peso. Un elemento de sintaxis de primer peso 514 de este tipo se muestra ejemplarmente en la Figura 9 como que pertenece a un bloque residual 440 ejemplar de la instantánea 102/202. El elemento de sintaxis de primer peso es para establecer individualmente el primer peso, es decir a, al prever de manera inter-componente el componente dependiente 108/208 basándose en la porción co-localizada del componente de referencia 106/206.
El elemento de sintaxis de primer peso se codifica usando una conversión a binario unaria truncada. Un ejemplo para tal conversión a binario TU se muestra en la Figura 9 en 518. Como se muestra, una conversión a binario TU de este tipo consiste en una secuencia de cadenas binarias de longitud creciente. De la manera anteriormente descrita, la estructura de elemento de sintaxis de alto nivel 510 define cómo se mapean las cadenas binarias de la conversión a binario 518 en posibles valores para a. Un conjunto ejemplar de tales posibles valores para a se muestra en la Figura 9 en 520. De hecho, la estructura de elemento de sintaxis de alto nivel 510 define el mapeo 522 desde el conjunto de cadenas binarias 518 en un subconjunto del conjunto 520. Mediante esta medida, es factible mantener la tara de señalización para conmutar entre diferentes pesos de predicción inter-componente a a granularidad de sub-instantánea a consumo de bits inferior ya que la señalización de la subinstantánea puede simplemente discriminar entre un número menor de posibles valores para a.
Como se ha descrito anteriormente, es factible que la estructura de elemento de sintaxis 510 permita que el decodificador derive el primer y segundo límites de intervalo 524 desde la misma. Los correspondientes elementos de sintaxis en la estructura 510 pueden codificarse independientes/separados entre sí, o con relación entre sí, es decir de manera diferente. Los valores de límite de intervalo 524 identifican elementos fuera de la secuencia 520, en concreto usando la función exponencial anteriormente presentada que puede implementarse usando respectivos desplazamientos de bits. Mediante esta medida, los límites de intervalo 524 indican al decodificador el dominio conjunto del mapeo 522.
Como también se ha descrito anteriormente, el caso de que a sea cero puede señalizarse al decodificador de manera separada usando una respectiva bandera de cero 526. Si la bandera de cero tiene un primer estado, el decodificador establece a para que sea cero y omite la lectura de cualquier elemento de sintaxis de primer peso 514 para el respectivo bloque 440. Si la bandera de cero tiene el otro estado, entonces el decodificador lee el elemento de sintaxis de primer peso 514 desde el flujo de datos 104 y determina el valor real del peso usando el mapeo 522.
Además, como se ha señalado anteriormente simplemente una parte absoluta 528 del elemento de sintaxis de primer peso 514 puede codificarse usando la conversión a binario unaria truncada, y una parte de signo del elemento de sintaxis de primer peso 514 puede codificarse previamente. De esta manera, es factible que el
5
10
15
20
25
30
35
40
45
50
55
60
codificador y decodificador establezcan de manera apropiada sus longitudes, es decir el número de cadenas binarias, de la conversión a binario 518 para la ruta absoluta 528 como la parte de singo 530 determina si el valor a del bloque 440 pertenece a aquellos miembros del dominio conjunto 532 del mapeo 522 fuera del conjunto 520 que tiene los valores a positivos, o a la otra parte del mismo que consiste en los valores a negativos. De manera natural, la parte de signo 53o del elemento de sintaxis de primer peso 514 puede no estar presente y puede no leerse por un decodificador en caso de que el decodificador derive desde la estructura de elemento de sintaxis de alto nivel 510 que el dominio conjunto 530 simplemente comprende valores de a positivos o simplemente valores de a negativos, de manera exclusiva.
Como también se hace evidente a partir del análisis anterior, los límites de intervalo 524 y el orden en el que se codifican los mismos en la estructura de elemento de sintaxis de alto nivel 510 pueden determinar en el orden en el que la parte absoluta 528 "atraviesa" los miembros del dominio conjunto 532.
Con respecto a la Figura 10, se ilustra una realización concreta adicionalmente que resume ciertos aspectos ya descritos anteriormente. De acuerdo con la realización de la Figura 10, el codificador y decodificador subdividen la instantánea 102/202 de manera común con respecto a todos los tres componentes en lo que respecta a la predicción híbrida con los predictores 122/222. En la Figura 10, los componentes se indican por "1", "2" y "3", respectivamente, y escriben a continuación la instantánea respectivamente ilustrada. La subdivisión/particionamiento de la instantánea 102/202 en bloques de predicción 308 puede señalizarse en el flujo de datos 104 mediante información de subdivisión relacionada con predicción 600.
Por bloque de predicción 308, los parámetros de predicción pueden señalizarse en el flujo de datos 104. Estos parámetros de predicción se usan para codificación/decodificación híbrida de cada componente de la instantánea 102/202. El parámetro de predicción 602 puede señalizarse en el flujo de datos 104 para cada componente individualmente, para todos los componentes de manera común o específicamente por componente de manera parcial y globalmente por componente. Por ejemplo, el parámetro de predicción 602 puede distinguir, por ejemplo, entre, entre otros, bloques previstos espacial y/o temporalmente 308 y mientras que, por ejemplo, esta indicación puede ser común entre los componentes, los parámetros relacionados con predicción temporal entre el parámetro de predicción 602 puede señalizarse en el flujo de datos 104 específicamente por componente. Usando la implementación de las Figuras 1 y 2, por ejemplo, los predictores 122/222 usan el parámetro de predicción 602 para derivar, para cada componente, la señal de predicción 120/220.
Además, el flujo de datos 104 señaliza, de acuerdo con la realización de la Figura 10, una subdivisión/particionamiento de la instantánea 102/202 en bloques residuales o de transformada, en este punto indicados por el signo de referencia 604. La información de subdivisión relacionada con el residuo/transformada en el flujo de datos 104 se indica usando el signo de referencia 606. Como se ha descrito anteriormente con respecto a la Figura 3, la subdivisión/particionamiento de la instantánea 102/202 en bloques de predicción 308 por una parte y bloques de residuo/transformada 604 por otra parte, pueden acoplarse al menos parcialmente entre sí en que al menos parcialmente el particionamiento en bloques de residuo/de transformada 604 forman una extensión de la subdivisión de árbol múltiple jerárquica de la instantánea 102/202 en bloques de predicción 308 o alguna subdivisión intermedia jerárquica en, por ejemplo, bloques de codificación.
Por bloque residual/de transformada, el flujo de datos 104 puede comprender datos residuales 6081, 6082, 6083 en forma de, por ejemplo, coeficientes de transformada cuantificados. Descuantificar y transformar a la inversa los datos residuales 6081 a 6083 revela una señal residual en el dominio espacial para cada componente, en concreto 6101, 6102 y 6103.
Como se ilustra en la Figura 10, el flujo de datos 104 comprende adicionalmente una bandera de predicción intercomponente 612 que, en el presente ejemplo, señaliza la instantánea 102/202 de manera global en cuanto a si se aplica/usa o no predicción inter-componente. Si la bandera de predicción inter-componente 612 señaliza que no se usa predicción inter-componente, las señales residuales 6101 a 6103 no se combinan entre sí de manera separada, con respecto a cada componente, usado para corregir la señal de predicción 120/220. Si, sin embargo, la bandera de predicción inter-componente 612 señaliza el uso de predicción inter-componente, el flujo de datos 104 comprende, por bloque residual/de transformada, para cada componente dependiente 2 y 3, una bandera 6142, 6143 que señaliza si se aplica o no para el respectivo componente 2/3 predicción inter-componente. Si se señaliza que se aplique, el flujo de datos 104 comprende para el respectivo bloque residual/de transformada para el respectivo componente i = 2/3 un parámetro de predicción inter-componente 6162 y 6163, respectivamente, que corresponde a, por ejemplo, a de la descripción anteriormente señalada.
Por lo tanto, si por ejemplo la bandera 6142 indica para el segundo componente que se ha de usar predicción intercomponente, el parámetro de predicción inter-componente 6162 indica el peso en el que se ha de añadir la señal residual 6101 a la señal residual 6102 para sustituir la señal residual 6102 por la nueva señal residual 6102'. Lo último se usa a continuación en lugar de la señal residual 6102 para corregir la respectiva señal de predicción 1202/2202.
5
10
15
20
25
30
35
40
45
50
55
Análogamente, si la bandera 6143 indica el uso de predicción inter-componente para un respectivo bloque residual/de transformada, entonces el parámetro de predicción inter-componente 6163 indica el peso a3 en el que se añade la señal residual 6101 a la señal residual 6103 para sustituir la última y dar como resultado la nueva señal residual 6103', que a continuación se usa para corregir la señal de predicción 1203/2203 del tercer componente.
En lugar de transmitir de manera separada una primera bandera 6141/2 seguido de manera condicional por un parámetro de predicción inter-componente 6162/3, también es factible otra señalización. Por ejemplo, como el peso a2/3 puede ser un valor con signo, el dominio de posibles valores de los cuales están simétricamente dispuestos alrededor de cero, el valor absoluto de a2/3 puede usarse para distinguir entre el caso de no usar predicción intercomponente en lo que respecta al componente 2/3, y usar predicción inter-componente para el respectivo componente 2/3. En particular, si el valor absoluto es cero, esto corresponde a no usar predicción inter-componente. La señalización de cualquier bandera de signo para el respectivo parámetro a2,3 puede suprimirse a continuación en el flujo de datos 104. Como un recordatorio, de acuerdo con la realización de la Figura 10, la predicción intercomponente se varía en una base por residuo/bloque de transformada en lo que respecta a los componentes 2/3, incluyendo la variación no usar predicción inter-componente en absoluto, a2/3 = 0, y usando predicción intercomponente variando a2/3 (a2/3 t 0).
De acuerdo con un ejemplo de sintaxis específico, la bandera de predicción inter-componente 612 puede señalizarse en un conjunto de parámetros de instantánea del flujo de datos 104. El elemento de sintaxis puede indicarse como cross_component_prediction_enabled_flag
Se observa, sin embargo, que el alcance de la bandera 612 puede elegirse de manera diferente. Por ejemplo, la bandera 612 puede hacer referencia a unidades más pequeñas, tales como cortes de la instantánea 102/202 o unidades más grandes tales como grupos de instantáneas o una secuencia de instantáneas.
Por bloque residual/de transformada, los elementos de sintaxis 6142, 6162, 6143 y 6163 pueden señalizarse de manera condicional como se acaba de describir usando la siguiente sintaxis indicando el parámetro c el componente y, por consiguiente, suponiendo un valor para el componente 2 y el otro valor para el componente 3, e indicando los parámetros x0 y y0, por ejemplo, el respectivo bloque residual/de transformada por medio de, por ejemplo la posición de su muestra de esquina superior izquierda.
eross_comp_pred( xO, yO, c ) { log2_res_scale_abs_plus1 [ c ]
¡f( log2_res_scale_abs_plus1[ c ] != 0 )
res_sca!e_sign_f!ag[ c ]
}
Es decir, la sintaxis anterior tendría lugar en el flujo de datos 104, por ejemplo, para cada bloque residual o de transformada de la instantánea dos veces, una para cada uno del segundo y tercer componentes, tal como los componentes de crominancia mientras que el componente de luminancia formaría el componente de base (primero).
Como se ha indicado previamente con respecto a la Figura 10, el ejemplo de sintaxis recién señalado corresponde a la alternativa a la configuración de la Figura 10: log2_res_scale_abs_plus1 señaliza el valor absoluto de a y si el elemento de sintaxis es cero, esto corresponde a la predicción inter-componente que no se use para el respectivo componente c. Si se usa, sin embargo, se señaliza res_scale_sign_flag e indica el signo de a.
Las semánticas de los elementos de sintaxis presentados hasta ahora podrían proporcionarse como sigue:
cross_component_prediction_enabled_flag igual a 1 especifica que log2_res_scale_abs_plus1 y res_scale_sign_flag pueden estar presentes en la sintaxis de unidad de transformación para instantáneas que hacen referencia al PPS. cross_component_prediction_enabled_flag igual a 0 especifica que log2_res_scale_abs_plus1 y res_scale_sign_flag no están presentes para instantáneas que hacen referencia al PPS. Cuando no está presente, el valor de cross_component_prediction_enabled_flag se infiere para que sea igual a 0. Cuando
ChromaArrayType no es igual a 3, es un requisito de conformidad de flujo de bits que el valor de cross_component_prediction_enabled_flag deberá ser igual a 0.
log2_res_scale_abs_plus1[c] menos 1 especifica el logaritmo en base 2 de la magnitud del factor de escalamiento ResScaleVal usado en predicción residual de componente cruzado. Cuando no está presente, log2_res_scale_abs_plus1 se infiere igual a 0. res_scale_sign_flag[c] especifica el signo del factor de
5
10
15
20
25
30
35
40
45
50
55
60
escalamiento usado en predicción residual de componente cruzado como sigue:
- Si res_scale_sign_flag[c] es igual a 0, el correspondiente ResScaleVal tiene un valor positivo.
- De lo contrario (res_scale_sign_flag[c] es igual a 1), el correspondiente ResScaleVal tiene un valor negativo.
La variable ResScaleVal[cldx][x0][y0] especifica el factor de escalamiento usado en predicción residual de componente cruzado. Los índices de serie x0, y0 especifican la localización (x0, y0) de la muestra de luminancia superior izquierda del bloque de transformada considerado con relación a la muestra de luminancia superior izquierda de la instantánea. El índice de la serie cldx especifica un indicador para el componente de color; es igual a 1 para Cb, e igual a 2 para Cr.
La variable ResScaleVal[cldx][x0][y0] se deriva como sigue:
- Si log2_res_scale_abs_plus1[cldx - 1] es igual a 0, se aplica lo siguiente:
ResScaleVal[cldx][x0][y0] = 0
- De otra manera (log2_res_scale_abs_plus1 [cldx - 1] no es igual a 0), se aplica lo siguiente: ResScaleVal[cldx][x0][y0] = (1 « (log2_res_scale_abs_plus1 [cldx - 1] - 1)) * (1 - 2 * res_scale_sign_flag[cldx - 1])
En lo anterior, ResScaleVal corresponde a la a anteriormente mencionada.
Es decir, los valores de muestra en un bloque residual/de transformada 604, para el que se usa predicción intercomponente, es decir para los que log2_res scale abs_plus1£0, en posiciones x, y, es decir r[x][y], se calcula basándose en los valores de muestra residuales co-localizados ry[x][y] del primer componente de acuerdo con, por ejemplo,
r[x][y] += (ResScaleVal[cldx][xTbY][yTbY] *
((rY[x][y] « BitDepthc) » BitDepthy)) » 3
en el que BitDepthc es la profundidad de bits de los componentes dependientes 2/3 y BitDepthy es la profundidad de bits del primer componente.
El desplazamiento a la derecha ">> 3" corresponde a una división por ocho. De acuerdo con el presente ejemplo, los valores que pueden señalizarse a son, como ya se ha ejemplificado anteriormente, {0, ±0,125, ±0,25, ±0,5, ±1}.
log2_res_scale_abs_plus1 puede señalizarse en el flujo de datos usando una conversión a binario unaria truncada y codificación aritmética binaria y decodificación aritmética binaria y anulación de la conversión a binario unaria truncada, respectivamente. La de/codificación aritmética binaria puede ser de manera adaptativa a contexto. El contexto puede seleccionarse basándose en las cercanías locales. Por ejemplo, puede elegirse un contexto diferente por binario de la conversión a binario de log2_res_scale_abs_plus1. Pueden usarse diferentes conjuntos de contextos para ambos componentes de crominancia. Análogamente, res_scale_sign_flag puede señalizarse en la codificación aritmética binaria y decodificación aritmética binaria del flujo de datos, respectivamente. La de/codificación aritmética binaria puede ser de manera adaptativa a contexto. Y puede usarse diferente contexto para ambos componentes de crominancia. Como alternativa, los mismos contextos se usarían para ambos componentes de crominancia.
Como se ha descrito, el mapeo desde log2_res-scale-abs_plus1 al valor absoluto de a, es decir ResScaleVal >>3, puede hacerse aritméticamente usando una operación de desplazamiento de bit, es decir por una función exponencial.
La señalización de log2_res_scale_abs_plus1 y res_scale_sign_flag para los dos componentes de crominancia puede omitirse para un cierto bloque residual/de transformada si el componente de luminancia en el último es cero. Como log2_res_scale_abs_plus1 y res-scale_sign_flag son ejemplos para señalizar 614 y 616 en la Figura 10, esto significa que el decodificador puede comprobar posiblemente si, para una porción actualmente decodificada del segundo componente 208, la porción espacialmente correspondiente 442 de la primera señal de componente reconstruida 2561 es cero y, dependiendo de la comprobación, leer de manera explícita los elementos de sintaxis de nivel de subinstantánea 6142, 6162, 6143, 6163 desde el flujo de datos y realizar la reconstrucción de las señales de componente 256'2,3 desde la porción espacialmente correspondiente 442, u omitir la lectura explícita y, opcionalmente, no realizando la reconstrucción de la segunda señal de componente 256'2,3 desde la porción espacialmente correspondiente 442, pero dejando la segunda señal de componente 2562,3 como está, en su lugar.
Por lo tanto, la Figura 10 ejemplifica un decodificador configurado para decodificar una instantánea de múltiples componentes 202 muestreando espacialmente una escena con respecto a diferentes componentes 206, 208, 210, reconstruyendo una primera señal de componente 6101 relacionada con un primer componente 206 desde el flujo de datos 104; y reconstruyendo una porción 440 de la segunda señal de componente 610'2,3 relacionada con un segundo (tercer) componente 208/210 de la instantánea de múltiples componentes 202 desde una porción espacialmente correspondiente 442 de la primera señal de componente reconstruida 6101 y una señal de corrección 6102,3 derivada desde el flujo de datos. La primera señal de componente 6101 es una predicción residual de una
5
10
15
20
25
30
35
40
45
50
55
60
predicción de manera temporal, espacial o inter-vista del primer componente 206 de la instantánea de múltiples componentes 202, y el decodificador puede realizar la predicción temporal, espacial o inter-vista del primer componente 206 de la instantánea de múltiples componentes 202 y reconstruir el primer componente 206 de la instantánea de múltiples componentes corrigiendo la predicción temporal, espacial o inter-vista del primer componente usando la primera señal de componente reconstruida 6101. El decodificador está configurado para, a la granularidad de subinstantánea, establecer de manera adaptativa, dependiendo de la señalización en el flujo de datos, el primer peso a2,3. Para este fin, el decodificador está configurado para, a la granularidad de subinstantánea, leer un valor absoluto del primer peso desde el flujo de datos y, de una manera condicional dependiendo de si el mismo es cero, un primer signo de peso. El decodificador está configurado para, a la granularidad de subinstantánea, omitir la lectura del valor absoluto del primer peso desde el flujo de datos y, de una manera condicional dependiendo de si el mismo es cero, el signo del primer peso a porciones donde la primera señal de componente es cero. Al reconstruir la segunda señal de componente, el decodificador añade la porción espacialmente correspondiente de la primera señal de componente reconstruida, ponderada por el primer peso (a2), a la señal de corrección. La adición puede hacerse en el dominio espacial de una manera a nivel de muestra. Como alternativa, se hace en el dominio espectral. El codificador realiza la misma en el bucle de predicción.
Aunque se han descrito algunos aspectos en el contexto de un aparato, es evidente que estos aspectos también representan una descripción del método correspondiente, donde un bloque o dispositivo corresponde a una etapa de método o una característica de una etapa de método. De manera análoga, los aspectos descritos en el contexto de una etapa de método también representan una descripción de un bloque o elemento correspondiente o características de un correspondiente aparato. Algunas o todas las etapas de método pueden ejecutarse por (o usando) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, alguna o más de las etapas más importantes del método pueden ejecutarse por un aparato de este tipo.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede realizarse usando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM, o una memoria FLASH, que tiene señales de control electrónicamente legibles almacenadas en el mismo, que cooperan (o pueden cooperar) con un sistema informático programable de manera que se realiza el respectivo método. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
Algunas realizaciones de acuerdo con la invención comprenden un soporte de datos que tiene señales de control electrónicamente legibles, que pueden cooperar con un sistema informático programable, de manera que se realiza uno de los métodos descritos en el presente documento.
En general, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, siendo el código de programa operativo para realizar uno de los métodos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa puede almacenarse, por ejemplo, en un soporte legible por máquina.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en el presente documento, almacenado en soporte legible por máquina.
En otras palabras, una realización del método inventivo es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los métodos descritos en el presente documento, cuando el programa informático se ejecuta en un ordenador.
Una realización adicional de los métodos inventivos es, por lo tanto, un soporte de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para realizar uno de los métodos descritos en el presente documento. El soporte de datos, el medio de almacenamiento digital o el medio grabado son típicamente tangibles y/o no transitorios.
Una realización adicional del método inventivo es, por lo tanto, un flujo de datos o una secuencia de señales que representan el programa informático para realizar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales pueden configurarse, por ejemplo, para transferirse mediante una conexión de comunicación de datos, por ejemplo mediante Internet.
Una realización adicional comprende un medio de procesamiento, por ejemplo un ordenador, o un dispositivo de lógica programable, configurado para o adaptado para realizar uno de los métodos descritos en el presente documento.
Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa informático para realizar uno de los métodos descritos en el presente documento.
5
10
15
20
25
Una realización adicional de acuerdo con la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónica u ópticamente) un programa informático para realizar uno de los métodos descritos en el presente documento a un receptor. El receptor puede ser, por ejemplo, un ordenador, un dispositivo móvil, un dispositivo de memoria o similares. El aparato o sistema puede comprender, por ejemplo, un servidor de ficheros para transferir el programa informático al receptor.
En algunas realizaciones, un dispositivo de lógica programable (por ejemplo un campo de matriz de puertas programables) puede usarse para realizar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, un campo de matriz de puertas programables puede cooperar con un microprocesador para realizar uno de los métodos descritos en el presente documento. En general, los métodos se realizan preferentemente por cualquier aparato de hardware.
El aparato descrito en el presente documento puede implementarse usando un aparato de hardware, o usando un ordenador, o usando una combinación de un aparato de hardware y un ordenador.
Los métodos descritos en el presente documento pueden realizarse usando un aparato de hardware, o usando un ordenador, o usando una combinación de un aparato de hardware y un ordenador.
Las realizaciones anteriormente descritas son meramente ilustrativas de los principios de la presente invención. Se entiende que serán evidentes modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento para los expertos en la materia. Se pretende, por lo tanto, estar limitado únicamente por el alcance de las reivindicaciones de patente siguientes y no por los detalles específicos presentados por medio de descripción y explicación de las realizaciones del presente documento.

Claims (18)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Decodificador configurado para decodificar una instantánea de múltiples componentes (202) muestreando espacialmente una escena con respecto a diferentes componentes (206, 208, 210), reconstruyendo una primera señal de componente (2561;
    2701) con relación a un primer componente (206) de la instantánea de múltiples componentes (202) desde un flujo de datos (104);
    reconstruir (400) una porción (440) de una segunda señal de componente (256'2; 270'2) relacionada con un segundo componente (208) de la instantánea de múltiples componentes (202) desde una porción espacialmente correspondiente de la primera señal de componente reconstruida (2561; 2701) y una señal de corrección (2562; 2702) derivada desde el flujo de datos,
    en el que el primer y segundo componentes son componentes de color y la primera señal de componente es una predicción residual de una predicción de manera temporal, espacial o inter-vista del primer componente de la instantánea de múltiples componentes y la segunda señal de componente es una predicción residual de una predicción temporal, espacial o inter-vista del segundo componente de la instantánea de múltiples componentes, en el que el decodificador está configurado para, al reconstruir la segunda señal de componente, establecer de manera adaptativa un primer peso (a2) en el que la porción espacialmente correspondiente (442) de la primera señal de componente reconstruida influencia la reconstrucción de la segunda señal de componente a una granularidad de subinstantánea, dependiendo de la señalización en el flujo de datos.
  2. 2. Decodificador de acuerdo con la reivindicación 1, en el que el decodificador está configurado como un decodificador de vídeo híbrido basado en bloques configurado para subdividir la instantánea de múltiples componentes (202) de manera regular en tres bloques (302), subdividir los tres bloques usando subdivisión de árbol múltiple recursiva en bloques de código (304) individualmente y subdividir cada bloque de código usando subdivisión de árbol múltiple recursiva en bloques de predicción (308) y usar subdivisión de árbol múltiple recursiva en bloques residuales (312) individualmente, y subdividir los bloques residuales en bloques de transformada (316); seleccionar modos de predicción que dependen del flujo de datos a una granularidad que depende de los bloques de código o que depende de los bloques de predicción;
    establecer parámetros de predicción que dependen del flujo de datos a una granularidad de los bloques de predicción;
    derivar una señal de predicción (2201, 2202, 2203) usando los modos de predicción y parámetros de predicción; derivar una señal residual (2561, 256'2, 2563) en cada bloque residual realizando transformaciones inversas en los bloques de transformada individualmente, y
    reconstruir la instantánea de múltiples componentes (202) corrigiendo la señal de predicción usando la señal residual,
    en el que el decodificador es sensible a una señalización adicional (6142; 6143) en el flujo de datos para, a una granularidad de los bloques residuales y/o bloques de transformada, conmutar entre realizar la reconstrucción de la segunda señal de componente desde la porción espacialmente correspondiente de la primera señal de componente reconstruida y la señal de corrección y una reconstrucción de la segunda señal de componente desde la señal de corrección independiente de la porción espacialmente correspondiente de la primera señal de componente reconstruida.
  3. 3. Decodificador de acuerdo con la reivindicación 1 o 2, en el que el decodificador está configurado para, a la granularidad de subinstantánea, leer un valor absoluto de primer peso desde el flujo de datos y, de una manera condicional dependiendo de si el mismo es cero, un signo del primer peso.
  4. 4. Decodificador de acuerdo con la reivindicación 3, en el que el decodificador está configurado para, a la granularidad de subinstantánea, omitir la lectura del valor absoluto del primer peso desde el flujo de datos y, de una manera condicional dependiendo de si el valor absoluto del primer peso es cero, el signo del primer peso a porciones donde la primera señal de componente es cero.
  5. 5. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 4, en el que el decodificador está configurado para establecer el primer peso derivando una estructura de elemento de sintaxis de alto nivel (510) desde el flujo de datos, que tiene al menos alcance de instantánea;
    construir, en el al menos el alcance de instantánea, un mapeo (522) desde un conjunto de dominio de posibles cadenas de binarios (518) de una conversión a binario predeterminada en un dominio conjunto (520) de posibles valores del primer peso usando la estructura de elemento de sintaxis de alto nivel; y
    derivar el primer peso leyendo, a granularidad de sub-instantánea, un elemento de sintaxis de primer peso (514) desde el flujo de datos usando la conversión a binario predeterminada y sometiendo la cadena de binarios del elemento de sintaxis del primer peso al mapeo.
  6. 6. Decodificador de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el decodificador está configurado para, al reconstruir la segunda señal de componente (208), establecer de manera adaptativa un
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    segundo peso en el que la señal de corrección influencia la reconstrucción de la segunda señal de componente a una granularidad de subinstantánea.
  7. 7. Decodificador de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el decodificador está configurado para conmutar de manera adaptativa, a una granularidad de subinstantánea, al reconstruir la segunda señal de componente, entre
    realizar una transformación espectral inversa en coeficientes espectrales con relación al segundo componente (208) derivado desde el flujo de datos para obtener la señal de corrección (x) en un dominio espacial y reconstruir (400) la segunda señal de componente (z) usando la señal de corrección (x) en el dominio espacial, y obtener la señal de corrección (x) en un dominio espectral desde el flujo de datos, reconstruir (400), en el dominio espectral, la segunda señal de componente (z) usando la señal de corrección (x) según se obtiene en el dominio espectral, y someter, en el dominio espectral, la segunda señal de componente reconstruida (z) a una transformación espectral inversa.
  8. 8. Decodificador de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el primer componente es luminancia y el segundo componente es un componente de crominancia.
  9. 9. Decodificador de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el decodificador es sensible a un primer elemento de sintaxis (612) en el flujo de datos para, dependiendo del primer elemento de sintaxis (612), posibilitar la reconstrucción de la segunda señal de componente basándose en la primera señal de componente reconstruida, leer elementos de sintaxis de nivel de subinstantánea (6142, 6162, 6143, 6163) desde el flujo de datos al analizar el flujo de datos y adaptar la reconstrucción de la segunda señal de componente basándose en la primera señal de componente reconstruida a una granularidad de subinstantánea basándose en los elementos de sintaxis de nivel de subinstantánea, y
    no posibilitar la reconstrucción de la segunda señal de componente basándose en la primera señal de componente reconstruida, y cambiar el análisis del flujo de datos para direccionar el flujo de datos que no comprende los elementos de sintaxis de nivel de subinstantánea.
  10. 10. Decodificador de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el decodificador está configurado para, en una manera de accionamiento hacia atrás, conmutar localmente entre
    posibilitar la reconstrucción de la segunda señal de componente basándose en la primera señal de componente reconstruida, y
    no posibilitar la reconstrucción de la segunda señal de componente basándose en la primera señal de componente reconstruida.
  11. 11. Decodificador de acuerdo con la reivindicación 10, en el que
    el decodificador está configurado de manera que la primera señal de componente es una predicción residual de una predicción de manera temporal, espacial o inter-vista del primer componente de la instantánea de múltiples componentes, y para realizar la predicción temporal, espacial o inter-vista del primer componente de la instantánea de múltiples componentes y reconstruir el primer componente de la instantánea de múltiples componentes corrigiendo la predicción temporal, espacial o inter-vista del primer componente usando la primera señal de componente reconstruida,
    el decodificador está configurado de manera que la segunda señal de componente es una predicción residual de una predicción temporal, espacial o inter-vista del segundo componente de la instantánea de múltiples componentes, y para realizar la predicción temporal, espacial o inter-vista del segundo componente de la instantánea de múltiples componentes y reconstruir el segundo componente de la instantánea de múltiples componentes corrigiendo la predicción temporal, espacial o inter-vista de la instantánea de múltiples componentes usando la segunda señal de componente reconstruida, y
    el decodificador está configurado para realizar la conmutación local comprobando localmente si la primera y la segunda señales de componentes son predicciones residuales de una predicción espacial y si un modo de intra- predicción de la predicción espacial coincide, o comprobando localmente si la primera y la segunda señales de componentes son predicciones residuales de una predicción espacial y si un modo de intra-predicción de la predicción espacial no se desvía en más de una cantidad predeterminada.
  12. 12. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 11, en el que el primer componente es luminancia, el segundo componente es un primer componente de crominancia y el tercer componente es un segundo componente de crominancia y el decodificador está configurado para decodificar por entropía primeros elementos de sintaxis de nivel de subinstantánea para adaptar la reconstrucción de la segunda señal de componente relacionada con el primer componente de color de la instantánea de múltiples componentes y segundos elementos de sintaxis de nivel de subinstantánea para adaptar la reconstrucción de la señal de tercer componente relacionada con el primer componente de color de la instantánea de múltiples componentes desde la porción espacialmente correspondiente de la primera o segunda señal de componente reconstruida de manera adaptativa al contexto usando contextos separados.
  13. 13. Decodificador de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el decodificador está
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    configurado para decodificar por entropía los elementos de sintaxis de nivel de subinstantánea desde el flujo de datos usando un código Golomb Rice, con binarios de decodificación aritmética binaria del código Golomb Rice, usando diferentes contextos en diferentes posiciones de binarios, y sin contexto en posiciones de binarios que superan un valor predeterminado.
  14. 14. Codificador configurado para codificar una instantánea de múltiples componentes (202) muestreando espacialmente una escena con respecto a diferentes componentes (206, 208, 210), codificando (400) una porción (440) de una segunda señal de componente (256'2;
    270'2) relacionada con un segundo componente (208) de la instantánea de múltiples componentes (202) mediante predicción desde una porción espacialmente correspondiente de una primera señal de componente reconstruida (2561; 2701) e insertar una señal de corrección (2562; 2702) para corregir la predicción en el flujo de datos, en el que el primer y segundo componentes son componentes de color y la primera señal de componente es una predicción residual de una predicción de manera temporal, espacial o inter-vista del primer componente de la instantánea de múltiples componentes y la segunda señal de componente es una predicción residual de una predicción temporal, espacial o inter-vista del segundo componente de la instantánea de múltiples componentes, en el que el codificador está configurado para, al codificar la segunda señal de componente, establecer de manera adaptativa un primer peso (a2) en el que la porción espacialmente correspondiente (442) de la primera señal de componente reconstruida influencia la reconstrucción de la segunda señal de componente a una granularidad de subinstantánea, y señalizar en el flujo de datos, el primer peso (a2).
  15. 15. Método para decodificación de una instantánea de múltiples componentes (202) muestreando espacialmente una escena con respecto a diferentes componentes (206, 208, 210), que comprende
    reconstruir una primera señal de componente (2561; 2701) con relación a un primer componente (206) de la instantánea de múltiples componentes (202) desde un flujo de datos (104); y
    reconstruir (400) una porción (440) de una segunda señal de componente (256'2; 270'2) relacionada con un segundo componente (208) de la instantánea de múltiples componentes (202) desde una porción espacialmente correspondiente de la primera señal de componente reconstruida (2561; 2701) y una señal de corrección (2562; 2702) derivada desde el flujo de datos,
    en el que el primer y segundo componentes son componentes de color y la primera señal de componente es una predicción residual de una predicción de manera temporal, espacial o inter-vista del primer componente de la instantánea de múltiples componentes y la segunda señal de componente es una predicción residual de una predicción temporal, espacial o inter-vista del segundo componente de la instantánea de múltiples componentes, en el que la reconstrucción de la segunda señal de componente comprende establecer de manera adaptativa un primer peso (a2) en el que la porción espacialmente correspondiente (442) de la primera señal de componente reconstruida influencia la reconstrucción de la segunda señal de componente a una granularidad de subinstantánea, dependiendo de la señalización en el flujo de datos.
  16. 16. Método para codificación de una instantánea de múltiples componentes (202) muestreando espacialmente una escena con respecto a diferentes componentes (206, 208, 210), que comprende
    codificar (400) una porción (440) de una segunda señal de componente (256'2; 270'2) relacionada con un segundo componente (208) de la instantánea de múltiples componentes (202) mediante predicción desde una porción espacialmente correspondiente de una primera señal de componente reconstruida (2561; 2701) e insertar una señal de corrección (2562; 2702) para corregir la predicción en el flujo de datos,
    en el que el primer y segundo componentes son componentes de color y la primera señal de componente es una predicción residual de una predicción de manera temporal, espacial o inter-vista del primer componente de la instantánea de múltiples componentes y la segunda señal de componente es una predicción residual de una predicción temporal, espacial o inter-vista del segundo componente de la instantánea de múltiples componentes, en el que la codificación de la segunda señal de componente comprende establecer de manera adaptativa un primer peso (a2) en el que la porción espacialmente correspondiente (442) de la primera señal de componente reconstruida influencia la reconstrucción de la segunda señal de componente a una granularidad de subinstantánea, y señalizar en el flujo de datos el primer peso (a2).
  17. 17. Programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, un método de acuerdo con la reivindicación 15 o 16.
  18. 18. Flujo de datos codificado usando un método para codificación de acuerdo con la reivindicación 16.
ES14719660.4T 2013-04-08 2014-04-08 Predicción inter-componente Active ES2665908T3 (es)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361809608P 2013-04-08 2013-04-08
US201361809608P 2013-04-08
US201361846450P 2013-07-15 2013-07-15
US201361846450P 2013-07-15
EP14150373 2014-01-07
EP14150373 2014-01-07
PCT/EP2014/057090 WO2014166965A1 (en) 2013-04-08 2014-04-08 Inter-component prediction

Publications (1)

Publication Number Publication Date
ES2665908T3 true ES2665908T3 (es) 2018-04-30

Family

ID=49943174

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14719660.4T Active ES2665908T3 (es) 2013-04-08 2014-04-08 Predicción inter-componente

Country Status (11)

Country Link
US (4) US10237567B2 (es)
EP (3) EP3340628B1 (es)
JP (3) JP2016519898A (es)
KR (5) KR20230131286A (es)
CN (5) CN113259681A (es)
DK (1) DK2984837T3 (es)
ES (1) ES2665908T3 (es)
HU (1) HUE038732T2 (es)
PL (1) PL2984837T3 (es)
PT (1) PT2984837T (es)
WO (1) WO2014166965A1 (es)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI666882B (zh) 2010-04-13 2019-07-21 美商Ge影像壓縮有限公司 在樣本陣列多元樹細分中之繼承技術
KR101549644B1 (ko) 2010-04-13 2015-09-03 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
HUE057597T2 (hu) 2010-04-13 2022-05-28 Ge Video Compression Llc Videó kódolás képek többes fa struktúrájú alosztásainak használatával
KR102481529B1 (ko) 2010-04-13 2022-12-23 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
WO2014166965A1 (en) * 2013-04-08 2014-10-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inter-component prediction
KR102207000B1 (ko) * 2013-10-18 2021-01-25 지이 비디오 컴프레션, 엘엘씨 다-성분 화상 또는 비디오 코딩 개념
US10291915B2 (en) * 2014-03-06 2019-05-14 Samsung Electronics Co., Ltd. Video decoding method and apparatus and video encoding method and apparatus
US10200700B2 (en) * 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
US9998742B2 (en) * 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
EP3104610A1 (en) 2015-06-10 2016-12-14 Thomson Licensing Method and device for encoding color differences for color picture data
EP3456049B1 (en) * 2016-05-13 2022-05-04 VID SCALE, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
WO2017203882A1 (en) * 2016-05-24 2017-11-30 Sharp Kabushiki Kaisha Systems and methods for intra prediction coding
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
JP2018056685A (ja) * 2016-09-27 2018-04-05 株式会社ドワンゴ 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム
US10477240B2 (en) * 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
US20190335170A1 (en) * 2017-01-03 2019-10-31 Lg Electronics Inc. Method and apparatus for processing video signal by means of affine prediction
US10409950B2 (en) 2017-03-10 2019-09-10 General Electric Company Systems and methods for utilizing a 3D CAD point-cloud to automatically create a fluid model
US10977397B2 (en) 2017-03-10 2021-04-13 Altair Engineering, Inc. Optimization of prototype and machine design within a 3D fluid modeling environment
US11004568B2 (en) 2017-03-10 2021-05-11 Altair Engineering, Inc. Systems and methods for multi-dimensional fluid modeling of an organism or organ
US10803211B2 (en) 2017-03-10 2020-10-13 General Electric Company Multiple fluid model tool for interdisciplinary fluid modeling
US10867085B2 (en) * 2017-03-10 2020-12-15 General Electric Company Systems and methods for overlaying and integrating computer aided design (CAD) drawings with fluid models
AU2018252853A1 (en) * 2017-04-13 2019-12-05 Lg Electronics Inc. Image encoding/decoding method and device therefor
EP3744102A1 (en) 2018-01-24 2020-12-02 Vid Scale, Inc. Generalized bi-prediction for video coding with reduced coding complexity
MX2020013386A (es) 2018-06-11 2021-03-09 Hfi Innovation Inc Metodo y aparato de flujo optico bidireccional para la codificacion de video.
WO2019244931A1 (ja) * 2018-06-19 2019-12-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CA3109014C (en) 2018-08-09 2024-04-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Video image component prediction method and apparatus, and computer storage medium
US11470348B2 (en) * 2018-08-17 2022-10-11 Hfi Innovation Inc. Methods and apparatuses of video processing with bi-direction prediction in video coding systems
WO2020122654A1 (ko) 2018-12-12 2020-06-18 주식회사 윌러스표준기술연구소 현재 픽쳐 참조를 이용한 비디오 신호 처리 방법 및 장치
CN112640449A (zh) * 2019-01-10 2021-04-09 Oppo广东移动通信有限公司 图像解码方法、解码器及计算机存储介质
JP7399973B2 (ja) * 2019-02-19 2023-12-18 ヒューマックス・カンパニー・リミテッド イントラ予測ベースのビデオ信号処理方法及び装置
TWI815259B (zh) * 2019-03-12 2023-09-11 弗勞恩霍夫爾協會 用於影像及視訊寫碼之選擇性成分間變換(ict)技術
WO2020197444A1 (en) * 2019-03-24 2020-10-01 Huawei Technologies Co., Ltd. Method and apparatus of quantizing coefficients for matrix-based intra prediction technique
CN113728642B (zh) 2019-04-24 2024-04-02 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示
CN113796069B (zh) 2019-05-01 2024-03-08 字节跳动有限公司 使用量化残差差分脉冲编解码调制编解码的帧内编解码视频
EP3949387A4 (en) * 2019-05-02 2022-05-18 ByteDance Inc. SIGNALING IN A TRANSFORM JUMP MODE
CN117615130A (zh) 2019-05-02 2024-02-27 字节跳动有限公司 基于编解码树结构类型的编解码模式
MX2021016156A (es) * 2019-06-19 2022-02-22 Lg Electronics Inc Metodo y dispositivo de codificacion y decodificacion de imagen para limitar la condicion de particion del bloque de croma, y metodo para transmitir el flujo de bits.
US11509910B2 (en) * 2019-09-16 2022-11-22 Tencent America LLC Video coding method and device for avoiding small chroma block intra prediction
US11284111B2 (en) * 2019-10-10 2022-03-22 Tencent America LLC Techniques and apparatus for inter-channel prediction and transform for point-cloud attribute coding
CN114902666A (zh) * 2019-10-28 2022-08-12 Lg电子株式会社 使用自适应颜色变换的图像编码/解码方法和装置以及发送比特流的方法
WO2021136498A1 (en) 2019-12-31 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. Multiple reference line chroma prediction
WO2021249684A1 (en) 2020-06-10 2021-12-16 Huawei Technologies Co., Ltd. Adaptive image enhancement using inter-channel correlation information
US11930177B2 (en) * 2021-10-29 2024-03-12 Tencent America LLC Primary transforms for cross-component level reconstruction

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1007211A5 (nl) * 1993-06-10 1995-04-25 Barco Werkwijze en inrichting voor het converteren van een beeld.
US6556624B1 (en) * 1999-07-27 2003-04-29 At&T Corp. Method and apparatus for accomplishing multiple description coding for video
US7469069B2 (en) * 2003-05-16 2008-12-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding image using image residue prediction
CN1578477B (zh) 2003-07-16 2011-05-04 三星电子株式会社 用于色彩图像的视频编码/解码装置和方法
US8014450B2 (en) * 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
EP1585060A1 (en) * 2004-04-06 2005-10-12 Visiowave S.A. Subband video coding with temporal prediction
CN101160972B (zh) * 2005-04-13 2010-05-19 汤姆逊许可公司 利用公共预测器的亮度和色度编码
EP1872587B1 (en) * 2005-04-13 2021-05-05 InterDigital VC Holdings, Inc. Luma and chroma encoding using separate predictors
KR101246915B1 (ko) * 2005-04-18 2013-03-25 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
JP5275806B2 (ja) * 2005-10-12 2013-08-28 トムソン ライセンシング スケーラブルビデオ符号化及び復号における重み付け予測方法及び装置
EP1965589A1 (en) * 2005-11-30 2008-09-03 Kabushiki Kaisha Toshiba Image encoding/image decoding method and image encoding/image decoding apparatus
KR101200865B1 (ko) * 2006-03-23 2012-11-13 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
KR101311402B1 (ko) * 2006-03-23 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
KR101311403B1 (ko) * 2006-07-04 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
EP3484154A1 (en) * 2006-10-25 2019-05-15 GE Video Compression, LLC Quality scalable coding
JP2010135864A (ja) * 2007-03-29 2010-06-17 Toshiba Corp 画像符号化方法及び装置並びに画像復号化方法及び装置
WO2009051010A1 (ja) * 2007-10-15 2009-04-23 Mitsubishi Electric Corporation 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
JP4870120B2 (ja) * 2008-05-16 2012-02-08 株式会社Jvcケンウッド 動画像階層符号化装置、動画像階層符号化方法、動画像階層符号化プログラム、動画像階層復号化装置、動画像階層復号化方法、および動画像階層復号化プログラム
KR20100018810A (ko) * 2008-08-07 2010-02-18 전자부품연구원 초고화질 영상 부호화, 복호화 방법 및 장치 및 컴퓨터로판독가능한 기록매체
US8279924B2 (en) * 2008-10-03 2012-10-02 Qualcomm Incorporated Quantization parameter selections for encoding of chroma and luma video blocks
US8693539B2 (en) * 2009-03-26 2014-04-08 Panasonic Corporation Coding method, error detecting method, decoding method, coding apparatus, error detecting apparatus, and decoding apparatus
EP2237557A1 (en) * 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
JP5684823B2 (ja) * 2009-11-06 2015-03-18 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ハイブリッド映像符号化
WO2011064945A1 (ja) * 2009-11-30 2011-06-03 日本電気株式会社 映像符号化装置および映像復号装置
JP5421757B2 (ja) * 2009-12-11 2014-02-19 株式会社Kddi研究所 画像符号化装置
KR101646085B1 (ko) * 2010-01-25 2016-08-05 톰슨 라이센싱 비디오 인코더, 비디오 디코더, 각각의 컬러 면에 대해 별개로 비디오 인코딩하기 위한 방법 및 비디오 디코딩하기 위한 방법
HUE057597T2 (hu) * 2010-04-13 2022-05-28 Ge Video Compression Llc Videó kódolás képek többes fa struktúrájú alosztásainak használatával
WO2011127963A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sample region merging
WO2011127964A2 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus for intra predicting a block, apparatus for reconstructing a block of a picture, apparatus for reconstructing a block of a picture by intra prediction
KR102481529B1 (ko) * 2010-04-13 2022-12-23 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
WO2011128259A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A video decoder and a video encoder using motion-compensated prediction
KR101791242B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
CN103262532B (zh) * 2010-07-19 2018-03-09 杜比实验室特许公司 用于经采样复用的图像和视频数据的增强方法
JP5512502B2 (ja) * 2010-12-13 2014-06-04 日本放送協会 符号化装置、復号装置及びプログラム
US9135724B2 (en) * 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
JP6094973B2 (ja) * 2011-05-20 2017-03-15 サン パテント トラスト 色平面内予測を用いて映像を符号化および復号する方法および装置
JP5707261B2 (ja) 2011-07-12 2015-04-22 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
US20130051467A1 (en) * 2011-08-31 2013-02-28 Apple Inc. Hybrid inter/intra prediction in video coding systems
WO2013157829A1 (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 부호화 방법 및 복호화 방법 그리고 이를 이용하는 장치
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9781447B1 (en) * 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9979960B2 (en) * 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9661340B2 (en) * 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
WO2014166965A1 (en) * 2013-04-08 2014-10-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inter-component prediction
EP3254466A1 (en) * 2015-02-05 2017-12-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. 3d-video codec supporting inter-component prediction

Also Published As

Publication number Publication date
EP3955577A2 (en) 2022-02-16
PL2984837T3 (pl) 2018-07-31
US11595674B2 (en) 2023-02-28
JP2022008930A (ja) 2022-01-14
JP2019146218A (ja) 2019-08-29
PT2984837T (pt) 2018-04-26
CN113259684A (zh) 2021-08-13
DK2984837T3 (en) 2018-04-30
EP3340628B1 (en) 2021-03-31
US20200374538A1 (en) 2020-11-26
KR20230131286A (ko) 2023-09-12
KR20170097790A (ko) 2017-08-28
CN113259683A (zh) 2021-08-13
EP3955577A3 (en) 2022-03-16
KR102127280B1 (ko) 2020-06-26
JP6962576B2 (ja) 2021-11-05
US20160029035A1 (en) 2016-01-28
CN105409218B (zh) 2021-05-25
US20190158861A1 (en) 2019-05-23
HUE038732T2 (hu) 2018-11-28
CN113259681A (zh) 2021-08-13
KR102573801B1 (ko) 2023-09-07
CN105409218A (zh) 2016-03-16
US10237567B2 (en) 2019-03-19
KR20150140352A (ko) 2015-12-15
EP2984837A1 (en) 2016-02-17
EP3340628A1 (en) 2018-06-27
JP2016519898A (ja) 2016-07-07
KR101770317B1 (ko) 2017-09-05
WO2014166965A1 (en) 2014-10-16
KR20220073861A (ko) 2022-06-03
KR20200077610A (ko) 2020-06-30
US10743013B2 (en) 2020-08-11
KR102245088B1 (ko) 2021-04-28
EP2984837B1 (en) 2018-01-17
US20230283792A1 (en) 2023-09-07
CN113259682A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
ES2665908T3 (es) Predicción inter-componente
ES2845673T3 (es) Copia intrabloque a nivel de fragmento
JP7223045B2 (ja) マルチコンポーネント画像またはビデオ符号化のコンセプト
ES2901308T3 (es) Herencia en subdivisión multiárbol de matriz de muestras
BRPI0616823A2 (pt) transcodificação de vìdeo digital integrada eficiente
ES2962364T3 (es) Transformada espacialmente variable con tipo de transformada adaptativa