ES2834444T3 - Aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación - Google Patents

Aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación Download PDF

Info

Publication number
ES2834444T3
ES2834444T3 ES18199112T ES18199112T ES2834444T3 ES 2834444 T3 ES2834444 T3 ES 2834444T3 ES 18199112 T ES18199112 T ES 18199112T ES 18199112 T ES18199112 T ES 18199112T ES 2834444 T3 ES2834444 T3 ES 2834444T3
Authority
ES
Spain
Prior art keywords
current
quantization
quantization group
encoding
unit
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
ES18199112T
Other languages
English (en)
Inventor
Tammy Lee
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2834444T3 publication Critical patent/ES2834444T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/124Quantisation
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/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/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/174Methods 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 slice, e.g. a line of blocks or a group of 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un aparato de decodificación de vídeo que comprende: un procesador configurado para obtener (2810) un elemento de sintaxis con respecto a un QP (Parámetro de Cuantificación) inicial de nivel de corte, desde una secuencia de bits para obtener un QP inicial de nivel de corte usado para realizar cuantificación inversa en unidades de codificación incluidas en un corte; obtener (2820) el QP inicial de nivel de corte para predecir el QP usado para realizar cuantificación inversa en las unidades de codificación incluidas en el corte, basándose en el elemento de sintaxis obtenido; obtener (2830) el QP previsto de un grupo de cuantificación actual cuando se realiza decodificación por entropía en una pluralidad de hilos de acuerdo con procesamiento paralelo de frente de onda (WPP), en el que el QP previsto del grupo de cuantificación actual se obtiene basándose en el QP inicial de nivel de corte; obtener un QP previsto de un siguiente grupo de cuantificación cuando se realiza decodificación por entropía en la pluralidad de hilos de acuerdo con el WPP, en el que el QP previsto del siguiente grupo de cuantificación se obtiene basándose en el QP inicial de nivel de corte; determinar (2840) cada QP a aplicar a una unidad de codificación incluida en el grupo de cuantificación actual y una unidad de codificación incluida en el siguiente grupo de cuantificación añadiendo el QP previsto del grupo de cuantificación actual a la diferencia de QP de la unidad de codificación incluida en el grupo de cuantificación actual incluido en la secuencia de bits y añadir el QP previsto del siguiente grupo de cuantificación a la diferencia de QP de la unidad de codificación incluida en el siguiente grupo de cuantificación incluido en la secuencia de bits; y realizar (2850) cuantificación inversa en la unidad de codificación incluida en el grupo de cuantificación actual en un hilo actual que es una unidad de datos decodificable en paralelo actual y la unidad de codificación incluida en el siguiente grupo de cuantificación en un siguiente hilo que es una siguiente unidad de datos decodificable en paralelo, basándose en cada QP determinado, en el que el grupo de cuantificación actual es un primer grupo de cuantificación en el hilo actual incluido en el corte, el siguiente grupo de cuantificación es un primer grupo de cuantificación en el siguiente hilo incluido en el corte, y el grupo de cuantificación actual comprende un conjunto de una o más unidades de codificación que comparten el QP previsto del grupo de cuantificación actual, en el que cada uno de una pluralidad de hilos que incluyen el hilo actual y el siguiente hilo es una pluralidad de bloques de codificación más grandes de la misma fila, el WPP incluye un procedimiento en el que se determina información de probabilidad para decodificación por entropía de una primera unidad de codificación más grande de un hilo usando información de probabilidad para decodificación por entropía de una segunda unidad de codificación más grande de un hilo superior, en el que un QP previsto de un grupo de cuantificación, que es el hilo actual, y no es el grupo de cuantificación actual, se genera usando un parámetro de cuantificación de una unidad de codificación vecina del grupo de cuantificación en el hilo actual, en el que cada uno del hilo actual y el siguiente hilo está entre la pluralidad de hilos incluidos en el corte, en el que un QP previsto del primer grupo de cuantificación en cada uno de la pluralidad de hilos se obtiene basándose en el QP inicial de nivel de corte.

Description

