ES2728091T3 - Aparato de decodificación por entropía de segmentos de corte - Google Patents

Aparato de decodificación por entropía de segmentos de corte Download PDF

Info

Publication number
ES2728091T3
ES2728091T3 ES15182830T ES15182830T ES2728091T3 ES 2728091 T3 ES2728091 T3 ES 2728091T3 ES 15182830 T ES15182830 T ES 15182830T ES 15182830 T ES15182830 T ES 15182830T ES 2728091 T3 ES2728091 T3 ES 2728091T3
Authority
ES
Spain
Prior art keywords
coding
current
unit
lcu
video
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
ES15182830T
Other languages
English (en)
Inventor
Tammy Lee
Byeong-Doo Choi
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 ES2728091T3 publication Critical patent/ES2728091T3/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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J36/00Parts, details or accessories of cooking-vessels
    • A47J36/24Warming devices
    • A47J36/2483Warming devices with electrical heating means
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J39/00Heat-insulated warming chambers; Cupboards with heating arrangements for warming kitchen utensils
    • A47J39/02Dish-warmers; Devices to keep food hot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/172Methods 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 picture, frame or field
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • 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
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/20Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater
    • H05B3/22Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater non-flexible
    • H05B3/28Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater non-flexible heating conductor embedded in insulating material
    • H05B3/30Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater non-flexible heating conductor embedded in insulating material on or between metallic plates
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/68Heating arrangements specially adapted for cooking plates or analogous hot-plates
    • H05B3/686Heat-storage plates

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Food Science & Technology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Error Detection And Correction (AREA)
  • Image Processing (AREA)

Abstract

Un aparato de decodificación de vídeo para decodificar una instantánea actual de un vídeo, que comprende: una unidad de obtención configurada para obtener, a partir de un conjunto de parámetros de instantánea (PPS) de la instantánea actual en una secuencia de bits, primera información que indica si puede usarse un segmento de corte dependiente en la instantánea actual; una unidad de decodificación por entropía configurada para decodificar por entropía elementos de sintaxis de una unidad de codificación más grande (LCU) actual en un primer segmento de corte de la instantánea actual; en el que la unidad de obtención está configurada adicionalmente para obtener, a partir de la secuencia de bits, segunda información que indica si la LCU actual es la última LCU en el primer segmento de corte de la instantánea actual; en el que la unidad de decodificación por entropía está configurada adicionalmente para almacenar variables de contexto para la LCU actual cuando se decodifica el último elemento de sintaxis de la LCU actual si la primera información indica que puede usarse un segmento de corte dependiente en la instantánea actual y la segunda información indica que la LCU actual es la última LCU en el primer segmento de corte de la instantánea actual; en el que la unidad de decodificación por entropía está configurada adicionalmente para determinar un número de puntos de entrada de subconjuntos que están incluidos en el primer segmento de corte en base a una tercera información obtenida desde un encabezamiento de segmento de corte del segundo segmento de corte en la secuencia de bits; en el que la unidad de decodificación por entropía está configurada adicionalmente para determinar posiciones de los puntos de entrada en base a un desplazamiento que es 1 mayor que un número indicado por una cuarta información obtenida a partir de la secuencia de bits; en el que se determina el número y las posiciones de los puntos de entrada si puede realizarse la sincronización para variables de contexto en la instantánea actual, y en el que la unidad de decodificación de entropía se configura, además, para decodificar la imagen en base a las variables de contexto almacenadas y los puntos de entrada.

Description