DESCRIPCIÓN
Aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación
Campo técnico
La presente invención se refiere a codificación y decodificación de un vídeo.
Antecedentes de la técnica
En general, de acuerdo con las normas de compresión de vídeo tales como el Grupo de Expertos de Imágenes en Movimiento (MPEG) y H.26X, se genera una secuencia de bits comprimiendo datos de imagen a través de procedimientos de predicción, transformación, cuantificación y codificación por entropía.
En el procedimiento de predicción, se genera una imagen de predicción de datos de imagen a codificarse realizando intra predicción usando correlaciones espaciales de imágenes, o inter predicción usando correlaciones temporales de imágenes.
En el procedimiento de transformación, unos datos de error, que son una diferencia entre una imagen original y la imagen de predicción generada en el procedimiento de predicción, se transforman al dominio de transformación usando diversos procedimientos de transformación. Los procedimientos de transformación representativos incluyen transformación de coseno discreta (DCT) y transformación de ondícula.
En el procedimiento de cuantificación, los coeficientes de transformación generados en el procedimiento de transformación se comprimen con pérdidas de manera apropiada de acuerdo con el valor de error y el tamaño de una secuencia de bits objetivo. La mayoría de los códecs de imagen y vídeo convencionales basados en compresión con pérdidas realizan procedimientos de cuantificación y cuantificación inversa de acuerdo con una etapa de cuantificación. En el procedimiento de cuantificación, se obtiene un valor cuantificado dividiendo un valor de entrada por la etapa de cuantificación y a continuación redondeando el valor dividido a un número entero. Debido al procedimiento de cuantificación, la información se comprime con pérdidas. Puesto que todas las tecnologías de compresión con pérdidas incluyen un procedimiento de cuantificación, los datos originales pueden no restaurarse de manera perfecta pero puede aumentarse una tasa de compresión.
LEE T Y COL: “CE4 Subtest 4.1 : Higher granularity of quantization parameter scaling”, 99. MPEG MEETING; 6-2­ 2012 -10-2-2012; SAN JOSA CR; (MOTION PICTURE EXPERT GROUP o ISO/IEC JTC1/SC29/WG11), n°. m23211, 20 de enero de 2012 (20-01-2012) desvela parámetro de cuantificación delta adaptativo dQP_scale en el escalamiento de parámetro de cuantificación de granularidad superior. El dQP_scale se señaliza en el encabezamiento de corte para soportar una compensación entre tara de bits dQp y la tasa precisa/control de calidad y su valor puede ser cualquiera de 1o 2.
COBAN M Y COL: “On entropy slices”, 8. JCT-VC MEETING; 99. MPEG MEETING 1-2-2012 -10-2-2012; SAN JOSE; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JCT1/SC29/WG11 y ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/ n.° JCTVC-H0515, 21 de enero de 2012 (21-01-2012) desvela cortes de entropía que proporcionan unidades analizables de manera independiente desactivando el uso de elementos de contexto a través de cortes y reseteando estados de CABAC en el comienzo de cada corte de entropía, mientras permiten predicción dentro de la instantánea a través de los cortes para la decodificación.
HIROFUM I AOKI Y COL: “Prediction-based QP derivation”, 20110310 N.° JCTVC-E215, 10 de marzo de 2011 (10­ 03-2011) desvela un procedimiento de derivación de parámetro de cuantificación (QP) basado en predicción.
SHIMADA S Y COL: “On derivation of luma QP predictor for Wavefront Parallel processing”, 8. JCT-VC MEETING; 99. MPEG MEETING; 1-2-2012-10-2-2012; SAN JOSE; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 y ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/ n.° JCTVC-H0226, 21 de enero de 2012 (21-01-2012) desvela una corrección a un error de programación en el procedimiento de derivación del predictor de QP del primer grupo de cuantificación (QG) de cada línea de Bloque de Árbol (TB) cuando se usa Procesamiento Paralelo de Frente de Onda (WPP).
LEE T Y COL: “Simplification on WPP”, 8. JCT-VC MEETING; 99. MPEG MEETING; 1-2-2012-10-2-2012; SAN JOSE; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 y ITU-T SG.16); URL: HTTP//WFTP3.ITU.INT/AV-ARC/JCTVC-SITE/, n.° JCTVC-H0349, 20 de enero de 2012 (20-01-2012) desvela una simplificación de WPP que implica (1) eliminar el modo de no evacuación (2) No adaptación en la sincronización para copiar probabilidades de CAVAC iniciales.
Descripción detallada de la invención
Problema técnico
De acuerdo con un aspecto de la presente invención, se proporciona una solución para decodificar y un aparato para codificar de acuerdo con las reivindicaciones adjuntas.
Solución técnica
De acuerdo con la presente invención se proporciona un procedimiento de decodificación como se expone en la reivindicación adjunta. Otras características de la invención serán evidentes a partir de la descripción que sigue.
Efectos ventajosos
De acuerdo con las realizaciones de la presente invención, puede obtenerse un parámetro de cuantificación previsto (QP) de una unidad inicialmente cuantificada o datos cuantificados a la inversa basándose en información de codificación de una unidad de datos superior independientemente de un orden de procesamiento de unidades de codificación, y por lo tanto un problema de cuello de botella en el que se retarda el procesamiento de una unidad de datos hasta que otra unidad de datos se procese completamente de acuerdo con un orden de procesamiento de unidades de datos puede resolverse en un procedimiento de cuantificación o cuantificación inversa.
Descripción de los dibujos
Las anteriores y otras características y ventajas de la presente invención se harán más evidentes describiendo en detalle realizaciones ejemplares de la misma con referencia a los dibujos adjuntos en los que:
La Figura 1 es un diagrama de bloques de un aparato para codificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 2 es un diagrama de bloques de un aparato para decodificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención;
La Figura 4 es un diagrama de bloques de un codificador de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención;
La Figura 5 es un diagrama de bloques de un decodificador de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención;
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización de la presente invención;
La Figura 7 es un diagrama para describir una relación entre una unidad de codificación y unidades de transformación (TU), de acuerdo con una realización de la presente invención;
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención;
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización de la presente invención;
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades de codificación, unidades de predicción, y TU, de acuerdo con una realización de la presente invención;
La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción, y una TU, de acuerdo con información de modo de codificación de la Tabla 1;
La Figura 14 es un diagrama de bloques detallado de un cuantificador ilustrado en la Figura 4, de acuerdo con una realización de la presente invención;
La Figura 15 es un diagrama de bloques detallado de un codificador por entropía ilustrado en la Figura 4, de acuerdo con una realización de la presente invención;
La Figura 16 muestra segmentos de corte, cortes, y unidades de codificación más grandes (LCU) que son unidades de datos usadas para particionar una instantánea, de acuerdo con una realización de la presente invención; La Figura 17 muestra títulos y segmentos de corte que son unidades de datos usadas para particionar una instantánea, de acuerdo con una realización de la presente invención;
Las Figuras 18Ay 18B muestran correlaciones entre piezas, segmentos de corte, cortes, y LCU, de acuerdo con una realización de la presente invención;
La Figura 19 es un diagrama de referencia para describir procesamiento paralelo de frente de onda (WPP), de acuerdo con una realización de la presente invención;
La Figura 20 es un diagrama para describir un procedimiento de obtención de un parámetro de cuantificación previsto (QP) de una LCU incluida en un segmento de corte, de acuerdo con una realización de la presente invención;
La Figura 21 es un diagrama para describir un procedimiento de obtención de un QP previsto de una unidad de codificación incluida en una LCU, de acuerdo con una realización de la presente invención;
La Figura 22 es una tabla que muestra sintaxis relacionada con QP proporcionado a un conjunto de parámetros de instantánea (PPS), de acuerdo con una realización de la presente invención;
La Figura 23 es una tabla que muestra sintaxis relacionada con QP proporcionado a un encabezamiento de segmento de corte, de acuerdo con una realización de la presente invención;
La Figura 24 es una tabla que muestra sintaxis relacionada con QP añadido en información de TU, de acuerdo con una realización de la presente invención;
La Figura 25 es un diagrama de flujo de un procedimiento de codificación de vídeo de acuerdo con una realización de la presente invención;
La Figura 26 es un diagrama de bloques detallado de un decodificador por entropía ilustrado en la Figura 5, de acuerdo con una realización de la presente invención;
La Figura 27 es un diagrama de bloques detallado de un cuantificador inverso ilustrado en la Figura 5, de acuerdo con una realización de la presente invención; y
La Figura 28 es un diagrama de flujo de un procedimiento de decodificación de vídeo de acuerdo con una realización de la presente invención.
Modo de la invención
En lo sucesivo, la presente invención se describirá en detalle explicando realizaciones de la invención con referencia a los dibujos adjuntos.
La Figura 1 es un diagrama de bloques de un aparato 100 de codificación de vídeo de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo incluye un divisor 110 de unidad de codificación más grande (LCU), un determinador 120 de unidad de codificación, y un emisor 130.
El divisor 110 de LCU puede dividir una instantánea actual de una imagen basándose en una LCU, que es una unidad de codificación de un tamaño máximo. Si la instantánea actual es mayor que la LCU, pueden dividirse datos de imagen de la instantánea actual en al menos una LCU. La LCU de acuerdo con una realización de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en el que una forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en cuadrados de 2 y es mayor que 8. Los datos de imagen pueden emitirse al determinador 120 de unidad de codificación de acuerdo con cada LCU.
Una unidad de codificación de acuerdo con una realización de la presente invención puede estar caracterizada por un tamaño máximo y una profundidad. La profundidad indica el número de veces que la unidad de codificación se divide espacialmente a partir de la LCU, y a medida que la profundidad se hace más profunda, pueden dividirse unidades de codificación más profundas de acuerdo con las profundidades desde la LCU a una unidad de codificación más pequeña. Una profundidad de la LCU es una profundidad más superior y una profundidad de la unidad de codificación más pequeña es una profundidad más inferior. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad se reduce a medida que la profundidad de la LCU se hace profunda, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, se dividen datos de imagen de la instantánea actual en las LCU de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las LCU puede incluir unidades de codificación más profundas que se dividen de acuerdo con las profundidades. Puesto que la LCU de acuerdo con una realización de la presente invención se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la LCU pueden clasificarse de manera jerárquica de acuerdo con las profundidades.
Puede predeterminarse una profundidad máxima y un tamaño máximo de una unidad de codificación, que limita el número total de veces que se divide jerárquicamente una altura y una anchura de la LCU.
El determinador 120 de unidad de codificación codifica al menos una región de división obtenida dividiendo una región de la LCU de acuerdo con las profundidades, y determina una profundidad para emitir finalmente datos de imagen codificados de acuerdo con la al menos una región de división. En otras palabras, el determinador 120 de unidad de codificación determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con la LCU de la instantánea actual, y seleccionando una profundidad que tiene el error de codificación mínimo. La profundidad codificada determinada y los datos de imagen codificados de acuerdo con las LCU se emiten al emisor 130.
Los datos de imagen en la LCU se codifican basándose en las unidades de codificación más profundas que corresponden a al menos una profundidad igual o menor que la profundidad máxima, y los resultados de codificación de los datos de imagen se comparan basándose en cada una de las unidades de codificación más profundas. Una profundidad que tiene el error de codificación mínimo puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada LCU.
El tamaño de la LCU se divide a medida que una unidad de codificación se divide de manera jerárquica de acuerdo con las profundidades y a medida que el número de unidades de codificación aumenta. También, incluso si las unidades de codificación corresponden a una misma profundidad en una LCU, se determina si dividir cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, de manera separada. Por consiguiente, incluso cuando se incluyen datos de imagen en una LCU, los datos de imagen se dividen en regiones de acuerdo con las profundidades, y los errores de codificación pueden diferenciarse de acuerdo con las regiones en la LCU, y por lo tanto las profundidades codificadas pueden diferenciarse de acuerdo con las regiones en los datos de imagen. Por lo tanto, pueden determinarse una o más profundidades codificadas en una LCU, y los datos de imagen de la LCU pueden dividirse de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador 120 de unidad de codificación puede determinar unidades de codificación que tienen una estructura de árbol incluidas en la LCU. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una realización de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada para que sea la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la LCU. Una unidad de codificación que tiene una profundidad codificada puede determinarse de manera jerárquica de acuerdo con las profundidades en la misma región de la LCU, y puede determinarse de manera independiente en regiones diferentes. De manera similar, una profundidad codificada en una región actual puede determinarse de manera independiente de una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una realización de la presente invención es un índice relacionado con el número de veces que se realiza división de una LCU a una unidad de codificación más pequeña. Una primera profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de veces que se realiza división de la LCU a la unidad de codificación más pequeña. Una segunda profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de niveles de profundidad de la LCU a la unidad de codificación más pequeña. Por ejemplo, cuando una profundidad de la LCU es 0, una profundidad de una unidad de codificación, en la que la LCU se divide una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la que la LCU se divide dos veces, puede establecerse a 2. En este punto, si la unidad de codificación más pequeña es una unidad de codificación en la que la LCU se divide cuatro veces, existen cinco niveles de profundidad de profundidades 0, 1, 2, 3 y 4, y por lo tanto la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
Puede realizarse codificación y transformación de predicción de acuerdo con la LCU. La codificación por predicción y la transformación se realizan también basándose en las unidades de codificación más profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la LCU.
Puesto que el número de unidades de codificación más profundas aumenta cada vez que se divide la LCU de acuerdo con las profundidades, la codificación que incluye que la codificación por predicción y la transformación se realicen en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace más profunda. Por conveniencia de descripción, la codificación por predicción y la transformación se describirán ahora basándose en una unidad de codificación de una profundidad actual, en una LCU.
El aparato 100 de codificación de vídeo puede seleccionar de manera variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codiciar los datos de imagen, se realizan operaciones, tales como codificación por predicción, transformación, y codificación por entropía, y en este momento, puede usarse la misma unidad de datos para todas las operaciones o pueden usarse diferentes unidades de datos para cada operación.
Por ejemplo, el aparato 100 de codificación de vídeo puede seleccionar no únicamente una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción en los datos de imagen en la unidad de codificación.
Para realizar codificación por predicción en la LCU, la codificación por predicción puede realizarse basándose en una unidad de codificación que corresponde a una profundidad codificada, es decir, basándose en una unidad de codificación que ya no se divide en unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no se divide y se vuelve una unidad de base para codificación de predicción se denominará como una 'unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2N*2N (donde N es un entero positivo) ya no se divide y se vuelve una unidad de predicción de 2N*2N, un tamaño de una partición puede ser 2N*2N, 2N*N, N*2N o N*N. Ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen dividiendo simétricamente una altura o anchura de la unidad de predicción, particiones obtenidas dividiendo asimétricamente la altura o anchura de la unidad de predicción, tal como 1 :n o n:1, particiones que se obtienen dividiendo geométricamente la unidad de predicción, y particiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un intra modo, un inter modo, y un modo de salto. Por ejemplo, el intra modo o el inter modo pueden realizarse en la partición de 2N*2N, 2N*N, N*2N, o N*N. También, el modo de salto puede realizarse únicamente en la partición de 2N*2N. La codificación se realiza independientemente en una unidad de predicción en una unidad de codificación, seleccionando de esta manera un modo de predicción que tiene el error de codificación mínimo.
El aparato 100 de codificación de vídeo puede realizar también la transformación en los datos de imagen en una unidad de codificación basándose no únicamente en la unidad de codificación para codificar los datos de imagen, sino también basándose en una unidad de datos que es diferente de la unidad de codificación.
Para realizar la transformación en la unidad de codificación, la transformación puede realizarse basándose en una unidad de datos que tiene un tamaño menor o igual que la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un intra modo y una unidad de datos para un inter modo.
Una unidad de datos usada como una base de la transformación se denominará ahora como una 'unidad de transformación (TU)'. De manera similar a la unidad de codificación, la TU en la unidad de codificación puede dividirse de manera recursiva en regiones con tamaño más pequeño, de modo que puede determinarse la TU independientemente en unidades de regiones. Por lo tanto, pueden dividirse datos residuales en la unidad de codificación de acuerdo con la TU que tiene la estructura de árbol de acuerdo con profundidades de transformación.
Una profundidad de transformación que indica el número de veces que se realiza división para alcanzar la TU dividiendo la altura y anchura de la unidad de codificación puede también establecerse en la TU. Por ejemplo, en una unidad de codificación actual de 2N*2N, una profundidad de transformación puede ser 0 cuando el tamaño de una TU es 2N*2N, puede ser 1 cuando el tamaño de una TU es N*N, y puede ser 2 cuando el tamaño de una TU es N/2*N/2. Es decir, la TU que tiene la estructura de árbol puede establecerse también de acuerdo con las profundidades de transformación.
La información de codificación de acuerdo con unidades de codificación que corresponden a una profundidad codificada no requiere únicamente información acerca de la profundidad codificada, sino también información relacionada con codificación por predicción y transformación. Por consiguiente, el determinador 120 de unidad de codificación no determina únicamente una profundidad codificada que tiene el error de codificación mínimo, sino también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción, y un tamaño de una TU para transformación.
Las unidades de codificación de acuerdo con una estructura de árbol en una LCU y un procedimiento de determinación de una partición, de acuerdo con las realizaciones de la presente invención, se describirán en detalle a continuación con referencia a las Figuras 3 a 12.
El determinador 120 de unidad de codificación puede medir un error de codificación de unidades de codificación más profundas de acuerdo con las profundidades usando optimización de tasa-distorsión basándose en multiplicadores de Lagrange.
El emisor 130 emite los datos de imagen de la LCU, que se codifican basándose en la al menos una profundidad codificada determinada por el determinador 120 de unidad de codificación, y la información acerca del modo de codificación de acuerdo con la profundidad codificada, en secuencias de bits.
Los datos de imagen codificados pueden ser un resultado de codificación de datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con la profundidad codificada puede incluir información acerca de la profundidad codificada, información acerca del tipo de partición en la unidad de predicción, información de modo de predicción, e información de tamaño de la TU.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con las profundidades, que indica si se realiza codificación en unidades de codificación de una profundidad inferior en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, se codifican y emiten datos de imagen en la unidad de codificación actual, y por lo tanto la información de división puede definirse para que no divida la unidad de codificación actual en una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad inferior, y por lo tanto la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, se realiza codificación en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Puesto que al menos existe una unidad de codificación de la profundidad inferior en una unidad de codificación de la profundidad actual, la codificación se realiza de manera repetitiva en cada unidad de codificación de la profundidad inferior, y por lo tanto la codificación puede realizarse de manera recursiva para las unidades de codificación que tienen la misma profundidad.
Puesto que las unidades de codificación que tienen una estructura de árbol se determinan para una LCU, y se determina información acerca de al menos un modo de codificación para una unidad de codificación de una profundidad codificada, puede determinarse información acerca de al menos un modo de codificación para una LCU. También, una profundidad codificada de los datos de imagen de la LCU puede ser diferente de acuerdo con las localizaciones puesto que los datos de imagen se dividen de manera jerárquica de acuerdo con las profundidades, y por lo tanto puede establecerse la información acerca de la profundidad codificada y el modo de codificación para los datos de imagen.
Por consiguiente, el emisor 130 puede asignar información de codificación acerca de una correspondiente profundidad codificada y un modo de codificación a al menos una de la unidad de codificación, la unidad de predicción, y una unidad mínima incluida en la LCU.
La unidad mínima de acuerdo con una realización de la presente invención es una unidad de datos con forma cuadrada obtenida dividiendo por 4 la unidad de codificación más pequeña que constituye la profundidad más inferior. Como alternativa, la unidad mínima puede ser una unidad de datos con forma cuadrada máxima que puede estar incluida en todas las unidades de codificación, unidades de predicción, unidades de partición y TU incluidas en la LCU.
Por ejemplo, la información de codificación emitida a través del emisor 130 puede clasificarse en información de codificación de acuerdo con unidades de codificación e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un inter modo, acerca de un índice de imagen de referencia del inter modo, acerca de un vector de movimiento, acerca de un componente de crominancia de un intra modo, y acerca de un procedimiento de interpolación del intra modo. También, puede insertarse información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con instantáneas, cortes o GOP, e información acerca de una profundidad máxima en un encabezamiento de una secuencia de bits.
En el aparato 100 de codificación de vídeo, la unidad de codificación más profunda puede ser una unidad de codificación obtenida dividiendo por dos una altura o anchura de una unidad de codificación de una profundidad superior, que se encuentra una capa por encima. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2N*2N, el tamaño de la unidad de codificación de la profundidad inferior es N*N. También, la unidad de codificación de la profundidad actual que tiene el tamaño de 2N*2N puede incluir un número máximo de cuatro unidades de codificación de la profundidad inferior.
Por consiguiente, el aparato 100 de codificación de vídeo puede formar las unidades de codificación que tienen la estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada LCU, basándose en el tamaño de la LCU y la profundidad máxima determinados considerando características de la instantánea actual. También, puesto que puede realizarse codificación en cada LCU usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptimo considerando características de la unidad de codificación de diversos tamaños de imagen.
Por lo tanto, si una imagen que tiene una alta resolución o una gran cantidad de datos se codifica en un macrobloque convencional, un número de macrobloques por instantánea aumenta de manera excesiva. Por consiguiente, un número de piezas de información comprimida generadas para cada macrobloque aumenta, y por lo tanto es difícil transmitir la información comprimida y la eficacia de compresión datos se reduce. Sin embargo, usando el aparato 100 de codificación de vídeo, puede aumentarse la eficacia de compresión de imágenes puesto que una unidad de codificación se ajusta mientras se consideran características de una imagen mientras aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
La Figura 2 es un diagrama de bloques de un aparato 200 de decodificación de vídeo de acuerdo con una realización de la presente invención.
El aparato 200 de decodificación de vídeo incluye un receptor 210, un restador 220 de datos de imagen e información de codificación, y un decodificador 230 de datos de imagen. Las definiciones de diversos términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una TU, e información acerca de diversos modos de codificación, para diversas operaciones del aparato 200 de decodificación de vídeo son idénticas a aquellas descritas con referencia a la Figura 1 y al aparato 100 de codificación de vídeo.
El receptor 210 recibe y analiza una secuencia de bits de un vídeo codificado. El extractor 220 de datos de imagen e información de codificación extrae datos de imagen codificados para cada unidad de codificación desde la secuencia de bits analizada, en el que las unidades de codificación tienen una estructura de árbol de acuerdo con cada LCU, y emite los datos de imagen extraídos al decodificador 230 de datos de imagen. El extractor 220 de datos de imagen e información de codificación puede extraer información acerca de una LCU de una instantánea actual, desde un encabezamiento de la instantánea actual.
También, el extractor 220 de datos de imagen e información de codificación extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada lCu , a partir de la secuencia de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al decodificador 230 de datos de imagen. En más detalle, los datos de imagen en una secuencia de bits pueden dividirse en la LCU de modo que el decodificador 230 de datos de imagen puede decodificar los datos de imagen para cada LCU.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la LCU puede establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada, y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una TU. También, la información de división de acuerdo con las profundidades puede extraerse como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada LCU extraída por el extractor 220 de datos de imagen e información de codificación es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato 100 de codificación de vídeo, realiza de manera repetitiva codificación para cada unidad de codificación más profunda de acuerdo con las profundidades de acuerdo con cada LCU. Por consiguiente, el aparato 200 de decodificación de vídeo puede restaurar una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Puesto que la información de codificación acerca de la profundidad codificada y el modo de codificación pueden asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción, y una unidad mínima, el extractor 220 de datos de imagen e información de codificación puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación pueden inferirse para que sean las unidades de datos incluidas en las misma LCU.
El decodificador 230 de datos de imagen restaura la instantánea actual decodificando los datos de imagen en cada LCU basándose en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las LCU. En otras palabras, el decodificador 230 de datos de imagen puede decodificar los datos de imagen codificados basándose en la información extraída acerca del tipo de partición, el modo de predicción, y la TU para cada unidad de codificación de entre las unidades de codificación que tienen la estructura de árbol incluida en cada LCU. Un procedimiento de decodificación puede incluir predicción que incluye intra predicción y compensación de movimiento, y transformación inversa.
El decodificador 230 de datos de imagen puede realizar intra predicción o compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, basándose en la información acerca del tipo de partición y el modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo con las profundidades codificadas.
También, el decodificador 230 de datos de imagen puede realizar transformación inversa de acuerdo con cada TU en la unidad de codificación, basándose en la información acerca del tamaño de la TU de la unidad de codificación de acuerdo con las profundidades codificadas, para realizar la transformación inversa de acuerdo con las LCU.
El decodificador 230 de datos de imagen puede determinar al menos una profundidad codificada de una LCU actual usando información de división de acuerdo con las profundidades. Si la información de división indica que los datos de imagen ya no se dividen más en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 de datos de imagen puede decodificar la unidad de codificación de la profundidad actual con respecto a los datos de imagen de la LCU actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción, y el tamaño de la TU.
En otras palabras, pueden recogerse las unidades de datos que contienen la información de codificación que incluyen la misma información de división observando la información de codificación establecida asignada para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción, y la unidad mínima, y las unidades de datos recogidas puede considerarse que son una unidad de datos a decodificarse por el decodificador 230 de datos de imagen en el mismo modo de codificación.
El aparato 200 de decodificación de vídeo puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando se realiza de manera recursiva codificación para cada LCU, y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden decodificarse datos de imagen codificados de las unidades de codificación que tienen la estructura de árbol determinada para que sean las unidades de codificación óptimas en cada LCU.
Por consiguiente, incluso si los datos de imagen tienen una alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse de manera eficaz y restaurarse usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptativa de acuerdo con características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido de un codificador.
Un procedimiento de determinación unidades de codificación que tienen una estructura de árbol, una unidad de predicción, y una TU, de acuerdo con una realización de la presente invención, se describirá ahora con referencia a las Figuras 3 a 13.
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención.
Un tamaño de una unidad de codificación puede expresarse en anchuraxaltura, y puede ser 64x64, 32x32, 16x16 y 8x8. Una unidad de codificación de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64 o 32x32; y una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32 o 16x16; una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16 u 8x8; y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8 o 4x4.
En los datos 310 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos 320 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos 330 de vídeo, una resolución es 352x288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 3 indica un número total de divisiones de una LCU a una unidad de codificación más pequeña.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para no requerir únicamente eficacia de codificación sino también para reflejar de manera precisa características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de vídeo que tiene la resolución más alta que los datos 330 de vídeo puede ser 64.
Puesto que la profundidad máxima de los datos 310 de vídeo es 2, las unidades 315 de codificación de los datos 310 de video pueden incluir una LCU que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de ejes largos de 32 y 16 puesto que las profundidades se hacen profundas a dos capas dividiendo la LCU dos veces. Mientras tanto, puesto que la profundidad máxima de los datos 330 de vídeo es 1, las unidades 335 de codificación de los datos 330 de vídeo pueden incluir una LCU que tiene un tamaño de eje largo de 16, y unidades de codificación que tienen un tamaño de eje largo de 8 puesto que las profundidades se hacen profundas a una capa dividiendo la LCU una vez.
Puesto que la profundidad máxima de los datos 320 de vídeo es 3, las unidades 325 de codificación de los datos 320 de vídeo pueden incluir una LCU que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32, 16 y 8 puesto que las profundidades se hacen profundas a 3 capas dividiendo la LCU tres veces. A medida que una profundidad se hace profunda, puede expresarse de manera precisa información detallada.
La Figura 4 es un diagrama de bloques de un codificador 400 de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención.
El codificador 400 de imagen realiza operaciones realizadas cuando el determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo codifica datos de imagen. En más detalle, un intra predictor410 realiza intra predicción en unidades de codificación en un intra modo, con respecto a un fotograma 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento respectivamente realizan inter estimación y compensación de movimiento en unidades de codificación en un inter modo usando el fotograma 405 actual y un fotograma 495 de referencia.
Los datos emitidos desde el intra predictor410, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restaura como datos en un dominio espacial a través de un cuantificador 460 inverso y un transformador 470 inverso, y los datos restaurados en el dominio espacial se emiten como el fotograma 495 de referencia después de post-procesarse a través de una unidad 480 de desbloqueo y una unidad 490 de filtración de bucle. El coeficiente de transformación cuantificado puede emitirse como una secuencia de bits 455 a través de un codificador 450 por entropía.
Para que el codificador 400 de imagen se aplique en el aparato 100 de codificación de vídeo, todos los elementos del codificador 400 de imagen, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 por entropía, el cuantificador 460 inverso, el transformador 470 inverso, la unidad 480 de desbloqueo, y la unidad de filtración en bucle 490, realizan operaciones basándose en cada unidad de codificación de entre unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada LCU.
Específicamente, el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento deberían determinar particiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras se considera el tamaño máximo y la profundidad máxima de una LCU actual, y el transformador 430 determina el tamaño de la TU en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
La Figura 5 es un diagrama de bloques de un decodificador 500 de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención.
Un analizador 510 analiza datos de imagen codificados a decodificarse y la información acerca de la codificación requerida para decodificación a partir de una secuencia de bits 505. Los datos de imagen codificados se emiten como datos cuantificados inversos a través de un decodificador 520 por entropía y un cuantificador 530 inverso, y los datos cuantificados inversos se restauran a datos de imagen en un dominio espacial a través de un transformador 540 inverso.
Un intra predictor 550 realiza intra predicción en unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador 560 de movimiento realiza compensación de movimiento en unidades de codificación en un inter modo usando un fotograma 585 de referencia.
Los datos de imagen en el dominio espacial, que se pasan a través del intra predictor 550 y el compensador 560 de movimiento, pueden emitirse como un fotograma restaurado después de post-procesarse a través de una unidad 570 de desbloqueo y una unidad 580 de filtración de bucle. También, los datos de imagen, que se post-procesan a través de la unidad 570 de desbloqueo y la unidad 580 de filtración en bucle, pueden emitirse como el fotograma 595 de referencia.
Para que el decodificador 230 de datos de imagen del aparato 200 de decodificación de vídeo decodifique datos de imagen, pueden realizarse las operaciones después del analizador 510 del decodificador 500 de imagen.
Para que el decodificador 500 de imagen se aplique en el aparato 200 de decodificación de vídeo, todos los elementos del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador 530 inverso, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, la unidad 570 de desbloqueo, y la unidad 580 de filtración en bucle, realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada LCU.
Específicamente, el intra predictor 550 y el compensador 560 de movimiento determinan una partición y un modo de predicción para cada unidad de codificación que tiene una estructura de árbol, y el transformador 540 inverso tiene que determinar un tamaño de una TU para cada unidad de codificación.
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo usan unidades de codificación jerárquica para considerar características de una imagen. Puede determinarse una altura máxima, una anchura máxima, y una profundidad máxima de unidades de codificación de manera adaptativa de acuerdo con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Pueden determinarse tamaños de unidades de codificación más profundas de acuerdo con las profundidades de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura 600 jerárquica de unidades de codificación de acuerdo con una realización de la presente invención, la altura máxima y la anchura máxima de las unidades de codificación son cada una 64, y la profundidad máxima es 4. Puesto que una profundidad se hace profunda a lo largo de un eje vertical de la estructura 600 jerárquica, se divide cada una de una altura y una anchura de la unidad de codificación más profunda. También, una unidad de predicción y particiones, que son las bases para codificación de predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una LCU en la estructura 600 jerárquica, en la que una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad se hace profunda a lo largo del eje vertical, y existe una unidad 620 de codificación que tiene un tamaño de 32x32 y una profundidad de 1, una unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2, una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y una unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es una unidad de codificación más pequeña.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene el tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación más pequeña y una unidad de codificación de la profundidad más inferior. Una unidad de predicción de la unidad 650 de codificación se asigna únicamente a una partición que tiene un tamaño de 4x4.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la LCU 610, el determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la LCU 610.
El número de unidades de codificación más profundas de acuerdo con las profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que la profundidad se hace más profunda. Por ejemplo, se requieren cuatro unidades de codificación que corresponden a una profundidad de 2 para cubrir datos que están incluidos en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, para comparar resultados de codificación de los mismos datos de acuerdo con las profundidades, se codifica cada una de la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2.
Para realizar codificación para una profundidad actual de entre las profundidades, puede seleccionarse un error de codificación mínimo para la profundidad actual realizando codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica. Como alternativa, el error de codificación mínimo puede buscarse para comparar los mínimos errores de codificación de acuerdo con las profundidades y realizar codificación para cada profundidad a medida que la profundidad se hace más profunda a lo largo del eje vertical de la estructura 600 jerárquica. Una profundidad y una partición que tienen el error de codificación mínimo en la unidad 610 de codificación pueden seleccionarse como la profundidad codificada y un tipo de partición de la unidad 610 de codificación.
La Figura 7 es un diagrama para describir una relación entre una unidad 710 de codificación y las TU 720, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo codifican o decodifican una imagen de acuerdo con unidades de codificación que tienen tamaños menores o iguales que una LCU para cada LCU. Los tamaños de las TU para transformación durante la codificación pueden seleccionarse basándose en unidades de datos que no son mayores que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo, si un tamaño de la unidad 710 de codificación es 64x64, puede realizarse transformación usando las TU 720 que tienen un tamaño de 32x32.
También, los datos de la unidad 710 de codificación que tiene el tamaño de 64x64 pueden codificarse realizando la transformación en cada una de las TU que tienen el tamaño de 32x32, 16x16, 8x8 y 4x4, que son menores que 64x64, y a continuación puede seleccionarse una TU que tiene el error de codificación mínimo.
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención.
Una unidad 130 de salida del aparato 100 de codificación de vídeo puede codificar y transmitir información 800 acerca de un tipo de partición, información 810 acerca de un modo de predicción, e información 820 acerca de un tamaño de una TU para cada unidad de codificación que corresponde a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una forma de una partición obtenida dividiendo una unidad de predicción de una unidad de codificación actual, en el que la partición es una unidad de datos para codificación de predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene un tamaño de 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N, y una partición 808 que tiene un tamaño de NxN. En este punto, la información 800 acerca de un tipo de partición se establece para indicar una de la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N, y la partición 808 que tiene un tamaño de NxN
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación de predicción realizado en una partición indicada por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo de salto 816.
La información 820 indica una TU en la que ha de basarse cuando se realiza transformación en una unidad de codificación actual. Por ejemplo, la TU puede ser una primera intra TU 822, una segunda intra TU 824, una primera inter TU 826, o una segunda inter TU 828.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer y usar la información 800, 810 y 820 para decodificación, de acuerdo con cada unidad de codificación más profunda.
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización de la presente invención.
La información de división puede usarse para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide en unidades de codificación de una profundidad inferior.
Una unidad 910 de predicción para codificación de predicción de una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0*2N_0 puede incluir particiones de un tipo 912 de partición que tiene un tamaño de 2N_0*2N_0, un tipo 914 de partición que tiene un tamaño de 2N_0*N_0, un tipo 916 de partición que tiene un tamaño de N_0*2N_0, y un tipo 918 de partición que tiene un tamaño de N_0*N_0. La Figura 9 únicamente ilustra los tipos 912 a 918 de partición que se obtienen dividiendo simétricamente la unidad 910 de predicción, pero un tipo de partición no está limitado a los mismos, y las particiones de la unidad 910 de predicción pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada, y particiones que tienen una forma geométrica.
La codificación de predicción se realiza de manera repetitiva en una partición que tiene un tamaño de 2N_0*2N_0, dos particiones que tienen un tamaño de 2N_0*N_0, dos particiones que tienen un tamaño de N_0*2N_0, y cuatro particiones que tienen un tamaño de N_0*N_0, de acuerdo con cada tipo de partición. La codificación por predicción en un intra modo y un inter modo puede realizarse en las particiones que tienen los tamaños de 2N_0*2N_0, N_0*2N_0, 2N_0*N_0, y N_0*N_0. La codificación por predicción en un modo de salto se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es el más pequeño en uno de los tipos 912 a 916 de partición que tienen los tamaños de 2N_0*2N_0, 2N_0*N_0, y N_0*2N_0, la unidad 910 de predicción puede no dividirse en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo 918 de partición que tiene el tamaño de N_0xN_0, una profundidad se cambia de 0 a 1 para dividir el tipo 918 de partición en la operación 920, y se realiza codificación de manera repetitiva en unidades de codificación de tipo de partición que tienen una profundidad de 2 y un tamaño de N_0*N_0 para buscar un error de codificación mínimo.
Una unidad 940 de predicción para codificación de predicción de la (tipo de partición) unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1*2N_1 (=N_0xN_0) puede incluir particiones de un tipo de partición 942 que tiene un tamaño de 2N_1*2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1*2N_1, y un tipo 948 de partición que tiene un tamaño de N_1*N_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición que tiene el tamaño de N_1xN_1, una profundidad se cambia de 1 a 2 para dividir el tipo 948 de partición en la operación 950, y se realiza codificación de manera repetitiva en unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2*N_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, puede realizarse una operación de división de acuerdo con cada profundidad hasta cuando una profundidad se vuelve d-1, y la información de división puede codificarse hasta cuando una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después de que se divide una unidad de codificación que corresponde a una profundidad de d-2 en la operación 970, una unidad 990 de predicción para codificación de predicción una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1)*2N_(d-1) puede incluir particiones de un tipo de partición 992 que tiene un tamaño de 2N_(d-1)*2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)*N_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)*2N_(d-1), y un tipo 998 de partición que tiene un tamaño de N_(d-1)*N_(d-1).
La codificación por predicción puede realizarse de manera repetitiva en una partición que tiene un tamaño de 2N_(d-1)*2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)*N_(d-1), dos particiones que tienen un tamaño de N_(d-1 )*2N_(d-1), cuatro particiones que tienen un tamaño de N_(d-1 )*N_(d-1) de entre los tipos de partición 992 a 998 para buscar para un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición que tiene el tamaño de N_(d-1)*N_(d-1) tiene el error de codificación mínimo, puesto que una profundidad máxima es d, una unidad de codificación CU_(d-1) que tiene una profundidad de d-1 ya no se divide más a una profundidad inferior, y una profundidad codificada para las unidades de codificación que constituyen la LCU actual 900 se determina que es d-1 y un tipo de partición de la LCU actual 900 puede determinarse para que sea N_(d-1)*N_(d-1). También, puesto que la profundidad máxima es d, no se establece información de división para la unidad 980 de codificación más pequeña.
Una unidad 999 de datos puede ser una 'unidad mínima' para la LCU actual. Una unidad mínima de acuerdo con una realización de la presente invención puede ser una unidad de datos rectangular obtenida dividiendo por 4 la unidad 980 de codificación más pequeña. Realizando la codificación de manera repetitiva, el aparato 100 de codificación de vídeo puede seleccionar una profundidad que tiene el error de codificación mínimo comparando errores de codificación de acuerdo con las profundidades de la unidad 900 de codificación para determinar una profundidad codificada, y establecer un tipo de partición correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con las profundidades se comparan en todas las profundidades de 0 a través de d, y una profundidad que tiene el error de codificación mínimo puede determinarse como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción, y el modo de predicción pueden codificarse y transmitirse como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide de una profundidad de 0 a una profundidad codificada, únicamente se establece información de división de la profundidad codificada a 0, y la información de división de profundidades excluyendo la profundidad codificada se establece a 1.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la unidad 912 de codificación. El aparato 200 de decodificación de vídeo puede determinar una profundidad, en el que la información de división es 0, como una profundidad codificada usando información de división de acuerdo con las profundidades, y usar información acerca de un modo de codificación de la correspondiente profundidad para decodificación.
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades 1010 de codificación, unidades 1060 de predicción, y las TU 1070 de acuerdo con una realización de la presente invención.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, que corresponden a profundidades codificadas determinadas por el aparato 100 de codificación de vídeo, en una LCU. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación, y las TU 1070 son TU de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una LCU es 0 en las unidades 1010 de codificación, las profundidades de las unidades 1012 y 1054 de codificación son 1, las profundidades de las unidades 1014, 1016, 1018, 1028, 1050 y 1052 de codificación son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032 y 1048 de codificación son 3, y las profundidades de las unidades 1040, 1042, 1044 y 1046 de codificación son 4.
En las unidades 1060 de predicción, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 de codificación se obtienen dividiendo las unidades de codificación. En otras palabras, los tipos de partición en las unidades 1014, 1022, 1050 y 1054 de codificación tienen un tamaño de 2N*N, los tipos de partición en las unidades 1016, 1048 y 1052 de codificación tienen un tamaño de N*2N, y un tipo de partición de la unidad de codificación 1032 tiene un tamaño de NxN. Las unidades de predicción y las particiones de las unidades 1010 de codificación son menores o iguales que cada unidad de codificación.
Se realiza transformación o transformación inversa en datos de imagen de la unidad 1052 de codificación en las TU 1070 en una unidad de datos que es menor que la unidad 1052 de codificación. También, las unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 de codificación en las TU 1070 son diferentes de aquellas en las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo pueden realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación, y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación.
Por consiguiente, la codificación se realiza de manera recursiva en cada una de las unidades de codificación que tienen una estructura jerárquica en cada región de una LCU para determinar una unidad de codificación óptima, y por lo tanto pueden obtenerse unidades de codificación que tienen una estructura de árbol recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción, e información acerca de un tamaño de una TU. LA Tabla 1 muestra la información de codificación que puede establecerse por el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo.
[Tabla 1]
Figure imgf000014_0001
El emisor 130 del aparato 100 de codificación de vídeo puede emitir la información de codificación de las unidades de codificación que tienen una estructura de árbol, y el extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer la información de codificación de las unidades de codificación que tienen una estructura de árbol desde una secuencia de bits recibida.
La información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad inferior. Si la información de división de una profundidad actual d es 0, una profundidad, en la que una unidad de codificación actual ya no se divide en una profundidad inferior, es una profundidad codificada, y por lo tanto puede definirse la información acerca de un tipo de partición, un modo de predicción, y un tamaño de una TU para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, se realiza de manera independiente decodificación en cuatro unidades de codificación de división de una profundidad inferior.
Un modo de predicción puede ser uno de un intra modo, un inter modo, y un modo de salto. El intra modo y el inter modo pueden definirse en todos los tipos de partición, y el modo de salto se define únicamente en un tipo de partición que tiene un tamaño de 2N*2N.
La información acerca del tipo de partición puede indicar tipos de partición simétricas que tienen tamaños de 2N*2N, 2N*N, N*2N, y NxN, que se obtienen dividiendo simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétricas que tienen tamaños de 2N*nU, 2N*nD, nL*2N y nR*2N, que se obtienen dividiendo asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétrica que tienen los tamaños de 2N*nU y 2N*nD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1:3 y 3:1, y los tipos de partición asimétricas que tienen los tamaños de nL*2N y nR*2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:3 y 3:1.
El tamaño de la TU puede establecerse para que sea dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si la información de división de la TU es 0, el tamaño de la TU puede ser 2N*2N, que es el tamaño de la unidad de codificación actual. Si la información de división de la TU es 1, las TU pueden obtenerse dividiendo la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2N*2N es un tipo de partición simétrica, un tamaño de una TU puede ser NxN, y si el tipo de partición de la unidad de codificación actual es un tipo de partición asimétrica, el tamaño de la TU puede ser N/2*N/2.
La información de codificación de unidades de codificación que tienen una estructura de árbol puede incluir al menos una de una unidad de codificación que corresponde a una profundidad codificada, una unidad de predicción, y una unidad mínima. La unidad de codificación que corresponde a la profundidad codificada puede incluir al menos una de una unidad de predicción y una unidad mínima que contiene la misma información de codificación.
Por consiguiente, se determina si las unidades de datos adyacentes están incluidas en la misma unidad de codificación que corresponde a la profundidad codificada comparando información de codificación de las unidades de datos adyacentes. También, se determina una unidad de codificación correspondiente que corresponde a una profundidad codificada usando información de codificación de una unidad de datos, y por lo tanto puede determinarse una distribución de profundidades codificadas en una LCU.
Por consiguiente, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, puede hacerse referencia directamente a información de codificación de unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual y usarse.
Como alternativa, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, se buscan unidades de datos adyacentes a la unidad de codificación actual usando información de codificación de las unidades de datos, y las unidades de codificación adyacentes buscadas pueden hacerse referencia para predecir la unidad de codificación actual.
La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción, y una TU de acuerdo con la información de modo de codificación de la Tabla 1.
Una LCU 1300 incluye las unidades 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de codificación de profundidades codificadas. En este punto, puesto que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división puede establecerse a 0. La información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2N*2N puede establecerse para que sea uno de un tipo 1322 de partición que tiene un tamaño de 2N*2N, un tipo 1324 de partición que tiene un tamaño de 2N*N, un tipo 1326 de partición que tiene un tamaño de N*2N, un tipo 1328 de partición que tiene un tamaño de N*N, un tipo 1332 de partición que tiene un tamaño de 2N*nU, un tipo 1334 de partición que tiene un tamaño de 2N*nD, un tipo 1336 de partición que tiene un tamaño de nL*2N, y un tipo 1338 de partición que tiene un tamaño de nR*2N.
Cuando el tipo de partición se establece para que sea simétrica, es decir el tipo 1322, 1324, 1326 o 1328 de partición, se establece una TU 1342 que tiene un tamaño de 2N*2N si la información de división (bandera de tamaño de TU) de una TU es 0, y se establece una TU 1344 que tiene un tamaño de N*N si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para ser asimétrica, es decir, el tipo 1332, 1334, 1336, o 1338 de partición, se establece una TU 1352 que tiene un tamaño de 2N*2N si una bandera de tamaño de TU es 0, y se establece una TU 1354 que tiene un tamaño de N/2*N/2 si una bandera de tamaño de TU es 1.
Un procedimiento de codificación de un parámetro de cuantificación (QP) en el cuantificador 440 y el codificador 450 por entropía del codificador 400 de imagen ilustrado en la Figura 4, y un procedimiento de decodificación del QP en el decodificador 520 por entropía y el cuantificador 530 inverso del decodificador 500 de imagen ilustrado en la Figura 5 se describirán ahora en detalle.
La Figura 14 es un diagrama de bloques detallado del cuantificador 440 ilustrado en la Figura 4, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 14, el cuantificador 440 incluye un realizador 1410 de cuantificador, un predictor 1420 de QP, y un restador 1430.
El realizador 1410 de cuantificación cuantifica datos residuales transformados al dominio de la frecuencia. El realizador 1410 de cuantificación puede realizar cuantificación basándose en un valor obtenido dividiendo datos de entrada por una etapa de cuantificación Q_Step determinada de acuerdo con un QP. Por ejemplo, el realizador 1410 de cuantificación puede realizar cuantificación en datos de entrada Coeff basándose en la siguiente ecuación; Q_Coeff=sgn(Coeff)*round[(Coeff)/Q_Step+Offset], En este punto, Offset indica un desplazamiento, Q_Step indica una etapa de cuantificación, y Q_Coeff indica un valor de resultado cuantificado. Round[X] indica una operación para emitir un número entero que no es mayor que y es el más cercano a un número real X. Sgn(Coeff) indica una función que tiene el valor 1 si el valor de Coeff es mayor que 0, y que tiene el valor -1 si el valor de Coeff es menor que 0. Como se ha descrito anteriormente, el realizador 1410 de cuantificación puede realizar cuantificación dividiendo los datos de entrada por la etapa de cuantificación Q_Step. La etapa de cuantificación Q_Step puede tener un valor determinado de acuerdo con el QP. Por ejemplo, la etapa de cuantificación Q_Step puede determinarse de acuerdo con el QP como se muestra en la Tabla 2.
[Tabla 2]
Figure imgf000015_0001
Haciendo referencia a la Tabla 2, cada vez que el QP se aumenta por 6, la etapa de cuantificación Q_Step se dobla. La cuantificación usando el QP y la etapa de cuantificación Q_Step de acuerdo con el QP no están limitadas al ejemplo anteriormente descrito y pueden variar.
De manera opuesta a la cuantificación, se realiza cuantificación inversa usando un valor obtenido multiplicando la etapa de cuantificación Q_Step determinada de acuerdo con el QP, por los datos de entrada. Por ejemplo, puede realizarse cuantificación inversa usando un valor obtenido multiplicando un coeficiente de cuantificación Q_Coeff por la etapa de cuantificación Q_Step y a continuación añadiendo un desplazamiento predeterminado, como se muestra en la siguiente ecuación; lnverseQ_Coeff=sgn(Q_coeff)*round[Q_Coeff*Q_Step+Offset].
El predictor 1420 de QP obtiene un QP previsto QP_Pred que es un valor de predicción de un QP aplicado a una unidad de codificación actual. Como se ha descrito anteriormente, para realizar cuantificación y cuantificación inversa en los datos de entrada, se requiere información de QP. Para reducir la cantidad de datos, únicamente una diferencia entre el QP y el previsto a restaurarse obteniendo el QP previsto QP_Pred como en el procedimiento de codificación y añadiendo la diferencia incluida en una secuencia de bits. El predictor 1420 de QP puede obtener el QP previsto QP_Pred usando un QP determinado cuando se cuantifica una unidad de codificación previamente codificada. Específicamente, con respecto a una unidad de codificación cuantificada inicialmente de unidades de datos predeterminadas, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando un QP inicial de nivel de corte SliceQP. En más detalle, el predictor 1420 de QP puede predecir el QP previsto QP_Pred de un primer grupo de cuantificación de una unidad de datos codificable en paralelo incluida en un segmento de corte, usando el QP inicial de nivel de corte SliceQP. Un grupo de cuantificación indica un conjunto de una o más unidades de codificación que comparten el mismo QP previsto QP_Pred. El grupo de cuantificación puede incluir una unidad de codificación o una pluralidad de unidades de codificación. Como se describirá a continuación, la unidad de datos codificable en paralelo puede ser un hilo que incluye la LCU de la misma fila de acuerdo con procesamiento paralelo de frente de onda (WPP), o una pieza obtenida particionando una instantánea con respecto a al menos un límite de columna y/o un límite de fila.
También, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando los QP determinados en unidades de codificación adyacentes. El procedimiento de obtención del QP previsto QP_Pred se describirá en detalle a continuación.
El predictor 1420 de QP emite información adicional para obtener el QP previsto QP_Pred, al codificador 450 por entropía.
El restador 1430 emite una diferencia de QP AQP que es una diferencia entre el QP aplicado a la unidad de codificación actual y el QP previsto QP_Pred.
La Figura 15 es un diagrama de bloques detallado del codificador 450 por entropía ilustrado en la Figura 4, de acuerdo con una realización de la presente invención.
El codificador 450 por entropía codifica aritméticamente elementos de sintaxis generados de acuerdo con un resultado de codificar un vídeo. Como un procedimiento de codificación aritmética, puede usarse codificación binaria aritmética adaptativa según contexto (CABAC). También, el codificador 450 por entropía genera una secuencia de bits transformando datos de vídeo codificados aritméticamente en una capa de codificación de vídeo e información acerca de diversos parámetros relacionados con codificación de vídeo, a un formato de acuerdo con una capa de abstracción de red.
En más detalle, haciendo referencia a la Figura 15, el codificador 450 por entropía incluye un generador 1510 de conjunto de parámetros de secuencia (SPS) para generar un SPS que incluye información de codificación de una secuencia total, por ejemplo, un perfil y un nivel, un generador 1520 de conjunto de parámetros de instantánea (PPS) para generar un PPS que incluye información de codificación de cada instantánea incluida en la secuencia, un generador 1530 de información de corte para generar información de corte que incluye información de codificación de segmentos de corte incluidos en una instantánea, y un generador 1540 de información de TU para generar información acerca de las TU usadas en un procedimiento de transformación. Como se describirá a continuación, el generador 1520 de PPS puede incluir la sintaxis init_qp_minus26, que indica un QP inicial de nivel de instantánea para obtener un QP inicial de nivel de corte SliceQP de cada corte incluido en una instantánea, en el PPS. También, el generador 1530 de información de corte puede incluir la sintaxis slice_qp_delta, que indica una diferencia entre la sintaxis init_qp_minus26 que indica el QP inicial de nivel de instantánea y el QP inicial de nivel de corte SliceQP, en un encabezamiento de corte.
Además de la estructura jerárquica ilustrada, el codificador 450 por entropía puede generar una secuencia de bits encapsulando información acerca de una unidad de datos de otra capa inferior, por ejemplo, información acerca de una unidad de codificación.
Como se ha descrito anteriormente, con respecto a una unidad de codificación cuantificada inicialmente (o un grupo de cuantificación) de una unidad de datos procesable en paralelo predeterminada, el predictor 1420 de QP puede obtener un QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP. En este punto, las unidades de datos predeterminadas son unidades de datos obtenidas particionando una instantánea de acuerdo con esquemas de particionamiento de instantánea, por ejemplo, cortes, segmentos de corte, o piezas.
La Figura 16 muestra segmentos de corte, cortes, y las LCU que son unidades de datos usadas para particionar una instantánea, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 16, la instantánea puede particionarse en una pluralidad de LCU. La Figura 16 muestra un ejemplo que la instantánea se particiona en 11 LCU en una dirección horizontal y 9 LCU en una dirección vertical, es decir, un total de 99 LCU. Como se ha descrito anteriormente en relación con las Figuras 1 a 13, cada LCU puede codificarse/decodificarse después de particionarse en unidades de codificación que tienen una estructura de árbol.
También, la instantánea puede particionarse en uno o más cortes de acuerdo con límites de corte. La Figura 16 muestra un ejemplo en el que la instantánea se particiona en dos cortes tal como un corte superior y un corte inferior con respecto a un límite de corte. También, un corte puede particionarse en uno o más segmentos de corte. La Figura 16 muestra un ejemplo en el que el corte superior se particiona en segmentos 1610, 1620 y 1630 de corte con respecto a límites de segmento de corte. También, el corte inferior incluye un segmento de corte 1640.
Cada uno de los segmentos 1610, 1620, 1630 y 1640 de corte puede clasificarse en un segmento de corte dependiente o un segmento de corte independiente de acuerdo con si hace referencia a información incluida en otro segmento de corte. Un segmento de corte dependiente es un segmento de corte en el que un elemento de sintaxis parcial incluido en un encabezamiento de segmento de corte puede determinarse con referencia a un elemento de sintaxis de un segmento de corte anterior que se ha procesado previamente de acuerdo con un orden de codificación/decodificación. Un segmento de corte independiente es un segmento de corte en el que puede determinarse un elemento de sintaxis de un encabezamiento de segmento de corte sin referencia a información de un segmento de corte anterior.
La Figura 17 muestra títulos y segmentos de corte que son unidades de datos usadas para particionar una instantánea, de acuerdo con una realización de la presente invención.
La Figura 17 muestra un ejemplo que una instantánea 1700 se particiona en tres piezas con respecto a límites 1701 y 1703 de columna. Una instantánea puede particionarse en una pluralidad de piezas con respecto a límites de columna y/o límites de fila. Aunque una instantánea se particiona en piezas con respecto a únicamente límites de columna en la Figura 17, la instantánea puede particionarse también en piezas con respecto a únicamente límites de fila o tanto a límites de fila como a límites de columna. También, una pieza puede incluir una pluralidad de segmentos de corte. La Figura 17 muestra un ejemplo en el que una pieza N° 1 se particiona en tres segmentos 1710, 1720 y 1730 de corte con respecto a los límites 1702 y 1704 de corte.
Una pieza es un conjunto de LCU particionadas con respecto a límites de columna y/o límites de fila, y es una unidad de procesamiento de datos independiente en la que no está permitida predicción o predicción de contexto a través de un límite de columna o un límite de fila. Es decir, una pieza es una unidad de procesamiento de datos independiente que no hace referencia a información a otra información de pieza, y una pluralidad de piezas puede procesarse en paralelo. La información de localización de límites de columna y límites de fila puede incluirse en un SPS o un PPS. En un procedimiento de decodificación, la información de localización de límites de columna y límites de fila puede obtenerse a partir de un SPS o un PPS, una instantánea puede particionarse en una pluralidad de piezas basándose en la información de localización obtenida de los límites de columna y los límites de fila, y a continuación las piezas particionadas pueden decodificarse en paralelo.
Por consiguiente, mientras que las piezas de la instantánea 1700 se procesan en paralelo, y cada pieza puede codificarse/decodificarse de acuerdo con las LCU. En la Figura 17, los números marcados en las LCU indican un orden de exploración de las LCU en cada pieza, es decir, un orden de codificación o decodificación.
De acuerdo con una realización de la presente invención, pueden definirse correlaciones entre segmentos de corte, cortes, piezas y las LCU, que son unidades de datos usadas para particionar una instantánea, como se describe a continuación.
Con respecto a cada corte y pieza, las LCU codificadas (decodificadas) de acuerdo con un orden de exploración predeterminado deberían satisfacer al menos una de las condiciones i y ii descritas a continuación.
(Condición i) Todas las LCU incluidas en un corte pertenecen a la misma pieza.
(Condición ii) Todas las LCU incluidas en una pieza pertenecen al mismo corte.
También, con respecto a cada segmento de corte y pieza, las LCU codificadas (decodificadas) de acuerdo con un orden de exploración predeterminado deberían satisfacer al menos una de las condiciones a y b descritas a continuación.
(Condición a) Todas las LCU incluidas en un segmento de corte pertenecen a la misma pieza.
(Condición b) Todas las LCU incluidas en una pieza pertenecen al mismo segmento de corte.
Dentro de un rango de satisfacción de al menos una de las condiciones i y ii y al menos una de las condiciones a y b, una instantánea puede particionarse usando cortes, segmentos de corte, piezas, y LCU.
Las Figuras 18A y 18B muestran correlaciones entre piezas, segmentos de corte, cortes, y las LCU, de acuerdo con una realización de la presente invención;
Haciendo referencia a la Figura 18A, una instantánea 1800 se particiona en cinco segmentos 1811, 1813, 1815, 1817 y 1819 de corte debido a las líneas 1803, 1805, 1807 y 1809 de límite de segmentos de corte. También, puesto que un corte se forma de un segmento 1811 de corte independiente y cuatro segmentos 1813, 1815, 1817 y 1819 de corte dependientes, la instantánea 1800 incluye un corte.
También, la instantánea 1800 se particiona en dos piezas debido a un límite 1801 de pieza. Como tal, una pieza izquierda incluye tres segmentos 1811, 1813 y 1815 de corte, y una pieza derecha incluye dos segmentos 1817 y 1819 de corte.
Inicialmente, se comprueba si los segmentos 1811, 1813, 1815, 1817 y 1819 de corte, las piezas, y las LCU satisfacen al menos una de las condiciones a y b anteriormente descritas en relación con la Figura 17. Todas las LCU de los segmentos 1811, 1813 y 1815 de corte están incluidas en la pieza izquierda, y por lo tanto satisfacen la condición a. Además, todas las LCU de los segmentos de corte 1817 y 1819 están incluidas en la pieza derecha, y por lo tanto también satisfacen la condición a.
Se comprueba si los cortes, las piezas, y las LCU satisfacen al menos una de las condiciones i y ii anteriormente descritas en relación con la Figura 17. Todas las LCU de la pieza izquierda están incluidas en un corte, y por lo tanto satisfacen la condición ii. Además, todas las LCU de la pieza derecha están incluidas en un corte, y por lo tano también satisfacen la condición ii.
Haciendo referencia a la Figura 18B, una instantánea 1850 se particiona en dos piezas, por ejemplo, una pieza izquierda y una pieza derecha, debido a una línea de límite 1851 de pieza. También, la instantánea 1850 se particiona en tres cortes debido a unas líneas 1866 y 1868 de límite de corte, la pieza izquierda se particiona en una pieza izquierda superior y una pieza izquierda inferior con respecto a la línea 1866 de límite de corte, y la pieza derecha está formada de un corte derecho.
La pieza izquierda superior se particiona en un segmento 1861 de corte independiente y un segmento 1865 de corte dependiente con respecto a una línea 1863 de límite de segmento de corte. La pieza izquierda inferior se particiona en un segmento 1881 de corte independiente y un segmento 1885 de corte dependiente con respecto a una línea 1883 de límite de segmento de corte. El corte derecho puede particionarse en un segmento 1891 de corte independiente y un segmento 1895 de corte dependiente con respecto a una línea 1893 de límite de segmento de corte.
Inicialmente, se comprueba si los segmentos 1861, 1865, 1881, 1885, 1891 y 1895 de corte, las piezas, y las LCU satisfacen al menos una de las condiciones a y b. Todas las LCU de los segmentos 1861 y 1865 de corte están incluidas en la pieza izquierda, y por lo tanto satisfacen la condición a. Además, todas las LCU de los segmentos 1881 y 1883 de corte están incluidas en la misma pieza izquierda, y por lo tanto también satisfacen la condición a. Adicionalmente, todas las LCU de los segmentos 1891 y 1893 de corte están incluidas en la misma pieza derecha, y por lo tanto también satisfacen la condición a.
Se comprueba si los cortes, las piezas, y las LCU satisfacen al menos una de las condiciones i y ii. Todas las LCU de la pieza izquierda superior están incluidas en la pieza izquierda, y por lo tanto satisfacen la condición i. Además, todas las LCU de la pieza izquierda inferior están incluidas en la pieza izquierda, y por lo tanto satisfacen la condición i. Adicionalmente, todas las LCU del corte derecho estás incluidas en la pieza derecha y todas las LCU de la pieza derecha están incluidas en el corte derecho, y por lo tanto satisfacen la condición i.
La Figura 19 es un diagrama de referencia para describir WPP, de acuerdo con una realización de la presente invención.
El WPP indica un procedimiento de procesamiento de una LCU después de procesar completamente una LCU superior derecha para codificación/decodificación paralela. En más detalle, el WPP establece un modelo de probabilidad de una primera LCU de cada hilo usando información de probabilidad obtenida procesando una segunda LCU de un hilo superior. Por ejemplo, haciendo referencia a la Figura 19, el codificador 450 por entropía establece un modelo de probabilidad de una primera LCU 1902 de un hilo 2 para codificación por entropía usando un modelo de probabilidad obtenido después de codificar por entropía una segunda LCU 1901 de un hilo 1. Como se ha descrito anteriormente, cuando las LCU de cada hilo se codifican por entropía, el codificador 450 por entropía puede usar una información de probabilidad actualizada procesando una LCU superior derecha, permitiendo de esta manera codificación por entropía paralela.
También, de acuerdo con WPP, puesto que una primera LCU de cada hilo se procesa después de que se procese completamente una segunda LCU de un hilo superior, las LCU de cada hilo puede obtenerse usando información de predicción de movimiento, por ejemplo, la información de vector de movimiento prevista, de las LCU de un hilo superior. Por consiguiente, en la Figura 19, las LCU incluidas en los hilos 1 a 4 pueden procesarse en paralelo después de que se procesen completamente las LCU superior derecha.
Las unidades de datos procesadas en paralelo después de que se asignen a múltiples núcleos de una unidad de procesamiento central (CPU) o una unidad de procesamiento de gráficos (GPU) de un aparato de codificación o un aparato de decodificación se definen como hilos. En más detalle, se supone que la CPU o la GPU incluyen cuatro múltiples núcleos y cuatro unidades de datos pueden procesarse en paralelo. En este caso, como se ilustra en la Figura 19, las LCU de los hilos 1 a 4 se asignan a los cuatro múltiples núcleos y se procesan en paralelo. Como se ha descrito anteriormente, de acuerdo con WPP, una LCU de un hilo N (N es un número entero) se procesa después de retardarse hasta que se procesa completamente una LCU superior derecha incluida en un hilo N-1.
De acuerdo con el WPP anteriormente descrito, en un procedimiento de codificación por entropía, una LCU de cada hilo puede determinar un modelo de probabilidad para codificación por entropía después de que se codifique de manera completa una LCU superior derecha. Sin embargo, de entre elementos de sintaxis a codificarse por entropía, la sintaxis cu_qp_delta que indica una diferencia entre un QP y un QP previsto QP_Pred puede no codificarse por entropía directamente. Esto es debido a que el QP previsto QP_Pred debería obtenerse para obtener la diferencia entre el QP y el QP previsto QP_Pred y usar un QP determinado en una unidad de codificación previamente procesada de acuerdo con, por ejemplo, un orden de exploración por filas. En más detalle, haciendo referencia a la Figura 19, de acuerdo con una técnica anterior, un QP previsto QP_Pred de una LCU 1903 puede predecirse como un QP de una LCU 1905 previamente procesada de acuerdo con un orden de exploración por filas, o un QP determinado en un procedimiento de cuantificación de una LCU 1904 previamente procesada en el mismo hilo. En cualquier caso, puede realizarse codificación por entropía de la LCU 1903 únicamente después de que se codifica completamente la LCU 1905 previamente procesada de acuerdo con un orden de exploración por filas o la LCU 1904 previamente procesada en el mismo hilo. Como se ha descrito anteriormente, si un QP previsto se obtiene basándose en un QP de una unidad de codificación anterior, puede retardarse el procesamiento hasta que se procese la unidad de codificación anterior y por lo tanto puede generarse un problema de cuello de botella. Por consiguiente, si un QP previsto se obtiene basándose en un QP de una unidad de codificación anterior, puede reducirse el rendimiento global de procesamiento paralelo.
De manera similar, en un procedimiento de decodificación por entropía, una LCU de cada hilo puede decodificarse por entropía después de que se decodifica por entropía completamente una LCU superior derecha. Incluso de acuerdo con WPP, en un procedimiento de cuantificación inversa, puede generarse un problema de cuello de botella. Para obtener un QP que es un parámetro requerido para realizar cuantificación inversa, debería realizarse en primer lugar un procedimiento de obtención de un QP previsto QP_Pred. De acuerdo con la técnica anterior anteriormente descrita, el QP previsto QP_Pred de la LCU 1903 puede predecirse como un QP determinado en un procedimiento de cuantificación inversa de la LCU 1905 previamente procesada de acuerdo con un orden de exploración por filas, o un QP determinado en un procedimiento de cuantificación inversa de la LCU 1904 previamente procesada en el mismo hilo. Por consiguiente, un procedimiento de decodificación de la LCU 1903 puede realizarse únicamente después de que se haya decodificado completamente la LCU 1905 previamente procesada de acuerdo con un orden de exploración por filas o la LCU 1904 previamente procesada en el mismo hilo.
Como se ha descrito anteriormente, si se usa un QP determinado en una LCU previamente procesada o un QP determinado en una LCU anterior del mismo hilo como un QP previsto QP_Pred para realizar cuantificación o cuantificación inversa en una LCU, el QP previsto QP_Pred puede obtenerse únicamente después de que se procese completamente la LCU anterior.
Por consiguiente, de acuerdo con una realización de la presente invención, puesto que un QP inicial de nivel de corte SliceQP se usa como un predictor de QP QP_Predictor de una unidad de datos inicialmente cuantificada de entre unidades de datos obtenidas particionando una instantánea, puede realizarse cuantificación/cuantificación inversa en la unidad de datos inicialmente cuantificada independientemente de un orden de procesamiento de unidades de datos.
La Figura 20 es un diagrama para describir un procedimiento de obtención de un QP previsto QP_Pred de una LCU incluida en un segmento de corte, de acuerdo con una realización de la presente invención. En la Figura 20, se supone que una instantánea 2000 se particiona en dos segmentos de corte con respecto a un límite de segmento de corte.
El realizador 1410 de cuantificación determina un QP óptimo para cuantificar unidades de codificación que tienen una estructura de árbol en consideración de un coste de tasa-distorsión (R-D), cuantifica las unidades de codificación que tienen una estructura de árbol usando el QP determinado, y emite información de QP.
El predictor 1420 de QP emite un QP previsto QP_Pred prediciendo un QP de cada unidad de codificación. El QP previsto QP_Pred puede predecirse usando diversos procedimientos en consideración de, por ejemplo, un orden de procesamiento o una localización de una unidad de codificación actual.
Por ejemplo, con respecto a una unidad de codificación cuantificada inicialmente de una unidad de datos procesable en paralelo incluida en un segmento de corte o una unidad de codificación cuantificada inicialmente incluida en una pieza, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando un QP inicial de nivel de corte SliceQP. Haciendo referencia a la Figura 20, con respecto a una unidad de codificación cuantificada inicialmente incluida en una primera LCU 2001 de un segmento de corte superior, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP. De manera similar, con respecto a una unidad de codificación cuantificada inicialmente incluida en una primera LCU 2004 de un segmento de corte inferior, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP.
También, con respecto a una unidad de codificación cuantificada inicialmente incluida en una primera LCU de cada hilo de un segmento de corte, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP. Haciendo referencia de vuelta a la Figura 20, con respecto a unidades de codificación cuantificadas inicialmente incluidas en las primeras LCU 2002 y 2003 de hilos del segmento de corte superior, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP. De manera similar, con respecto a unidades de codificación cuantificadas inicialmente incluidas en las primeras LCU 2005, 2006 y 2007 de hilos del segmento de corte inferior, el predictor 1420 de QP puede obtener el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP.
Específicamente, si una pluralidad de hilos que cada uno incluye las LCU de la misma fila son procesables en paralelo de acuerdo con WPP, con respecto a unidades de codificación cuantificadas inicialmente (un grupo de cuantificación) incluidas en primeras LCU de hilos de un segmento de corte, el predictor 1420 de QP puede predecir el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP. En otras palabras, en un procedimiento de cuantificación de acuerdo con WPP, el predictor 1420 de QP puede obtener el QP previsto QP_Pred de una unidad de codificación cuantificada inicialmente incluida en una primera LCU de cada hilo, usando el QP inicial de nivel de corte SliceQP. Si no se usa WPP, el predictor 1420 de QP puede obtener el QP previsto QP_Pred de únicamente una unidad de codificación cuantificada inicialmente incluida en una primera LCU de un segmento de corte, usando el QP inicial de nivel de corte SliceQP, y puede obtener los QP previstos QP_Pred de unidades de codificación distintas de la unidad de codificación cuantificada inicialmente, usando QP de unidades de codificación adyacentes.
También, con respecto a un grupo de cuantificación inicialmente cuantificado de cada pieza procesable en paralelo, el predictor 1420 de QP puede predecir el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP.
La Figura 21 es un diagrama para describir un procedimiento de obtención de un QP previsto QP_Pred de una unidad de codificación incluida en una LCU, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 21, un primer grupo 2110 de cuantificación a cuantificarse inicialmente e incluirse en una primera LCU de un segmento de corte de acuerdo con un orden de exploración predeterminado incluye la unidad de codificación a, b, c y d. El QP previsto QP_Pred de la unidad de codificación a se obtiene usando un Qp inicial de nivel de corte SliceQP. Las unidades de codificación a, b, c y d incluidas en el primer grupo 2110 de cuantificación son menores que una unidad de codificación más pequeña que puede tener la sintaxis cu_qp_delta, y por lo tanto tienen el mismo QP predicho QP_Pred.
Como otro ejemplo, con respecto a unidades de codificación distintas de las unidades de codificación iniciales a, b, c y d, el predictor 1420 de QP puede obtener el QP previsto QP_Pred basándose en un promedio de QP de unidades de codificación superiores e izquierdas adyacentes. Por ejemplo, los QP previstos de las unidades de codificación e, f, g y h de un grupo 2120 de cuantificación pueden determinarse usando un promedio de un QP QP_a de una unidad de codificación izquierda a y un QP de una unidad de codificación superior. Sin embargo, la unidad de codificación superior de las unidades de codificación e, f, g y h no está disponible, puede usarse en su lugar un QP de una unidad de codificación previamente procesada. Es decir, el predictor 1420 de QP puede obtener el QP previstos de las unidades de codificación e, f, g y h como se muestran a continuación.
QP_Pred_e=(QP_a QP_a+1 )>>1;
QP_Pred_f=(QP_a QP_e+1 )>>1;
QP_Pred_g=(QP_a QP_f+1)>>1;
y
QP_Pred_h=(QP_a QP_g+1 )>>1;
Los QP previstos de unidades de codificación i, j, ky I de un grupo 2130 de cuantificación pueden determinarse usando un promedio de un QP QP_P de una unidad de codificación izquierda p y un QP QP_y de una unidad de codificación superior y. Puesto que tanto el QP QP_P de la unidad de codificación izquierda p como el QP QP_y de una unidad de codificación superior y están disponibles, todas las unidades de codificación i, j, k, y I pueden tener (QP_p+QP_y+1)>>1 como su QP previsto.
Las unidades de codificación adyacentes superior e izquierda del primer grupo 2110 de cuantificación inicialmente procesadas no están disponibles, si los QP de las unidades de codificación adyacentes superior e izquierda de las unidades de codificación a, b, c, y d se suponen como el QP inicial de nivel de corte SliceQP, como las otras unidades de codificación, el QP previsto QP_Pred de las unidades de codificación a, b, c y d incluidas en el primer grupo 2110 de cuantificación inicialmente procesado también se considera como que se predicen usando un promedio de los QP de unidades de codificación adyacentes superior e izquierda.
Como se ha descrito anteriormente, con respecto a un primer grupo de cuantificación de una unidad de datos procesable en paralelo incluida en un segmento de corte, el predictor 1420 de QP obtiene el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP. Se describirá ahora un procedimiento de obtención del QP inicial de nivel de corte SliceQP.
El QP inicial de nivel de corte SliceQP puede obtenerse usando un QP inicial de nivel de instantánea init_qp_minus26, y la sintaxis slice_qp_delta que indica una diferencia entre el QP inicial de nivel de instantánea init_qp_minus26 y el QP inicial de nivel de corte SliceQP como se muestra en la siguiente ecuación; SliceQP=26+init_qp_minus26+slice_qp_delta. El QP inicial de nivel de instantánea init_qp_minus26 es un valor obtenido restando 26 de un promedio de los QP de unidades de codificación iniciales de cada corte incluido en una instantánea, o una constante preestablecida. La sintaxis slice_qp_delta corresponde a un valor de ajuste para determinar el QP inicial del nivel de corte SliceQP de unidades de codificación incluidas en un corte, y puede cambiarse debido a cu_qp_delta establecido en un nivel de unidad de codificación. El cu_qp_delta corresponde a un valor de ajuste para cambiar un QP en un nivel de unidad de codificación. Si cu_qp_delta_enable_flag se establece como 1, una unidad de codificación mayor que una unidad de codificación más pequeña determinada de acuerdo con la sintaxis diff_cu_qp_delta_depth puede no tener el cu_qp_delta. Por ejemplo, la información de sintaxis (cu_qp_delta) que indica una diferencia entre el QP inicial de nivel de corte SliceQP y un QP de una unidad de codificación cuantificada inicialmente incluida en una primera LCU de cada hilo puede incluirse en un conjunto de datos de TU que incluye información de transformación de unidades de codificación.
Las Figuras 22 a 24 muestran sintaxis incluida en encabezamientos de unidades de datos que tienen una estructura de árbol para predecir los QP, de acuerdo con las realizaciones de la presente invención.
La Figura 22 es una tabla que muestra sintaxis relacionada con QP proporcionado a un PPS, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 22, el generador 1520 de PPS puede incluir la sintaxis init_qp_minus262210, que es información adicional para obtener un QP inicial de nivel de corte SliceQP de cada corte incluido en una instantánea, en el PPS. También, el generador 1520 de PPS puede incluir cu_qp_delta_enabled_flag 2220, que es una bandera que indica si un QP puede cambiarse a un nivel de unidad de codificación, y diff_cu_qp_delta_depth 2230, que es sintaxis para determinar el tamaño de una unidad de codificación más pequeña que puede tener cu_qp_delta, en el PPS. La sintaxis diff_cu_qp_delta_depth 2230 puede indicar una profundidad del tamaño de la unidad de codificación más pequeña que puede tener el cu_qp_delta. Por ejemplo, cuando el tamaño de una LCU que tiene una profundidad 0 es 64x64, si la sintaxis diff_cu_qp_delta_depth 2230 tiene un valor de 2, únicamente las unidades de codificación que tienen profundidades iguales o menores que 2, es decir, unidades de codificación que tienen tamaños iguales o mayores que 16x16, pueden tener la cu_qp_delta. También, el generador 1520 de PPS puede incluir entropy_coding_sync_enabled_flag 2240, que indica si se realiza codificación por entropía paralela en una pluralidad de hilos incluidos en un segmento de corte, en el PPS. Si la entropy_coding_sync_enabled_flag 2240 es 1, indica que se realiza codificación por entropía paralela en una pluralidad de hilos de acuerdo con WPP como se ha descrito anteriormente. Si la entropy_coding_sync_enabled_flag 2240 es 0, indica que no se realiza codificación por entropía paralela de acuerdo con WPP.
Como se ha descrito anteriormente, específicamente, si se realiza WPP, con respecto a una unidad de codificación cuantificada inicialmente incluida en una primera LCU de un hilo incluido en un segmento de corte, el predictor 1420 de QP puede predecir un QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP. También, con respecto a un grupo de cuantificación inicialmente cuantificado de cada pieza procesable en paralelo, el predictor 1420 de QP puede predecir el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP.
La Figura 23 es una tabla que muestra sintaxis relacionada con el QP proporcionado a un encabezamiento de segmento de corte, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 23, el generador 1530 de información de corte puede incluir la sintaxis slice_qp_delta, que indica una diferencia entre la sintaxis init_qp_minus26 que indica un QP inicial de nivel de instantánea y un QP inicial de nivel de corte SliceQP, en un encabezamiento de corte.
La Figura 24 es una tabla que muestra sintaxis relacionada con QP añadido en información de TU, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 24, el generador 1540 de información de TU puede incluir información 2410 de tamaño (cu_qp_delta_abs) e información 2420 de singo (cu_qp_delta_sign) de la sintaxis cu_qp_delta, que indica una diferencia entre un QP en un nivel de unidad de codificación y un QP previsto QP_Pred, en la información de TU.
La Figura 25 es un diagrama de flujo de un procedimiento de codificación de vídeo de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 25, en la operación 2510, el realizador 1410 de cuantificación obtiene un QP usado para realizar cuantificación en unidades de codificación incluidas en un segmento de corte.
En la operación 2520, el predictor 1420 de QP determina un QP inicial de nivel de corte SliceQP para predecir un QP de un primer grupo de cuantificación de una unidad de datos codificable en paralelo incluida en el segmento de corte. Como se ha descrito anteriormente, la unidad de datos codificable en paralelo puede ser un hilo que incluye las LCU de la misma fila de acuerdo con WPP, o una pieza obtenida particionando una instantánea con respecto a al menos un límite de columna y/o un límite de fila.
En la operación 2530, el predictor 1420 de QP obtiene un QP previsto QP_Pred del primer grupo de cuantificación usando el QP inicial de nivel de corte determinado SliceQP. En más detalle, si se realiza codificación por entropía paralela en una pluralidad de hilos incluidos en un segmento de corte de acuerdo con WPP, el predictor 1420 de QP puede obtener el QP previsto QP_Pred de una unidad de codificación cuantificada inicialmente de una primera LCU de cada hilo, usando el QP inicial de nivel de corte SliceQP. También, con respecto a un grupo de cuantificación inicialmente cuantificado de cada pieza procesable en paralelo, el predictor 1420 de QP puede predecir el QP previsto QP_Pred usando el QP inicial de nivel de corte SliceQP.
También, incluso cuando no se realiza WPP, el predictor 1420 de QP puede obtener el QP previsto QP_Pred de la unidad de codificación cuantificada inicialmente de la primera LCU del segmento de corte, usando el QP inicial de nivel de corte SliceQP. Además, el predictor 1420 de QP puede obtener el QP previsto QP_Pred de una unidad de codificación cuantificada inicialmente incluida en la pieza, usando el QP inicial de nivel de corte SliceQP. Adicionalmente, el predictor 1420 de QP puede obtener el QP previsto QP_Pred de una unidad de codificación basándose en un promedio de QP de unidades de codificación adyacentes superior e izquierda de la unidad de codificación.
En la operación 2540, el codificador 450 por entropía añade información de sintaxis para determinar el QP inicial de nivel de corte SliceQP, en una secuencia de bits. Como se ha descrito anteriormente, el generador 1520 de PPS puede incluir la sintaxis init_qp_minus26, que indica un QP inicial de nivel de instantánea para obtener el QP inicial de nivel de corte SliceQP de cada corte incluido en la instantánea, en un PPS. También, el generador 1530 de información de corte puede incluir la sintaxis slice_qp_delta, que indica una diferencia entre la sintaxis init_qp_minus26 que indica el QP inicial de nivel de instantánea y el QP inicial de nivel de corte SliceQP, en un encabezamiento de corte. El generador 1540 de información de TU puede incluir la información 2410 de tamaño (cu_qp_delta_abs) y la información 2420 de signo (cu_qp_delta_sign) de la sintaxis cu_qp_delta, que indica una diferencia entre un QP en un nivel de unidad de codificación y el QP previsto QP_Pred, en información de TU.
La Figura 26 es un diagrama de bloques detallado del decodificador 520 por entropía ilustrado en la Figura 5, de acuerdo con una realización de la presente invención.
El decodificador 520 por entropía decodifica aritméticamente elementos de sintaxis desde una secuencia de bits. En más detalle, haciendo referencia a la Figura 26, el decodificador 520 por entropía incluye un obtenedor 2610 de SPS para obtener un SPS que incluye información de codificación de una secuencia total, por ejemplo, un perfil y un nivel, un obtenedor 2620 de PPS para obtener un PPS que incluye información de codificación de cada instantánea incluida en la secuencia, un obtenedor 2630 de información de corte para obtener información de corte que incluye información de codificación de segmentos de corte incluidos en una instantánea, y un obtenedor 2640 de información de TU para obtener información acerca de TU usadas en un procedimiento de transformación.
El decodificador 520 por entropía obtiene la sintaxis para determinar un valor inicial de un QP usado para realizar cuantificación inversa en unidades de codificación incluidas en un segmento de corte. En más detalle, el obtenedor 2620 de PPS obtiene la sintaxis init_qp_minus26 que indica un QP inicial de nivel de instantánea. También, el obtenedor 2630 de información de corte obtiene la sintaxis slice_qp_delta, que indica una diferencia entre la sintaxis init_qp_minus26 que indica el QP inicial de nivel de instantánea y un QP inicial de nivel de corte SliceQP, de un encabezamiento de corte. Además, el decodificador 520 por entropía puede obtener la sintaxis (entropy_coding_sync_enabled_flag), que indica si se realiza codificación por entropía paralela en una pluralidad de hilos incluidos en un segmento de corte. Si entropy_coding_sync_enabled_flag es 1, puede realizarse decodificación por entropía paralela en una pluralidad de hilos de acuerdo con WPP como se ha descrito anteriormente. Si entropy_coding_sync_enabled_flag es 0, no puede realizarse decodificación por entropía paralela de acuerdo con WPP. La Figura 27 es un diagrama de bloques detallado del cuantificador 530 inverso ilustrado en la Figura 5, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 27, el cuantificador 530 inverso incluye un predictor 2710 de QP, un sumador 2720, y un realizador 2730 de cuantificación inversa.
Como el predictor 1420 de QP ilustrado en la Figura 14, el predictor 2710 de QP puede obtener un QP previsto QP_Pred de unidades de codificación. Con respecto a una unidad de codificación cuantificada inicialmente a la inversa (un grupo de cuantificación) de una unidad de datos procesable en paralelo predeterminada, el predictor 2710 de QP puede obtener el QP previsto QP_Pred usando un QP inicial de nivel de corte SliceQP. Como se ha descrito anteriormente, el grupo de cuantificación indica un conjunto de una o más unidades de codificación que comparten el mismo QP previsto QP_Pred. El grupo de cuantificación puede incluir una unidad de codificación o una pluralidad de unidades de codificación. La unidad de datos decodificable en paralelo puede ser un hilo que incluye las LCU de la misma fila de acuerdo con WPP, o una pieza obtenida particionando una instantánea con respecto a al menos un límite de columna y/o un límite de fila.
También, el predictor 2710 de QP puede obtener el QP inicial de nivel de corte SliceQP usando un QP inicial de nivel de instantánea init_qp_minus26, y la sintaxis slice_qp_delta que indica una diferencia entre el QP inicial de nivel de instantánea init_qp_minus26 y el QP inicial de nivel de corte SliceQP como se muestra en la siguiente ecuación; SliceQP=26+init_qp_minus26+slice_qp_delta. Además, el predictor 2710 de QP obtiene el QP previsto QP_Pred de un primer grupo de cuantificación de una unidad de datos procesable en paralelo incluida en un segmento de corte actual, usando el QP inicial de nivel de corte SliceQP.
El sumador 2720 restaura un QP añadiendo una diferencia de QP AQP, que es una diferencia entre el QP aplicado a la unidad de codificación y el QP previsto QP_Pred, al QP previsto QP_Pred.
El realizador 2730 de cuantificación inversa realiza cuantificación inversa en datos de entrada usando una etapa de cuantificación Q_Step determinada de acuerdo con el QP restaurado. Como se ha descrito anteriormente, a la opuesta a un procedimiento de cuantificación, el realizador 2730 de cuantificación inversa realiza cuantificación inversa usando un valor obtenido multiplicando los datos de entrada por la etapa de cuantificación Q_Step determinada de acuerdo con el QP.
La Figura 28 es un diagrama de flujo de un procedimiento de decodificación de vídeo de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 28, en la operación 2810, el decodificador 520 por entropía obtiene la sintaxis para determinar un valor inicial de un QP usado para realizar cuantificación inversa en un primer grupo de cuantificación de una unidad de datos procesable en paralelo incluida en un segmento de corte, desde una secuencia de bits. Como se ha descrito anteriormente, el obtenedor de PPS 2620 del decodificador 520 por entropía obtiene la sintaxis init_qp_minus26 que indica un QP inicial de nivel de instantánea, y el obtenedor 2630 de información de corte obtiene la sintaxis slice_qp_delta, que indica una diferencia entre la sintaxis init_qp_minus26 que indica el QP inicial de nivel de instantánea y un QP inicial de nivel de corte SliceQP, de un encabezamiento de corte.
En la operación 2820, el predictor 2710 de QP obtiene el QP inicial de nivel de corte SliceQP para predecir un QP usado para realizar cuantificación inversa en unidades de codificación incluidas en un segmento de corte, basándose en la sintaxis obtenida. Como se ha descrito anteriormente, el predictor 2710 de QP puede obtener el QP inicial de nivel de corte SliceQP usando el QP inicial de nivel de instantánea init_qp_minus26, y la sintaxis slice_qp_delta que indica una diferencia entre el QP inicial de nivel de instantánea init_qp_minus26 y el QP inicial de nivel de corte SliceQP como se muestra en la siguiente ecuación; SliceQP=26+init_qp_minus26+slice_qp_delta.
En la operación 2830, el predictor 2710 de QP obtiene un QP previsto QP_Pred del primer grupo de cuantificación de la unidad de datos procesable en paralelo incluida en el segmento de corte, usando el QP inicial de nivel de corte SliceQP.
En la operación 2840, el sumador 2720 determina un QP añadiendo una diferencia de QP AQP, que es una diferencia entre el QP aplicado a la unidad de codificación y el QP previsto QP_Pred, al QP previsto QP_Pred.
En la operación 2850, el realizador 2730 de cuantificación inversa obtiene una etapa de cuantificación Q_Step basándose en el QP determinado, y realiza cuantificación inversa en una unidad de codificación incluida en el primer grupo de cuantificación, usando la etapa de cuantificación Q_Step.
Las realizaciones de la presente invención pueden escribirse como programas informáticos y pueden implementarse en ordenadores digitales de uso general que ejecutan los programas usando un medio de grabación legible por ordenador. Ejemplos del medio de grabación legible por ordenador incluyen medios de almacenamiento magnético (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medio de grabación óptico (por ejemplo, CD-ROM o DVD).

Claims (2)

REIVINDICACIONES
1. Un aparato de decodificación de vídeo que comprende:
un procesador configurado para obtener (2810) un elemento de sintaxis con respecto a un QP (Parámetro de Cuantificación) inicial de nivel de corte, desde una secuencia de bits para obtener un QP inicial de nivel de corte usado para realizar cuantificación inversa en unidades de codificación incluidas en un corte;
obtener (2820) el QP inicial de nivel de corte para predecir el QP usado para realizar cuantificación inversa en las unidades de codificación incluidas en el corte, basándose en el elemento de sintaxis obtenido;
obtener (2830) el QP previsto de un grupo de cuantificación actual cuando se realiza decodificación por entropía en una pluralidad de hilos de acuerdo con procesamiento paralelo de frente de onda (WPP), en el que el QP previsto del grupo de cuantificación actual se obtiene basándose en el QP inicial de nivel de corte;
obtener un QP previsto de un siguiente grupo de cuantificación cuando se realiza decodificación por entropía en la pluralidad de hilos de acuerdo con el WPP, en el que el QP previsto del siguiente grupo de cuantificación se obtiene basándose en el QP inicial de nivel de corte;
determinar (2840) cada QP a aplicar a una unidad de codificación incluida en el grupo de cuantificación actual y una unidad de codificación incluida en el siguiente grupo de cuantificación añadiendo el QP previsto del grupo de cuantificación actual a la diferencia de QP de la unidad de codificación incluida en el grupo de cuantificación actual incluido en la secuencia de bits y añadir el QP previsto del siguiente grupo de cuantificación a la diferencia de QP de la unidad de codificación incluida en el siguiente grupo de cuantificación incluido en la secuencia de bits; y realizar (2850) cuantificación inversa en la unidad de codificación incluida en el grupo de cuantificación actual en un hilo actual que es una unidad de datos decodificable en paralelo actual y la unidad de codificación incluida en el siguiente grupo de cuantificación en un siguiente hilo que es una siguiente unidad de datos decodificable en paralelo, basándose en cada QP determinado, en el que el grupo de cuantificación actual es un primer grupo de cuantificación en el hilo actual incluido en el corte, el siguiente grupo de cuantificación es un primer grupo de cuantificación en el siguiente hilo incluido en el corte, y
el grupo de cuantificación actual comprende un conjunto de una o más unidades de codificación que comparten el QP previsto del grupo de cuantificación actual,
en el que cada uno de una pluralidad de hilos que incluyen el hilo actual y el siguiente hilo es una pluralidad de bloques de codificación más grandes de la misma fila,
el WPP incluye un procedimiento en el que se determina información de probabilidad para decodificación por entropía de una primera unidad de codificación más grande de un hilo usando información de probabilidad para decodificación por entropía de una segunda unidad de codificación más grande de un hilo superior,
en el que un QP previsto de un grupo de cuantificación, que es el hilo actual, y no es el grupo de cuantificación actual, se genera usando un parámetro de cuantificación de una unidad de codificación vecina del grupo de cuantificación en el hilo actual,
en el que cada uno del hilo actual y el siguiente hilo está entre la pluralidad de hilos incluidos en el corte, en el que un QP previsto del primer grupo de cuantificación en cada uno de la pluralidad de hilos se obtiene basándose en el QP inicial de nivel de corte.
2. Un aparato para codificar un vídeo, comprendiendo el aparato el aparato:
un cuantificador configurado para realizar la cuantificación en una unidad de codificación incluida en un grupo de cuantificación actual en un subproceso actual que es una unidad de datos codificables paralela actual y una unidad de codificación incluida en un siguiente grupo de cuantificación en un subproceso siguiente que es una siguiente unidad de datos codificables paralela, en el que el grupo de cuantificación actual es un primer grupo de cuantificación en el subproceso actual incluido en el sector, el siguiente grupo de cuantificación es un primer grupo de cuantificación en el siguiente subproceso incluido en el sector, en el que cada uno de los subprocesos actuales y el siguiente subproceso se encuentra entre una pluralidad de subprocesos incluidos en el sector, en el que cada uno de una pluralidad de subprocesos, incluido el subproceso actual y el subproceso siguiente, es una pluralidad de bloques de codificación más grandes de la misma fila,
para determinar un parámetro de cuantificación inicial a nivel de sector para predecir un parámetro de cuantificación del grupo de cuantificación actual y el siguiente grupo de cuantificación del sector, para obtener un parámetro de cuantificación predicho del grupo de cuantificación actual utilizando el parámetro de cuantificación de nivel de sector determinado cuando la codificación de entropía se realiza en una pluralidad de subprocesos de acuerdo con el procesamiento paralelo de frente de onda (WPP),
para obtener un parámetro de cuantificación predicho del grupo de cuantificación siguiente utilizando el parámetro de cuantificación de nivel de sector determinado cuando la codificación de entropía se realiza en una pluralidad de subprocesos de acuerdo con el procesamiento paralelo de frente de onda (WPP)
para generar, primera información de sintaxis que indica una diferencia entre un parámetro de cuantificación de una unidad de codificación en el grupo de cuantificación actual y el parámetro de cuantificación previsto del grupo de cuantificación actual, para generar, segunda información de sintaxis que indica una diferencia entre un parámetro de cuantificación de una unidad de codificación en el grupo de cuantificación siguiente y el parámetro de cuantificación previsto del grupo de cuantificación siguiente, un codificador de entropía configurado para generar una secuencia de bits que incluye información de sintaxis con respecto al parámetro de cuantificación inicial de nivel de sector determinado, indicando la primera información de sintaxis la diferencia y la segunda información de sintaxis que indica la diferencia,
en el que el WPP incluye un procedimiento en el que la información de probabilidad para la codificación de entropía de una primera unidad de codificación más grande de un subproceso se determina utilizando información de probabilidad para la codificación de entropía de una segunda unidad de codificación más grande de un subproceso superior,
en el que un parámetro de cuantificación previsto de un grupo de cuantificación, que está en el hilo actual, y no es el grupo de cuantificación actual, se genera utilizando un parámetro de cuantificación de una unidad de codificación vecina del grupo de cuantificación en el subproceso actual, y
en el que se obtiene un parámetro de cuantificación predicho del primer grupo de cuantificación en cada una de las pluralidades de subprocesos en función del parámetro de cuantificación inicial a nivel de sector.
ES18199112T 2012-01-30 2013-01-30 Aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación Active ES2834444T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201261592577P 2012-01-30 2012-01-30

Publications (1)

Publication Number Publication Date
ES2834444T3 true ES2834444T3 (es) 2021-06-17

Family

ID=48905542

Family Applications (3)

Application Number Title Priority Date Filing Date
ES18199112T Active ES2834444T3 (es) 2012-01-30 2013-01-30 Aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación
ES18199113T Active ES2898225T3 (es) 2012-01-30 2013-01-30 Método y aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación
ES13744207T Active ES2698063T3 (es) 2012-01-30 2013-01-30 Procedimiento y aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES18199113T Active ES2898225T3 (es) 2012-01-30 2013-01-30 Método y aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación
ES13744207T Active ES2698063T3 (es) 2012-01-30 2013-01-30 Procedimiento y aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación

Country Status (21)

Country Link
US (6) US9544603B2 (es)
EP (5) EP3448028B1 (es)
JP (4) JP6014169B2 (es)
KR (3) KR101857794B1 (es)
CN (5) CN104094600B (es)
AU (4) AU2013215773B2 (es)
BR (1) BR112014018115B1 (es)
CA (1) CA2863390C (es)
CY (1) CY1121214T1 (es)
DK (1) DK2811745T3 (es)
ES (3) ES2834444T3 (es)
HR (1) HRP20181898T1 (es)
HU (3) HUE052133T2 (es)
LT (1) LT2811745T (es)
MX (2) MX2014009176A (es)
PL (3) PL3448028T3 (es)
PT (1) PT2811745T (es)
RS (1) RS57972B1 (es)
SI (1) SI2811745T1 (es)
TW (4) TWI613909B (es)
WO (1) WO2013115572A1 (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438906B2 (en) 2011-03-03 2016-09-06 Sun Patent Trust Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2015037920A1 (ko) 2013-09-10 2015-03-19 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
GB2523736B (en) * 2014-02-19 2020-03-25 Advanced Risc Mach Ltd Rate control in video encoding
WO2016192054A1 (zh) * 2015-06-03 2016-12-08 富士通株式会社 使用预测信息的图像编码方法、装置以及图像处理设备
WO2016194380A1 (ja) * 2015-06-03 2016-12-08 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
US10264257B2 (en) * 2015-06-30 2019-04-16 Texas Instruments Incorporated Video encoding
WO2017206826A1 (en) * 2016-05-28 2017-12-07 Mediatek Inc. Methods and apparatuses of video data processing with conditionally quantization parameter information signaling
CN117221581A (zh) * 2016-06-22 2023-12-12 Lx 半导体科技有限公司 图像编码/解码方法以及图像数据的传输方法
CN107113430B (zh) * 2016-10-12 2019-04-30 深圳市大疆创新科技有限公司 码率控制的方法、计算机系统和装置
US10616585B2 (en) 2017-11-22 2020-04-07 Arm Limited Encoding data arrays
CN116233431A (zh) * 2018-01-02 2023-06-06 三星电子株式会社 编码方法及其设备以及解码方法及其设备
JP7187572B2 (ja) * 2018-03-29 2022-12-12 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 並列符号化機能の強化概念
CN112189341A (zh) * 2018-04-16 2021-01-05 交互数字Vc控股公司 用于视频编码和解码的量化参数预测
US10554975B1 (en) * 2018-09-30 2020-02-04 Tencent America LLC Method and apparatus for video coding
PL3939319T3 (pl) * 2019-03-11 2023-12-18 Telefonaktiebolaget Lm Ericsson (Publ) Kodowanie wideo, obejmujące sygnalizację grupy prostokątnych kafelków
CN112055211B (zh) * 2019-08-15 2021-10-26 华为技术有限公司 视频编码器及qp设置方法
JP2023510535A (ja) * 2020-01-10 2023-03-14 サムスン エレクトロニクス カンパニー リミテッド 量子化パラメータを獲得するためのビデオ復号方法及びその装置、量子化パラメータを伝送するためのビデオ符号化方法及びその装置
CN115299063A (zh) 2020-02-27 2022-11-04 抖音视界有限公司 变换跳过残差编解码

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410355A (en) * 1993-04-02 1995-04-25 Rca Thomson Licensing Corporation Video signal processor including input codeword buffer for providing stored codewords to codeword priority analysis circuit
JP2000224589A (ja) * 1999-01-29 2000-08-11 Toshiba Corp 動画像符号化装置および動画像符号化方法
FI120125B (fi) * 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US6959116B2 (en) * 2001-09-18 2005-10-25 Emc Corporation Largest magnitude indices selection for (run, level) encoding of a block coded picture
CN100380980C (zh) * 2002-04-23 2008-04-09 诺基亚有限公司 用于在视频编码系统中指示量化器参数的方法与设备
KR100486524B1 (ko) * 2002-07-04 2005-05-03 엘지전자 주식회사 비디오 코덱의 지연시간 단축 장치
EP1638333A1 (en) * 2004-09-17 2006-03-22 Mitsubishi Electric Information Technology Centre Europe B.V. Rate adaptive video coding
KR100703749B1 (ko) * 2005-01-27 2007-04-05 삼성전자주식회사 잔차 재 추정을 이용한 다 계층 비디오 코딩 및 디코딩방법, 이를 위한 장치
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
JP4146444B2 (ja) * 2005-03-16 2008-09-10 株式会社東芝 動画像符号化の方法及び装置
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
CN100481953C (zh) * 2005-11-29 2009-04-22 同济大学 一种对于视频码流判断图像边界及预读图像数据的解码方法和装置
CN101039421A (zh) * 2006-03-16 2007-09-19 华为技术有限公司 在编解码中的实现量化的方法和装置
US20080055338A1 (en) * 2006-08-30 2008-03-06 Ati Technologies Inc. Multi-stage edge-directed image scaling
CN101150719B (zh) * 2006-09-20 2010-08-11 华为技术有限公司 并行视频编码的方法及装置
CN100515086C (zh) * 2006-12-19 2009-07-15 上海广电(集团)有限公司中央研究院 一种消除条带间条纹的方法
JPWO2008132890A1 (ja) * 2007-04-16 2010-07-22 株式会社東芝 画像符号化と画像復号化の方法及び装置
KR101366249B1 (ko) * 2007-06-28 2014-02-21 삼성전자주식회사 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법
KR100930344B1 (ko) * 2007-09-06 2009-12-08 재단법인대구경북과학기술원 초기 양자화 파라미터 결정 방법
JP5278827B2 (ja) * 2007-09-06 2013-09-04 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム
JP4569840B2 (ja) * 2007-09-12 2010-10-27 ソニー株式会社 画像符号化装置、画像符号化方法
CN101389021B (zh) * 2007-09-14 2010-12-22 华为技术有限公司 视频编解码方法及装置
JP4926912B2 (ja) * 2007-10-30 2012-05-09 キヤノン株式会社 映像符号化装置及び方法
JP4958825B2 (ja) * 2008-03-28 2012-06-20 キヤノン株式会社 動画像符号化装置及びその制御方法、コンピュータプログラム
US20100027973A1 (en) * 2008-07-29 2010-02-04 Chia-Yun Cheng Image processing circuit and method capable of performing online color space conversion
EP2357825A4 (en) * 2008-12-08 2012-06-20 Panasonic Corp APPARATUS AND METHOD FOR IMAGE DECODING
TWI396443B (zh) * 2008-12-22 2013-05-11 Ind Tech Res Inst 應用於網路串流之影音控制回應及頻寬調適方法與使用該方法之伺服器
CN101662697A (zh) * 2009-07-21 2010-03-03 天津大学 Avs视频基本码流分析方法
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
KR20110071204A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법
US8588297B2 (en) * 2009-12-23 2013-11-19 Oracle America, Inc. Quantization parameter prediction
US20110216821A1 (en) 2010-03-02 2011-09-08 Samsung Electronics Co., Ltd. Method and apparatus for adaptive streaming using scalable video coding scheme
KR101828625B1 (ko) * 2010-06-04 2018-02-12 소니 주식회사 화상 처리 장치 및 방법
JP5924823B2 (ja) 2010-06-10 2016-05-25 トムソン ライセンシングThomson Licensing 複数の隣接する量子化パラメータから量子化パラメータ予測子を決定する方法及び装置
CN101895756B (zh) * 2010-07-15 2012-10-31 北京大学 视频图像块的编码、解码、重构方法及系统
CN102137257B (zh) * 2011-03-01 2013-05-08 北京声迅电子有限公司 基于tms320dm642芯片的嵌入式h.264编码方法
CN106534872B (zh) * 2011-03-11 2019-05-17 索尼公司 图像处理装置和方法
US20130083845A1 (en) * 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
US9161046B2 (en) * 2011-10-25 2015-10-13 Qualcomm Incorporated Determining quantization parameters for deblocking filtering for video coding
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013150215A (ja) * 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
US9521410B2 (en) * 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding

Also Published As

Publication number Publication date
US20160050414A1 (en) 2016-02-18
CA2863390A1 (en) 2013-08-08
TW201345265A (zh) 2013-11-01
TWI613909B (zh) 2018-02-01
US20160050415A1 (en) 2016-02-18
KR101857794B1 (ko) 2018-05-14
CN107396117A (zh) 2017-11-24
CN107483947B (zh) 2020-04-07
HUE052133T2 (hu) 2021-04-28
WO2013115572A1 (ko) 2013-08-08
PL2811745T3 (pl) 2019-02-28
US9538192B2 (en) 2017-01-03
EP3448028A1 (en) 2019-02-27
TWI650995B (zh) 2019-02-11
US20140341276A1 (en) 2014-11-20
ES2698063T3 (es) 2019-01-30
TW201705762A (zh) 2017-02-01
JP6259038B2 (ja) 2018-01-10
EP3448029B1 (en) 2021-10-20
CN104094600B (zh) 2017-10-03
AU2013215773A1 (en) 2014-08-21
US9549185B2 (en) 2017-01-17
KR20200100582A (ko) 2020-08-26
TW201737709A (zh) 2017-10-16
MX353742B (es) 2018-01-26
BR112014018115B1 (pt) 2021-10-26
JP6014169B2 (ja) 2016-10-25
CY1121214T1 (el) 2020-05-29
CN107396116B (zh) 2020-03-27
JP2017028731A (ja) 2017-02-02
EP3944619A1 (en) 2022-01-26
US9693061B2 (en) 2017-06-27
MX2014009176A (es) 2014-08-27
CA2863390C (en) 2019-01-15
HUE057111T2 (hu) 2022-05-28
PL2811745T4 (pl) 2021-01-11
CN104094600A (zh) 2014-10-08
US9544603B2 (en) 2017-01-10
US10045025B2 (en) 2018-08-07
AU2017203384C1 (en) 2018-10-11
JP2015508627A (ja) 2015-03-19
DK2811745T3 (en) 2018-12-10
EP2811745A1 (en) 2014-12-10
KR20180065013A (ko) 2018-06-15
SI2811745T1 (sl) 2018-12-31
RS57972B1 (sr) 2019-01-31
JP2019017086A (ja) 2019-01-31
US20160050416A1 (en) 2016-02-18
AU2017203384A1 (en) 2017-06-08
TW201813385A (zh) 2018-04-01
CN107623853A (zh) 2018-01-23
EP2811745B1 (en) 2018-11-14
AU2017203384B2 (en) 2018-03-22
PT2811745T (pt) 2018-12-17
TWI562599B (en) 2016-12-11
AU2018204377B2 (en) 2018-12-13
AU2013215773B2 (en) 2015-10-29
AU2018204377A1 (en) 2018-07-05
LT2811745T (lt) 2018-12-10
US20160050417A1 (en) 2016-02-18
PL3448028T3 (pl) 2021-01-25
TWI597969B (zh) 2017-09-01
EP3448028B1 (en) 2020-11-04
JP6715296B2 (ja) 2020-07-01
AU2016200289B2 (en) 2017-03-02
HUE042414T2 (hu) 2019-07-29
US20170230660A1 (en) 2017-08-10
CN107623853B (zh) 2020-07-03
HRP20181898T1 (hr) 2019-01-11
EP3448029A1 (en) 2019-02-27
CN107396117B (zh) 2020-07-03
CN107483947A (zh) 2017-12-15
JP2018078587A (ja) 2018-05-17
BR112014018115A8 (pt) 2017-07-11
KR102250095B1 (ko) 2021-05-10
KR20130088087A (ko) 2013-08-07
BR112014018115A2 (es) 2017-06-20
CN107396116A (zh) 2017-11-24
PL3448029T3 (pl) 2021-12-20
US9544604B2 (en) 2017-01-10
EP3944620A1 (en) 2022-01-26
ES2898225T3 (es) 2022-03-04
JP6402234B2 (ja) 2018-10-10
KR102148469B1 (ko) 2020-08-26
EP2811745A4 (en) 2015-07-08
AU2016200289A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
ES2834444T3 (es) Aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación
KR102424239B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
ES2816059T3 (es) Procedimiento y aparato para la codificación de vídeo, correspondiente procedimiento para la decodificación de vídeo, vídeo acompañado de decodificación aritmética y señalización de coeficiente significativo en dos dimensiones
KR20220127801A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11259044B2 (en) Method for encoding and decoding motion information, and apparatus for encoding and decoding motion information
ES2811038T3 (es) Procedimiento y aparato para codificar vídeo y aparato para decodificar vídeo considerando un orden de omisión y de división
KR20180007680A (ko) 영상 부호화/복호화 방법 및 장치
KR102169608B1 (ko) 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
US20210006824A1 (en) Encoding and decoding method for motion information, and encoding and decoding device for motion information
US20230103665A1 (en) Apparatuses for encoding and decoding image, and methods for encoding and decoding image thereby
KR101604038B1 (ko) 레지듀얼 블록의 부호화 방법 및 장치, 복호화 방법 및 장치
KR101604035B1 (ko) 영상 복호화 방법 및 장치
KR101625631B1 (ko) 레지듀얼 블록의 부호화 방법 및 장치, 복호화 방법 및 장치
KR101625629B1 (ko) 영상 복호화 방법 및 장치
KR101604033B1 (ko) 영상 복호화 방법 및 장치
KR20170124078A (ko) 영상 신호 부호화/복호화 방법 및 장치
BR122020001936B1 (pt) método de decodificar um vídeo