DESCRIPCIÓN
Aparato de decodificación por entropía de segmentos de corte
Campo técnico
La presente invención se refiere a codificación por entropía y decodificación por entropía para codificación y decodificación de vídeo.
Antecedentes de la técnica
A medida que se ha desarrollado y suministrado hardware para reproducir y almacenar contenido de vídeo de alta resolución o alta calidad, ha aumentado una necesidad de un códec de vídeo para codificación o decodificación de manera eficaz de contenido de vídeo de alta resolución o alta calidad. De acuerdo con un códec de vídeo convencional, se codifica un vídeo de acuerdo con un procedimiento de codificación limitado basado en un macrobloque que tiene un tamaño predeterminado.
Se transforman datos de imagen de un dominio espacial en coeficientes de un dominio de frecuencia usando transformación de frecuencia. Un códec de vídeo divide una imagen en bloques teniendo cada uno un tamaño predeterminado para realizar de manera rápida transformación de frecuencia, realiza transformación de DCT en cada uno de los bloques, y codifica coeficientes de frecuencia en unidades de los bloques. Los coeficientes del dominio de la frecuencia pueden comprimirse más fácilmente que los datos de imagen del dominio espacial. En particular, puesto que un valor de píxel de imagen de un dominio espacial se expresa como un error de predicción a través de inter predicción o intra predicción de un códec de vídeo, cuando se realiza transformación de frecuencia en el error de predicción, puede transformarse una gran cantidad de datos en cero (0). Un códec de vídeo reduce la cantidad de datos sustituyendo datos que se generan de manera repetida continuamente por datos que tienen un tamaño menor. La codificación por entropía se realiza para comprimir una cadena de bits de un símbolo generado por codificación de vídeo. La codificación por entropía basada en codificación aritmética se ha usado recientemente de manera amplia. Para realizar codificación por entropía basada en codificación aritmética, se digitalizan símbolos a una cadena de bits y se realiza codificación aritmética basada en contexto en la cadena de bits.
BROSS B Y COL: "Proposed Editorial Improvements for High efficiency video coding (HEVC) Text Specification Draft 9 (SoDIS)", 12. JCT-VC MEETING; 103. MPEG MEETING; 14-1-2013 - 23-1-2013; GINEBRA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° JCTVC-L0030, 3 de enero de 2013 (03-01-2013), XP030113518, desvela el procedimiento de memorización de variables de contexto basado en una bandera a un nivel de corte que indica si el segmento de corte actual es un segmento de corte dependiente.
El documento US 2009/273491 A1 desvela el almacenamiento de variables de contexto para todos los tipos de cortes.
Descripción detallada de la invención
Problema técnico
La presente invención proporciona un aparato de decodificación por entropía que usa información de contexto de datos cercanos teniendo en cuenta un atributo de un segmento de corte, para decodificación de vídeo.
Solución técnica
Un aparato de decodificación por entropía de vídeo como se expone en la reivindicación 1.
Efectos ventajosos
Si un segmento de corte dependiente puede usarse en una instantánea actual basándose en codificación/decodificación por entropía, puede almacenarse una variable de contexto después de que se completa codificación (decodificación) por entropía de una última unidad de codificación máxima (LCU) de cada segmento de corte. Por consiguiente, aunque un segmento de corte anterior es un segmento de corte independiente, una variable inicial de la variable de contexto que es necesaria para un siguiente segmento de corte dependiente puede obtenerse de la variable de contexto de la última LCU del segmento de corte independiente que se ha codificado previamente. También, puesto que se proporciona la información que indica un número que es menor en 1 que un desplazamiento de subconjunto a través de un segmento de corte para informar de manera eficaz un punto de sincronización de una variable de contexto para codificación/decodificación por entropía, puede reducirse un tamaño de datos del segmento de corte.
Descripción de los dibujos
La Figura 1A es un diagrama de bloques que ilustra un aparato de codificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
La Figura 1B es un diagrama de flujo de un procedimiento de codificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
La Figura 2A es un diagrama de bloques que ilustra un aparato de decodificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
La Figura 2B es un diagrama de flujo de un procedimiento de decodificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
La Figura 3 es un diagrama que ilustra piezas y unidades de codificación máxima (LCU) en una instantánea. La Figura 4 es un diagrama que ilustra un segmento de corte y LCU en una instantánea.
La Figura 5 es un diagrama de flujo de una operación de análisis de codificación binaria aritmética adaptativa según contexto (CABAC) de acuerdo con una realización ejemplar.
La Figura 6A es un diagrama para explicar decodificación por entropía usando una variable de contexto almacenada.
La Figura 6B es un diagrama de flujo detallado de una operación de almacenamiento de una variable de contexto en la operación de análisis de CABAC de acuerdo con una realización ejemplar.
La Figura 7 es un diagrama que ilustra una sintaxis de un encabezamiento de segmento de corte de acuerdo con una realización ejemplar.
La Figura 8 es un diagrama de bloques de un aparato de codificación de vídeo basado en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar.
La Figura 9 es un diagrama de bloques de un aparato de decodificación de vídeo basado en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar.
La Figura 10 es un diagrama para explicar un concepto de unidades de codificación de acuerdo con una realización ejemplar de la presente invención.
La Figura 11 es un diagrama de bloques de un codificador de imagen basado en unidades de codificación de acuerdo con una realización ejemplar de la presente invención.
La Figura 12 es un diagrama de bloques de un decodificador de imagen basado en unidades de codificación de acuerdo con una realización ejemplar de la presente invención.
La Figura 13 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 ejemplar de la presente invención.
La Figura 14 es un diagrama para explicar una relación entre una unidad de codificación y unidades de transformación de acuerdo con una realización ejemplar de la presente invención.
La Figura 15 es un diagrama para explicar información de codificación de unidades de codificación que corresponden a una profundidad codificada de acuerdo con una realización ejemplar de la presente invención. La Figura 16 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades de acuerdo con una realización ejemplar de la presente invención.
Las Figuras 17 a 19 son diagramas para explicar una relación entre unidades de codificación, unidades de predicción, y unidades de transformación, de acuerdo con una realización ejemplar de la presente invención. La Figura 20 es un diagrama para explicar una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación de acuerdo con información de modo de codificación de la Tabla 1.
La Figura 21 es un diagrama que ilustra una estructura física de un disco en el que se almacena un programa de acuerdo con una realización ejemplar.
La Figura 22 es un diagrama que ilustra una unidad de disco para grabar y leer un programa usando el disco. La Figura 23 es un diagrama que ilustra una estructura global de un sistema de suministro de contenido para proporcionar un servicio de distribución de contenido.
Las Figuras 24 y 25 son diagramas que ilustran una estructura externa y una estructura interna de un teléfono móvil a los que se aplica un procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo de acuerdo con la presente invención de acuerdo con una realización ejemplar.
La Figura 26 es un diagrama que ilustra un sistema de difusión digital al que se aplica un sistema de comunicación de acuerdo con la presente invención.
La Figura 27 es un diagrama que ilustra una estructura de red de un sistema de informática en la nube que usa un aparato de codificación de vídeo y un aparato de decodificación de vídeo de acuerdo con una realización ejemplar de la presente invención.
Modo de la invención
Se explicará un procedimiento de codificación por entropía en un segmento de corte y un procedimiento de decodificación por entropía en un segmento de corte de acuerdo con diversas realizaciones ejemplares con referencia a las Figuras 1A a 7. También, se explicará un procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo basados en unidades de codificación que tienen una estructura de árbol de acuerdo con diversas realizaciones ejemplares a las que pueden aplicarse el procedimiento de codificación por entropía y el procedimiento de decodificación por entropía con referencia a las Figuras 8 a 20. También, se explicarán diversas realizaciones ejemplares a las que puede aplicarse el procedimiento de codificación de vídeo y el procedimiento de decodificación de vídeo con referencia a las Figuras 21 a 27. En lo sucesivo, el término 'imagen' puede hacer referencia a una imagen fija o una imagen en movimiento, es decir, un vídeo en sí mismo.
La Figura 1A es un diagrama de bloques de un aparato 10 de codificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
El aparato 10 de codificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares incluye un conversor a binario 12, un determinador 14 de cadena binaria, y una unidad 16 de almacenamiento de contexto.
El aparato 10 de codificación por entropía de vídeo puede realizar codificación por entropía en símbolos que se codifican de acuerdo con unidades de codificación máxima (LCU). El aparato 10 de codificación por entropía de vídeo puede almacenar un codificador de vídeo (no mostrado) que realiza codificación en las LCU.
Un procedimiento usado por el aparato 10 de codificación por entropía de vídeo que incluye el codificador de vídeo (no mostrado) para realizar codificación en las LCU y generar símbolos se explicará ahora en detalle por conveniencia de explicación. Sin embargo, se entenderá que el aparato 10 de codificación por entropía de vídeo no está limitado a una estructura que incluye directamente el codificador de vídeo (no mostrado) y que el aparato 10 de codificación por entropía de vídeo puede recibir símbolos que se codifican por un aparato de codificación externo.
Un procedimiento de codificación de vídeo de acuerdo con una realización ejemplar puede dividirse en un procedimiento de codificación de fuente que minimiza datos redundantes debido a similitud espacio-temporal de datos de imagen y un procedimiento de codificación por entropía que minimiza redundancia de nuevo en una cadena de bits de datos que se generan a través del procedimiento de codificación de fuente. El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar realiza codificación de fuente en cada una de las instantáneas que constituyen un vídeo de acuerdo con bloques y genera símbolos codificados. La codificación de fuente incluye un procedimiento de realización de intra predicción/inter predicción, transformación, y cuantificación en datos de vídeo en un dominio de espacio en unidades de bloques. Como resultado de la codificación de fuente, pueden generarse símbolos codificados de acuerdo con bloques. Ejemplos de los símbolos codificados pueden incluir un coeficiente de transformada cuantificado de un componente residual, un vector de movimiento, un atributo de intra modo, un atributo de inter modo, y un parámetro de cuantificación.
La codificación por entropía de acuerdo con una realización ejemplar puede dividirse en un procedimiento de conversión a binario que transforma símbolos en una cadena de bits y un procedimiento de codificación aritmética que realiza codificación aritmética basada en contexto en la cadena de bits. La codificación binaria aritmética adaptativa según contexto (CABAC) se usa ampliamente como un procedimiento de codificación que realiza codificación aritmética basada en contexto. De acuerdo con codificación/decodificación aritmética basada en contexto, cada bit de una cadena de bits de símbolo puede ser cada binario, y cada posición de bit puede mapearse a un índice binario. Una longitud de una cadena de bits, es decir, una longitud de binarios, puede variar de acuerdo con un valor de símbolo. Para codificación/decodificación aritmética basada en contexto, es necesario modelado de contexto que determina un contexto de un símbolo.
Para modelado de contexto, necesita actualizarse nuevamente un contexto para cada posición de bit de una cadena de bits de símbolo, es decir, para cada índice binario. La expresión 'modelado de contexto' se refiere a un procedimiento de análisis de una probabilidad de que cada binario sea 0 o 1. Un procedimiento de actualización de un contexto reflejando un resultado obtenido analizando una probabilidad de cada uno de los símbolos de un nuevo bloque de acuerdo con bits en un contexto actual puede realizarse de manera repetitiva en unidades de bloques. Una tabla de probabilidad en la que una probabilidad se adapta a cada binario puede proporcionarse como información que contiene un resultado de tal modelado de contexto. La información de probabilidad de codificación por entropía de acuerdo con una realización ejemplar puede ser información que contiene un resultado de modelado de contexto.
Por consiguiente, una vez que se obtiene la información de modelado de contexto, es decir, información de probabilidad de codificación por entropía, puede realizarse codificación por entropía asignado un código a cada uno de los bits de una cadena de bits convertida a binario de símbolos de bloque basándose en un contexto de la información de probabilidad de codificación por entropía.
También, puesto que la codificación por entropía implica codificación/decodificación aritmética basada en contexto, puede actualizarse información de contexto de código de símbolo en unidades de bloques, y puesto que la codificación por entropía se realiza usando la información de contexto de código de símbolo actualizado, puede aumentase una relación de compresión.
Un procedimiento de codificación de vídeo de acuerdo con diversas realizaciones ejemplares de la presente invención no debería interpretarse como que está limitada a únicamente un procedimiento de codificación de vídeo realizado en un 'bloque' que es una unidad de datos, y puede aplicarse a diversas unidades de datos.
Para eficacia de codificación de imagen, una imagen se divide en bloques teniendo cada uno un tamaño predeterminado y a continuación se codifica. El bloque puede tener una forma perfecta o forma rectangular o una forma geométrica arbitraria. La presente realización ejemplar no está limitada a una unidad de datos que tiene un tamaño predeterminado. El bloque de acuerdo con una realización ejemplar puede ser una LCU, una unidad de codificación, una unidad de predicción, o una unidad de transformación, de entre unidades de codificación que tienen una estructura de árbol. Un procedimiento de codificación/decodificación de vídeo basándose en las unidades de codificación de acuerdo con la estructura de árbol se explicará a continuación con referencia a las Figuras 8 a 20.
Los bloques de una instantánea se codifican en una dirección de exploración por filas.
El aparato 10 de codificación por entropía de vídeo puede dividir una instantánea en una o más piezas, y cada una de las piezas puede incluir bloques que están dispuestos en una dirección por filas de entre los bloques de la instantánea. La instantánea puede dividirse en piezas que se dividen en una o más columnas, piezas que se dividen en una o más filas, o piezas que se dividen en una o más columnas y una o más filas. Cada una de las piezas puede dividir un dominio espacial en subdominios. Para codificar individualmente cada uno de los subdominios, el aparato 10 de codificación por entropía de vídeo puede realizar codificación individualmente en unidades de piezas.
Puesto que cada segmento de corte incluye bloques que están dispuestos en la dirección por filas, el aparato 10 de codificación por entropía de vídeo puede generar un segmento de corte dividiendo una instantánea en una dirección horizontal. La instantánea puede dividirse en uno o más segmentos de corte. Los datos de cada segmento de corte pueden transmitirse a través de una unidad de capa de adaptación de red (NAL).
El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede realizar codificación en segmentos de corte. El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede generar símbolos codificados de acuerdo con bloques realizando codificación de manera secuencial en bloques que se incluyen en cada uno de los segmentos de corte. Los datos codificados de bloques en cada segmento de corte pueden incluirse en y pueden transmitirse a través de una unidad de NAL. Cada pieza puede incluir al menos un segmento de corte. Si fuera necesario, cada segmento de corte puede incluir al menos una pieza.
También, un segmento de corte puede clasificarse en un segmento de corte dependiente y un segmento de corte independiente.
Si un segmento de corte actual es un segmento de corte dependiente, puede realizarse predicción en-instantánea que hace referencia a símbolos codificados de un segmento de corte anterior que se han decodificado más anteriormente que el segmento de corte actual. También, cuando un segmento de corte actual es un segmento de corte dependiente, puede realizarse la codificación por entropía dependiente que hace referencia a información de entropía de un segmento de corte anterior que se ha codificado más anteriormente que el segmento de corte actual.
Si un segmento de corte actual es un segmento de corte independiente, no se realiza predicción en-instantánea que hace referencia a un segmento de corte anterior y no se hace referencia a información de entropía del segmento de corte anterior.
Una instantánea de acuerdo con una realización ejemplar puede incluir un segmento de corte independiente y al menos un segmento dependiente que es posterior a un segmento de corte independiente en un orden de exploración por filas. Un segmento de corte independiente puede ser un corte.
El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede realizar codificación individualmente en cada pieza, además de otras piezas. El aparato 10 de codificación por entropía de vídeo puede codificar secuencialmente LCU que están incluidas en una pieza actual, de acuerdo con las piezas.
También, el aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede codificar LCU de un segmento de corte actual de acuerdo con segmentos de corte. Las LCU que están incluidas en una pieza predeterminada de entre las LCU que están incluidas en el segmento de corte actual pueden codificarse en un orden de codificación de una pieza actual.
Si todas las LCU de un segmento de corte actual pertenecen a una pieza actual, el aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede codificar la pluralidad de LCU que están incluidas en el segmento de corte actual en un orden de exploración por filas en la pieza actual. En este caso, puesto que el segmento de corte actual no está localizado a través de un borde de la pieza actual, las LCU del segmento de corte actual no cruzan el borde de la pieza actual. En este caso, el aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede realizar codificación de manera secuencial en al menos un segmento de corte que está incluido en cada pieza y puede codificar una pluralidad de bloques que están incluidos en cada segmento de corte en el orden de exploración por filas.
También, incluso cuando un segmento de corte actual incluye al menos una pieza, el aparato 10 de codificación por entropía de vídeo puede realizar codificación, en un orden de exploración por filas de las LCU de una pieza actual, en las LCU que pertenecen a la pieza actual de entre las LCU que están incluidas en el segmento de corte actual. El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede realizar codificación de manera secuencial en segmentos de corte. Por consiguiente, el aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede generar símbolos codificados de acuerdo con bloques realizando codificación de manera secuencial en los segmentos de corte y realiza codificación de manera secuencial en bloques que están incluidos en cada uno de los segmentos de corte. El aparato 10 de codificación por entropía de vídeo puede realizar intra predicción, inter predicción, transformación, filtración en bucle, compensación de desplazamiento adaptativo de muestra (SAO), y cuantificación en unidades de bloques de cada segmento de corte.
Para realizar codificación de predicción en símbolos codificados que se generan durante un procedimiento de codificación de fuente, por ejemplo, puede realizarse una intra muestra, un vector de movimiento, e información de modo de codificación, predicción en-instantánea. Cuando se realiza predicción en-instantánea, puede codificarse un valor de diferencia entre un símbolo codificado actual y un símbolo previamente codificado, en lugar del símbolo codificado actual. También, puede codificarse un valor de diferencia entre una muestra actual y una muestra vecina, en lugar de la muestra actual.
También, para realizar codificación de predicción en información de contexto de entropía o información de contexto de código que se genera durante un procedimiento de codificación por entropía, puede realizarse codificación por entropía dependiente. Cuando se realiza codificación por entropía dependiente y la información de entropía actual y la información de entropía anterior son iguales, puede omitirse la codificación de la información de entropía actual.
Sin embargo, puesto que el aparato 10 de codificación por entropía de vídeo codifica de manera individual cada pieza, no puede realizarse predicción en-instantánea o codificación por entropía dependiente entre las LCU que pertenecen a piezas diferentes.
El aparato 10 de codificación por entropía de vídeo puede grabar información que indica disponibilidad de un segmento de corte o un atributo del segmento de corte en encabezamientos de diversas unidades de codificación tales como un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de instantánea (PPS), y un encabezamiento de segmento de corte.
Por ejemplo, el aparato 10 de codificación por entropía de vídeo puede generar un encabezamiento de segmento de corte que incluye información que indica si un segmento de corte actual es un segmento de corte inicial en una instantánea actual.
Diversa información básica acerca de una instantánea actual a la que pertenece un segmento de corte actual puede contenerse en y puede transmitirse a través de un PPS. En particular, el PPS puede incluir información acerca de si la instantánea actual puede incluir un segmento de corte dependiente. Por consiguiente, cuando la información que indica que el segmento de corte dependiente se usa en la instantánea actual está contenido en el PPS, el aparato 10 de codificación por entropía de vídeo puede incluir, en un encabezamiento de segmento de corte actual, información que indica si el segmento de corte actual es el segmento de corte dependiente usando información de encabezamiento de corte de un segmento de corte anterior.
En contraste, cuando la información que indica que un segmento de corte dependiente no se usa en una instantánea actual está incluida en un PPS de la instantánea actual, información que indica si el segmento de corte actual es el segmento de corte dependiente no está incluida en un encabezamiento de segmento de corte actual.
También, cuando un segmento de corte actual no es un segmento de corte inicial, el aparato 10 de codificación por entropía de vídeo puede añadir información que indica si el segmento de corte actual es un segmento de corte dependiente a un encabezamiento de segmento de corte.
Es decir, cuando la información que indica que se usa un segmento de corte dependiente en una instantánea actual está incluida en un PPS de la instantánea actual e información que indica que un segmento de corte actual no es un segmento de corte inicial está incluido en un encabezamiento de segmento de corte actual, puede añadirse información que indica si el segmento de corte actual es el segmento de corte dependiente adicionalmente al encabezamiento de segmento de corte actual. El segmento de corte inicial de acuerdo con una realización ejemplar ha de ser un segmento de corte independiente. Por consiguiente, cuando el segmento de corte actual es el segmento de corte inicial, puede omitirse información que indica si el segmento de corte actual son los segmentos de corte dependiente. Por consiguiente, el aparato 10 de codificación por entropía de vídeo puede añadir información que indica si el segmento de corte actual es el segmento de corte inicial al encabezamiento de segmento de corte para el segmento de corte inicial y a continuación puede añadir información básica acerca del segmento de corte actual al encabezamiento de segmento de corte, y puede transmitir información resultante.
Por consiguiente, cuando un segmento de corte dependiente puede usarse en una instantánea actual y un segmento de corte actual no es un segmento de corte inicial, puede añadirse información que indica si el segmento de corte actual es el segmento de corte dependiente adicionalmente a un encabezamiento de segmento de corte actual.
Sin embargo, cuando un segmento de corte actual es un segmento de corte dependiente, no un segmento de corte inicial, la información básica acerca de un segmento de corte puede ser la misma que la información de un encabezamiento de segmento de corte anterior. Por consiguiente, puede transmitirse un encabezamiento de segmento de corte actual mientras que incluye información que indica si el segmento de corte actual es el segmento de corte inicial e información que indica si el segmento de corte actual es el segmento de corte dependiente pero omitiendo información que es la misma que la información del encabezamiento de segmento de corte anterior.
Cuando un segmento de corte actual de acuerdo con una realización ejemplar no es un segmento de corte dependiente, un encabezamiento de segmento de corte actual puede incluir información que indica si el segmento de corte actual es el segmento de corte dependiente y puede incluir adicionalmente diversa información de encabezamiento para el segmento de corte actual.
También, el aparato 10 de codificación por entropía de vídeo puede contener, en un encabezamiento de segmento de corte, un parámetro de cuantificación e información de contexto inicial de un contexto para codificación por entropía y puede transmitir información resultante.
Sin embargo, cuando un segmento de corte actual es un segmento de corte dependiente, el aparato 10 de codificación por entropía de vídeo puede realizar predicción en-instantánea que hace referencia a símbolos codificados de un segmento de corte anterior que se ha codificado más anteriormente que el segmento de corte actual. Cuando un segmento de corte actual es un segmento de corte dependiente, el aparato 10 de codificación por entropía de vídeo puede realizar codificación por entropía dependiente que hace referencia a información de entropía de un segmento de corte anterior que se ha codificado más anteriormente que el segmento de corte actual.
Por consiguiente, cuando un segmento de corte actual es un segmento de corte dependiente, el aparato 10 de codificación por entropía de vídeo no contiene un parámetro de cuantificación e información de contexto inicial en un encabezamiento de segmento de corte del segmento de corte actual. Esto es debido a que un parámetro de cuantificación y la información de contexto inicial del segmento de corte dependiente pueden inicializarse a un parámetro de cuantificación y a la información de contexto inicial que están contenidos en información de encabezamiento de un segmento de corte independiente que se ha codificado previamente.
Cuando un segmento de corte actual es un segmento de corte independiente, puesto que no se realiza predicción en­ instantánea, el aparato 10 de codificación por entropía de vídeo puede emitir una cadena de bits de símbolos codificados del segmento de corte actual, independientemente de un segmento de corte anterior. Cuando un segmento de corte actual es un segmento de corte independiente, el aparato 10 de codificación por entropía de vídeo puede emitir información de entropía del segmento de corte actual, independientemente de información de entropía de un segmento de corte vecino que se ha codificado previamente. Por ejemplo, cuando un segmento de corte actual es un segmento de corte independiente, un parámetro de cuantificación y la información de contexto inicial han de estar contenidos en un encabezamiento de segmento de corte actual.
El aparato 10 de codificación por entropía de vídeo puede transmitir un encabezamiento de segmento de corte y símbolos de un segmento de corte, de acuerdo con los segmentos de corte.
Una operación para codificación por entropía de vídeo realizada por cada uno de los elementos del aparato 10 de codificación por entropía de vídeo se explicará ahora en detalle con referencia a la Figura 1B.
La Figura 1B es un diagrama de flujo de un procedimiento de codificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
El aparato 10 de codificación por entropía de vídeo puede dividir una instantánea en al menos un segmento de corte, puede realizar codificación en cada segmento de corte, y puede realizar de manera secuencial codificación en LCU que se incluyen en cada segmento de corte.
En la operación 11, el conversor a binario 12 puede realizar conversión a binario en símbolos que se determinan realizando codificación en una LCU para generar una cadena de bits de los símbolos.
En la operación 13, el determinador 14 de cadena binaria puede determinar una variable de contexto de acuerdo con cada índice binario de un valor de elemento de sintaxis que corresponde a los símbolos de la LCU. Una variable de contexto para una LCU actual puede determinarse basándose en una variable de contexto de acuerdo con cada índice binario de un valor de elemento de sintaxis que se usa en otra LCU que se ha codificado previamente.
Cada variable de contexto puede incluir una tabla de contexto y un índice de contexto. Una variable de contexto puede determinarse de acuerdo con un elemento de sintaxis.
En la operación 15, el determinador 14 de cadena binaria puede determinar una cadena binaria que indica el valor de elemento de sintaxis basándose en la variable de contexto determinada de un elemento de sintaxis. El aparato 10 de codificación por entropía de vídeo puede almacenar datos acerca de una tabla de contexto que contiene una correlación entre la cadena binaria y una variable de contexto para cada elemento de sintaxis.
El determinador 14 de cadena binaria puede adoptar una cadena binaria indicada por la variable de contexto que se determina en la operación 13, en la tabla de contexto para un valor de elemento de sintaxis actual.
El aparato 10 de codificación por entropía de vídeo puede generar una cadena binaria para todos los elementos de sintaxis para la LCU, y a continuación puede determinar si almacenar variables de contexto que se determinan de acuerdo con la LCU.
En la operación 17, cuando el elemento de sintaxis es un último elemento de sintaxis en la LCU, un segmento de corte dependiente puede incluirse en una instantánea en la que está incluida la LCU, y la LCU es una última LCU en un segmento de corte, la unidad 16 de almacenamiento de contexto puede almacenar variables de contexto para la LCU.
Independientemente de si el segmento de corte es un segmento de corte independiente o un segmento de corte dependiente, cuando un segmento de corte dependiente puede incluirse en la instantánea, la unidad 16 de almacenamiento de contexto puede almacenar las variables de contexto para la LCU.
Cuando una pluralidad de segmentos de corte está incluidos en la instantánea, para codificación por entropía de una variable de contexto de una primera LCU de un segmento de corte dependiente que está localizado cerca de un segmento de corte actual, pueden usarse variables de contexto que se almacenan en el segmento de corte actual.
El aparato 10 de codificación por entropía de vídeo puede generar un PPS que contiene un segmento de corte que está incluido en una instantánea, una LCU, y diversa información que es comúnmente necesaria para decodificar la LCU. El aparato 10 de codificación por entropía de vídeo puede incluir, en el PPS, primera información que indica si un segmento de corte dependiente puede incluirse en la instantánea.
El aparato 10 de codificación por entropía de vídeo puede generar datos de segmento de corte que incluyen datos que se generan codificando LCU que están incluidas en cada segmento de corte. El aparato 10 de codificación por entropía de vídeo puede incluir, en datos acerca de una LCU de entre datos de acuerdo con segmentos de corte, segunda información que indica si la LCU es una última LCU en el segmento de corte. También, una cadena binaria que se genera codificando por entropía puede estar incluida en los datos acerca de la LCU.
El aparato 10 de codificación por entropía de vídeo puede generar un encabezamiento de segmento de corte que incluye una LCU que está incluida en un segmento de corte y diversa información que es necesaria comúnmente para decodificar las LCU. El aparato 10 de codificación por entropía de vídeo puede generar una secuencia de bits que incluye un PPS, un encabezamiento de segmento de corte, y datos de acuerdo con segmentos de corte, como resultado de codificación realizada en los segmentos de corte.
Cuando una pieza puede incluirse en un segmento de corte que está incluido en una instantánea o puede realizarse una operación de sincronización para variables de contexto de una LCU que están incluidas en la instantánea, el aparato 10 de codificación por entropía de vídeo puede incluir, en un encabezamiento de segmento de corte, tercera información que indica un número de puntos de entrada de subconjuntos que están incluidos en el segmento de corte y cuarta información que indica un número que es menor en 1 que un desplazamiento de acuerdo con cada punto de entrada.
La expresión 'subconjunto que está incluido en un segmento de corte' hace referencia a un grupo de LCU que se codifican secuencialmente en un orden de exploración, de entre LCU que están incluidas en el segmento de corte. El procesamiento de los subconjuntos puede realizarse de manera simultánea.
Un primer byte de un subconjunto actual puede determinarse sumando desplazamientos de subconjunto de un subconjunto anterior al subconjunto actual usando la cuarta información que se asigna a cada subconjunto. Cuando existen dos o más subconjuntos, puesto que un desplazamiento de subconjunto ha de ser mayor que 0, la cuarta información que indica el desplazamiento de subconjunto puede obtenerse restando 1 del desplazamiento de subconjunto. Por consiguiente, un desplazamiento de subconjunto real puede ser un valor que es mayor en 1 a un número indicado por la cuarta información.
Un índice de bytes que constituyen cada subconjunto empieza con 0 y un índice de byte que indica un primer byte es 0. Por consiguiente, un último byte de un subconjunto actual puede determinarse sumando un primer byte del subconjunto actual con un número indicado por la cuarta información que se asigna al subconjunto actual.
El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede incluir un procesador central (no mostrado) que controla en general el conversor a binario 12, el determinador 14 de cadena binaria, y la unidad 16 de almacenamiento de contexto. Como alternativa, cada uno del conversor a binario 12, el determinador 14 de cadena binaria, y la unidad 16 de almacenamiento de contexto pueden operar debido a su propio procesador (no mostrado), y el aparato 10 de codificación por entropía de vídeo puede operar en general como operan orgánicamente los procesadores (no mostrado). Como alternativa, el aparato 10 de codificación por entropía de vídeo puede operar de acuerdo con el control de un procesador externo (no mostrado) del aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar.
El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede incluir una o más unidades de almacenamiento de datos (no mostradas) en las que se almacenan datos de entrada/salida del conversor a binario 12, el determinador 14 de cadena binaria, y la unidad 16 de almacenamiento de contexto. El aparato 10 de codificación por entropía de vídeo puede incluir un controlador de memoria (no mostrado) que controla entrada/salida de datos de las unidades de almacenamiento de datos (no mostradas).
La Figura 2A es un diagrama de bloques de un aparato 20 de decodificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
El aparato 20 de decodificación por entropía de vídeo de acuerdo con una realización ejemplar incluye un inicializador 22 de contexto, una unidad 24 de restauración de símbolo, y una unidad 26 de almacenamiento de contexto.
El aparato 20 de decodificación por entropía de vídeo de acuerdo con una realización ejemplar puede recibir una secuencia de bits que se genera como un resultado después de que se divide una instantánea en dos o más piezas y al menos un segmento de corte y a continuación se codifica. La secuencia de bits pueden ser datos que se generan de acuerdo con segmentos de corte y pueden ser datos que se generan de acuerdo con las piezas.
A continuación, el aparato 20 de decodificación por entropía de vídeo puede analizar un encabezamiento de segmento de corte de acuerdo con un atributo de un segmento de corte. El aparato 20 de decodificación por entropía de vídeo puede analizar información que indica si un segmento de corte actual es un segmento de corte inicial en una instantánea actual, del encabezamiento de segmento de corte del segmento de corte actual.
Cuando se determina a partir de la información analizada que el segmento de corte actual no es el segmento de corte inicial, el aparato 20 de decodificación por entropía de vídeo puede analizar adicionalmente información que indica si el segmento de corte actual es un segmento de corte dependiente que usa información de encabezamiento de corte de un segmento de corte anterior, de un encabezamiento de segmento de corte actual.
Sin embargo, puede analizarse información acerca de si la instantánea actual puede incluir el segmento de corte dependiente desde un PPS para la instantánea actual a la que pertenece el segmento de corte actual. Por consiguiente, cuando la información que indica que el segmento de corte dependiente se usa en la instantánea actual se analiza desde el PPS de la instantánea actual, el aparato 20 de decodificación por entropía de vídeo puede analizar información que indica si el segmento de corte actual es el segmento de corte dependiente, desde el encabezamiento de segmento de corte actual.
En contraste, cuando la información que indica que el segmento de corte dependiente no se usa en la instantánea actual se analiza desde el PPS de la instantánea actual, no se analiza información que indica si el segmento de corte actual es el segmento de corte dependiente desde el encabezamiento de segmento de corte actual.
Por consiguiente, cuando la información que indica que el segmento de corte dependiente se usa en la instantánea actual se analiza desde el PPS de la instantánea actual y se analiza la información que indica que el segmento de corte actual no es el segmento de corte inicial, el aparato 20 de decodificación por entropía de vídeo puede analizar adicionalmente información que indica si el segmento de corte actual es el segmento de corte dependiente, desde el encabezamiento de segmento de corte actual. Es decir, cuando se determina que la instantánea actual usa el segmento de corte dependiente y el segmento de corte dependiente actual no es el segmento de corte inicial, el aparato 20 de decodificación por entropía de vídeo puede analizar adicionalmente información que indica si el segmento de corte actual es el segmento de corte dependiente del encabezamiento de segmento de corte actual.
Cuando se determina desde la información analizada que el segmento de corte actual es el segmento de corte inicial, el aparato 20 de decodificación por entropía de vídeo no analiza información que indica si el segmento de corte actual es el segmento de corte dependiente desde el encabezamiento de segmento de corte actual. Puesto que el segmento de corte inicial puede no ser el segmento de corte dependiente, puede determinarse que el segmento de corte inicial es un segmento de corte independiente sin la información analizada. Por consiguiente, cuando el segmento de corte actual es el segmento de corte inicial, el aparato 20 de decodificación por entropía de vídeo puede analizar adicionalmente información que indica si el segmento de corte actual es el segmento de corte inicial e información básica acerca del segmento de corte actual desde un encabezamiento de segmento de corte inicial de la instantánea.
Cuando se determina a partir de la información analizada del encabezamiento de segmento de corte actual que el segmento de corte actual es el segmento de corte dependiente, el aparato 20 de decodificación por entropía de vídeo puede determinar alguna información de encabezamiento que se analiza desde un encabezamiento de un segmento de corte anterior como información básica del segmento de corte actual.
Cuando se determina a partir de la información analizada desde el encabezamiento de segmento de corte actual que el segmento de corte actual no es el segmento de corte dependiente, el aparato 20 de decodificación por entropía de vídeo puede analizar diversa información de encabezamiento para el segmento de corte actual desde el encabezamiento de segmento de corte actual.
El aparato 20 de decodificación por entropía de vídeo puede decodificar el segmento de corte actual usando la información analizada desde el encabezamiento de segmento de corte actual y símbolos del segmento de corte actual.
Cuando cada segmento de corte se recibe a través de una unidad de NAL, el aparato 20 de decodificación por entropía de vídeo puede recibir datos codificados de bloques de acuerdo con segmentos de corte. Cada pieza puede incluir al menos un segmento de corte. Si es necesario, un segmento de corte puede incluir al menos una pieza. Una relación entre un segmento de corte y una pieza es la misma que la descrita con referencia a las Figuras 1A y 1B.
También, el aparato 20 de decodificación por entropía de vídeo que incluye el segmento de corte actual restaurado puede restaurar al menos un segmento de corte que está incluido en cada pieza y puede restaurar la instantánea combinando piezas restauradas.
El aparato 20 de decodificación por entropía de vídeo puede analizar, en un orden de exploración por filas, símbolos de una pluralidad de bloques que están incluidos en el segmento de corte actual, de acuerdo con al menos un segmento de corte que está incluido en una pieza actual, de acuerdo con las piezas. También, el aparato 20 de decodificación por entropía de vídeo puede decodificar, en el orden de exploración por filas, bloques usando los símbolos que se analizan en el orden de exploración por filas de los bloques.
El aparato 20 de decodificación por entropía de vídeo puede analizar símbolos codificados de acuerdo con las LCU realizando decodificación por entropía en una secuencia de bits de cada segmento de corte. El aparato 20 de decodificación por entropía de vídeo puede analizar símbolos codificados de acuerdo con las LCU realizando decodificación por entropía de manera secuencial en las LCU que están incluidas en un segmento de corte. Un procedimiento usado por el aparato 20 de decodificación por entropía de vídeo para realizar restauración analizando símbolos codificados de acuerdo con unidades de codificación que están incluidas en un segmento de corte se explicará ahora en detalle con referencia a la Figura 2B.
La Figura 2B es un diagrama de flujo de un procedimiento de decodificación por entropía de vídeo de acuerdo con diversas realizaciones ejemplares.
En la operación 21, el inicializador 22 de contexto puede determinar una cadena binaria y un índice binario para una LCU que se obtiene desde una secuencia de bits.
El inicializador 22 de contexto puede almacenar una tabla de inicialización para un valor de inicialización de acuerdo con cada índice de contexto para cada elemento de sintaxis. De acuerdo con una operación de inicialización de una variable de contexto, un índice de contexto de un elemento de sintaxis actual puede determinarse para que sea un valor de inicialización basándose en la tabla de inicialización.
También, el inicializador 22 de contexto puede almacenar datos acerca de la tabla de contexto que contiene una correlación entre una cadena binaria y una variable de contexto para cada elemento de sintaxis.
El inicializador 22 de contexto puede determinar la variable de contexto para cada elemento de sintaxis. Pueden sincronizarse variables de contexto de una LCU usando variables de contexto de una LCU cercana.
En la operación 23, el inicializador 22 de contexto puede determinar un valor de un elemento de sintaxis indicado por una cadena binaria actual comparando cadenas binarias que pueden asignarse al elemento de sintaxis en un contexto actual variable basándose en la tabla de contexto con la cadena binaria en el índice binario que se determina en la operación 21.
Cada variable de contexto puede actualizarse basándose en un contexto que se acumula nuevamente, desde una variable de contexto inicial cuando se inicia decodificación por entropía de una LCU, durante la decodificación por entropía realizada en cadenas binarias para la LCU.
El inicializador 22 de contexto puede determinar si un segmento de corte dependiente puede estar incluido en una instantánea basándose en primera información que se obtiene desde un PPS de la secuencia de bits. El inicializador 22 de contexto puede determinar si la LCU es una última LCU en un segmento de corte basándose en segunda información que se obtiene desde datos acerca de la LCU de entre datos de acuerdo con segmentos de corte de la secuencia de bits. También, el inicializador 22 de contexto puede obtener una cadena binaria de los datos acerca de la LCU de entre los datos de acuerdo con segmentos de corte.
En la operación 25, cuando el elemento de sintaxis es un último elemento de sintaxis en la LCU, el segmento de corte dependiente puede estar incluido en la instantánea en la que está incluida la LCU, y la LCU es una última LCU en el segmento de corte, la unidad 26 de almacenamiento de contexto puede almacenar variables de contexto para la LCU.
Independientemente de si el segmento de corte es un segmento de corte independiente o un segmento de corte dependiente, cuando un segmento de corte dependiente puede estar incluido en la instantánea, pueden almacenarse las variables de contexto para la LCU.
Cuando está incluida una pluralidad de segmentos de corte en la instantánea, para codificación por entropía para una variable de contexto de una primera LCU de un segmento de corte dependiente que está localizada cerca de un segmento de corte actual, pueden usarse variables de contexto que se almacenan en el segmento de corte actual.
En la operación 27, una unidad 24 de restauración de símbolo puede restaurar símbolos de la LCU usando el valor del elemento de sintaxis que se determina en la operación 23.
El aparato 20 de decodificación por entropía de vídeo puede determinar un número de puntos de entrada de subconjuntos que están incluidos en el segmento de corte basándose en tercera información que se obtiene desde un encabezamiento de segmento de corte de la secuencia de bits.
El aparato 20 de decodificación por entropía de vídeo puede determinar una posición de cada uno de los puntos de entrada usando un desplazamiento que es un número que es mayor en 1 que un número indicado por cuarta información acerca de un desplazamiento de acuerdo con cada punto de entrada que se obtiene desde el encabezamiento de segmento de corte de la secuencia de bits. Por consiguiente, puesto que el aparato 20 de decodificación por entropía de vídeo puede determinar de manera precisa un punto de entrada para cada subconjunto tal como una columna de segmentos de corte, piezas, o LCU, puede determinarse de manera precisa un punto de sincronización de entropía en el que ha de obtenerse una variable de contexto de una LCU cercana.
El aparato 20 de decodificación por entropía de vídeo puede realizar decodificación de manera secuencial, en un orden de exploración por filas, en cada LCU usando símbolos codificados de LCU que se analizan para cada segmento de corte en las operaciones 21 a 27.
El aparato 20 de decodificación por entropía de vídeo puede realizar decodificación de manera individual en cada pieza, además de otras piezas. Las LCU que están incluidas en una pieza actual pueden decodificarse de manera secuencial de acuerdo con las piezas.
Por consiguiente, el aparato 20 de decodificación por entropía de vídeo puede realizar decodificación de manera secuencial, en el orden de exploración por filas, en cada LCU usando símbolos codificados de las LCU que se analizan para cada segmento de corte.
También, las LCU que están incluidas en una pieza predeterminada de entre las LCU que están incluidas en un segmento de corte actual pueden decodificarse de acuerdo con un orden de decodificación en una pieza actual.
Cuando todas las LCU de un segmento de corte actual pertenecen a una pieza actual, el aparato 20 de decodificación por entropía de vídeo puede decodificar, en el orden de exploración por filas en la pieza actual, la pluralidad de LCU que están incluidas en el segmento de corte actual. En este caso, el segmento de corte actual no está localizado a través de un borde de la pieza actual. El aparato 20 de decodificación por entropía de vídeo puede decodificar de manera secuencial al menos un segmento de corte que está incluido en cada pieza, y puede decodificar una pluralidad de bloques que están incluidos en cada segmento de corte en el orden de exploración por filas.
También, incluso cuando un segmento de corte actual incluye al menos una pieza, el aparato 20 de decodificación por entropía de vídeo puede realizar decodificación, en el orden de exploración por filas de las LCU de una pieza actual en la pieza actual, en las LCU de la pieza actual de entre las LCU que están incluidas en el segmento de corte actual.
Puede realizarse predicción en-instantánea usando símbolos codificados tal como una intra muestra que se analiza de acuerdo con las LCU, un vector de movimiento, e información de modo de codificación. A través de la predicción en-instantánea, puede determinarse un valor de restauración de un símbolo codificado actual sintetizando un valor de restauración de un símbolo previamente codificado con un valor de diferencia entre el símbolo codificado actual y el símbolo codificado anterior. También, un valor de restauración de una muestra actual puede determinarse sintetizando un valor de restauración de una muestra vecina que se restaura más anteriormente que la muestra actual con un valor de diferencia entre la muestra actual y la muestra anterior.
Decodificar usando símbolos codificados de una LCU puede realizarse a través de cuantificación inversa, transformación inversa, e intra predicción/compensación de movimiento. Por ejemplo, pueden restaurarse coeficientes de transformada de unidades de transformación realizando cuantificación inversa en símbolos codificados de cada LCU, y la información residual de unidades de predicción realizando transformación inversa en los coeficientes de transformada de las unidades de transformación. Puede realizarse intra predicción usando una intra muestra en la información residual. También, pueden restaurarse muestras de una unidad de predicción actual a través de compensación de movimiento que sintetiza la información residual con otra unidad de predicción restaurada indicada por el vector de movimiento. También, puede realizarse compensación de SAO y filtración en bucle en las LCU.
Por consiguiente, el aparato 20 de decodificación por entropía de vídeo puede decodificar de manera secuencial las LCU de cada segmento de corte y cada pieza de acuerdo con un orden de decodificación en una pieza.
Cuando una pieza incluye al menos un segmento de corte de acuerdo con una realización ejemplar, puede restaurarse una pieza decodificando las LCU para cada segmento de corte y combinando resultados de restauración de segmentos de corte.
También, cuando un segmento de corte incluye al menos una pieza de acuerdo con una realización ejemplar, un segmento de corte puede restaurarse decodificando las LCU para cada pieza y combinando resultados de restauración de piezas.
El aparato 20 de decodificación por entropía de vídeo puede restaurar una instantánea que está comprendida de piezas restauradas o segmentos de corte restaurados.
De acuerdo con los procedimientos de codificación/decodificación por entropía de las Figuras 1A, 1B, 2A, y 2B, cuando puede usarse un segmento de corte dependiente en una instantánea actual, después de que se completa codificación (decodificación) por entropía de una última LCU de cada segmento de corte, puede almacenarse una variable de contexto. Por consiguiente, incluso cuando un segmento de corte anterior es un segmento de corte independiente, puede obtenerse una variable inicial de una variable de contexto que es necesaria para un siguiente segmento de corte dependiente de una variable de contexto de una última LCU de un segmento de corte independiente que se ha codificado previamente.
También, puesto que se proporciona información que indica un número que es menor en 1 que un desplazamiento de subconjunto a un segmento de corte para informar de manera eficaz un punto de sincronización de una variable de contexto para codificación/decodificación por entropía, puede reducirse un tamaño de datos del segmento de corte.
Una relación entre un segmento de corte y una pieza que son subdominios usados por el aparato 10 de codificación por entropía de vídeo y el aparato 20 de decodificación por entropía de vídeo de acuerdo con una realización ejemplar se explicará ahora con referencia a las Figuras 3 y 4.
La Figura 3 es un diagrama que ilustra piezas y las LCU en una instantánea 301.
Cuando se realiza de manera independiente la codificación y decodificación en cada dominio que se genera dividiendo la instantánea 301 en al menos una dirección de entre una dirección vertical y una dirección horizontal, cada dominio puede denominarse como una pieza. Para realizar procesamiento en tiempo real usando una gran cantidad de datos de un vídeo de alta definición (HD) o una ultra alta definición (UHD), pueden formarse piezas dividiendo instantáneas en al menos una columna y al menos una fila y puede realizarse codificación/decodificación de acuerdo con las piezas.
Puesto que cada pieza en la instantánea 301 es un dominio espacial donde se realiza codificación/decodificación de manera individual, únicamente puede codificarse/decodificarse de manera selectiva una pieza deseada para codificarse/decodificarse.
En la Figura 3, la instantánea 301 puede dividirse en piezas por bordes 321 y 323 de columna y bordes 311 y 313 de fila. Un dominio rodeado por uno de los bordes 321 y 323 de columna y uno de los bordes 311 y 313 de fila es una pieza.
Cuando la instantánea 301 se divide en piezas y se codifica, la información acerca de posiciones de los bordes 321 y 323 de columna y los bordes 311 y 313 de fila puede estar contenida en y transmitirse a través de un SPS o un PPS. Cuando se decodifica la instantánea 301, la información acerca de las posiciones de los bordes 321 y 323 de columna y los bordes 311 y 313 de fila puede analizarse desde el SPS o el PPS, puede realizarse decodificación en piezas y pueden restaurarse subdominios de la instantánea 301, y pueden restaurarse los subdominios a una instantánea 301 usando la información acerca de los bordes 321 y 323 de columna y los bordes 311 y 313 de fila.
La instantánea 301 se divide en las LCU y se realiza codificación/decodificación en los bloques. Por consiguiente, cada pieza se forma dividiendo la instantánea 301 usando los bordes 321 y 323 de columna y los bordes 311 y 313 de fila pueden incluir las LCU. Puesto que los bordes 321 y 323 de columna y los bordes 311 y 313 de fila que dividen la instantánea 301 pasan a través de los bordes entre LCU adyacentes, cada LCU no se divide. Por consiguiente, cada pieza puede incluir M (M es un número entero) LCU.
Por consiguiente, a medida que se realiza procesamiento en piezas de la instantánea 301, puede realizarse codificación/decodificación en LCU en cada pieza. Un número en cada LCU en la Figura 3 indica un orden de exploración de LCU en una pieza, es decir, un orden en el que se realiza procesamiento para codificación o decodificación.
Una pieza puede ser diferente de un segmento de corte y un corte en esa codificación/decodificación se realiza de manera independiente entre piezas. Un segmento de corte y un corte se explicará ahora en detalle con referencia a la Figura 4.
La Figura 4 es un diagrama que ilustra un segmento de corte y las LCU en una instantánea 401.
La instantánea 401 se divide en una pluralidad de LCU. En la Figura 4, la instantánea 401 se divide en 13 LCU en una dirección horizontal y 9 LCU en una dirección vertical, es decir, 117 LCU en total. Cada LCU puede dividirse en unidades de codificación que tienen una estructura de árbol y pueden codificarse/decodificarse.
La instantánea 401 se divide en un corte superior y un corte inferior, es decir, dos cortes, por una línea 411 de borde. También, la instantánea 401 se divide en segmentos 431,433, 435, y 441 de corte por líneas 421, 423, y 411 de borde.
Los segmentos 431,433, 435, y 441 de corte puede clasificarse en segmentos de corte dependientes y segmentos de corte independientes. En un segmento de corte dependiente, la información que se usa o genera en codificación de fuente y codificación por entropía para un segmento de corte predeterminado puede hacerse referencia para codificación de fuente y codificación por entropía de otro segmento de corte. Análogamente, durante la decodificación, la información que se usa o restaura en decodificación de fuente y la información analizada en codificación por entropía para un segmento de corte predeterminado de entre segmentos de corte dependiente puede hacerse referencia para decodificación por entropía y decodificación de fuente de otro segmento de corte.
En un segmento de corte independiente, la información que se usa o genera en codificación de fuente y codificación por entropía realizada en segmentos de corte no se hace referencia en absoluto y se codifica de manera independiente. Análogamente, durante la decodificación, para decodificación por entropía y decodificación de fuente de un segmento de corte independiente, no se usa en absoluto información analizada e información de restauración de otro segmento de corte.
La información acerca de si un segmento de corte es un segmento de corte dependiente o un segmento de corte independiente puede estar contenida y puede transmitirse a través de un encabezamiento de segmento de corte. Cuando ha de decodificarse la instantánea 301, la información acerca de un tipo de segmento de corte puede analizarse desde el encabezamiento de segmento de corte, y puede determinarse si un segmento de corte actual se decodifica de manera independiente de otro segmento de corte o se restaura haciendo referencia al segmento de corte de acuerdo con el tipo de segmento de corte.
En particular, puede no determinarse un valor de elementos de sintaxis de un encabezamiento de segmento de corte de un segmento de corte independiente, es decir, información de encabezamiento, infiriéndose de información de encabezamiento de un segmento de corte anterior. En contraste, puede determinarse información de encabezamiento de un encabezamiento de segmento de corte de un segmento de corte dependiente infiriéndose de información de encabezamiento de un segmento de corte anterior.
Cada corte puede incluir N (N es un número entero) LCU. También, un corte puede incluir al menos un segmento de corte. Cuando un corte incluye únicamente un segmento de corte, el corte puede incluir un segmento de corte independiente. También, un corte puede incluir un segmento de corte independiente y al menos un segmento de corte dependiente que es posterior al segmento de corte independiente. Al menos un segmento de corte que está incluido en un corte puede transmitirse/recibirse a través de la misma unidad de acceso.
El corte superior de la instantánea 410 incluye el segmento 421 de corte que es un segmento de corte independiente y los segmentos 433 y 435 de corte que son dos segmentos de corte dependiente. El corte inferior de la instantánea 410 incluye únicamente el segmento 441 de corte que es un segmento de corte independiente.
Un procedimiento de análisis de un símbolo a través de decodificación por entropía se explicará ahora en detalle con referencia a las Figuras 5 a 7.
La Figura 5 es un diagrama de flujo de una operación 50 de análisis de CABAC de acuerdo con una realización ejemplar.
Cuando el aparato 20 de decodificación por entropía de vídeo realiza decodificación de CABAC de acuerdo con una realización ejemplar, un símbolo para un elemento de sintaxis predeterminado puede analizarse a través de la operación 50 de análisis de CABAC.
En la operación 511, el aparato 20 de decodificación por entropía de vídeo determina si un elemento de sintaxis a analizarse actualmente es un primer elemento de sintaxis en un subconjunto tal como una columna de segmentos de corte, piezas, o LCU, es decir, un elemento de sintaxis que se analiza en primer lugar.
Cuando se determina en la operación 511 que el elemento de sintaxis a analizarse actualmente es un primer elemento de sintaxis, la operación 50 de análisis de CABAC continúa a la operación 513. En la operación 513, se inicializa una variable interna de contexto. La variable interna de contexto puede ser un índice de contexto y una tabla de contexto para un elemento de sintaxis actual. La variable interna de contexto puede determinarse que es un valor por defecto prestablecido.
En la operación 521, el aparato 20 de decodificación por entropía de vídeo puede obtener una cadena binaria que indica el elemento de sintaxis actual desde una secuencia de bits. En las operaciones 523 y 524, un primer índice binario de la cadena binaria puede establecerse a -1, y un índice binario puede aumentar en 1 cada vez que se añade un bit a la cadena binaria.
En la operación 527, el aparato 20 de decodificación por entropía de vídeo puede obtener una variable de contexto que corresponde a un índice binario actual del elemento de sintaxis. Por ejemplo, la variable de contexto que corresponde al índice binario actual puede incluir una tabla de contexto, un índice de contexto, y una bandera de desvío. Los datos prestablecidos acerca de una variable de contexto pueden almacenarse previamente en el aparato 20 de decodificación por entropía de vídeo para corresponder a cada índice binario de cada elemento de sintaxis. Una variable de contexto que corresponde a un índice binario del elemento de sintaxis actual puede seleccionarse basándose en los datos previamente almacenados.
En la operación 529, el aparato 20 de decodificación por entropía de vídeo puede decodificar una cadena de bits que corresponde a la variable de contexto de la cadena binaria. Un estado de desvío que está asignado al índice binario actual puede determinarse basándose en datos acerca de una bandera de desvío que está presente de acuerdo con cada índice binario de acuerdo con elementos de sintaxis. Un índice de contexto puede determinarse basándose en un atributo (por ejemplo, un índice de exploración de una unidad de datos, un índice de componente de color, o un tamaño de una unidad de datos) o un estado actual de una unidad de datos (por ejemplo, una unidad de codificación, una unidad de transformación, o una unidad de predicción) que se codifica actualmente de acuerdo con cada elemento de sintaxis. Una cadena de bits que corresponde a un índice de contexto actual y un estado de desvío pueden determinarse en una tabla de contexto.
En la operación 531, el aparato 20 de decodificación por entropía de vídeo puede comparar datos que contienen una cadena de bits que está disponible en el elemento de sintaxis actual con una cadena de bits actual que se determina en la operación 529. Cuando la cadena de bits actual no pertenece a datos de cadena de bits, la operación 50 de análisis de CABAC puede volver a la operación 525 para aumentar el índice binario en 1 y a las operaciones 527 y 529 para determinar una variable de contexto para una cadena binaria obtenida añadiendo un bit y decodificar una cadena de bits.
Cuando se determina en la operación 531 que la cadena de bits actual que se determina en la operación 529 pertenece a datos de cadena de bits para el elemento de sintaxis, la operación 50 de análisis de CABAC continúa a la operación 533. En la operación 533, puede determinarse si el elemento de sintaxis actual es información 'pcm_flag' que indica un modo de PCM y un valor de elemento de sintaxis indica el modo de PCM. Cuando se determina en la operación 529 que una unidad es una LCU en el modo de PCM, la operación 50 de análisis de CABAC continúa a la operación 535. En la operación 535, puede inicializarse la operación 50 de análisis de CABAC.
Cuando se determina en la operación 533 que un modo no es el modo de PCM, la operación 50 de análisis de CABAC continúa a la operación 537. En la operación 537, puede determinarse si el elemento de sintaxis actual que es un último elemento de sintaxis en un subconjunto actual (por ejemplo, una LCU o un segmento de corte), es decir, es un objeto a analizarse en último lugar. Cuando se determina en la operación 537 que el elemento de sintaxis actual es un último elemento de sintaxis, la operación 50 de análisis de CABAC continúa a la operación 539. En la operación 539, puede almacenarse una variable de contexto que se actualiza finalmente en una LCU actual.
Cuando se completa el almacenamiento de la variable de contexto o el elemento de sintaxis actual no es un último elemento de sintaxis, puede finalizar un procedimiento de análisis del elemento de sintaxis actual.
La variable de contexto que se almacena en la operación 539 puede usarse para decodificación por entropía de otro subconjunto. La Figura 6A es un diagrama para explicar decodificación por entropía usando una variable de contexto almacenada.
Cuando un subconjunto es cada fila de LCU, una variable de contexto inicial de una fila de LCU actual puede determinarse usando una variable de contexto final de una fila de LCU anterior.
Por ejemplo, una variable de contexto inicial de una primera LCU de una fila de LCU actual en una imagen 60 puede determinarse que es, es decir, puede sincronizarse con, una variable de contexto final de una última LCU de una fila de LCU que está localizada a la derecha sobre la fila de LCU actual. Por consiguiente, aunque una variable de contexto inicial de una primera LCU 61 de una primera fila de LCU puede establecerse a una variable de contexto por defecto, una variable 631 de contexto inicial de una primera LCU 63 de una segunda fila de LCU puede determinarse que es una variable 629 de contexto final de una última LCU 62 de la primer fila de LCU, y una variable 651 de contexto inicial de una primera LCU 65 de una tercera fila de LCU puede determinarse que es una variable 649 de contexto final de una última LCU 64 de la segunda fila de LCU.
Si una distancia de sincronización es 1, para sincronización de una variable de contexto de una LCU actual, la unidad 26 de almacenamiento de contexto puede usar una variable de contexto de una segunda LCU de una fila de LCU superior. Por consiguiente, cuando la actualización de la segunda LCU de la fila de LCU superior está completada y se determina una variable de contexto final, la variable de contexto final puede almacenarse, y una variable de contexto de una LCU de una fila de LCU actual puede determinarse usando la variable de contexto final almacenada de la fila de LCU superior.
La Figura 6B es un diagrama de flujo detallado de la operación 539 de almacenamiento de una variable de contexto en la operación 50 de análisis de CABAC de acuerdo con una realización ejemplar.
En la operación 551, la unidad 16 o 26 de almacenamiento de contexto puede determinar si una LCU actual es una segunda LCU en un subconjunto actual y ha de realizarse la sincronización de una variable de contexto en una instantánea actual. Cuando se determina en la operación 551 que la sincronización de la variable de contexto es necesaria y que la LCU actual es una segunda lCu , la operación 539 continúa a la operación 553. En la operación 553, la unidad 16 o 26 de almacenamiento de contexto puede almacenar una variable de contexto final de la LCU actual para procesamiento paralelo de frente de onda (WPP). En WPP, cuando una distancia de sincronización es 1 como se muestra en la Figura 6A, una variable de contexto de una primera LCU de una fila de LCU actual puede sincronizarse con una variable de contexto que se almacena en una segunda LCU de una fila de LCU superior.
En la operación 561, la unidad 16 o 26 de almacenamiento de contexto puede determinar si la LCU actual es una última LCU en un segmento de corte actual y puede existir un segmento de corte dependiente en la instantánea actual. Cuando se determina en la operación 561 que puede existir el segmento de corte dependiente y el segmento de corte actual es un último segmento de corte, la operación 539 puede continuar a la operación 563. En la operación 563, la unidad 16 o 26 de almacenamiento de contexto puede almacenar una variable de contexto final de la LCU actual para el segmento de corte dependiente que es posterior.
La Figura 7 es un diagrama que ilustra una sintaxis de un encabezamiento 71 de segmento de corte de acuerdo con una realización ejemplar.
El aparato 20 de decodificación por entropía de vídeo puede obtener información acerca de desplazamientos de punto de entrada de un segmento de corte actual del encabezamiento 71 de segmento de corte. En detalle, en la información 72, cuando un segmento de corte en una instantánea en la que está incluido el segmento de corte actual satisface al menos una condición de entre una condición para una posibilidad de 'tiles_enabled_flag' de que exista una pieza y una condición para una posibilidad 'entropy_coding_sync_enabled_flag' de que se sincronice una variable de contexto de acuerdo con las LCU, el encabezamiento 71 de segmento de corte puede contener la información 73 'num_entry_point_offsets' que indica un número de puntos de entrada de subconjuntos que están incluidos en el segmento de corte actual. También, la información 'entry_point_offset_minus1[i]' 75 que indica un número que es menor en 1 que un desplazamiento de acuerdo con cada punto de entrada real para cada punto 74 de entrada puede asignarse de acuerdo con los puntos de entrada.
Cuando existen dos o más subconjuntos, puesto que un desplazamiento de subconjunto tiene que ser mayor que 0, la información de desplazamiento de punto de entrada 'entry_point_offset_minus1[i]' puede obtenerse restando 1 de un desplazamiento de subconjunto real. Por consiguiente, el desplazamiento de subconjunto real puede ser un valor que es mayor en 1 que un número indicado por la información de desplazamiento de punto de entrada 'entry_point_offset_minus1[i]'.
Un primer byte de un subconjunto actual puede determinarse sumando desplazamientos de subconjunto de un subconjunto anterior a un subconjunto actual usando la información de desplazamiento de punto de entrada 'entry_point_offset_minus1[i]' que se asigna a cada subconjunto. Por consiguiente, un valor obtenido después de sumar valores que son mayores en 1 que un número indicado por la información de desplazamiento de punto de entrada 'entry_point_offset_minus1[i]' de subconjuntos del subconjunto anterior al subconjunto actual puede determinarse como un primer byte del subconjunto actual.
Un índice de bytes que constituyen cada subconjunto se inicia con 0, y un índice de byte que indica un primer byte es 0. Por consiguiente, un último byte del subconjunto actual puede determinarse sumando el primer byte del subconjunto actual con un número indicado por la información de desplazamiento de punto de entrada 'entry_point_offset_minus1[i]' que se asigna al subconjunto actual.
En el aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar y el aparato 20 de decodificación por entropía de vídeo de acuerdo con una realización ejemplar, los bloques en los que se dividen datos de vídeo son las LCU y cada una de las LCU se divide en unidades de codificación que tienen una estructura de árbol como se ha descrito anteriormente. Un procedimiento y aparato de codificación de vídeo y un procedimiento y aparato de decodificación de vídeo basado en una LCU y unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar se explicarán ahora con referencia a las Figuras 8 a 20.
La Figura 8 es un diagrama de bloques de un aparato 100 de codificación de vídeo basado en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar de la presente invención.
El aparato 100 de codificación de vídeo que implica predicción de vídeo basada en unidades de codificación que tienen una estructura de árbol incluye un determinador 120 de unidad de codificación, y una unidad 130 de salida. En lo sucesivo, el aparato 100 de codificación de vídeo que implica predicción de vídeo basada en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar se denomina como un 'aparato 100 de codificación de vídeo' por conveniencia de explicación.
El determinador 120 de unidad de codificación puede dividir una instantánea actual basándose en una LCU que es una unidad de codificación que tiene un tamaño máximo para la instantánea actual de una imagen. Si la instantánea actual es mayor que la LCU, pueden dividirse datos de imagen de la instantánea actual en la al menos una LCU. La LCU de acuerdo con una realización ejemplar 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.
Una unidad de codificación de acuerdo con una realización ejemplar puede estar caracterizada por un tamaño máximo y una profundidad. La profundidad indica el número de veces que se divide espacialmente la unidad de codificación de la LCU, y a medida que la profundidad aumenta, las unidades de codificación más profundas de acuerdo con las profundidades pueden dividirse de la LCU a una unidad de codificación mínima. Una profundidad de la LCU es una profundidad más superior y una profundidad de la unidad de codificación mínima 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 aumenta la profundidad de la LCU, 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, los datos de imagen de la instantánea actual se dividen 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 ejemplar 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 jerárquicamente de acuerdo con las profundidades.
Puede estar presente 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 unos datos de imagen finalmente 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 la profundidad codificada determinada se emiten a la unidad 130 de salida.
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 por debajo de la profundidad máxima, y los resultados de la 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 como una unidad de codificación que se divide jerárquicamente de acuerdo con las profundidades, y el número de unidades de codificación aumenta. También, incluso si las unidades de codificación corresponden a la 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 errores de codificación pueden diferir de acuerdo con regiones en la LCU, y por lo tanto las profundidades codificadas pueden diferir de acuerdo con regiones en los datos de imagen. Por lo tanto, puede 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 incluida en la LCU. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una realización ejemplar incluyen unidades de codificación que corresponden a una profundidad determinada que es la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la LCU. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente de acuerdo con las profundidades en la misma región de la LCU, y puede determinarse independientemente en regiones diferentes. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente desde una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una realización ejemplar es un índice relacionado con el número de veces de división de una LCU a una unidad de codificación mínima. Una primera profundidad máxima de acuerdo con una realización ejemplar de la presente invención puede indicar el número total de veces de división de la LCU a la unidad de codificación mínima. Una segunda profundidad máxima de acuerdo con una realización ejemplar puede indicar el número total de niveles de profundidad de la LCU a la unidad de codificación mínima. 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ínima es una unidad de codificación en la que la LCU se divide cuatro veces, existen 5 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 por predicción y transformación en la LCU. La codificación por predicción y la transformación también se realizan basándose en las unidades de codificación más profundas de acuerdo con una profundidad igual 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 la LCU se divide de acuerdo con las profundidades, ha de realizarse codificación, incluyendo la codificación por predicción y la transformación, en todas las unidades de codificación más profundas generadas a medida que la profundidad aumenta. Por conveniencia de explicació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 al menos una LCU.
El aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar puede seleccionar de manera diversa un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar 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, la misma unidad de datos puede usarse 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 más en unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no se divide más y se vuelve una unidad de base para codificación de predicción se denominará ahora 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. Una partición es una unidad de datos donde se divide una unidad de predicción de una unidad de codificación, y una unidad de predicción puede ser una partición que tiene el mismo tamaño que una unidad de codificación.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (donde N es un entero positivo) ya no se divide más, la unidad de codificación puede hacerse una unidad de predicción de 2Nx2N y un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N, o NxN. 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 2Nx2N, 2NxN, Nx2N, o NxN. También, el modo de salto puede realizarse únicamente en la partición de 2Nx2N. La codificación se realiza de manera independiente 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 de acuerdo con una realización ejemplar 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.
La unidad de transformación en la unidad de codificación puede dividirse de manera recursiva en regiones con tamaño menor de manera similar a la unidad de codificación de acuerdo con la estructura de árbol. Por lo tanto, pueden dividirse datos residuales en la unidad de codificación de acuerdo con la unidad de transformación de acuerdo con la estructura de árbol de acuerdo con profundidades de transformación.
Una profundidad de transformación que indica el número de veces de división para alcanzar la unidad de transformación dividiendo la altura y anchura de la unidad de codificación puede establecerse también en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de la unidad de transformación es NxN, y puede ser 2 cuando el tamaño de la unidad de transformación es N/2xN/2. En otras palabras, la unidad de transformación de acuerdo con la estructura de árbol puede establecerse 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 requiere no únicamente información acerca de la profundidad codificada, sino también acerca de 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 que 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 unidad de transformación para transformación.
Las unidades de codificación que tienen una estructura de árbol en una LCU y los procedimientos de determinación de una unidad de predicción/partición, y una unidad de transformación, de acuerdo con una realización ejemplar, se describirán en detalle a continuación con referencia a las Figuras 10 a 20.
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.
La unidad 130 de salida 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 obtenerse codificando datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de partición en la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación.
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 no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, se realiza la codificación 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 localizaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con las profundidades, y por lo tanto la información acerca de la profundidad codificada y el modo de codificación pueden establecerse para los datos de imagen.
Por consiguiente, la unidad 130 de salida puede asignar información de codificación acerca de una profundidad codificada correspondiente 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 ejemplar es una unidad de datos cuadrada obtenida dividiendo por 4 la unidad de codificación mínima que constituye la profundidad más inferior. Como alternativa, la unidad mínima de acuerdo con una realización ejemplar puede ser una unidad de datos cuadrada máxima que puede estar incluida en todas las unidades de codificación, unidades de predicción, unidades de partición, y unidades de transformación incluidas en la LCU.
Por ejemplo, la información de codificación emitida por la unidad 130 de salida puede clasificarse en información de codificación de acuerdo con unidades de codificación más profundas, 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 más profundas 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.
La información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con instantáneas, cortes, o GOP, y la información acerca de una profundidad máxima puede insertarse en un encabezamiento de una secuencia de bits, un SPS, o un PPS.
La información acerca de un tamaño máximo de la unidad de transformación permitido con respecto a un vídeo actual, y la información acerca de un tamaño mínimo de la unidad de transformación pueden emitirse también a través de un encabezamiento de una secuencia de bits, un SPS, o un PPS. La unidad 130 de salida puede codificar y emitir información de referencia relacionada con predicción, información de predicción e información de tipo de corte.
En el aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar más sencilla, 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 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación con la profundidad actual que tiene un tamaño de 2Nx2N puede incluir un máximo de 4 de las unidades de codificación con 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 determinada 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, el número de macrobloques por instantánea aumenta de manera excesiva. Por consiguiente, aumenta el número de piezas de información comprimida generadas para cada macrobloque, y por lo tanto es difícil transmitir la información comprimida y se reduce la eficacia de compresión de datos. Sin embargo, usando el aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar, puede aumentarse la eficacia de compresión de imagen puesto que se ajusta una unidad de codificación mientras se consideran características de una imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
El aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar determina unidades de codificación de una estructura de árbol para cada LCU, y genera símbolos como resultado de la codificación realizada para cada unidad de codificación. El aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar puede realizar codificación por entropía en símbolos para cada LCU. En particular, el aparato 10 de codificación por entropía de vídeo puede realizar codificación por entropía en cada LCU de acuerdo con una fila de LCU que incluye LCU que están dispuestas en serie en una dirección horizontal, para cada pieza o segmento de corte generado dividiendo una instantánea. También, el aparato 10 de codificación por entropía de vídeo puede realizar de manera simultánea codificación por entropía paralela en dos o más filas de LCU.
El aparato 10 de codificación por entropía de vídeo puede generar una cadena de bits de símbolos realizando conversión a binario en símbolos que se determinan realizando codificación en las LCU. Puede determinarse una variable de contexto de cada índice binario de un valor de elemento de sintaxis que corresponde a un símbolo de una LCU, y puede determinarse una cadena binaria que indica el valor de elemento de sintaxis basándose en la variable de contexto de un elemento de sintaxis. El aparato 10 de codificación por entropía de vídeo puede adoptar una cadena binaria indicada por un contexto actual variable que se determina en una tabla de contexto para un valor de elemento de sintaxis actual.
Después de formar la cadena binaria para todos los elementos de sintaxis para la LCU, el aparato 10 de codificación por entropía de vídeo puede determinar si almacenar variables de contexto que se determinan en la LCU. Cuando el elemento de sintaxis es un último elemento de sintaxis en la LCU, puede incluirse un segmento de corte dependiente en una instantánea en la que está incluida la LCU, y la LCU que es una última LCU en un segmento de corte, pueden almacenarse las variables de contexto para la LCU.
La unidad 16 de almacenamiento de contexto puede almacenar variables de contexto para una LCU cuando puede incluirse un segmento de corte dependiente en una instantánea, independientemente de si un segmento de corte es un segmento de corte independiente o un segmento de corte dependiente.
Cuando se incluye una pluralidad de segmentos de corte en una instantánea, para codificación por entropía para una variable de contexto de una primera LCU de un segmento de corte dependiente que está localizada cerca de un segmento de corte actual, puede usarse una variable de contexto que se almacena en el segmento de corte actual.
La Figura 9 es un diagrama de bloques de un aparato 200 de decodificación de vídeo basado en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar de la presente invención.
El aparato 200 de decodificación de vídeo que implica predicción de vídeo basada en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar incluye un receptor 210, un extractor 220 de datos de imagen e información de codificación, y un decodificador 230 de datos de imagen. En lo sucesivo, el aparato 200 de decodificación de vídeo que implica predicción de vídeo basada en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar se denomina como un 'aparato 200 de decodificación de vídeo' por conveniencia de explicación.
Las definiciones de diversas expresiones, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, e información acerca de diversos modos de codificación, para operaciones de decodificación del aparato 200 de decodificación de vídeo son idénticas a aquellas descritas con referencia a la Figura 8 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 la 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 un tamaño máximo de una unidad de codificación de una instantánea actual, desde un encabezamiento acerca de la instantánea actual, un SPS, o un PPS.
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, 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 otras palabras, los datos de imagen en una cadena de bits se dividen en la LCU de modo que el decodificador 230 de datos de imagen decodifica 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 unidad de transformación. 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 y la 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 y la 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. Si la información acerca de una profundidad codificada y modo de codificación de una LCU correspondiente se graba de acuerdo con 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 la 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 unidad de transformación 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 una predicción que incluye intra predicción y compensación de movimiento, y una 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.
Además, el decodificador 230 de datos de imagen puede leer información acerca de una unidad de transformación de acuerdo con una estructura de árbol para cada unidad de codificación para realizar transformación inversa basándose en unidades de transformación para cada unidad de codificación, para transformación inversa para cada LCU. A través de la transformación inversa, puede restaurarse un valor de píxel de un dominio espacial de la unidad de codificación.
El decodificador 230 de datos de imagen puede determinar 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 en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 de datos de imagen puede decodificar datos codificados en 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 unidad de transformación para cada unidad de codificación que corresponde a la profundidad codificada.
En otras palabras, pueden recopilarse las unidades de datos que contienen la información de codificación que incluye 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 recopiladas pueden considerarse que son una unidad de datos a decodificarse por el decodificador 230 de datos de imagen en el mismo modo de codificación. Como tal, la unidad de codificación actual puede decodificarse obteniendo la información acerca del modo de codificación para cada unidad de codificación.
El receptor 210 puede incluir el aparato 20 de decodificación por entropía de vídeo de la Figura 2A. El aparato 20 de decodificación por entropía de vídeo puede analizar una pluralidad de filas de las LCU de una secuencia de bits recibida.
Cuando el receptor 22 extrae una primera fila de LCU y una segunda fila de LCU de la secuencia de bits, el primer decodificador 24 de entropía puede restaurar de manera secuencial símbolos de LCU de la primera fila de LCU realizando decodificación por entropía en la primera fila de las LCU.
El aparato 20 de decodificación por entropía de vídeo puede determinar una cadena binaria y un índice binario para una LCU que se obtiene de la secuencia de bits. El aparato 20 de decodificación por entropía de vídeo puede almacenar datos acerca de una tabla de contexto que contiene una correlación entre una cadena binaria y una variable de contexto para cada elemento de sintaxis. El aparato 20 de decodificación por entropía de vídeo puede determinar un valor de un elemento de sintaxis indicado por una cadena binaria actual comparando cadenas binarias que pueden asignarse al elemento de sintaxis en un contexto actual variable basándose en la tabla de contexto con la cadena binaria en el índice binario que se determina actualmente.
Cuando el elemento de sintaxis es un último elemento de sintaxis en la LCU, puede incluirse un segmento de corte dependiente en una instantánea en la que está incluida la LCU, y la LCU es una última LCU en un segmento de corte, el aparato 20 de decodificación por entropía de vídeo puede almacenar variables de contexto para la LCU. Cuando puede incluirse un segmento de corte dependiente en una instantánea independientemente de si un segmento de corte es un segmento de corte independiente o el segmento de corte dependiente, pueden almacenarse variables de contexto para la LCU.
Cuando se incluye una pluralidad de segmentos de corte en una instantánea, para codificación por entropía para una variable de contexto de una primera LCU de un segmento de corte dependiente que está localizada cerca de un segmento de corte actual, puede usarse una variable de contexto que se almacena en el segmento de corte actual.
El aparato 20 de decodificación por entropía de vídeo puede restaurar símbolos de la LCU usando un valor de cada elemento de sintaxis.
Como resultado, el aparato 200 de decodificación de vídeo puede obtener información acerca de una unidad de codificación que tiene un error de codificación mínimo realizando codificación de manera recursiva en cada LCU durante un procedimiento de codificación y puede usar la información para decodificar una instantánea actual. Es decir, pueden decodificarse datos de imagen codificados de unidades de codificación que tienen una estructura de árbol determinada como unidades de codificación óptima para cada LCU.
Por consiguiente, incluso cuando una imagen tiene una alta resolución o una gran cantidad de datos, pueden decodificarse de manera eficaz los datos de imagen y restaurarse de acuerdo con un modo de codificación y un tamaño de una unidad de codificación que se determinan de manera adaptativa de acuerdo con características de la imagen usando información acerca de un modo de codificación óptimo que se transmite desde un codificador.
La Figura 10 es un diagrama para explicar un concepto de unidades de codificación de acuerdo con una realización ejemplar de la presente invención.
Un tamaño de una unidad de codificación puede expresarse por anchura x altura, 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 10 indica un número total de divisiones de una LCU a una unidad de decodificación mínima.
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 aumentar únicamente la 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 una 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 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 y 16 puesto que las profundidades se aumentan a dos capas dividiendo la LCU dos veces. 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 aumentan 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 aumentan 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 11 es un diagrama de bloques de un codificador 400 de imagen basado en unidades de codificación de acuerdo con una realización ejemplar de la presente invención.
El codificador 400 de imagen de acuerdo con una realización ejemplar realiza operaciones del determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo para codificar datos de imagen. En otras palabras, un intra predictor 410 realiza intra predicción en unidades de codificación en un intra modo, de entre un fotograma actual 405, y un estimador 420 de movimiento y un compensador 425 de movimiento realizan respectivamente inter estimación y compensación de movimiento en unidades de codificación en un inter modo de entre el fotograma 405 actual usando el fotograma 405 actual, y un fotograma 495 de referencia.
Los datos emitidos del intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformada cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformada 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 transformada 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 al 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 tienen que realizar operaciones basándose en cada unidad de codificación 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 determinan 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 unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
En particular, el codificador 450 por entropía puede corresponder al aparato 10 de codificación por entropía de vídeo de acuerdo con una realización ejemplar.
La Figura 12 es un diagrama de bloques de un decodificador 500 de imagen basado en unidades de codificación de acuerdo con una realización ejemplar de la presente invención.
Un analizador 510 analiza datos de imagen codificados a decodificarse e información acerca de la codificación requerida para decodificación 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 pasan a través del intra predictor 550 y el compensador 560 de movimiento, puede emitirse como un fotograma 595 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 585 de referencia.
Para decodificar los datos de imagen en el decodificador 230 de datos de imagen del aparato 200 de decodificación de vídeo, el decodificador 500 de imagen puede realizar operaciones que se realizan después del analizador 510.
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 tienen que realizar operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada LCU.
Específicamente, la intra predicción 550 y el compensador 560 de movimiento determinan particiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol, y el transformador 540 inverso determina un tamaño de una unidad de transformación para cada unidad de codificación. En particular, el decodificador 520 por entropía puede corresponder al aparato 20 de decodificación por entropía de vídeo de acuerdo con una realización ejemplar.
La Figura 13 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 ejemplar de la presente invención.
El aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar y el aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar usan unidades de codificación jerárquica para considerar características de una imagen. Puede determinarse de manera adaptativa una altura máxima, una anchura máxima, y una profundidad máxima de unidades de codificación de acuerdo con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Los tamaños de unidades de codificación más profundas de acuerdo con las profundidades pueden determinarse 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 ejemplar, 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. En este caso, la profundidad máxima hace referencia a un número total de veces que la unidad de codificación se divide de la LCU a la unidad de codificación mínima. Puesto que una profundidad aumenta 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 por 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 el que una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad aumenta a lo largo del eje vertical, y 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 640 de codificación que tiene un tamaño de 4x4 y una profundidad de 4 es una unidad de codificación mínima.
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 un tamaño de 64x64 y una 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.
Finalmente, la unidad 650 de codificación que tiene una profundidad de 4 y un tamaño de 4x4 que es una unidad de codificación mínima es una unidad de codificación que tiene una profundidad más inferior, y una correspondiente unidad de predicción puede establecerse a únicamente particiones que tienen 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 de acuerdo con una realización ejemplar tiene que realizar codificación para unidades de codificación que corresponden a cada profundidad incluida en la LCU 610.
Un 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 aumenta la profundidad. 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, 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 tienen que codificarse cada una.
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, puede buscarse el error de codificación mínimo comparando los errores de codificación mínimos de acuerdo con las profundidades, realizando codificación para cada profundidad a medida que la profundidad aumenta a lo largo del eje vertical de la estructura 600 jerárquica. Una profundidad y una partición que tiene 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 14 es un diagrama para explicar una relación entre una unidad 710 de codificación y unidades 720 de transformación de acuerdo con una realización ejemplar de la presente invención.
El aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar o el aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar 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. Pueden seleccionarse tamaños de unidades de transformación para transformación durante la codificación basándose en unidades de datos que ya no son más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar o el aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar, si un tamaño de la unidad 710 de codificación es 64x64, la transformación puede realizarse usando las unidades 720 de transformación 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 unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8, y 4x4, que son menores que 64x64, y a continuación puede seleccionarse una unidad de transformación que tiene el error de codificación mínimo.
La Figura 15 es un diagrama para explicar información de codificación de unidades de codificación que corresponden a una profundidad codificada de acuerdo con una realización ejemplar de la presente invención.
La unidad 130 de salida del aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar 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 unidad de transformación 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 codificar por predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_O 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 por predicción realizado en una partición indicado por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo 816 de salto.
También, la información 820 indica una unidad de transformación en la que basarse cuando se realiza transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad 822 de intra transformación, una segunda unidad 824 de intra transformación, una primera unidad 826 de inter transformación, o una segunda unidad 828 de inter transformación.
El extractor 210 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar 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 16 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades de acuerdo con una realización ejemplar 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_0x2N_0 puede incluir particiones de un tipo 912 de partición que tiene un tamaño de 2N_0x2N_0, un tipo 914 de partición que tiene un tamaño de 2N_0xN_0, un tipo 916 de partición que tiene un tamaño de N_0x2N_0, y un tipo 918 de partición que tiene un tamaño de N_OxN_O. La Figura 16 únicamente ilustra los tipos 912 a 918 de partición que se obtienen dividiendo simétricamente la unidad 910 de predicción, aunque 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 por predicción se realiza de manera repetitiva en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0xN_0, dos particiones que tienen un tamaño de N_0x2N_0, y cuatro particiones que tienen un tamaño de N_OxN_O, 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_0x2N_0, N_0x2N_0, 2N_0xN_0, y N_OxN_O. 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, 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, 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 930 de codificación que tienen una profundidad de 2 y un tamaño de N_OxN_O para buscar un error de codificación mínimo.
Una unidad 940 de predicción para codificación de predicción de la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1 (=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_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_1x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición, 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_2xN_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, la operación de división de acuerdo con cada profundidad puede realizarse hasta cuando una profundidad se vuelve d-1, y la información de división puede codificarse como 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 una unidad de codificación que corresponde a una profundidad de d-2 se divide en la operación 970, una unidad 990 de predicción para codificación de predicción de una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1)x2N_(d-1) puede incluir particiones de un tipo 992 de partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)xN_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)x2N_(d-1), y un tipo 998 de partición que tiene un tamaño de N_(d-1)xN_(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)x2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamaño de N_(d-1)x2N_(d-1), cuatro particiones que tienen un tamaño de N_(d-1 )xN_(d-1) de entre los tipos 992 a 998 de partición para buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición 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 una LCU 900 actual se determina que es d-1 y un tipo de partición de la LCU 900 actual puede determinarse que es N_(d-1)xN_(d-1). También, puesto que la profundidad máxima es d y una unidad 980 de codificación mínima que tiene una profundidad más inferior de d-1 ya no se divide más a una profundidad inferior, no se establece la información de división para la unidad 980 de codificación mínima.
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 ejemplar puede ser una unidad de datos cuadrada obtenida dividiendo por 4 una unidad 980 de codificación mínima. Realizando la codificación de manera repetitiva, el aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar 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 1 a 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 la información de división de la profundidad codificada se establece 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 de acuerdo con una realización ejemplar 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 partición 912. El aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar puede determinar una profundidad, en la 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 17 a 19 son diagramas para explicar una relación entre unidades 1010 de codificación, unidades 1060 de predicción, y unidades 1070 de transformación de acuerdo con una realización ejemplar 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 de acuerdo con una realización ejemplar, 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 unidades 1070 de transformación son unidades de transformación 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 las unidades 1010 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 2NxN, los tipos de partición en las unidades 1016, 1048, y 1052 de codificación tienen un tamaño de Nx2N, y un tipo de partición de la unidad 1032 de codificación tiene un tamaño de NxN. Las unidades de predicción y particiones de las unidades 1010 de codificación son menores o iguales que cada unidad de codificación.
La transformación o transformación inversa se realiza en datos de imagen de la unidad 1052 de codificación en las unidades 1070 de transformación 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 unidades 1070 de transformación 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 de acuerdo con una realización ejemplar y el aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar pueden realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación, y transformación inversa de manera individual en una unidad de datos en la misma unidad de codificación.
Por consiguiente, se realiza codificación 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 las 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 unidad de transformación. La Tabla 1 muestra la información de codificación que puede establecerse por el aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar y el aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar.
Tabla 1
Figure imgf000026_0001
La unidad 130 de salida del aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar puede emitir la información de codificación acerca 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 de acuerdo con una realización ejemplar puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol de 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 más en una profundidad inferior, es una profundidad codificada, y por lo tanto la información acerca de un tipo de partición, modo de predicción, y un tamaño de una unidad de transformación puede definirse 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 codificació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 2Nx2N.
La información acerca del tipo de partición puede indicar tipos de partición simétricos que tienen tamaños de 2Nx2N, 2NxN, Nx2N, 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étrica que tienen tamaños de 2NxnU, 2NxnD, nLx2N, y nRx2N, 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 2NxnU y 2NxnD 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étrica que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:3 y 3:1
El tamaño de la unidad de transformación 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 unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si la información de división de la unidad de transformación es 1, las unidades de transformación 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 2Nx2N es un tipo de partición simétrico, un tamaño de una unidad de transformación puede ser NxN, y si el tipo de partición de la unidad de codificación actual es un tipo de partición asimétrico, el tamaño de la unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar 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 se incluyen 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, una unidad de codificación correspondiente que corresponde a una profundidad codificada se determina 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 se predice una unidad de codificación actual basándose en información de codificación de unidades de datos adyacentes, puede hacerse referencia directamente a la 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, unidades de datos adyacentes a la unidad de codificación actual se buscan usando información codificada de las unidades de datos, y puede hacerse referencia a las unidades de codificación adyacentes buscadas para predecir la unidad de codificación actual.
La Figura 20 es un diagrama para explicar una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación de acuerdo con información de modo de codificación de la Tabla 1.
Una LCU 1300 incluye 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 2Nx2N puede establecerse para que sea uno de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
La información de división (bandera de tamaño TU) de una unidad de transformación es un tipo de un índice de transformación. El tamaño de la unidad de transformación que corresponde al índice de transformación puede cambiarse de acuerdo con un tipo de unidad de predicción o un tipo de partición de la unidad de codificación.
Por ejemplo, cuando el tipo de partición se establece para que sea simétrico, es decir el tipo 1322, 1324, 1326, o 1328 de partición, se establece una unidad 1342 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU de una unidad de transformación es 0, y se establece una unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para que sea asimétrico, es decir, el tipo 1332, 1334, 1336, o 1338 de partición, se establece una unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU es 0, y se establece una unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño de TU es 1.
Haciendo referencia a la Figura 20, la bandera de tamaño de TU es una bandera que tiene un valor o 0 o 1, pero la bandera de tamaño de TU no está limitada a 1 bit, y una unidad de transformación puede dividirse jerárquicamente teniendo una estructura de árbol mientras que la bandera de tamaño de TU aumenta desde 0. La información de división (bandera de tamaño de TU) de una unidad de transformación puede ser un ejemplo de un índice de transformación.
En este caso, el tamaño de una unidad de transformación que se ha usado realmente puede expresarse usando una bandera de tamaño de TU de una unidad de transformación, de acuerdo con una realización ejemplar, junto con un tamaño máximo y tamaño mínimo de la unidad de transformación. El aparato 100 de codificación de vídeo de acuerdo con una realización ejemplar puede codificar información de tamaño de unidad de transformación máxima, información de tamaño de unidad de transformación mínima, y una bandera de tamaño de TU máxima. El resultado de codificación de la información de tamaño de unidad de transformación máxima, la información de tamaño de unidad de transformación mínima, y la bandera de tamaño de TU máxima puede insertarse en un SPS. El aparato 200 de decodificación de vídeo de acuerdo con una realización ejemplar puede decodificar vídeo usando la información de tamaño de unidad de transformación máxima, la información de tamaño de unidad de transformación mínima, y la bandera de tamaño de TU máxima.
Por ejemplo, (a) si el tamaño de una unidad de codificación actual es 64x64 y un tamaño de unidad de transformación máxima es 32x32, (a-1) entonces el tamaño de una unidad de transformación puede ser 32x32 cuando una bandera de tamaño de TU es 0, (a-2) puede ser 16x16 cuando la bandera de tamaño de TU es 1, y (a-3) puede ser 8x8 cuando la bandera de tamaño de TU es 2.
Como otro ejemplo, (b) si el tamaño de la unidad de codificación actual es 32x32 y un tamaño de unidad de transformación mínimo es 32x32, (b-1) entonces el tamaño de la unidad de transformación puede ser 32x32 cuando la bandera de tamaño de TU es 0. En este punto, la bandera de tamaño de TU no puede establecerse a un valor distinto de 0, puesto que el tamaño de la unidad de transformación no puede ser menor que 32x32.
Como otro ejemplo, (c) si el tamaño de la unidad de codificación actual es 64x64 y una bandera de tamaño de TU máxima es 1, entonces la bandera de tamaño de TU puede ser 0 o 1. En este punto, la bandera de tamaño de TU no puede establecerse a un valor distinto de 0 o 1.
Por lo tanto, si se define que la bandera de tamaño de TU máxima es 'MaxTransformSizelndex', un tamaño de unidad de transformación mínimo es 'MinTransformSize', y un tamaño de unidad de transformación es 'RootTuSize' cuando la bandera de tamaño de TU es 0, entonces puede determinarse un tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' en una unidad de codificación actual, que puede definirse por la Ecuación (1):
CurrMinTuSize
= max (MinTransformSize, RootTuSize/(2AMaxTransformSizelndex))... (1)
En comparación con el tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' que puede determinarse en la unidad de codificación actual, un tamaño de unidad de transformación 'RootTuSize' cuando la bandera de tamaño de TU es 0 puede indicar un tamaño de unidad de transformación máxima que puede seleccionarse en el sistema. En la Ecuación (1), 'RootTuSize/(2AMaxTransformSizelndex)' indica un tamaño de unidad de transformación cuando el tamaño de unidad de transformación 'RootTuSize', cuando la bandera de tamaño de TU es 0, se divide un número de veces que corresponde a la bandera de tamaño de TU máxima, y 'MinTransformSize' indica un tamaño de transformación mínima. Por lo tanto, un valor menor de entre 'RootTuSize/(2AMaxTransformSizelndex)' y 'MinTransformSize' puede ser el tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' que puede determinarse en la unidad de codificación actual.
De acuerdo con una realización ejemplar, el tamaño de unidad de transformación máxima RootTuSize puede variar de acuerdo con el tipo de un modo de predicción.
Por ejemplo, si un modo de predicción actual es un inter modo, entonces 'RootTuSize' puede determinarse usando la Ecuación (2) a continuación. En la Ecuación (2), 'MaxTransformSize' indica un tamaño de unidad de transformación máxima, y 'PUSize' indica un tamaño de unidad de predicción actual.
RootTuSize = min(MaxTransformSize, PUSize)...(2)
Es decir, si el modo de predicción actual es el inter modo, el tamaño de unidad de transformación 'RootTuSize', cuando la bandera de tamaño de TU es 0, puede ser un valor menor de entre el tamaño de unidad de transformación máxima y el tamaño de unidad de predicción actual.
Si un modo de predicción de una unidad de partición actual es un intra modo, 'RootTuSize' puede determinarse usando la Ecuación (3) a continuación. En la Ecuación (3), 'PartitionSize' indica el tamaño de la unidad de partición actual.
RootTuSize = min(MaxTransformSize, PartitionSize)...(3)
Es decir, si el modo de predicción actual es el intra modo, el tamaño de unidad de transformación 'RootTuSize' cuando la bandera de tamaño de TU es 0 puede ser un valor menor de entre el tamaño de unidad de transformación máxima y el tamaño de la unidad de partición actual.
Sin embargo, el tamaño de unidad de transformación máxima actual 'RootTuSize' que varía de acuerdo con el tipo de un modo de predicción en una unidad de partición es solamente un ejemplo y la presente invención no está limitado a lo mismo.
De acuerdo con el procedimiento de codificación de vídeo basado en unidades de codificación que tienen una estructura de árbol como se describe con referencia a las Figuras 8 a 20, los datos de imagen de un dominio espacial se codifican para cada una de las unidades de codificación que tienen una estructura de árbol. De acuerdo con el procedimiento de decodificación de vídeo basado en unidades de codificación que tienen una estructura de árbol, se realiza decodificación para que cada LCU restaure datos de imagen de un dominio espacial. Por lo tanto, puede restaurarse una instantánea y un vídeo que es una secuencia de instantáneas. El vídeo restaurado puede reproducirse por unos aparatos de reproducción, almacenados en un medio de almacenamiento, o transmitirse a través de una red.
Las realizaciones de acuerdo con 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).
Por conveniencia de explicación, el procedimiento de codificación de vídeo que implica el procedimiento de codificación por entropía descrito con referencia a las Figuras 1A a 20, se denominará de manera colectiva como un 'procedimiento de codificación de vídeo de acuerdo con la presente invención'. Además, el procedimiento de decodificación de vídeo que implica el procedimiento de decodificación por entropía descrito con referencia a las Figuras 1A a 20, se denominará de manera colectiva como un 'procedimiento de decodificación de vídeo de acuerdo con la presente invención'.
También, el aparato 100 de codificación de vídeo que incluye el aparato 10 de codificación por entropía y un aparato de codificación de vídeo que incluye el codificador 400 de imagen descrito con referencia a las Figuras 1A a 20 se denominará como un 'aparato de codificación de vídeo de acuerdo con la presente invención'. Además, el aparato 200 de decodificación de vídeo que incluye el aparato 20 de decodificación por entropía y el decodificador 500 de imagen se han descrito con referencia a las Figuras 1A a 20 se denominará como un 'aparato de decodificación de vídeo de acuerdo con la presente invención'.
Un medio de grabación legible por ordenador que almacena un programa, por ejemplo, un disco 26000, de acuerdo con una realización ejemplar se describirá ahora en detalle.
La Figura 21 es un diagrama que ilustra una estructura física del disco 26000 en el que se almacena un programa de acuerdo con una realización ejemplar. El disco 26000, que es un medio de almacenamiento, puede ser un disco duro, un disco de memoria de solo lectura de disco compacto (CD-ROM), un disco Blu-ray, o un disco versátil digital (DVD). El disco 26000 incluye una pluralidad de pistas concéntricas Tr que se divide cada una en un número específico de sectores Se en una dirección circunferencial del disco 26000. En una región específica del disco 26000, puede asignarse y almacenarse un programa que ejecuta el procedimiento de determinación de parámetro de cuantificación, el procedimiento de codificación de vídeo y el procedimiento de decodificación de vídeo anteriormente descritos.
Un sistema informático realizado usando un medio de almacenamiento que almacena un programa para ejecutar el procedimiento de codificación de vídeo y el procedimiento de decodificación de vídeo como se ha descrito anteriormente se describirá a continuación con referencia a la Figura 22.
La Figura 22 es un diagrama que ilustra una unidad 26800 de disco para grabar y leer un programa usando el disco 26000. Un sistema 27000 informático puede almacenar un programa que ejecuta al menos uno de un procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo de acuerdo con la presente invención, en el disco 26000 mediante la unidad 26800 de disco. Para ejecutar el programa almacenado en el disco 26000 en el sistema 27000 informático, el programa puede leerse desde el disco 26000 y transmitirse al sistema 26700 informático usando la unidad 26800 de disco.
El programa que ejecuta al menos uno de un procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo de acuerdo con la presente invención puede almacenarse no únicamente en el disco 26000 ilustrado en la Figura 21 o 22 sino también en una tarjeta de memoria, una cinta de ROM, o una unidad de estado sólido (SSD).
Un sistema al que se aplica el procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo anteriormente descritos se descubrirán a continuación.
La Figura 23 es un diagrama que ilustra una estructura global de un sistema 11000 de suministro de contenido para proporcionar un servicio de distribución de contenido. Un área de servicio de un sistema de comunicación se divide en células con tamaño predeterminado, y las estaciones 11700, 11800, 11900, y 12000 base inalámbricas se instalan en estas células, respectivamente.
El sistema 11000 de suministro de contenido incluye una pluralidad de dispositivos independientes. Por ejemplo, la pluralidad de dispositivos independientes, tales como un ordenador 12100, un asistente digital personal (PDA) 12200, una cámara 12300 de vídeo, y un teléfono 12500 móvil, están conectados a la Internet 11100 mediante un proveedor 11200 de servicio de Internet, una red 11400 de comunicación, y las estaciones 11700, 11800, 11900, y 12000 base inalámbricas.
Sin embargo, el sistema 11000 de suministro de contenido no está limitado como se ilustra en la Figura 24, y los dispositivos pueden conectarse selectivamente al mismo. La pluralidad de dispositivos independientes puede conectarse directamente a la red 11400 de comunicación, no mediante las estaciones 11700, 11800, 11900, y 12000 base inalámbricas.
La cámara 12300 de vídeo es un dispositivo de formación de imágenes, por ejemplo, una cámara de vídeo digital, que puede capturar imágenes de vídeo. El teléfono 12500 móvil puede emplear al menos un procedimiento de comunicación de entre diversos protocolos, por ejemplo, Comunicaciones Digitales Personales (PDC), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Sistema Global para Comunicación Móvil (GSM), y Sistema Móvil Personal (PHS).
La cámara 12300 de vídeo puede estar conectada a un servidor 11300 de envío por flujo continuo mediante la estación 11900 base inalámbrica y la red 11400 de comunicación. El servidor 11300 de flujo continuo permite que se envíe por flujo continuo contenido recibido de un usuario mediante la cámara 12300 de vídeo mediante una difusión en tiempo real. El contenido recibido de la cámara 12300 de vídeo puede codificarse usando la cámara 12300 de vídeo o el servidor 11300 de flujo continuo. Los datos de vídeo capturados por la cámara 12300 de vídeo pueden transmitirse al servidor 11300 de flujo continuo mediante el ordenador 12100.
Los datos de vídeo capturados por una cámara 12600 pueden transmitirse también al servidor 11300 de flujo continuo mediante el ordenador 12100. La cámara 12600 es un dispositivo de formación de imágenes que puede capturar tanto imágenes fijas como imágenes de vídeo, similar a una cámara digital. Los datos de vídeo capturados por la cámara 12600 pueden conectarse usando la cámara 12600 o el ordenador 12100. El software que realiza codificación y decodificación de vídeo puede almacenarse en un medio de grabación legible por ordenador, por ejemplo, un disco de CD-ROM, un disco flexible, una unidad de disco duro, un SSD, o una tarjeta de memoria, que puede ser accesible por el ordenador 12100.
Si los datos de vídeo se capturan por una cámara integrada en el teléfono 12500 móvil, los datos de vídeo pueden recibirse del teléfono 12500 móvil.
Los datos de vídeo pueden codificarse también por un sistema de circuito integrado a gran escala (LSI) instalado en la cámara 12300 de vídeo, el teléfono 12500 móvil, o la cámara 12600.
El sistema 11000 de suministro de contenido puede codificar datos de contenido grabados por un usuario que usa la cámara 12300 de vídeo, la cámara 12600, el teléfono 12500 móvil, u otro dispositivo de formación de imágenes, por ejemplo, contenido grabado durante un concierto, y transmitir los datos de contenido codificados al servidor 11300 de flujo continuo. El servidor 11300 de flujo continuo puede transmitir los datos de contenido codificados en un tipo de un contenido de envío por flujo continuo a otros clientes que solicitan los datos de contenido.
Los clientes son dispositivos que pueden decodificar los datos de contenido codificados, por ejemplo, el ordenador 12100, el PDA 12200, la cámara 12300 de vídeo, o el teléfono 12500 móvil. Por lo tanto, el sistema 11000 de suministro de contenido permite que los clientes reciban y reproduzcan los datos de contenido codificados. También, el sistema 11000 de suministro de contenido permite que los clientes reciban los datos de contenido codificados y decodifique y reproduzca los datos de contenido codificados en tiempo real, posibilitando de esta manera difusión personal.
Las operaciones de codificación y decodificación de la pluralidad de dispositivos independientes incluidos en el sistema 11000 de suministro de contenido puede ser similares a aquellas de un aparato de codificación de vídeo y un aparato de decodificación de vídeo de acuerdo con la presente invención.
El teléfono 12500 móvil incluido en el sistema 11000 de suministro de contenido de acuerdo con una realización ejemplar de la presente invención se describirá a continuación en mayor detalle con referencia a las Figuras 24 y 25.
La Figura 24 es un diagrama que ilustra una estructura externa del teléfono 12500 móvil al que se aplica un procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo de acuerdo con la presente invención de acuerdo con una realización ejemplar. El teléfono 12500 móvil puede ser un teléfono inteligente, las funciones del cual no están limitadas y un gran número de las funciones del cual pueden cambiarse o ampliarse.
El teléfono 12500 móvil incluye una antena 12510 interna mediante la que puede intercambiarse una señal de frecuencia de radio (RF) con la estación 12000 base inalámbrica, e incluye una pantalla 12520 de visualización para visualizar imágenes capturadas por una cámara 12530 o imágenes que se reciben mediante la antena 12510 y decodificarse, por ejemplo, una pantalla de cristal líquido (LCD) o una pantalla de diodo de emisión de luz orgánica (OLED). El teléfono 12500 móvil incluye un panel 12540 de operación que incluye un botón de control y un panel táctil. Si la pantalla 12520 de visualización es una pantalla táctil, el panel 12540 de operación incluye adicionalmente un panel táctil de la pantalla 12520 de visualización. El teléfono 12500 móvil incluye un altavoz 12580 para emitir voz y sonido u otro tipo de unidad de salida de sonido, y un micrófono 12550 para emitir voz y sonido u otro tipo de unidad de entrada de sonido. El teléfono 12500 móvil incluye adicionalmente la cámara 12530, tal como una cámara de dispositivo de carga acoplada (CCD), para capturar vídeos e imágenes fijas. El teléfono 12500 móvil puede incluir adicionalmente un medio 12570 de almacenamiento para almacenar datos codificados/decodificados, por ejemplo, imágenes de vídeo o fijas capturadas por la cámara 12530, recibidas mediante correo electrónico, u obtenidas de acuerdo con diversas maneras; y un intervalo 12560 mediante el cual el medio 12570 de almacenamiento se carga en el teléfono 12500 móvil. El medio 12570 de almacenamiento puede ser una memoria flash, por ejemplo, una tarjeta secure digital (SD) o una memoria de solo lectura programable eléctricamente borrable (EEPROM) incluida en una carcasa de plástico.
La Figura 25 es un diagrama que ilustra una estructura interna del teléfono 12500 móvil. Para controlar partes de manera sistemática del teléfono 12500 móvil que incluye la pantalla 12520 de visualización y el panel 12540 de operación, un circuito 12700 de fuente de alimentación, un controlador 12640 de entrada de operación, una unidad 12720 de codificación de imagen, una interfaz 12630 de cámara, un controlador 12620 de LCD, una unidad 12690 de decodificación de imagen, un multiplexor/demultiplexor 12680, una unidad 12670 de grabación/lectura, una unidad 12660 de modulación/demodulación, y un procesador 12650 de sonido están conectados a un controlador 12710 central mediante un bus 12730 de sincronización.
Si un usuario opera un botón de alimentación y establece desde un 'estado de apagado a un estado de 'encendido', el circuito 12700 de fuente de alimentación suministra potencia a todas las partes del teléfono 12500 móvil de un conjunto de baterías, estableciendo de esta manera el teléfono 12500 móvil en un modo de operación.
El controlador 12710 central incluye una unidad de procesamiento central (CPU), una ROM, y una RAM.
Aunque el teléfono 12500 móvil transmite datos de comunicación al exterior, se genera una señal digital por el teléfono 12500 móvil bajo el control del controlador 12710 central. Por ejemplo, el procesador 12650 de sonido puede generar una señal de sonido digital, la unidad 12720 de codificación de imagen puede generar una señal de imagen digital, y pueden generarse datos de texto de un mensaje mediante el panel 12540 de operación y el controlador 12640 de entrada de operación. Cuando se transmite una señal digital a la unidad 12660 de modulación/demodulación bajo el control del controlador 12710 central, la unidad 12660 de modulación/demodulación modula una banda de frecuencia de la señal digital, y un circuito 12610 de comunicación realiza conversión de digital a analógico (DAC) y conversión de frecuencia en la señal de sonido digital de banda modulada de frecuencia. Una señal de transmisión emitida desde el circuito 12610 de comunicación puede transmitirse a una estación base de comunicación de voz o la estación 12000 base inalámbrica mediante la antena 12510.
Por ejemplo, cuando el teléfono 12500 móvil está en un modo de conversación, una señal de sonido obtenida mediante el micrófono 12550 se transforma en una señal de sonido digital por el procesador 12650 de sonido, bajo el control del controlador 12710 central. La señal de sonido digital puede transformarse en una señal de transformación mediante la unidad 12660 de modulación/demodulación y el circuito 12610 de comunicación, y puede transmitirse mediante la antena 12510.
Cuando un mensaje de texto, por ejemplo, correo electrónico, se transmite en un modo de comunicación de datos, se introducen datos de texto del mensaje de texto mediante el panel 12540 de operación y se transmiten al controlador 12610 central mediante el controlador 12640 de entrada de operación. Bajo el control del controlador 12610 central, los datos de texto se transforman en una señal de transmisión mediante la unidad 12660 de modulación/demodulación y el circuito 12610 de comunicación y se transmite a la estación 12000 base inalámbrica mediante la antena 12510.
Para transmitir datos de imagen en el modo de comunicación de datos, los datos de imagen capturados por la cámara 12530 se proporcionan a la unidad 12720 de codificación de imagen mediante la interfaz 12630 de cámara. Los datos de la imagen capturada pueden visualizarse directamente en la pantalla 12520 de visualización mediante la interfaz 12630 de cámara y el controlador 12620 de LCD.
Una estructura de la unidad 12720 de codificación de imagen puede corresponder a la del aparato 100 de codificación de vídeo anteriormente descrito. La unidad 12720 de codificación de imagen puede transformar los datos de imagen recibidos de la cámara 12530 en datos de imagen comprimidos y codificados de acuerdo con un procedimiento de codificación de vídeo empleado por el aparato 100 de codificación de vídeo o el codificador 400 de imagen anteriormente descritos, y a continuación emitir los datos de imagen codificados al multiplexor/demultiplexor 12680. Durante una operación de grabación de la cámara 12530, una señal de sonido obtenida por el micrófono 12550 del teléfono 12500 móvil puede transformarse en datos de sonido digital mediante el procesador 12650 de sonido, y los datos de sonido digital pueden transmitirse al multiplexor/demultiplexor 12680.
El multiplexor/demultiplexor 12680 multiplexa los datos de imagen codificados recibidos de la unidad 12720 de codificación de imagen, junto con los datos de sonido recibidos del procesador 12650 de sonido. Un resultado de multiplexación de los datos puede transformarse en una señal de transmisión mediante la unidad 12660 de modulación/demodulación y el circuito 12610 de comunicación, y puede a continuación transmitirse mediante la antena 12510.
Aunque el teléfono 12500 móvil recibe datos de comunicación desde el exterior, se realiza recuperación de frecuencia y ADC en una señal recibida mediante la antena 12510 para transformar la señal en una señal digital. La unidad 12660 de modulación/demodulación modula una banda de frecuencia de la señal digital. La señal digital de banda de frecuencia modulada se transmite a la unidad 12690 de decodificación de vídeo, al procesador 12650 de sonido, o al controlador 12620 de LCD, de acuerdo con el tipo de la señal digital.
En el modo de conversación, el teléfono 12500 móvil amplifica una señal recibida mediante la antena 12510, y obtiene una señal de sonido digital realizando conversión de frecuencia y ADC en la señal amplificada. Una señal de sonido digital recibida se transforma en una señal de sonido analógica mediante la unidad 12660 de modulación/demodulación y el procesador 12650 de sonido, y la señal de sonido analógica se emite mediante el altavoz 12580, bajo el control del controlador 12710 central.
Cuando se está en el modo de comunicación de datos, se reciben datos de un fichero de vídeo accedido en un sitio web de Internet, una señal recibida de la estación 12000 base inalámbrica mediante la antena 12510 se emite como datos multiplexados mediante la unidad 12660 de modulación/demodulación, y los datos multiplexados se transmiten al multiplexor/demultiplexor 12680.
Para decodificar los datos multiplexados recibidos mediante la antena 12510, el multiplexor/demultiplexor 12680 demultiplexa los datos multiplexados en un flujo de datos de vídeo codificados y un flujo de datos de audio codificados. Mediante el bus 12730 de sincronización, el flujo de datos de vídeo codificado y el flujo de datos de audio codificado se proporcionan a la unidad 12690 de decodificación de vídeo y al procesador 12650 de sonido, respectivamente.
Una estructura de la unidad 12690 de decodificación de imagen puede corresponder a la del aparato de decodificación de vídeo de acuerdo con la presente invención. La unidad 12690 de decodificación de imagen puede decodificar los datos de vídeo codificados para obtener datos de vídeo restaurados y proporcionar los datos de vídeo restaurados a la pantalla 1252 de visualización mediante el controlador 1262 de lCd de acuerdo con el procedimiento de decodificación de vídeo de acuerdo con la presente invención.
Por lo tanto, los datos del fichero de vídeo accedido en el sitio web de Internet pueden visualizarse en la pantalla 1252 de visualización. Al mismo tiempo, el procesador 1265 de sonido puede transformar datos de audio en una señal de sonido analógica, y proporcionar la señal de sonido analógica al altavoz 1258. Por lo tanto, los datos de audio contenidos en el fichero de vídeo accedido en el sitio web de Internet pueden también reproducirse mediante el altavoz 1258.
El teléfono móvil 1250 u otro tipo de terminal de comunicación puede ser un terminal transceptor que incluye tanto un aparato de codificación de vídeo como un aparato de decodificación de vídeo de acuerdo con la presente invención, puede ser un terminal transceptor que incluye únicamente el aparato de codificación de vídeo de acuerdo con la presente invención, o puede ser un terminal transceptor que incluye únicamente el aparato de decodificación de vídeo de acuerdo con la presente invención.
Un sistema de comunicación de acuerdo con la presente invención no está limitado al sistema de comunicación anteriormente descrito con referencia a la Figura 24. Por ejemplo, la Figura 26 es un diagrama que ilustra un sistema de difusión digital que emplea un sistema de comunicación de acuerdo con la presente invención. El sistema de difusión digital de la Figura 26 puede recibir una difusión digital transmitida mediante un satélite o una red terrestre usando un aparato de codificación de vídeo y un aparato de decodificación de vídeo de acuerdo con la presente invención.
Específicamente, una estación 12890 de difusión transmite un flujo de datos de vídeo a un satélite de comunicación o a un satélite 12900 de difusión usando ondas de radio. El satélite 12900 de difusión transmite una señal de difusión, y la señal de difusión se transmite a un receptor de difusión de satélite mediante una antena 12860 doméstica. En cada hogar, un flujo de vídeo codificado puede decodificase y reproducirse por un receptor 12810 de TV, un decodificador de salón 12870, u otro dispositivo.
Cuando un aparato de decodificación de vídeo de acuerdo con la presente invención se implementa en un aparato 12830 de reproducción, el aparato 12830 de reproducción puede analizar y decodificar un flujo de vídeo codificado grabado en un medio 12820 de almacenamiento, tal como un disco o una tarjeta de memoria para restaurar señales digitales. Por lo tanto, la señal de vídeo restaurada puede reproducirse, por ejemplo, en un monitor 12840.
En el decodificador de salón 12870 conectado a la antena 12860 para una difusión satélite/terrestre o una antena 12850 de cable para recibir una difusión de televisión de cable (TV), puede instalarse un aparato de decodificación de vídeo de acuerdo con la presente invención. Los datos emitidos del decodificador de salón 12870 pueden reproducirse también en un monitor 12880 de TV.
Como otro ejemplo, un aparato de decodificación de vídeo de acuerdo con la presente invención puede instalarse en el receptor 12810 de TV en lugar del decodificador de salón 12870.
Un automóvil 12920 que tiene una antena 12910 apropiada puede recibir una señal transmitida desde el satélite 12900 o la estación 11700 base inalámbrica. Un vídeo decodificado puede reproducirse en una pantalla de visualización de un sistema 12930 de navegación de automóvil instalado en el automóvil 12920.
Una señal de vídeo puede codificarse por un aparato de codificación de vídeo de acuerdo con la presente invención y puede a continuación almacenarse en un medio de almacenamiento. Específicamente, una señal de imagen puede almacenarse en un disco 12960 de DVD por un grabador de DVD o puede almacenarse en un disco duro por un grabador 12950 de disco duro. Como otro ejemplo, la señal de vídeo puede almacenarse en una tarjeta 12970 SD. Si el grabador 12950 de disco duro incluye un aparato de decodificación de vídeo de acuerdo con una realización ejemplar de la presente invención, una señal de vídeo grabada en el disco 12960 de DVD, la tarjeta 12970 SD, u otro medio de almacenamiento puede reproducirse en el monitor 12880 de TV.
El sistema 12930 de navegación de automóvil puede no incluir la cámara 12530, la interfaz 12630 de cámara, y la unidad 12720 de codificación de imagen de la Figura 26. Por ejemplo, el ordenador 12100 y el receptor 12810 de TV pueden no estar incluidos en la cámara 12530, la interfaz 12630 de cámara, y la unidad 12720 de codificación de imagen de la Figura 26.
La Figura 27 es un diagrama que ilustra una estructura de red de un sistema de informática en la nube que usa un aparato de codificación de vídeo y un aparato de decodificación de vídeo de acuerdo con una realización ejemplar de la presente invención.
El sistema informático en la nube puede incluir un servidor 14100 de informática en la nube, una base de datos (BD) 14100 de usuarios, una pluralidad de recursos 14200 informáticos, y un terminal de usuario.
El sistema informático en la nube proporciona un servicio de externalización bajo demanda de la pluralidad de recursos 14200 informáticos mediante una red de comunicación de datos, por ejemplo, la Internet, en respuesta a una solicitud del terminal de usuario. Bajo un entorno informático en la nube, un proveedor de servicio proporciona a los usuarios con servicios deseados combinando recursos informáticos en centros de datos localizados en localizaciones físicamente diferentes usando tecnología de virtualización. Un usuario de servicio no tiene que instalar recursos informáticos, por ejemplo, una aplicación, un almacenamiento, un sistema operativo (SO), y seguridad, en su propio terminal para usarlos, sino que puede seleccionar y usar servicios deseados de entre servicios en un espacio virtual generado a través de la tecnología de virtualización, en un punto en el tiempo deseado.
Un terminal de usuario de un usuario de servicio especificado está conectado al servidor 14100 de cálculo en la nube mediante una red de comunicación de datos que incluye la Internet y una red de telecomunicación móvil. Los terminales de usuario pueden proporcionarse a servicios de informática en la nube, y particularmente a servicios de reproducción de vídeo, desde el servidor 14100 de cálculo en la nube. Los terminales de usuario pueden ser diversos tipos de dispositivos electrónicos que pueden estar conectados a la Internet, por ejemplo, un PC 14300 de sobremesa, una TV 14400 inteligente, un teléfono inteligente 14500, un ordenador 14600 portátil, un reproductor multimedia portátil (PMP) 14700, un PC 14800 de tableta y similares.
El servidor 14100 de cálculo en la nube puede combinar la pluralidad de recursos 14200 informáticos distribuidos en una red en la nube y proporcionar a los terminales de usuario con un resultado de combinación. La pluralidad de recursos 14200 informáticos puede incluir diversos servicios de datos, y pueden incluir datos cargados de terminales de usuario. Como se ha descrito anteriormente, el servidor 14100 de cálculo en la nube puede proporcionar a los terminales de usuario con servicios deseados combinando la base de datos de vídeo distribuida en regiones diferentes de acuerdo con la tecnología de virtualización.
La información de usuario acerca de usuarios que se han abonado a un servicio de informática en la nube se almacena en la BD 14100 de usuarios. La información de usuario puede incluir información de registro, direcciones, nombres e información de crédito personal de los usuarios. La información de usuario puede incluir adicionalmente índices de vídeos. En este punto, los índices pueden incluir una lista de videos que ya se han reproducido, una lista de videos que se están reproduciendo, un punto de pausa de un vídeo que se está reproduciendo y similares.
La información acerca de un vídeo almacenado en la BD 14100 de usuarios puede compartirse entre dispositivos de usuario. Por ejemplo, cuando se proporciona un servicio de vídeo al ordenador 14600 portátil en respuesta a una solicitud del ordenador 14600 portátil, un historial de reproducción del servicio de vídeo se almacena en la BD 14100 de usuarios. Cuando se recibe una solicitud para reproducir este servicio de vídeo del teléfono inteligente 14500, el servidor 14100 de cálculo en la nube (14000?) busca y reproduce este servicio de vídeo, basándose en la BD 14100 de usuarios. Cuando el teléfono inteligente 14500 recibe un flujo de datos de vídeo del servidor 14100 de cálculo en la nube, un procedimiento de reproducción de vídeo decodificando el flujo de datos de vídeo es similar a una operación del teléfono 12500 móvil anteriormente descrito con referencia a la Figura 24.
El servidor 14100 de cálculo en la nube puede hacer referencia a un historial de reproducción de un servicio de vídeo deseado, almacenado en la BD 14100 de usuarios. Por ejemplo, el servidor 14100 de cálculo en la nube recibe una solicitud para reproducir un vídeo almacenado en la BD 14100 de usuarios, de un terminal de usuario. Si este vídeo se está reproduciendo, a continuación un procedimiento de envío por flujo continuo de este vídeo, realizado por el servidor 14100 de cálculo en la nube, puede variar de acuerdo con la solicitud del terminal de usuario, es decir, de acuerdo con si el vídeo se reproducirá, empezando desde un inicio del mismo o un punto de pausa del mismo. Por ejemplo, si el terminal de usuario solicita reproducir el vídeo, empezando desde el inicio del mismo, el servidor 14100 de cálculo en la nube transmite datos de envío por flujo continuo del vídeo empezando desde un primer fotograma del mismo al terminal de usuario. Si el terminal de usuario solicita reproducir el vídeo, empezando desde el punto de pausa del mismo, el servidor 14100 de cálculo en la nube transmite datos de envío por flujo continuo del vídeo empezando desde un fotograma que corresponde al punto de pausa, al terminal de usuario.
En este caso, el terminal de usuario puede incluir un aparato de decodificación de vídeo como se ha descrito con referencia a las Figuras 1A a 20. Como otro ejemplo, el terminal de usuario puede incluir un aparato de codificación de vídeo como se ha descrito con referencia a las Figuras 1A a 20. Como alternativa, el terminal de usuario puede incluir tanto el aparato de decodificación de vídeo como el aparato de codificación de vídeo como se ha descrito con referencia a las Figuras 1A a 20.
Diversas aplicaciones de un aparato de decodificación de vídeo de acuerdo con la presente invención anteriormente descrito con referencia a las Figuras 1A a 20 se han descrito anteriormente con referencia a las Figuras 21 a 27. Sin embargo, los procedimientos de almacenamiento del procedimiento de codificación de vídeo y el procedimiento de decodificación de vídeo en un medio de almacenamiento o los procedimientos de implementación del aparato de codificación de vídeo y el aparato de decodificación de vídeo en un dispositivo, de acuerdo con diversas realizaciones de la presente invención, no están limitados a las realizaciones anteriormente descritas con referencia a las Figuras 21 a 27.
Aunque la presente invención se ha mostrado y descrito particularmente con referencia a realizaciones ejemplares de la misma usando términos específicos, las realizaciones y términos se han usado simplemente para explicar la presente invención y no debería interpretarse como que limitan el alcance de la presente invención como se define mediante las reivindicaciones. Las realizaciones ejemplares deberían considerarse en un sentido descriptivo únicamente y no para fines de limitación. Por lo tanto, el alcance de la invención se define no por la descripción detallada de la invención sino por las reivindicaciones adjuntas, y todas las diferencias en el alcance se interpretarán como que están incluidas en la presente invención.

Claims (1)

REIVINDICACIONES
1. Un aparato de decodificación de vídeo para decodificar una instantánea actual de un vídeo, que comprende:
una unidad de obtención configurada para obtener, a partir de un conjunto de parámetros de instantánea (PPS) de la instantánea actual en una secuencia de bits, primera información que indica si puede usarse un segmento de corte dependiente en la instantánea actual;
una unidad de decodificación por entropía configurada para decodificar por entropía elementos de sintaxis de una unidad de codificación más grande (LCU) actual en un primer segmento de corte de la instantánea actual; en el que la unidad de obtención está configurada adicionalmente para obtener, a partir de la secuencia de bits, segunda información que indica si la LCU actual es la última LCU en el primer segmento de corte de la instantánea actual;
en el que la unidad de decodificación por entropía está configurada adicionalmente para almacenar variables de contexto para la LCU actual cuando se decodifica el último elemento de sintaxis de la LCU actual si la primera información indica que puede usarse un segmento de corte dependiente en la instantánea actual y la segunda información indica que la LCU actual es la última LCU en el primer segmento de corte de la instantánea actual; en el que la unidad de decodificación por entropía está configurada adicionalmente para determinar un número de puntos de entrada de subconjuntos que están incluidos en el primer segmento de corte en base a una tercera información obtenida desde un encabezamiento de segmento de corte del segundo segmento de corte en la secuencia de bits;
en el que la unidad de decodificación por entropía está configurada adicionalmente para determinar posiciones de los puntos de entrada en base a un desplazamiento que es 1 mayor que un número indicado por una cuarta información obtenida a partir de la secuencia de bits;
en el que se determina el número y las posiciones de los puntos de entrada si puede realizarse la sincronización para variables de contexto en la instantánea actual, y
en el que la unidad de decodificación de entropía se configura, además, para decodificar la imagen en base a las variables de contexto almacenadas y los puntos de entrada.
ES15182830T 2013-01-04 2014-01-06 Aparato de decodificación por entropía de segmentos de corte Active ES2728091T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361748964P 2013-01-04 2013-01-04

Publications (1)

Publication Number Publication Date
ES2728091T3 true ES2728091T3 (es) 2019-10-22

Family

ID=51062340

Family Applications (5)

Application Number Title Priority Date Filing Date
ES15182833T Active ES2733223T3 (es) 2013-01-04 2014-01-06 Procedimiento de decodificación por entropía de segmentos de corte
ES15182830T Active ES2728091T3 (es) 2013-01-04 2014-01-06 Aparato de decodificación por entropía de segmentos de corte
ES15182831T Active ES2735008T3 (es) 2013-01-04 2014-01-06 Procedimiento para decodificación por entropía de segmentos de corte
ES14735308T Active ES2733027T3 (es) 2013-01-04 2014-01-06 Procedimiento de decodificación por entropía de segmentos de corte
ES15182832T Active ES2734907T3 (es) 2013-01-04 2014-01-06 Procedimiento para decodificación por entropía de segmentos de corte

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES15182833T Active ES2733223T3 (es) 2013-01-04 2014-01-06 Procedimiento de decodificación por entropía de segmentos de corte

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES15182831T Active ES2735008T3 (es) 2013-01-04 2014-01-06 Procedimiento para decodificación por entropía de segmentos de corte
ES14735308T Active ES2733027T3 (es) 2013-01-04 2014-01-06 Procedimiento de decodificación por entropía de segmentos de corte
ES15182832T Active ES2734907T3 (es) 2013-01-04 2014-01-06 Procedimiento para decodificación por entropía de segmentos de corte

Country Status (26)

Country Link
US (6) US9826253B2 (es)
EP (5) EP2940999B1 (es)
JP (8) JP5990342B2 (es)
KR (6) KR101589503B1 (es)
CN (6) CN108307196B (es)
AU (1) AU2014204151B2 (es)
BR (5) BR122015024097B1 (es)
CA (5) CA2897006C (es)
CY (4) CY1121634T1 (es)
DK (4) DK2940999T3 (es)
ES (5) ES2733223T3 (es)
HR (4) HRP20190855T1 (es)
HU (5) HUE044717T2 (es)
IL (6) IL239751A0 (es)
LT (4) LT2986004T (es)
MX (5) MX364485B (es)
MY (4) MY170156A (es)
PL (5) PL2986006T3 (es)
PT (4) PT2986005T (es)
RS (4) RS58715B1 (es)
RU (5) RU2609750C1 (es)
SG (5) SG10201507025QA (es)
SI (4) SI2986003T1 (es)
TR (4) TR201906900T4 (es)
WO (1) WO2014107065A1 (es)
ZA (4) ZA201506856B (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9898951B2 (en) * 2013-04-30 2018-02-20 Sioptica Gmbh Display screen and method for secure representation of information
US10264261B2 (en) * 2013-08-27 2019-04-16 Integrated Device Technology, Inc. Entropy encoding initialization for a block dependent upon an unencoded block
EP3259848A4 (en) * 2015-04-10 2018-10-24 Red.Com, Llc Video camera with rate control video compression
US10574993B2 (en) 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
CN105187845B (zh) * 2015-08-10 2018-07-03 珠海全志科技股份有限公司 视频数据解码装置及解码方法
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
CN116347073A (zh) * 2016-03-30 2023-06-27 韩国电子通信研究院 使用画面划分信息对视频进行编码和解码的方法和设备
CN106331715B (zh) * 2016-08-24 2019-04-12 上海富瀚微电子股份有限公司 基于视频压缩编码标准h.265的熵编码系统及其编码方法
US20180139464A1 (en) * 2016-11-17 2018-05-17 Mediatek Inc. Decoding system for tile-based videos
KR102414164B1 (ko) * 2017-03-31 2022-06-29 한국전자통신연구원 향상된 산술부호화를 제공하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
US11240536B2 (en) 2017-04-13 2022-02-01 Lg Electronics Inc. Method and device for entropy encoding, decoding video signal
WO2019010233A1 (en) 2017-07-05 2019-01-10 Red. Com, Llc PROCESSING VIDEO IMAGE DATA IN ELECTRONIC DEVICES
US11238046B2 (en) * 2018-02-19 2022-02-01 Nippon Telegraph And Telephone Corporation Information management device, information management method, and information management program
WO2019174567A1 (zh) 2018-03-16 2019-09-19 华为技术有限公司 划分标志位的上下文建模方法及装置
CN110278443B (zh) * 2018-03-16 2022-02-11 华为技术有限公司 划分标志位的上下文建模方法及装置
US10915341B2 (en) * 2018-03-28 2021-02-09 Bank Of America Corporation Computer architecture for processing correlithm objects using a selective context input
WO2019185821A1 (en) * 2018-03-29 2019-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for enhancing parallel coding capabilities
US10491914B2 (en) * 2018-03-29 2019-11-26 Tencent America LLC Transform information prediction
CN108989825B (zh) * 2018-07-18 2021-05-07 北京奇艺世纪科技有限公司 一种算术编码方法、装置及电子设备
WO2020117027A1 (ko) 2018-12-07 2020-06-11 삼성전자 주식회사 타일 및 슬라이스를 이용하는 비디오 부호화 방법 및 복호화 방법, 및 타일 및 슬라이스를 이용하는 비디오 부호화 장치 및 복호화 장치
BR112021013512A2 (pt) * 2019-01-09 2021-09-14 Huawei Technologies Co., Ltd. Codificador de vídeo, decodificador de vídeo e métodos correspondentes
WO2020210511A1 (en) * 2019-04-10 2020-10-15 Futurewei Technologies, Inc. Slice entry points in video coding
US11470313B2 (en) 2019-06-22 2022-10-11 Xris Corporation Image signal encoding/decoding method and device therefor
CN112135135A (zh) * 2019-06-24 2020-12-25 腾讯美国有限责任公司 视频解码方法、装置、计算机设备及存储介质
US11516489B2 (en) * 2019-06-24 2022-11-29 Tencent America LLC Method and apparatus for video coding
US11539960B2 (en) 2019-10-01 2022-12-27 Sony Interactive Entertainment Inc. Game application providing scene change hint for encoding at a cloud gaming server
US11524230B2 (en) 2019-10-01 2022-12-13 Sony Interactive Entertainment Inc. Encoder tuning to improve tradeoffs between latency and video quality in cloud gaming applications
US11446572B2 (en) * 2019-10-01 2022-09-20 Sony Interactive Entertainment Inc. Early scan-out of server display buffer at flip-time for cloud gaming applications
US11020661B2 (en) 2019-10-01 2021-06-01 Sony Interactive Entertainment Inc. Reducing latency in cloud gaming applications by overlapping reception and decoding of video frames and their display
US11865434B2 (en) 2019-10-01 2024-01-09 Sony Interactive Entertainment Inc. Reducing latency in cloud gaming applications by overlapping receive and decode of video frames and their display at the client
WO2022035256A1 (ko) * 2020-08-12 2022-02-17 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11375242B1 (en) 2021-01-27 2022-06-28 Qualcomm Incorporated Compression of bitstream indexes for parallel entropy coding
WO2023075488A1 (ko) * 2021-10-28 2023-05-04 엘지전자 주식회사 엔트로피 코딩에 기반한 피쳐 부호화/복호화 방법, 장치, 비트스트림을 저장한 기록 매체 및 비트스트림 전송 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177522B2 (en) * 2000-10-10 2007-02-13 Broadcom Corporation System and method for personal video recording
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
KR100597402B1 (ko) 2003-12-01 2006-07-06 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
AU2004310915B2 (en) * 2003-12-01 2008-05-22 Samsung Electronics Co., Ltd. Method and apparatus for scalable video encoding and decoding
CN101150719B (zh) * 2006-09-20 2010-08-11 华为技术有限公司 并行视频编码的方法及装置
JP4962400B2 (ja) * 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
KR20110017719A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US9049450B2 (en) 2010-04-05 2015-06-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
KR20110112168A (ko) * 2010-04-05 2011-10-12 삼성전자주식회사 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치
WO2011126282A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
TWI403170B (zh) * 2010-05-21 2013-07-21 Univ Nat Chiao Tung 背景調適性二進制算術解碼裝置及其解碼方法
KR101690400B1 (ko) * 2010-07-21 2016-12-27 텔레폰악티에볼라겟엘엠에릭슨(펍) 픽쳐 코딩 및 디코딩
US8654860B2 (en) * 2010-11-01 2014-02-18 Mediatek Inc. Apparatus and method for high efficiency video coding using flexible slice structure
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
KR20120052882A (ko) * 2010-11-15 2012-05-24 한국전자통신연구원 병렬 엔트로피 부호화/복호화 방법 및 장치
CN102595119B (zh) * 2011-01-14 2014-03-12 华为技术有限公司 条带编码方法及装置、条带解码方法及装置
US20120189052A1 (en) 2011-01-24 2012-07-26 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
GB2488830B (en) * 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
TWI487295B (zh) * 2011-05-17 2015-06-01 Univ Nat Cheng Kung 高產出平行化avc/h.264前後文適應性二位元算數解碼器之方法
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
KR102331361B1 (ko) * 2011-12-29 2021-12-01 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
TWI775701B (zh) * 2012-01-20 2022-08-21 美商Ge影像壓縮有限公司 允許平行處理之編碼器、解碼器、傳送解多工器、系統、儲存媒體、方法及電腦程式
US10244246B2 (en) * 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
KR102132784B1 (ko) * 2012-03-22 2020-07-13 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
US9838684B2 (en) * 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
EP3174295B1 (en) * 2012-04-13 2018-12-12 GE Video Compression, LLC Low delay picture coding
FI4002842T3 (fi) * 2012-06-26 2023-11-02 Lg Electronics Inc Videodekoodausmenetelmä, videokoodausmenetelmä ja tallennusväline, joka tallentaa koodatun videoinformaation
MY181830A (en) * 2012-09-26 2021-01-08 Panasonic Ip Corp America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
BR112015004140A8 (pt) * 2012-09-26 2023-01-24 Velos Media Int Ltd Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação e decodificação de imagem

Also Published As

Publication number Publication date
CY1121633T1 (el) 2020-07-31
IL265174A (en) 2019-05-30
MX364485B (es) 2019-04-29
RU2608353C1 (ru) 2017-01-18
IL243289B (en) 2018-04-30
HRP20191066T1 (hr) 2019-09-20
DK2986003T3 (da) 2019-05-20
SI2986005T1 (sl) 2019-08-30
HUE044662T2 (hu) 2019-11-28
SG10201507029UA (en) 2015-10-29
AU2014204151B2 (en) 2016-11-03
EP2986004A2 (en) 2016-02-17
KR101589506B1 (ko) 2016-01-28
US20150341671A1 (en) 2015-11-26
EP2986006B1 (en) 2019-06-19
CN108307196B (zh) 2020-12-04
MX366775B (es) 2019-07-24
MX349298B (es) 2017-07-21
CN105357525A (zh) 2016-02-24
EP2986005B1 (en) 2019-05-08
CA2903195C (en) 2017-04-18
CA2903190C (en) 2017-08-29
IL243292B (en) 2018-10-31
SI2986004T1 (sl) 2019-08-30
BR122015024096B1 (pt) 2020-09-24
CN105357539A (zh) 2016-02-24
LT2940999T (lt) 2019-07-10
CA2903149A1 (en) 2014-07-10
LT2986005T (lt) 2019-05-27
TR201906900T4 (tr) 2019-06-21
CN105027568B (zh) 2018-04-10
IL239751A0 (en) 2015-08-31
DK2940999T3 (da) 2019-06-24
TR201906932T4 (tr) 2019-06-21
KR101589507B1 (ko) 2016-01-28
DK2986005T3 (da) 2019-05-20
BR122015024098B1 (pt) 2020-12-29
ZA201506856B (en) 2017-01-25
HUE044717T2 (hu) 2019-11-28
JP2016506200A (ja) 2016-02-25
KR20150087822A (ko) 2015-07-30
PT2940999T (pt) 2019-08-30
EP2986003B1 (en) 2019-05-08
EP2986006A3 (en) 2016-03-09
EP2986004A3 (en) 2016-03-09
RS58714B1 (sr) 2019-06-28
MY189418A (en) 2022-02-10
US20180077429A1 (en) 2018-03-15
JP2016096580A (ja) 2016-05-26
CA2897006C (en) 2017-02-07
EP2940999A1 (en) 2015-11-04
US9877049B2 (en) 2018-01-23
ES2735008T3 (es) 2019-12-13
CY1121634T1 (el) 2020-07-31
PL2986004T3 (pl) 2019-08-30
US20150341668A1 (en) 2015-11-26
BR112015016040A2 (pt) 2017-07-11
RU2608465C1 (ru) 2017-01-18
US10271071B2 (en) 2019-04-23
MX2015008710A (es) 2015-10-26
JP5990350B2 (ja) 2016-09-14
HUE045384T2 (hu) 2019-12-30
MX2018006466A (es) 2022-08-25
LT2986003T (lt) 2019-05-27
CA2903192A1 (en) 2014-07-10
ES2734907T3 (es) 2019-12-12
MY193371A (en) 2022-10-07
ES2733223T3 (es) 2019-11-28
ZA201506854B (en) 2017-01-25
SI2940999T1 (sl) 2019-08-30
JP2016105627A (ja) 2016-06-09
SG10201507025QA (en) 2015-10-29
HRP20190856T1 (hr) 2019-06-28
JP2017220943A (ja) 2017-12-14
SG10201507028PA (en) 2015-10-29
US9866874B2 (en) 2018-01-09
CA2897006A1 (en) 2014-07-10
JP5990348B2 (ja) 2016-09-14
PL2986003T3 (pl) 2019-08-30
CY1121656T1 (el) 2020-07-31
KR101589503B1 (ko) 2016-01-28
KR20160024364A (ko) 2016-03-04
HUE045383T2 (hu) 2019-12-30
BR112015016040B1 (pt) 2020-09-24
EP2986003A3 (en) 2016-03-16
MY170156A (en) 2019-07-09
MY189391A (en) 2022-02-09
CN105472397A (zh) 2016-04-06
KR20140089484A (ko) 2014-07-15
JP6388697B2 (ja) 2018-09-12
TR201906908T4 (tr) 2019-05-21
JP6622870B2 (ja) 2019-12-18
US9866873B2 (en) 2018-01-09
ZA201506857B (en) 2017-01-25
SG11201505296RA (en) 2015-08-28
RS58864B1 (sr) 2019-07-31
RU2608263C1 (ru) 2017-01-17
US20150341670A1 (en) 2015-11-26
SI2986003T1 (sl) 2019-08-30
EP2940999B1 (en) 2019-06-12
IL243291B (en) 2019-03-31
WO2014107065A1 (ko) 2014-07-10
CN105027568A (zh) 2015-11-04
US9826253B2 (en) 2017-11-21
BR122015024097B1 (pt) 2021-01-05
CN105357539B (zh) 2018-05-25
KR101589505B1 (ko) 2016-01-28
JP2016096581A (ja) 2016-05-26
JP2016226023A (ja) 2016-12-28
CN105357525B (zh) 2019-04-16
KR20150087824A (ko) 2015-07-30
DK2986004T3 (da) 2019-05-20
EP2986003A2 (en) 2016-02-17
CA2903192C (en) 2017-01-03
CA2903195A1 (en) 2014-07-10
HUE045386T2 (hu) 2019-12-30
KR101588219B1 (ko) 2016-01-25
CA2903149C (en) 2017-03-14
EP2986005A3 (en) 2016-03-09
PT2986004T (pt) 2019-07-08
JP5990347B2 (ja) 2016-09-14
KR20150087823A (ko) 2015-07-30
CN105472397B (zh) 2018-09-18
US9826254B2 (en) 2017-11-21
KR20150087825A (ko) 2015-07-30
US20150341669A1 (en) 2015-11-26
SG10201507030WA (en) 2015-10-29
RS58715B1 (sr) 2019-06-28
CY1121765T1 (el) 2020-07-31
EP2940999A4 (en) 2016-03-02
JP5990342B2 (ja) 2016-09-14
AU2014204151A1 (en) 2015-08-13
JP2016105628A (ja) 2016-06-09
ZA201506855B (en) 2017-01-25
CA2903190A1 (en) 2014-07-10
EP2986006A2 (en) 2016-02-17
RS58713B1 (sr) 2019-06-28
KR102040315B1 (ko) 2019-11-04
CN108307196A (zh) 2018-07-20
JP6196355B2 (ja) 2017-09-13
CN105472396B (zh) 2018-05-25
HRP20190855T1 (hr) 2019-06-28
US20150341672A1 (en) 2015-11-26
RU2609750C1 (ru) 2017-02-02
PL2986006T3 (pl) 2019-09-30
IL265174B (en) 2019-12-31
JP2018201234A (ja) 2018-12-20
EP2986004B1 (en) 2019-05-08
HRP20190854T1 (hr) 2019-06-28
RU2609749C1 (ru) 2017-02-02
IL243290B (en) 2019-03-31
TR201908706T4 (tr) 2019-07-22
CN105472396A (zh) 2016-04-06
EP2986005A2 (en) 2016-02-17
JP5990349B2 (ja) 2016-09-14
PL2986005T3 (pl) 2019-08-30
PL2940999T3 (pl) 2019-09-30
PT2986005T (pt) 2019-07-08
PT2986003T (pt) 2019-06-25
ES2733027T3 (es) 2019-11-27
LT2986004T (lt) 2019-05-27
BR122015024099B1 (pt) 2020-09-24
MX356391B (es) 2018-05-28

Similar Documents

Publication Publication Date Title
ES2728091T3 (es) Aparato de decodificación por entropía de segmentos de corte
ES2746824T3 (es) Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
CA3007679C (en) Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area