ES3034382T3 - Method for decoding video by considering skip and split order - Google Patents

Method for decoding video by considering skip and split order

Info

Publication number
ES3034382T3
ES3034382T3 ES22201874T ES22201874T ES3034382T3 ES 3034382 T3 ES3034382 T3 ES 3034382T3 ES 22201874 T ES22201874 T ES 22201874T ES 22201874 T ES22201874 T ES 22201874T ES 3034382 T3 ES3034382 T3 ES 3034382T3
Authority
ES
Spain
Prior art keywords
coding unit
maximum
information
unit
size
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
ES22201874T
Other languages
English (en)
Inventor
Ii-Koo Kim
Jung-Hye Min
Hae-Kyung Jung
Sun-Il Lee
Min-Su Cheon
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 ES3034382T3 publication Critical patent/ES3034382T3/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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

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

Abstract

Un método para codificar un vídeo incluye: determinar unidades de codificación que tienen una estructura de árbol que incluye unidades de codificación de profundidades codificadas y determinar modos de codificación para las unidades de codificación de las profundidades codificadas realizando una codificación basada en unidades de codificación según las profundidades, las unidades de codificación según las profundidades obtenidas dividiendo jerárquicamente la unidad de codificación máxima a medida que aumenta la profundidad; y emitir información que indica un orden de información de división e información de modo de salto que se determina selectivamente para las unidades de codificación según las profundidades, e información sobre los modos de codificación para las unidades de codificación de las profundidades codificadas que incluyen la información de división y la información de modo de salto que están organizadas según el orden. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método para decodificar vídeo considerando el orden de salto y división
Campo técnico
Aparatos y métodos consistentes con realizaciones ejemplares relativas a codificar y decodificar un vídeo.
Antecedentes de la técnica
A medida que se desarrolla y suministra hardware para reproducir y almacenar contenido de vídeo de alta resolución o alta calidad, la necesidad de un códec de vídeo para codificar o decodificar efectivamente el contenido de vídeo de alta resolución o alta calidad está aumentando. En un códec de vídeo de la técnica relacionada, un vídeo se codifica según un método de codificación limitado basándose en un macrobloque que tiene un tamaño predeterminado.
El documento EP2106146 describe un método y un aparato para codificar/decodificar información de vector de movimiento, en el que una unidad de codificación se divide en una pluralidad de subunidades, se predicen los vectores de movimiento predictivo (PMV) de las subunidades, se determina si los PMV satisfacen una condición predeterminada y se generan datos codificados de vector de movimiento, que incluyen información que indica una omisión de los vectores de movimiento de las subunidades, si los PMV satisfacen la condición predeterminada. El documento WO2009/051719 describe métodos y un aparato para codificar y decodificar superbloques divididos en particiones geométricamente. Un aparato incluye un codificador para codificar datos de imagen para al menos una parte de una imagen. Los datos de imagen están formados por una división en particiones geométricas que aplican particiones geométricas a las particiones de bloques de imágenes. Las particiones de bloques de imágenes se obtienen a partir de al menos una de la división en particiones de arriba hacia abajo y de la unión de árbol de abajo hacia arriba.
El documento US2008/101707 describe que en un método para descomponer un bloque de una trama de secuencia de videos, se determina si cualquiera o ambas de las dimensiones del bloque son iguales a una dimensión mínima predeterminada. En respuesta a que cualquiera o ambas de las dimensiones son iguales a la dimensión mínima predeterminada, se envía un vector de movimiento para el bloque. En respuesta a que ambas de las dimensiones exceden de la dimensión mínima predeterminada, se determina un vector de movimiento para el bloque, el bloque es dividido en particiones en dos cuñas, el bloque es dividido en cuatro subbloques de N/2xN/2, y estas etapas se repiten sobre cada uno de los cuatro subbloques de N/2xN/2 hasta que alguna o ambas de las dimensiones igualan a la dimensión mínima predeterminada.
El documento WO2008/027192 describe métodos y aparato para división en particiones de resolución reducida.
El documento EP1950973 describe que una unidad 1 de determinación del tamaño del macrobloque determina el tamaño de cada macrobloque sobre una base de fotograma por fotograma. Una unidad 2 de división de macrobloques divide una imagen introducida en macrobloques cada uno de los cuales tiene el tamaño determinado por la unidad 1 de determinación del tamaño del macrobloque. Una unidad 3 de codificación del macrobloque determina un modo de codificación para cada uno de los macrobloques dividido por la unidad 2 de división de macrobloques, t codifica valores de píxeles en cada uno de los macrobloques en el modo de codificación determinado.
Naito S, et al “Efficient coding scheme for super high definition video base on extending H.264 high profile”, Proc. SPIE 6077, Visual Communications and Image Processing 2006, 607727, 19 de enero de 2006, describe un esquema de codificación eficiente aplicable a video de super alta definición basándose en extensión del H.264 High Profile.
El documento US2004/165765 describe un método y aparato para dividir bloques de imágenes para mejorar la calidad de imágenes intermedias dividiendo cada macrobloque de imágenes (macrobloque) en vistas con el ojo izquierdo y con el ojo derecho en subbloques de imágenes (subbloques) según estimación de disparidad de árbol cuaternario, y luego dividiendo cada subbloque en subbloques más pequeños.
Puri A, et al “Video coding using the H.264/MPEG-4 AVC compression standard” Signal Processing: Imagen Communication, Volumen 19, Versión 9, octubre de 2004, Paginas 793-849, describe herramientas de codificación de video que la norma de compresión H.264/MPEG-4 soporta y cómo estas herramientas están organizadas en perfiles.
El documento US5832234 describe que se generan mediciones de nivel de bloque y luego se usan para generar mediciones estadísticas de nivel de macrobloque, que a su vez son usadas para determinar cómo codificar los macrobloques de la imagen.
Strobach O, “Tree-structrured scene adaptive coder”, IEEE Transactions on Communications, Volumen: 38, Versión: 4, abril de 1990 describe un tipo de codificador adaptativo de escena. Implica una descomposición media de árbol cuaternario dela señal de diferencia de trama a trama compensada en movimiento seguida por una cuantificación escalar de los medios locales.
Descripción
Problema técnico
Las realizaciones ejemplares proporcionan la codificación y decodificación de un vídeo considerando un orden de salto y división de una unidad de codificación según las características de una unidad de datos.
Solución técnica
Según la presente invención se proporcionan métodos como se establece en las reivindicaciones adjuntas.
Otras características de la invención serán evidentes a partir de la descripción que sigue.
Efectos ventajosos
Las unidades de codificación que tienen la estructura de árbol se forman determinando unidades de codificación que tienen una forma y un tamaño óptimos para cada unidad de codificación máxima, basándose en el tamaño de la unidad de codificación máxima y la profundidad máxima determinada considerando las características de la imagen actual. También, dado que la codificación se puede realizar en cada unidad de codificación máxima utilizando cualquiera de los diversos modos de predicción y transformaciones, se puede determinar un modo de codificación óptimo considerando las características de la unidad de codificación de varios tamaños de imagen.
Un orden de la información del modo de salto e información de división se determinan considerando una unidad de datos, un modo de codificación o similares. También, el orden de la información del modo de salto y la información de división pueden determinarse considerando un número total de bits de la información del modo de salto y la información de división, y una frecuencia de ocurrencia de un modo de salto en la codificación y decodificación de datos de vídeo. Dado que se puede establecer el orden de la información del modo de salto y la información de división de las unidades de codificación según las profundidades, la eficacia de transmisión de datos codificados puede mejorarse aún más.
Descripción de los dibujos
La FIG. 1 es un diagrama de bloques de un aparato para codificar un vídeo;
La FIG. 2 es un diagrama de bloques de un aparato para decodificar un vídeo;
La FIG. 3 es un diagrama para describir un concepto de unidades de codificación;
La FIG. 4 es un diagrama de bloques de un codificador de imágenes basándose en unidades de codificación; La FIG. 5 es un diagrama de bloques de un decodificador de imágenes basándose en unidades de codificación;
La FIG. 6 es un diagrama que ilustra unidades de codificación más profundas según las profundidades, y una unidad de predicción;
La FIG. 7 es un diagrama para describir una relación entre una unidad de codificación y unidades de transformación;
La FIG. 8 es un diagrama para describir información de codificación de unidades de codificación correspondientes a una profundidad codificada;
La FIG. 9 es un diagrama de unidades de codificación más profundas según las profundidades;
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades de codificación, unidades de predicción y unidades de transformación;
La FIG. 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una partición, y una unidad de transformación, según la información del modo de codificación de la Tabla 1;
La FIG. 14 es un diagrama de flujo que ilustra un método para decodificar un vídeo;
La FIG. 15 es un diagrama de flujo que ilustra un método para codificar un vídeo, según una realización ejemplar;
La FIG. 16 es un diagrama de bloques que ilustra un aparato para codificar un vídeo considerando un orden de salto y de división, según una realización ejemplar;
La FIG. 17 es un diagrama de bloques que ilustra un aparato para decodificar un vídeo considerando un orden de salto y división, según una realización ejemplar;
La FIG. 18 ilustra unidades de codificación según profundidades codificadas en una unidad de codificación máxima, según una realización ejemplar;
Las Figuras 19 a 21 son diagramas de flujo que ilustran métodos para codificar y decodificar información de salto e información de división, según diversas realizaciones ejemplares;
La FIG. 22 es un diagrama de flujo que ilustra un método para codificar un vídeo considerando un orden de salto y de división, según una realización ejemplar; y
La FIG. 23 es un diagrama de flujo que ilustra un método para decodificar un vídeo considerando de un orden de salto y de división, según una realización ejemplar.
Mejor modo
Según un primer aspecto, se proporciona un método para decodificar un flujo de bits de video según se establece en la reivindicación 1.
Según un segundo aspecto, se proporciona un método para codificar un flujo de bits de video según se establece en la reivindicación 2.
Según un tercer aspecto, se proporciona un medio de almacenamiento legible por ordenador según se establece en la reivindicación 3.
Una unidad de codificación se puede caracterizar por un tamaño máximo y una profundidad. La profundidad indica el número de veces que una unidad de codificación se divide jerárquicamente y, a medida que la profundidad aumenta, las unidades de codificación más profundas según las profundidades pueden dividirse desde una unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima puede ser una profundidad mayor, y una profundidad de la unidad de codificación mínima puede ser una profundidad menor. Dado que los tamaños de las unidades de codificación según las profundidades disminuyen a medida que la profundidad de la unidad de codificación máxima aumenta, una unidad de codificación de una profundidad superior puede incluir una pluralidad de unidades de codificación de profundidades menores.
Según un tamaño máximo de una unidad de codificación, los datos de imagen de una imagen actual se pueden dividir en unidades de codificación máximas, y cada una de las unidades de codificación máximas puede incluir unidades de codificación divididas según las profundidades. Dado que una unidad de codificación máxima se divide según las profundidades, los datos de imagen de un dominio espacial incluido en la unidad de codificación máxima se pueden clasificar jerárquicamente según las profundidades.
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan un número total de veces que una altura y una anchura de la unidad de codificación máxima se dividen jerárquicamente, pueden ser predeterminados.
El orden de la información de división y de la información del modo de salto que se determina selectivamente para las unidades de codificación según las profundidades se puede determinar por al menos una de una secuencia de imágenes a la que pertenecen las unidades de codificación según las profundidades, un segmento, un tipo de segmento según una dirección de predicción y un parámetro de cuantificación de una unidad de datos.
El orden de la información de división y de la información del modo de salto que se determina selectivamente para las unidades de codificación según las profundidades se puede determinar por las profundidades de las unidades de codificación en la unidad de codificación máxima.
El orden de la información de división y de la información del modo de salto de las unidades de codificación según las profundidades se puede determinar de tal manera que, si una unidad de codificación es la unidad de codificación máxima, la información del modo de salto precede a la información de división, y si la unidad de codificación no es la unidad de codificación máxima, la información de división precede a la información del modo de salto.
La extracción puede incluir: si una unidad de codificación es la unidad de codificación máxima, según el orden de la información de división y de la información de modo de salto, determinar si la unidad de codificación máxima se predice en un modo de salto según la información de modo de salto antes de determinar si la unidad de codificación máxima se divide según la información de división; si la unidad de codificación no es la unidad de codificación máxima, determinar si la unidad de codificación está dividida según la información de división antes de determinar si la unidad de codificación está predicha en un modo de salto según la información del modo de salto; y extraer la información acerca de la profundidad codificada y el modo de codificación de la profundidad codificada y los datos de vídeo codificados según las unidades de codificación de la profundidad codificada.
En la extracción, si se extrae una pieza de información de división y salto obtenida combinando la información de división y la información de modo de salto para la unidad de codificación según las profundidades, las unidades de codificación según las profundidades se pueden predecir en un modo de salto sin dividir, y si se extrae la información de división o la información de modo de salto para las unidades de codificación según las profundidades, las unidades de codificación según las profundidades pueden no ser divididas o pueden no ser predichas en un modo de salto.
Modo para poner en práctica la invención
Se explicarán con referencia a las FIGS. 1 a 23 un aparato para codificar un vídeo, un aparato para decodificar un vídeo, y un método de codificación de un vídeo. Se explicará con referencia a las FIGS. 1 a 15, la codificación y decodificación de un vídeo basándose en una unidad de datos espacialmente jerárquica, y se explicará ahora con referencia a las FIGS. 16 a 23 la codificación y decodificación de un vídeo considerando un orden de salto y división según una o más realizaciones ejemplares.
A continuación se describirán realizaciones ejemplares más completamente con referencia a los dibujos adjuntos.
En lo sucesivo, una 'unidad de codificación' es una unidad de datos de codificación en la que los datos de imagen se codifican en un lado del codificador, por ejemplo, un aparato de codificación que incluye un procesador y un codificador, y una unidad de datos codificada en la que los datos de imagen codificados se decodifican en un lado del decodificador, por ejemplo, un aparato de decodificación que incluye un procesador y un decodificador, según las realizaciones ejemplares.
En lo sucesivo, una 'imagen' puede indicar una imagen fija para un vídeo o una imagen en movimiento, es decir, el vídeo en sí.
Se explicarán con referencia a las FIGS 1 a 15, un aparato para codificar un vídeo, un aparato para decodificar un vídeo, y un método para codificar un vídeo.
La FIG. 1 es un diagrama de bloques de un aparato 100 para codificar un vídeo.
El aparato 100 incluye un divisor 110 de unidad de codificación máxima, un determinador 120 de unidad de codificación y una unidad 130 de salida.
El divisor 110 de unidad de codificación máxima puede dividir una imagen actual basándose en una unidad de codificación máxima para la imagen actual de una imagen. Si la imagen actual es mayor que la unidad de codificación máxima, los datos de imagen de la imagen actual pueden dividirse en al menos una unidad de codificación máxima. La unidad de codificación máxima puede ser una unidad de datos que tenga un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en donde una forma de la unidad de datos es un cuadrado que tiene una anchura y una longitud en cuadrados de 2. Los datos de imagen pueden emitirse al determinador 120 de unidad de codificación según la al menos una unidad de codificación máxima.
Una unidad de codificación se puede caracterizar por un tamaño máximo y una profundidad. La profundidad indica un número de veces que la unidad de codificación es dividida espacialmente de la unidad de codificación máxima, y a medida que la profundidad se hace más profunda o aumenta, las unidades de codificación más profundas según las profundidades pueden dividirse desde la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es la profundidad más superior y una profundidad de la unidad de codificación mínima es la profundidad más inferior. Como el tamaño de una unidad de codificación correspondiente a cada profundidad disminuye a medida que la unidad de codificación máxima se hace más profunda, una unidad de codificación correspondiente a una profundidad superior puede incluir una pluralidad de unidades de codificación correspondientes a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la imagen actual se dividen en las unidades de codificación máximas según un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máximas puede incluir unidades de codificación más profundas que se dividen según las profundidades. Dado que la unidad de codificación máxima se divide según las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación máxima se pueden clasificar jerárquicamente según las profundidades.
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que una altura y una anchura de la unidad de codificación máxima se dividen jerárquicamente pueden ser predeterminados.
El determinador 120 de unidad de codificación codifica al menos una región de división obtenida dividiendo una región de la unidad de codificación máxima según las profundidades, y determina una profundidad para emitir unos datos de imagen finalmente codificados según la al menos una región de división. En otras palabras, el determinador 120 de la unidad de codificación determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas según las profundidades, según la unidad de codificación máxima de la imagen actual, y seleccionando una profundidad que tenga el menor error de codificación. Así, los datos de imagen codificados, de la unidad de codificación, correspondientes a la profundidad codificada determinada se emiten finalmente. También, las unidades de codificación correspondientes a la profundidad codificada pueden considerarse como unidades de codificación codificadas.
La profundidad codificada determinada y los datos de imagen codificados según la profundidad codificada determinada se emiten a la unidad 130 de salida.
Los datos de imagen en la unidad de codificación máxima 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 codificar 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 menor error de codificación 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 unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide jerárquicamente según las profundidades y a medida que el número de unidades de codificación aumenta. También, incluso si las unidades de codificación correspondientes a la misma profundidad en una unidad de codificación máxima, cada una de las unidades de codificación correspondientes a la misma profundidad puede dividirse a una profundidad menor midiendo un error de codificación de los datos de imagen de cada unidad de codificación, por separado. Por consiguiente, incluso cuando los datos de imagen se incluyen en una unidad de codificación máxima, los datos de imagen se dividen en regiones según las profundidades, los errores de codificación pueden diferir según las regiones en la unidad de codificación máxima y, así, las profundidades codificadas pueden diferir según las regiones en los datos de imagen. Así, se pueden determinar una o más profundidades codificadas en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima se pueden dividir según unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador 120 de la unidad de codificación puede determinar unidades de codificación que tienen una estructura de árbol incluida en la unidad de codificación máxima. Las 'unidades de codificación que tienen una estructura de árbol' incluyen unidades de codificación correspondientes a una profundidad determinada para ser la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente según las profundidades en la misma región de la unidad de codificación máxima, y puede determinarse independientemente en diferentes regiones. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente de una profundidad codificada en otra región.
Una profundidad máxima es un índice relacionado con el número de veces de división desde una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima puede indicar el número total de veces de división desde la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima puede indicar el número total de niveles de profundidad desde la unidad de codificación máxima hasta la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en el que la unidad de codificación máxima se divide una vez, puede establecerse en 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide dos veces, puede establecerse en 2. Aquí, si la unidad de codificación mínima es una unidad de codificación en la que la unidad de codificación máxima se divide cuatro veces, existen 5 niveles de profundidad de profundidades 0, 1, 2, 3 y 4 y, así, la primera profundidad máxima puede establecerse en 4, y la segunda profundidad máxima puede establecerse en 5.
Puede realizarse codificación por predicción y transformación según la unidad de codificación máxima. La codificación de predicción y la transformación también se realizan basándose en las unidades de codificación más profundas según una profundidad igual o menor que la profundidad máxima, según la unidad de codificación máxima. La transformación puede realizarse según el método de transformación ortogonal o transformación en enteros.
Dado que el número de unidades de codificación más profundas aumenta cada vez que la unidad de codificación máxima se divide según las profundidades, la codificación que incluye la codificación de predicción y la transformación, se realiza en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace más profunda. Para conveniencia de la descripción, la codificación de predicción y la transformación se describirán a continuación basándose en una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato 100 puede seleccionar de forma variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de la imagen, operaciones, como la codificación de predicción, transformación y codificación por entropía, se realizan, y en este momento, se puede usar la misma unidad de datos para todas las operaciones o se pueden usar diferentes unidades de datos para cada operación.
Por ejemplo, el aparato 100 puede seleccionar no solo 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 de predicción sobre los datos de imagen en la unidad de codificación.
Para realizar la codificación de predicción en la unidad de codificación máxima, la codificación de predicción se puede realizar basándose en una unidad de codificación correspondiente a una profundidad codificada, es decir, basándose en una unidad de codificación que ya no se divide en unidades de codificación correspondientes a una profundidad menor. En lo sucesivo, la unidad de codificación que ya no es dividida y resulta una unidad base para la codificación de predicción a continuación se denominará 'unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (en la que N es un entero positivo) ya no se divide y resulta 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 la 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 sobre la partición de 2Nx2N, 2NxN, Nx2N o NxN. También, el modo de salto solo se puede realizar sobre la partición de 2Nx2N. La codificación se realiza independientemente sobre una unidad de predicción en una unidad de codificación, seleccionando así un modo de predicción que tenga el menor error de codificación.
El aparato 100 también puede realizar la transformación en los datos de imagen en una unidad de codificación basándose no solo 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 se puede realizar basándose en una unidad de datos que tiene un tamaño menor o igual que la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un intra-modo y una unidad de datos para un inter-modo.
Una unidad de datos utilizada como base de la transformación se denominará a continuación 'unidad 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 también es 2Nx2N, puede ser 1 cuando cada una de la altura y anchura de la unidad de codificación actual se divide en dos partes iguales, totalmente dividida en 41 unidades de transformación, y el tamaño de la unidad de transformación es, por tanto NxN, y puede ser 2 cuando cada uno de la altura y la anchura de la unidad de codificación actual es dividida en cuatro partes iguales, totalmente dividida en 42 unidades de transformación y el tamaño de la unidad de transformación es, por lo tanto, N/2xN/2. Por ejemplo, la unidad de transformación se puede establecer según una estructura de árbol jerárquica, en la que una unidad de transformación de una profundidad de transformación superior se divide en cuatro unidades de transformación de una profundidad de transformación inferior según las características jerárquicas de una profundidad de transformación.
De manera similar a la unidad de codificación, la unidad de transformación en la unidad de codificación puede dividirse recursivamente en regiones de menor tamaño, de modo que la unidad de transformación pueda determinarse independientemente en unidades de regiones. Por lo tanto, los datos residuales en la unidad de codificación pueden dividirse según la transformación que tiene la estructura de árbol según las profundidades de transformación.
La codificación de información según las unidades de codificación correspondientes a una profundidad codificada requiere no solo información acerca de la profundidad codificada, sino también información relacionada con la codificación y transformación de predicción. Por consiguiente, el determinador 120 de la unidad de codificación no solo determina una profundidad codificada que tiene un menor error de codificación, sino también determina un tipo de partición en una unidad de predicción, un modo de predicción según las unidades de predicción y un tamaño de una unidad de transformación para la transformación.
Se describirán en detalle más adelante con referencia a las FIGS. 3 a 12 unidades de codificación según una estructura de árbol en una unidad de codificación máxima y un método para determinar una partición.
El determinador 120 de unidad de codificación puede medir un error de codificación de unidades de codificación más profundas según las profundidades usando Optimización de Distorsión de Tasa basándose en multiplicadores de Lagrange.
La unidad 130 de emisión emite los datos de imagen de la unidad de codificación máxima, que se codifican basándose en la al menos una profundidad codificada determinada por el determinador 120 de la unidad de codificación, y la información acerca del modo de codificación según la profundidad codificada, en corrientes de bits.
Los datos de imagen codificados pueden obtenerse codificando datos residuales de una imagen.
La información acerca del modo de codificación según la profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de partición en la unidad de predicción, del modo de predicción y del tamaño de la unidad de transformación.
La información acerca de la profundidad codificada puede definirse utilizando información de división según las profundidades, que indica si la codificación se realiza en unidades de codificación de menor profundidad en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, los datos de imagen en la unidad de codificación actual se codifican y emiten, y así la información dividida puede definirse para no dividir la unidad de codificación actual a una profundidad menor. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad más baja y, por lo tanto, la información dividida puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad más baja.
Si la profundidad actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación que se divide en la unidad de codificación de la profundidad más baja. Como al menos una unidad de codificación de la profundidad más baja existe en una unidad de codificación de la profundidad actual, la codificación se realiza repetidamente en cada unidad de codificación de menor profundidad y, por lo tanto, la codificación puede realizarse recursivamente para las unidades de codificación que tienen la misma profundidad.
Dado que las unidades de codificación que tienen una estructura de árbol se determinan para una unidad de codificación máxima, y la información acerca de al menos un modo de codificación se determina para una unidad de codificación de una profundidad codificada, la información acerca de al menos un modo de codificación puede ser determinada para una unidad de codificación máxima. También, una profundidad codificada de los datos de la imagen de la unidad de codificación máxima puede ser diferente según las ubicaciones, ya que los datos de la imagen se dividen jerárquicamente según las profundidades y, por lo tanto, se puede establecer información acerca de la profundidad codificada y el modo de codificación para los datos de la imagen.
Por consiguiente, la unidad 130 de emisión puede asignar información de codificación acerca de una profundidad codificada correspondiente y un modo de codificación al menos una de las unidades de codificación, de la unidad de predicción y de una unidad mínima incluida en la unidad de codificación máxima.
La unidad mínima es una unidad de datos rectangular obtenida dividiendo por 4 la unidad de codificación mínima que constituye la profundidad más baja. Como alternativa, la unidad mínima puede ser una unidad de datos rectangular máxima que se puede incluir en todas las unidades de codificación, unidades de predicción, unidades de partición y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación emitida a través de la unidad 130 de emisión puede clasificarse en información de codificación según unidades de codificación e información de codificación según unidades de predicción. La información de codificación según las unidades de codificación puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación según 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 croma de un intra-modo y acerca de un procedimiento de interpolación del intra-modo. También, información acerca de un tamaño máximo de la unidad de codificación definida según las imágenes, divisiones o GOP, y la información acerca de una profundidad máxima se puede insertar en SPS (Conjunto de Parámetros de Secuencia) o en un encabezado de una corriente de bits.
En el aparato 100, 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. 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 de la profundidad actual que tiene el tamaño de 2Nx2N puede incluir un máximo de 4 de unidades de codificación de la profundidad más baja.
Por consiguiente, el aparato 100 puede formar las unidades de codificación que tienen la estructura de árbol, determinando las unidades de codificación que tienen una forma y un tamaño óptimos para cada unidad de codificación máxima, basándose en el tamaño de la unidad de codificación máxima y la profundidad máxima determinada considerando las características de la imagen actual. También, dado que la codificación se puede realizar en cada unidad de codificación máxima utilizando cualquiera de los diversos modos de predicción y transformaciones, se puede determinar un modo de codificación óptimo considerando las características de la unidad de codificación de varios tamaños de imagen.
Así, si una imagen con alta resolución o gran cantidad de datos está codificada en un macrobloque convencional, un número de macrobloques por imagen aumenta excesivamente. Por consiguiente, aumenta una cantidad de partes de información comprimida generada para cada macrobloque y, por lo tanto, es difícil transmitir la información comprimida y la eficacia de compresión de datos disminuye. Sin embargo, utilizando el aparato 100, la eficacia de compresión de la imagen puede incrementarse ya que una unidad de codificación se ajusta considerando las características de una imagen mientras se aumenta el tamaño máximo de una unidad de codificación mientras se considera el tamaño de la imagen.
La FIG. 2 es un diagrama de bloques de un aparato 200 para decodificar un vídeo.
El aparato 200 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. Definiciones de varios términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación e información acerca de varios modos de codificación, para diversas operaciones del aparato 200 son idénticas a las descritas con referencia a la FIG. 1 y el aparato 100.
El receptor 210 recibe y analiza una corriente de bits de un vídeo codificado. El extractor 220 de datos de imagen e información de codificación extrae datos de imagen codificada para cada unidad de codificación de la corriente de bits analizada, en donde las unidades de codificación tienen una estructura de árbol según cada unidad de codificación máxima, 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 imagen actual, a partir de un encabezado sobre la imagen actual o SPS.
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 según cada unidad de codificación máxima, de la corriente de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al descodificador 230 de datos de imagen. En otras palabras, los datos de imagen en una corriente de bits se dividen en la unidad de codificación máxima de forma que el decodificador 230 de datos de imagen decodifica los datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación según la unidad de codificación máxima se puede establecer para información acerca de al menos una unidad de codificación correspondiente 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 a la profundidad codificada, acerca de un modo de predicción, y de un tamaño de una unidad de transformación. También, la información de división según las profundidades se puede extraer como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación según cada unidad de codificación máxima extraída por el extractor 220 de datos de imagen y de 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, realiza repetidamente la codificación para cada unidad de codificación más profunda según las profundidades según cada unidad de codificación máxima. Por consiguiente, el aparato 200 puede restaurar una imagen decodificando los datos de la imagen según una profundidad codificada y un modo de codificación que genera el mínimo error de codificación.
Dado que la información de codificación acerca de la profundidad codificada y el modo de codificación pueden asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción y una unidad mínima, el extractor 220 de datos de imagen e información de codificación puede extraer la información acerca de la profundidad codificada y el modo de codificación según las unidades de datos predeterminadas. Se puede inferir que 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 son las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador 230 de datos de imagen restaura la imagen actual decodificando los datos de imagen en cada unidad de codificación máxima basándose en la información acerca de la profundidad codificada y el modo de codificación según las unidades de codificación máxima. 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 unidad de codificación máxima. Un proceso de decodificación puede incluir una predicción que incluye intra-predicción y compensación de movimiento, y una transformación inversa. La transformación inversa puede realizarse según el método de transformación ortogonal inversa o transformación por enteros inversa.
El decodificador 230 de datos de imagen puede realizar intra-predicción o compensación de movimiento según 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 según las profundidades codificadas.
También, el decodificador 230 de datos de imagen puede realizar una transformación inversa según cada unidad de transformación en la unidad de codificación, basándose en la información acerca del tamaño de la unidad de transformación de la unidad de codificación según las profundidades codificadas, para realizar la transformación inversa según las unidades de codificación máxima.
El decodificador 230 de datos de imagen puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual usando información de división según las profundidades. Si la información de división indica que los datos de la 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 de al menos una unidad de codificación correspondiente a cada profundidad codificada en la unidad de codificación máxima actual utilizando 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 correspondiente a la profundidad codificada, y emitir los datos de imagen de la unidad de codificación máxima actual.
En otras palabras, las unidades de datos que contienen la información de codificación que incluye la misma información de división pueden reunirse observando el conjunto de información de codificación asignado para la unidad de datos predeterminada entre la unidad de codificación, la unidad de predicción, y la unidad mínima, y las unidades de datos agrupadas pueden considerarse como una unidad de datos para ser decodificados por el decodificador 230 de datos de imagen en el mismo modo de codificación.
El aparato 200 puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando la codificación se realiza recursivamente para cada unidad de codificación máxima, y puede usar la información para decodificar la imagen actual. En otras palabras, pueden decodificarse las unidades de codificación que tienen la estructura de árbol determinada para ser las unidades de codificación óptimas en cada unidad de codificación máxima. También, el tamaño máximo de la unidad de codificación se determina considerando la resolución y una cantidad de datos de imagen.
Por consiguiente, incluso si los datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de la imagen pueden decodificarse y restaurarse eficientemente utilizando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de forma adaptativa según las características de los datos de la imagen, usando información acerca de un modo de codificación óptimo recibido desde un codificador.
Un método para determinar las unidades de codificación que tienen una estructura de árbol, una unidad de predicción, y una unidad de transformación, se describirá ahora con referencia a las FIGS. 3 a 13.
La FIG. 3 es un diagrama para describir un concepto de unidades de codificación.
Un tamaño de una unidad de codificación puede expresarse en 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, el tamaño máximo de una unidad de codificación es 64 y la profundidad máxima es 2. En los datos 320 de vídeo, una resolución es 1920x1080, el tamaño máximo de una unidad de codificación es 64 y la profundidad máxima es 3. En los datos 330 de vídeo, una resolución es 352x288, el tamaño máximo de una unidad de codificación es 16 y la profundidad máxima es 1. La profundidad máxima mostrada en la FIG. 3 indica un número total de divisiones desde una unidad de codificación máxima a una unidad de codificació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 de modo que no solo aumente la eficacia de codificación sino también para reflejar con precisión las características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de vídeo que tiene la resolución más alta que los datos 330 de vídeo puede ser 64.
Como 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 unidad de codificación máxima 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 ya que las profundidades se hacen más profundas en dos capas dividiendo la unidad de codificación máxima dos veces. Al mismo tiempo, como 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 unidad de codificación máxima 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 ya que las profundidades se has profundas en una capa dividiendo la unidad de codificación máxima una vez.
Como 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 unidad de codificación máxima 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 dado que las profundidades se hacen más profundas en 3 capas dividiendo la unidad de codificación máxima tres veces. A medida que se hace más profunda la profundidad, la información detallada puede expresarse con precisión.
La FIG. 4 es un diagrama de bloques de un codificador 400 de imágenes basándose en unidades de codificación.
El codificador 400 de imagen realiza operaciones del determinador 120 de la unidad de codificación del aparato 100 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, entre un fotograma actual 405, y un estimador 420 de movimiento y un compensador 425 de movimiento realiza una inter-estimación y compensación de movimiento en unidades de codificación en un inter-modo del fotograma 405 actual usando el fotograma actual 405, y un fotograma 495 de referencia.
Los datos emitidos desde el intra-predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restaura como datos en un dominio espacial a través de un cuantificador inverso 460 y un transformador inverso 470, y los datos restaurados en el dominio espacial se emiten como el fotograma 495 de referencia después de post-procesarse a través de una unidad 480 de desbloqueo y una unidad 490 de filtración de bucle. El coeficiente de transformación cuantificado puede emitirse como una corriente 455 de bits a través de un codificador 450 por entropía.
Para que el codificador 400 de imagen se aplique en el aparato 100, 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 inverso 460, el transformador inverso 470, la unidad 480 de desbloqueo y la unidad 490 de filtrado de bucle realizan operaciones basándose en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada unidad de codificación máxima.
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 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 unidad de codificación máxima actual, y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación entre las unidades de codificación que tienen una estructura de árbol.
La FIG. 5 es un diagrama de bloques de un decodificador 500 de imágenes basándose en una unidad de codificación.
Un analizador 510 analiza datos de imagen codificados que sean de decodificar e información acerca de la codificación requerida para decodificar una corriente 505 de bits. Los datos de imagen codificados se emiten como datos cuantificados inversos a través de un decodificador 520 por entropía y un cuantificador inverso 530, y los datos cuantificados inversos se restauran a datos de imagen en un dominio espacial a través de un transformador inverso 540.
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 sobre unidades de codificación en un inter-modo usando un fotograma 585 de referencia.
Los datos de la imagen en el dominio espacial, que han pasado a través del intra-predictor 550 y del compensador 560 de movimiento, pueden ser emitidos como un fotograma restaurado 595 después de ser post-procesados a través de una unidad 570 de desbloqueo y una unidad 580 de filtrado de bucle. También, los datos de imagen se post-procesan pasando a través de una unidad 570 de desbloqueo y una unidad 580 de filtrado de bucle y se emiten como el fotograma 585 de referencia.
Para decodificar los datos de imagen en el decodificador 230 de datos de imagen del aparato 200, el decodificador 500 de imagen puede realizar operaciones que se realizan después del analizador 510.
Para que el decodificador 500 de imagen sea aplicado en el aparato 200, todos los elementos del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador inverso 530, el transformador inverso 540, el intra-predictor 550, el compensador 560 de movimiento, la unidad 570 de desbloqueo y la unidad 580 de filtrado de bucle realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
Específicamente, el intra-predictor 550 y el compensador 560 de movimiento realizan operaciones basándose en 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 inverso 540 realiza operaciones basándose en el tamaño de una unidad de transformación para cada unidad de codificación.
La FIG. 6 es un diagrama que ilustra unidades de codificación más profundas según profundidades y particiones.
El aparato 100 y el aparato 200 usan unidades de codificación jerárquica para considerar las características de una imagen. Una altura máxima, una anchura máxima y una profundidad máxima de unidades de codificación pueden determinarse de manera adaptativa según las características de la imagen, o pueden ser configuradas de manera diferente por un usuario. Los tamaños de unidades de codificación más profundas según las profundidades pueden ser determinadas según el tamaño máximo predeterminado de la unidad de codificación.
En una estructura jerárquica 600 de unidades de codificación, la altura máxima y la anchura máxima de las unidades de codificación son cada una de 64, y la profundidad máxima es de 4. Dado que una profundidad se hace más profunda a lo largo de un eje vertical de la estructura jerárquica 600, una altura y una anchura de la unidad de codificación más profunda se dividen cada una. También, una unidad de predicción y particiones, que son bases para la codificación de predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura jerárquica 600.
En otras palabras, una unidad 610 de codificación es una unidad de codificación máxima en la estructura jerárquica 600, en donde una profundidad es 0 y un tamaño, es decir, una altura por anchura, de 64x64. La profundidad se hace más profunda a lo largo del eje vertical, y existen 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, existe una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y una unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es una unidad de codificación mínima.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal según cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene un tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir, una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir, una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir, una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir, una partición que tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad más inferior. Una unidad de predicción de la unidad 650 de codificación solo se asigna a una partición que tiene un tamaño de 4x4, en lugar de ser dividida en particiones 652 que tienen un tamaño de 4x2, particiones 654 que tienen un tamaño de 2x4, y particiones 656 que tienen un tamaño de 2x2.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la unidad 610 de codificación máxima, el determinador 120 de la unidad de codificación del aparato 100 realiza la codificación para unidades de codificación correspondientes a cada profundidad incluida en la unidad 610 de codificación máxima.
Un número de unidades de codificación más profundas según las profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que se hace más profunda la profundidad. Por ejemplo, se requieren cuatro unidades de codificación correspondientes a una profundidad de 2 para cubrir los datos que se incluyen en una unidad de codificación correspondiente a una profundidad de 1. Por consiguiente, para comparar los resultados de codificación de los mismos datos según las profundidades, la unidad de codificación correspondiente a la profundidad de 1 y cuatro unidades de codificación correspondientes a la profundidad de 2, está codificada cada una.
Para realizar la codificación para una profundidad actual entre la profundidad, se puede seleccionar un menor error de codificación para la profundidad actual realizando la codificación para cada unidad de predicción en las unidades de codificación correspondientes a la profundidad actual, a lo largo del eje horizontal de la estructura jerárquica 600. Como alternativa, el error de codificación mínimo puede buscarse comparando los menores errores de codificación según las profundidades, realizando codificación para cada profundidad a medida que la profundidad se hace más profunda a lo largo del eje vertical de la estructura jerárquica 600. 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 FIG. 7 es un diagrama para describir una relación entre una unidad 710 de codificación y unidades 720 de transformación.
El aparato 100 o 200 codifica o decodifica una imagen según unidades de codificación que tienen tamaños menores o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. Los tamaños de las unidades de transformación para la transformación durante la codificación se pueden seleccionar en función de las unidades de datos que no son más grandes que la unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 o 200, 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 sobre cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8 y 4x4, que son más pequeños que 64x64, y luego se puede seleccionar una unidad de transformación que tenga el menor error de codificación.
La FIG. 8 es un diagrama para describir información de codificación de unidades de codificación correspondientes a una profundidad codificada.
La unidad 130 de emisión del aparato 100 puede codificar y transmitir información 800 acerca de un tipo de partición, la información 810 acerca de un modo de predicción, y la información 820 acerca de un tamaño de una unidad de transformación para cada unidad de codificación correspondiente 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 donde la partición es una unidad de datos para la codificación de predicción de la unidad de codificación actual. Por ejemplo, una unidad CU_0 de codificación actual que tiene un tamaño de 2Nx2N puede dividirse en 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. Aquí, la información 800 acerca de un tipo de partición se establece para indicar una de las particiones 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N y la partición 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación de predicción realizado en una partición indicada por la información 800, es decir, un intra-modo 812, un inter-modo 814 o un modo 816 de salto.
La información 820 indica una unidad de transformación que ha de ser basada en 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.
Los datos de imagen y el extractor 220 de información de codificación del aparato 200 pueden extraer y usar la información 800, 810 y 820 para decodificar.
La FIG. 9 es un diagrama de unidades de codificación más profundas según las profundidades.
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 la 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_0xN_0. La FIG. 9 solo ilustra los tipos 912 a 918 de partición que se obtienen dividiendo simétricamente la unidad 910 de predicción, pero un tipo de partición no está limitado a ello, y las particiones de la unidad 910 de predicción pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada, y particiones que tienen una forma geométrica.
La codificación de predicción se realiza repetidamente 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 con un tamaño de N_0x2N_0 y cuatro particiones con un tamaño de N_0xN_0, según cada tipo de partición. La codificación de predicción en un intramodo y un inter-modo puede realizarse sobre las particiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0, y N_0xN_0. La codificación de predicción en un modo de salto se realiza únicamente sobre la partición que tiene el tamaño de 2N_0x2N_0.
Se comparan los errores de codificación, incluida la codificación de predicción en los tipos 912 a 918 de partición, y se determina el menor error de codificación entre los tipos de partición. Si un error de codificación es más pequeño en uno de los tipos 912 a 916 de partición, la unidad 910 de predicción no puede ser dividida en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo 918 de partición, se cambia una profundidad de 0 a 1 para dividir el tipo 918 de partición en la operación 920, y la codificación se realiza repetidamente en unidades 930 de codificación que tienen una profundidad de 2 y un tamaño de N_0xN_0 para buscar un error de codificación mínimo.
Una unidad 940 de predicción para la codificación de predicción de la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1 x2N_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_1 x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1 xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición, se cambia una profundidad de 1 a 2 para dividir el tipo 948 de partición en la operación 950, y la codificación se realiza repetidamente en las 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 según cada profundidad se puede realizar hasta cuando una profundidad se convierte en d-1, y la información de división se puede codificar hasta cuando una profundidad es de 0 a d-2. En otras palabras, cuando la codificación se realiza hasta cuando la profundidad es d-1 después de que una unidad de codificación correspondiente a una profundidad de d-2 se divide en la operación 970, una unidad 990 de predicción para la 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 de predicción puede realizarse repetidamente 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) entre los tipos 992 a 998 de partición para buscar un tipo de partición que tenga un error de codificación mínimo.
Incluso cuando el tipo 998 de partición tiene el mínimo error de codificación, dado que una profundidad máxima es d, una unidad CU_(d-1) de codificación que tiene una profundidad de d-1 ya no se divide en una profundidad inferior, y se determina una profundidad codificada para las unidades de codificación que constituyen una unidad 900 de codificación máxima actual que es d-1 y un tipo 900 de partición de la unidad de codificación puede determinarse como N_(d-1)xN_(d-1). También, como la profundidad máxima es d y una unidad 980 de codificación mínima que tiene una profundidad menor de d-1 ya no se divide en una profundidad más baja, la información de división para una unidad 980 de codificación no está configurada.
Una unidad 999 de datos puede ser una 'unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima puede ser una unidad de datos rectangular obtenida dividiendo una unidad 980 de codificación mínima por 4. Al realizar la codificación repetidamente, el aparato 100 puede seleccionar una profundidad que tenga el menor error de codificación comparando los errores de codificación según 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ínima según las profundidades se comparan en todas las profundidades de 1 a d, y una profundidad que tiene el menor error de codificación puede ser determinada 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, como una unidad de codificación se divide de una profundidad de 0 a una profundidad codificada, solo la información de división de la profundidad codificada se establece en 0, y la información de división de las profundidades excluyendo la profundidad codificada se establece en 1.
El extractor 220 de datos de imagen e información de codificación del aparato 200 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 puede determinar una profundidad, en el que la información de división es 0, como una profundidad codificada mediante el uso de información de división según las profundidades, y utilizar información acerca de un modo de codificación de la profundidad correspondiente para la decodificación.
Las FIGS. 10 a 12 son diagramas para describir una relación entre las unidades 1010 de codificación, unidades 1060 de predicción y unidades 1070 de transformación.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, correspondiente a profundidades codificadas determinadas por el aparato 100, en una unidad de codificación máxima. 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 la profundidad de una unidad de codificación máxima 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 dividen en particiones para codificación de predicció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 sobre 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 y 1052 de codificación en las unidades 1070 de transformación son diferentes de las de las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, los aparatos 100 y 200 pueden realizar intra-predicción, estimación de movimiento, compensación de movimiento, transformación y transformación inversa individualmente sobre una unidad de datos en la misma unidad de codificación.
Por consiguiente, la codificación se realiza recursivamente sobre cada una de las unidades de codificación que tienen una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima, y así se pueden obtener 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 del tamaño de una unidad de transformación. La Tabla 1 muestra la información de codificación que puede ser establecida por los aparatos 100 y 200.
[Tabla 1]
La unidad 130 de salida del aparato 100 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 puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol de una corriente de bits recibida.
La información de división indica si una unidad de codificación actual está dividida 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 el que una unidad de codificación actual ya no se divide en una profundidad inferior, es una profundidad codificada y, así 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 según la información de división, la codificación se realiza independientemente sobre cuatro unidades de codificación divididas de menor profundidad.
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étricos que tienen tamaños de 2NxnU, 2NxnD, nLx2N y nRx2N, que se obtienen dividiendo asimétricamente la altura o la anchura de la unidad de predicción. Los tipos de particiones asimétricas 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 particiones asimétricas 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 sean 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 se pueden obtener 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étrica, 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étrica, 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 puede incluir al menos una de una unidad de codificación correspondiente 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 correspondiente a la profundidad codificada comparando la información de codificación de las unidades de datos adyacentes. También, una unidad de codificación correspondiente a una profundidad codificada se determina utilizando información de codificación de una unidad de datos, y así se puede determinar una distribución de profundidades codificadas en una unidad de codificación máxima.
Por consiguiente, si se predice una unidad de codificación actual basándose en la información de codificación de las unidades de datos adyacentes, 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 puede ser directamente referida y utilizada.
Como alternativa, si se predice una unidad de codificación actual basándose en la información de codificación de las unidades de datos adyacentes, las unidades de datos adyacentes a la unidad de codificación actual se buscan utilizando 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 FIG. 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una partición, y una unidad de transformación, según la información del modo de codificación de la Tabla 1.
Una unidad 1300 de codificación máxima incluye unidades 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de codificación de profundidades codificadas. Aquí, dado que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división se puede establecer en 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 se puede establecer para que sea una 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.
Cuando el tipo de partición está establecido para ser 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 la información de división (indicador 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 un indicador de tamaño de Tu es 1.
Cuando el tipo de partición se establece como 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 un indicador 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 un indicador de tamaño de TU es 1.
Con referencia a la FIG. 13, el indicador de tamaño TU es un indicador que tiene un valor o 0 o 1, pero el indicador de tamaño de TU no está limitado a 1 bit, y una unidad de transformación que tiene una estructura de árbol se puede dividir jerárquicamente, mientras que el indicador de tamaño de TU aumenta desde 0.
En este caso, el tamaño de una unidad de transformación que se ha utilizado realmente se puede expresar utilizando un indicador de tamaño TU de una unidad de transformación, junto con un tamaño máximo y un tamaño mínimo de la unidad de transformación. Según una realización ejemplar, el aparato 100 de codificación de vídeo es capaz de codificar información de tamaño de unidad de transformación máxima, información de tamaño mínimo de unidad de transformación y un indicador de tamaño máximo de TU. El resultado de codificar la información del tamaño máximo de la unidad de transformación, la información acerca del tamaño mínimo de la unidad de transformación y el indicador de tamaño máximo de TU pueden insertarse en un SPS. El aparato 200 de decodificación de vídeo puede decodificar vídeo utilizando la información de tamaño máximo de unidad de transformación, la información acerca del tamaño mínimo de la unidad de transformación y el indicador de tamaño máximo de TU.
Por ejemplo, si el tamaño de una unidad de codificación actual es 64x64 y el tamaño máximo de la unidad de transformación es 32x32, entonces el tamaño de una unidad de transformación puede ser 32x32 cuando un indicador de tamaño de TU es 0, puede ser 16x16 cuando el indicador de tamaño de TU es 1, y puede ser 8x8 cuando el indicador de tamaño de TU es 2.
Como otro ejemplo, si el tamaño de la unidad de codificación actual es 32x32 y un tamaño mínimo de la unidad de transformación es 32x32, entonces el tamaño de la unidad de transformación puede ser 32x32 cuando el indicador de tamaño de TU es 0. Aquí, el indicador de tamaño de TU no se puede establecer en un valor distinto de 0, ya que el tamaño de la unidad de transformación no puede ser inferior a 32x32.
Como otro ejemplo, si el tamaño de la unidad de codificación actual es 64x64 y un indicador de tamaño máximo de TU es 1, entonces el indicador de tamaño de TU puede ser 0 o 1. Aquí, el indicador de tamaño de TU no se puede establecer en un valor que no sea 0 o 1.
Así, si se define que el indicador de tamaño máximo de TU es ‘MaxTransformSizeIndex’ ('ÍndiceTamañoMáximoTransformación'), un tamaño mínimo de unidad de transformación es ‘MinTransformSize’ ('TamañoMínimoTransformación') y un tamaño de unidad de transformación es ‘RootTuSize’ ('TamañoRaízTU') cuando el indicador de tamaño de TU es 0, luego un tamaño mínimo de unidad de transformación actual ‘CurrMinTuSize’ ('TamañoMínimoTUActual') que se puede determinar en una unidad de codificación actual, puede definirse por la ecuación (1):
CurrMinTuSize = max(MinTransformSize, RootTuSize/(2AMaxTransformSizeIndex))................1
(TamañoMínimoTuActual = max(TamañoMínimoTransformación, TamañoRaízTU/(2AÍndiceTamañoMáximoTransformación)).....1
En comparación con el tamaño mínimo actual de la unidad de transformación ‘CurrMinTuSize’ que se puede determinar en la unidad de codificación actual, un tamaño de unidad de transformación ‘RootTuSize’ cuando el indicador de tamaño de TU es 0 puede indicar un tamaño máximo de unidad de transformación que se puede seleccionar en el sistema. En la Ecuación (1), ‘RootTuSize/(2AMaxTransformSizeIndex)' indica un tamaño de unidad de transformación cuando el tamaño de la unidad de transformación ‘RootTuSize’, cuando el indicador de tamaño de TU es 0, se divide varias veces correspondiente al indicador de tamaño máximo de TU, y ‘MinTransformSize’ indica un tamaño mínimo de transformación. Así, un valor menor entre ‘RootTuSize/(2AMaxTransformSizeIndex)' y ‘MinTransformSize’ puede ser el tamaño mínimo actual de la unidad de transformación ‘CurrMinTuSize’ que se puede determinar en la unidad de codificación actual.
El tamaño máximo de la unidad de transformación ‘RootTuSize’ puede variar según el tipo de modo de predicción.
Por ejemplo, si un modo de predicción actual es un inter-modo, entonces ‘RootTuSize’ se puede determinar mediante el uso de la Ecuación (2) siguiente. En la Ecuación (2), ‘MaxT ransformSize' indica un tamaño máximo de unidad de transformación, y ‘PUSize’ ('TamañoPU') indica un tamaño de unidad de predicción actual.
RootTuSize = min(MaxTransformSize, PUSize)........ (2)
(TamañoRaízTU) = (min(TamañoMáximoTransformación, TamañoPU)).......... (2)
Es decir, si el modo de predicción actual es el inter-modo, el tamaño de la unidad de transformación 'RootTuSize’ cuando el indicador de tamaño de TU es 0, puede ser un valor menor entre el tamaño máximo de la unidad de transformación y el tamaño actual de la unidad de predicción.
Si un modo de predicción de una unidad de partición actual es un intra-modo, 'RootTuSize’ se puede determinar mediante usando la Ecuación (3) siguiente. En la Ecuación (3), 'PartitionSize’ (‘TamañoPartición') indica el tamaño de la unidad de partición actual.
RootTuSize = min(MaxTransformSize, PartitionSize)........ (3)
(TamañoRaízTU) = (min(TamañoMáximoTransformación, TamañoPartición))........... (3)
Es decir, si el modo de predicción actual es el intra-modo, el tamaño de la unidad de transformación 'RootTuSize’ cuando el indicador de tamaño de TU es 0 puede ser un valor menor entre el tamaño máximo de la unidad de transformación y el tamaño de la unidad de partición actual.
Sin embargo, el tamaño máximo actual de la unidad de transformación 'RootTuSize’ que varía según el tipo de modo de predicción en una unidad de partición es solo un ejemplo y no está limitado a ello.
La FIG. 14 es un diagrama de flujo que ilustra un procedimiento para codificar un vídeo.
En la operación 1210, una imagen actual se divide en al menos una unidad de codificación máxima. Se puede predeterminar una profundidad máxima que indica el número total de veces posibles de división.
En la operación 1220, una profundidad codificada para emitir un resultado de codificación final según al menos una región dividida, que se obtiene dividiendo una región de cada unidad de codificación máxima según las profundidades, se determina codificando al menos una región dividida, y se determina una unidad de codificación según una estructura de árbol.
La unidad de codificación máxima se divide espacialmente cuando la profundidad se hace más profunda y, así se divide en unidades de codificación de menor profundidad. Cada unidad de codificación puede dividirse en unidades de codificación de otra profundidad inferior dividiéndose espacialmente de manera independiente a partir de unidades de codificación adyacentes. La codificación se realiza repetidamente sobre cada unidad de codificación según las profundidades.
También, se determina una unidad de transformación según los tipos de partición que tienen el menor error de codificación para cada unidad de codificación más profunda. Para determinar una profundidad codificada con un error de codificación mínimo en cada unidad de codificación máxima, los errores de codificación pueden medirse y compararse en todas las unidades de codificación más profundas según las profundidades.
En la operación 1230, los datos de imagen codificada que constituyen el resultado final de codificación según la profundidad codificada se emiten para cada unidad de codificación máxima, con información de codificación acerca de la profundidad codificada y un modo de codificación. La información acerca del modo de codificación puede incluir información acerca de una profundidad codificada o información de división, información acerca de un tipo de partición de una unidad de predicción, un modo de predicción y el tamaño de una unidad de transformación. La información codificada acerca del modo de codificación puede transmitirse a un decodificador con los datos de imagen codificados.
La FIG. 15 es un diagrama de flujo que ilustra un método para decodificar un video.
En la operación 1310, se recibe y analiza una corriente de bits de un vídeo codificado.
En la operación 1320, los datos de imagen codificada de una imagen actual asignada a una unidad de codificación máxima, y la información acerca de una profundidad codificada y un modo de codificación según las unidades de codificación máximas se extraen a partir de la corriente de bits analizada. La profundidad codificada de cada unidad de codificación máxima es una profundidad que tiene el menor error de codificación para cada unidad de codificación máxima. Al codificar cada unidad de codificación máxima, los datos de imagen se codifican basándose en al menos una unidad de datos obtenida dividiendo jerárquicamente cada unidad de codificación máxima según las profundidades.
Según la información acerca de la profundidad codificada y el modo de codificación, la unidad de codificación máxima se puede dividir en unidades de codificación que tienen una estructura de árbol. Cada unidad de codificación de las unidades de codificación que tiene la estructura de árbol se determina como una unidad de codificación correspondiente a una profundidad codificada, codificada de manera óptima para emitir el menor error de codificación. Por consiguiente, la eficiencia de codificación y decodificación de una imagen puede mejorarse decodificando cada segmento de datos de imagen codificada en las unidades de codificación después de determinar al menos una profundidad codificada según las unidades de codificación.
En la operación 1330, los datos de imagen de cada unidad de codificación máxima se decodifican basándose en la información acerca de la profundidad codificada y el modo de codificación según las unidades de codificación máximas. Los datos de imagen decodificados pueden ser reproducidos por un aparato de reproducción, almacenados en un medio de almacenamiento o transmitido a través de una red.
La codificación y decodificación de un vídeo considerando un orden de salto y división según realizaciones ejemplares se explicará ahora con referencia a las FIGS. 16 a 23.
La FIG. 16 es un diagrama de bloques que ilustra un aparato 1400 para codificar un vídeo considerando un orden de salto y división.
Con referencia a las FIG. 16, el aparato 1400 incluye un divisor 1410 de unidad de codificación máxima, un determinador 1420 de la unidad de codificación y del modo de codificación, y una unidad 1430 de emisión.
El aparato 1400 de la FIG. 16 puede ser un ejemplo del aparato 100 de la FIG. 1, y el divisor 110 de unidad de codificación máxima, el determinador 120 de unidad de codificación, y una unidad 130 de emisión del aparato 100 de la FIG. 1 puede corresponder al divisor 1410 de unidad de codificación máxima, al determinador 1420 de la unidad de codificación y del modo de codificación, y a la unidad 1430 de emisión de la FIG. 16, respectivamente.
El divisor 1410 de unidad de codificación máxima divide una imagen de una imagen de entrada en unidades de codificación máximas que tienen tamaños predeterminados, y los datos de imagen según las unidades de codificación máximas se emiten al determinador 1420 de la unidad de codificación y del modo de codificación.
El determinador 1420 de la unidad de codificación y del modo de codificación divide jerárquicamente las regiones de cada una de las unidades de codificación máximas introducidas desde el divisor 1410 de unidad de codificación máxima a medida que la profundidad se hace más profunda, y realiza la codificación individualmente basándose en las unidades de codificación según las profundidades correspondientes a los números de división para cada región independiente dividida jerárquicamente. El determinador 1420 de la unidad de codificación y del modo de codificación determina un modo de codificación y una profundidad codificada para emitir un resultado de codificación según cada región. El modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente a la profundidad codificada, acerca de un modo de predicción y acerca de un tamaño de una unidad de transformación.
Para determinar un modo de codificación y una profundidad codificada para emitir un resultado de codificación para cada región independiente de una unidad de codificación máxima, el determinador 1420 de la unidad de codificación y del modo de codificación puede realizar la codificación basándose en unidades de codificación según las profundidades, y puede buscar una profundidad codificada que tenga el menor error de codificación en los datos de imagen originales y un modo de codificación relacionado con la profundidad codificada. Por consiguiente, el determinador 1420 de la unidad de codificación y del modo de codificación puede determinar las unidades de codificación que tienen la estructura de árbol determinando las unidades de codificación correspondientes a profundidades codificadas para cada unidad de codificación máxima de la imagen actual.
La información acerca de la profundidad codificada y el modo de codificación determinado por el determinador 1420 de la unidad de codificación y del modo de codificación y un resultado de codificación correspondiente se emiten a la unidad 1430 de emisión.
La unidad 1430 de emisión, emite información acerca de una profundidad codificada y un modo de codificación según una unidad de codificación máxima, y datos de vídeo codificados. Un modo de codificación incluye información del modo de salto que indica si un modo de predicción de una unidad de codificación es un modo de salto, e información de división que indica si la unidad de codificación se divide a una profundidad inferior. Dado que el modo de predicción de una unidad de codificación puede determinarse en una unidad de codificación de una profundidad codificada que no se divide más, la información del modo de salto puede codificarse en la unidad de codificación de la profundidad codificada.
La unidad 1430 de emisión puede determinar selectivamente un orden en el que se emiten la información del modo de salto y la información de división de las unidades de codificación según las profundidades.
La unidad 1430 de salida puede emitir información que indica un orden determinado selectivamente en el que se emiten información del modo de salto e información de división. Por consiguiente, la unidad 1430 de emisión puede emitir información acerca de un orden en el que se emiten información de modo de salto e información de división, la información acerca de un modo de codificación que incluye la información del modo de salto y la información de división que están dispuestas en el orden determinado selectivamente, y los datos de vídeo codificados.
El orden de la información del modo de salto y la información de división que se determina selectivamente para cada unidad de codificación según las profundidades se puede determinar según al menos una secuencia de imagen a la que pertenece una unidad de codificación correspondiente a cada profundidad, un segmento, un tipo de segmento según una dirección de predicción y un parámetro (QP) de cuantificación de una unidad de datos.
También, el orden de la información del modo de salto y la información de división que se determina selectivamente para cada unidad de codificación según las profundidades se puede determinar individualmente según las profundidades de las unidades de codificación en una unidad de codificación máxima.
Por ejemplo, el orden de la información del modo de salto y la información de división se puede determinar de tal manera que la información del modo de salto preceda a la información de división para una unidad de codificación máxima, y la información de división preceda a la información del modo de salto para unidades de codificación de profundidades inferiores a la unidad de codificación máxima.
La unidad 1430 de emisión puede realizar la codificación combinando la información de división y la información del modo de salto como una parte de información de división y de salto. También, la unidad 1430 de emisión puede asignar diferentes números de bit a la información de división y de salto según una frecuencia de ocurrencia de una combinación de la información de división y de la información del modo de salto.
Por ejemplo, si tanto la información de división que indica que una unidad de codificación correspondiente está dividida, como la información del modo de salto que indica que un modo de predicción de la unidad de codificación correspondiente no es un modo de salto, se codifican, la información de división y de salto puede asignarse a un bit. También, en casos distintos al caso en el que tanto la información de división que indica que la unidad de codificación correspondiente está dividida, como la información del modo de salto que indica que el modo de predicción de la unidad de codificación correspondiente no es el modo de salto están codificadas, la información de división y de salto se les pueden asignar dos bits y emitirlas.
La unidad 1430 de emisión puede no codificar un coeficiente de transformación e información relacionada con la predicción, tal como una dirección de predicción y un vector de movimiento, para una unidad de codificación que se predice en un modo de salto. Selectivamente, la unidad 1430 de emisión puede codificar información del índice del predictor del vector de movimiento acerca de una unidad de predicción adyacente a una unidad de codificación actual. También, la unidad 1430 de emisión puede emitir información acerca de un tamaño máximo de las unidades de codificación.
La FIG. 17 es un diagrama de bloques que ilustra un aparato 1500 para decodificar un vídeo considerando un orden de salto y división.
Con referencia a la FIG. 17, el aparato 1500 incluye un receptor 1510, un extractor 1520 de datos y un decodificador 1530. El aparato 1500 de la FIG. 17 puede ser un ejemplo del aparato 200 de la FIG. 2. El receptor 210, el extractor 220 de datos de imagen e información de codificación, y el decodificador 230 de datos de imagen del aparato 200 de la FIG. 2 pueden corresponder al receptor 1510, al extractor 1520 de datos y al decodificador 1530 del aparato 1500 de la FIG. 17, respectivamente.
El receptor 1510 recibe y analiza una corriente de bits de un vídeo codificado.
El extractor 1520 de datos recibe la corriente de bits analizada desde el receptor 1510, y extrae datos de vídeo codificados e información acerca de una profundidad codificada y un modo de codificación para cada unidad de codificación máxima de la corriente de bits. También, el extractor 1520 de datos puede extraer información acerca de un tamaño máximo de las unidades de codificación de la corriente de bits. El extractor 1520 de datos extrae, a partir de la corriente de bits, información acerca de un orden de información del modo de salto e información de división de las unidades de codificación según las profundidades.
El extractor 1520 de datos puede leer la información del modo de salto y la información de división a partir de la información acerca del modo de codificación basándose en la información extraída acerca del orden de la información del modo de salto y de la información de división, y extraer los datos de vídeo codificados en unidades de codificación según profundidades basándose en la información del modo de salto y la información de división.
El orden de la información del modo de salto y de la información de división se puede establecer selectivamente según al menos una de una secuencia de imágenes a la que pertenece una unidad de codificación correspondiente a cada profundidad, un segmento, un tipo de segmento según una dirección de predicción y un QP de una unidad de datos. También, el orden de la información del modo de salto y de la información de división se puede establecer selectivamente según las profundidades de las unidades de codificación según las profundidades en una unidad de codificación máxima.
Por ejemplo, si una unidad de codificación es una unidad de codificación máxima, según el orden de la información del modo de salto y de la información de división, si la unidad de codificación se predice en un modo de salto según la información del modo de salto se puede determinar antes de determinar si la unidad de codificación se divide según la información de división. También, si una unidad de codificación no es una unidad de codificación máxima, se puede determinar si la unidad de codificación se divide según la información de división antes de determinar si la unidad de codificación se predice en un modo de salto según la información del modo de salto.
El extractor 1520 de datos puede extraer una parte de información de división y de salto obtenida combinando la información del modo de salto y la información de división para las unidades de codificación según las profundidades. Por ejemplo, si se extrae un bit de información de división y de salto, se puede predecir una unidad de codificación correspondiente en un modo de salto sin división, y si se leen dos bits de información de división y de salto, si una unidad de codificación correspondiente se divide puede determinarse basándose en la información de división y si la unidad de codificación correspondiente se predice en un modo de salto puede determinarse basándose en la información del modo de salto.
El extractor 1520 de datos puede extraer solo la información de división y la información del modo de salto para una unidad de codificación que se predice en un modo de salto, y no puede extraer información para la decodificación de predicción, tal como un coeficiente de transformación e información relacionada con la predicción, tal como una dirección de predicción, y un vector de movimiento. La información del índice del predictor del vector de movimiento para una unidad de codificación que se predice en un modo de salto puede extraerse selectivamente. Por consiguiente, el decodificador 1530 puede realizar la decodificación de predicción sobre una unidad de codificación actual tomando prestada información de movimiento de una unidad de predicción adyacente a la unidad de codificación actual que se predice en un modo de salto, o infiriendo información de movimiento de la unidad de codificación actual a partir de la información de movimiento de la unidad de predicción adyacente.
El decodificador 1530 decodifica datos de vídeo codificados según una unidad de codificación de al menos una profundidad codificada para cada unidad de codificación máxima de los datos de vídeo codificados basándose en la información acerca de la profundidad codificada y del modo de codificación.
Los datos de vídeo decodificados y restaurados se pueden transmitir a varios terminales que pueden reproducir los datos de vídeo o se pueden almacenar en un dispositivo de almacenamiento.
El aparato 1400 de la FIG. 16 y el aparato 1500 de la FIG. 17 pueden determinar un orden de la información del modo de salto y de la información de división considerando una unidad de datos, un modo de codificación o similares. También, el orden de la información del modo de salto y de la información de división puede determinarse considerando un número total de bits de la información del modo de salto y de la información de división, y una frecuencia de ocurrencia de un modo de salto en la codificación y decodificación de datos de vídeo. Dado que se puede establecer el orden de la información del modo de salto y de la información de división a partir de las unidades de codificación según las profundidades, la eficiencia de transmisión de datos codificados puede mejorarse aún más.
La FIG. 18 ilustra unidades de codificación según profundidades codificadas en una unidad de codificación máxima, según una realización ejemplar.
Para explicar un orden en el que el extractor 1520 de datos lee una emisión de corriente de bits codificada procedente de la unidad 1430 de emisión considerando un orden de información de modo de salto e información de división, una unidad 1600 de codificación máxima se ilustra a modo de ejemplo.
Las unidades de codificación incluidas en la unidad 1600 de codificación máxima incluyen la unidad 1600 de codificación máxima que tiene una profundidad de 0, unidades 1610, 1620, 1630, y 1640 de codificación que tienen una profundidad de 1, y unidades 1622, 1624, 1626, y 1628 de codificación que tienen una profundidad de 2. También, las unidades 1610, 1630, y 1640 de codificación que tienen la profundidad codificada de 1 y las unidades 1622, 1624, 1626, y 1628 de codificación que tienen la profundidad codificada de 2 se determinan como profundidades codificadas de la unidad 1600 de codificación máxima. También, se supone que los modos de predicción de las unidades 1610, 1630, y 1640 de codificación que tienen la profundidad de 1 son establecidos a modos de salto, y los modos de predicción de las unidades 1622, 1624, 1626, y 1628 de codificación que tienen la profundidad de 2 no son establecidos a modos de salto.
En primer lugar se explicará un ejemplo en el que el extractor 1520 de datos del aparato 1500 lee información de división antes de leer la información del modo de salto para la unidad 1600 de codificación máxima de una imagen actual. En este ejemplo, en donde la información de división precede a la información del modo de salto, si la información de división es 1, la información de división de las unidades de codificación de profundidades más bajas se lee de forma recursiva, y si la información de división es 0, se lee la información del modo de salto de una unidad de codificación de una profundidad correspondiente.
Por consiguiente, un orden en el que se establece o se lee la información de división y la información del modo de salto es el siguiente.
La información 1 de división acerca de la unidad 1600 de codificación máxima, la información 0 de división y la información 1 de salto acerca de la unidad 1610 de codificación que tiene la profundidad de 1, la información 0 de división acerca de la unidad 1620 de codificación que tiene la profundidad de 1, la información 0 de división y la información 0 de salto acerca de la unidad 1622 de codificación que tiene la profundidad de 2, la información 0 de división y la información 0 de salto acerca de la unidad 1624 de codificación que tiene la profundidad de 2, la información 0 de división y la información 0 de salto acerca de la unidad 1626 de codificación que tiene la profundidad de 2, la información 0 de división y la información 0 de salto acerca de la unidad 1628 de codificación que tiene la profundidad de 2, la información 0 de división y la información 1 de salto acerca de la unidad 1630 de codificación que tiene la profundidad de 1, la información 0 de división y la información 1 de salto acerca de la unidad 1640 de codificación que tiene la profundidad de 1, pueden ser leídas secuencialmente. Por consiguiente, un número total de bits de la información de división y de la información del modo de salto de la unidad 1600 de codificación máxima es 16.
También, se explicará otro ejemplo en el que el extractor 1520 de datos del aparato 1400 lee la información del modo de salto de la unidad 1600 de codificación máxima de una imagen actual antes de la información de división. En este ejemplo en donde la información del modo de omisión precede a la información de división, si la información del modo de salto es 1, no es necesario establecer la información de división de las unidades de codificación que tienen profundidades más bajas, y si la información del modo de salto es 0, se establece la información de división. Por consiguiente, un orden en el que se establece o lee la información de división y la información del modo de salto es el siguiente.
La información 0 del modo de salto acerca de la unidad 1600 de codificación máxima, la información 1 del modo de salto acerca de la unidad 1610 de codificación que tiene la profundidad de 1, la información 0 del modo de salto y la información 1 de división acerca de la unidad 1620 de codificación que tiene la profundidad de 1, la información 0 del modo de salto y la información 0 de división acerca de la unidad 1622 de codificación que tiene la profundidad de 2, la información 0 del modo de salto y la información 0 de división acerca de la unidad 1624 de codificación que tiene la profundidad de 2, la información 0 de modo de salto y la información 0 de división acerca de la unidad 1626 de codificación que tiene la profundidad de 2, la información 0 de modo de salto y la información 0 de división acerca de la unidad 1628 de codificación que tiene la profundidad de 2, la información 1 de modo de salto acerca de la unidad 1630 de codificación que tiene la profundidad de 1, y la información 1 de modo de salto acerca de la unidad 1640 de codificación que tiene la profundidad de 1, pueden ser leídas secuencialmente. En este caso, un número total de bits de la información de división y de la información del modo de salto acerca de la unidad 1600 de codificación máxima es 14.
Las FIGS. 19 a 21 son diagramas de flujo que ilustran métodos de codificación y decodificación de información de salto e información de división, según varias realizaciones ejemplares.
Si la unidad 1430 de emisión del aparato 1400 emite una corriente de bits codificada de manera que la información de división precede a la información del modo de salto según un primer método de división, el extractor 1520 de datos del aparato 1500 lee datos de vídeo codificados según un orden en el que se leen la información del modo de salto y la información de división.
Es decir, en la operación 1650, según el primer método de división, el extractor 1520 de datos lee información de división acerca de una unidad de codificación máxima que tiene una profundidad de 0 y determina si la unidad de codificación máxima está dividida. Si se determina en la operación 1650 que la unidad de codificación máxima no está dividida, el método prosigue a la operación 1652. En la operación 1652, se lee la información del modo de salto y se determina si la unidad de codificación máxima es predicha en un modo de omisión. Si se determina en la operación 1650 que la unidad de codificación máxima está dividida, el método prosigue según a la operación 1654. En la operación 1654, se lee la información de división de una unidad de codificación que tiene una profundidad de 1. De manera similar, en la operación 1654, se determina si la unidad de codificación que tiene la profundidad de 1 está dividida. Si en la operación 1654 se determina que la unidad de codificación que tiene la profundidad de 1 no está dividida según la información de división de la unidad de codificación que tiene la profundidad de 1, el método prosigue a la operación 1656. En la operación 1656, se lee la información del modo de salto de la unidad de codificación que tiene la profundidad de 1. Si se determina en la operación 1654 que la unidad de codificación que tiene la profundidad de 1 está dividida, el método prosigue a la operación 1658.
En la operación 1658, se lee la información de división de una unidad de codificación que tiene una profundidad de 2 y se determina si la unidad de codificación que tiene la profundidad de 2 está dividida. Si se determina en la operación 1658 que la unidad de codificación que tiene una profundidad de 2 no está dividida, el método prosigue a la operación 1660. En la operación 1660, se lee la información del modo de salto de la unidad de codificación que tiene la profundidad de 2. Si se determina en la operación 1658 que la unidad de codificación que tiene la profundidad de 2 está dividida, el método prosigue a una siguiente profundidad.
Si la unidad 1430 de emisión del aparato 1400 emite una corriente de bits codificada de manera que la información del modo de salto precede a la información de división según un primer método de salto, el extractor 1520 de datos del aparato 1500 lee datos de vídeo codificados según un orden en el que se leen la información del modo de salto y la información de división.
Es decir, en la operación 1670, según el primer método de salto, el extractor 1520 de datos lee la información del modo de salto acerca de una unidad de codificación máxima que tiene una profundidad de 0. Si se determina a partir de la lectura que un modo de predicción de la unidad de codificación máxima es un modo de salto, el decodificador 1530 puede decodificar la unidad de codificación máxima en un modo de salto. En la operación 1670, si se determina a partir de la lectura que el modo de predicción de la unidad de codificación máxima no es un modo de salto, el método puede proseguir a la operación 1672. En la operación 1672, el extractor 1520 de datos puede leer información de división de la unidad de codificación máxima que tiene una profundidad de 0. En la operación 1672, si se determina a partir de la lectura que la unidad de codificación máxima no está dividida, el decodificador 1530 puede decodificar la unidad de codificación máxima. En la operación 1672, si se determina a partir de la lectura que la unidad de codificación máxima está dividida, el método prosigue a la operación 1674. En la operación 1674, el extractor 1520 de datos puede leer la información del modo de salto de una unidad de codificación que tiene una profundidad de 1.
De manera similar, en la operación 1674, según la información del modo de salto de la unidad de codificación que tiene la profundidad de 1, si se determina a partir de la lectura que un modo de predicción de la unidad de codificación que tiene la profundidad de 1 es un modo de salto, la unidad de codificación que tiene la profundidad de 1 puede decodificarse en un modo de salto. Si se determina a partir de la lectura en la operación 1674 que un modo de predicción de la unidad de codificación que tiene la profundidad de 1 no es un modo de salto, el método prosigue a la operación 1676. En la operación 1676, se puede leer información de división de la unidad de codificación que tiene la profundidad de 1.
Si la unidad 1430 de emisión del aparato 1400 realiza la codificación de manera que la información del modo de salto precede a la información de división para una unidad de codificación máxima y la información de división precede a la información del modo de salto para unidades de codificación distintas de la unidad de codificación máxima, el extractor 1520 de datos del aparato 1500 lee datos de vídeo codificados según un orden en el que se leen la información del modo de salto y la información de división.
Es decir, en la operación 1680, según un primer método de salto para una unidad de codificación máxima que tiene una profundidad de 0, el extractor 1520 de datos lee la información del modo de salto acerca de la unidad de codificación máxima que tiene la profundidad de 0. Si a partir de la lectura se determina que un modo de predicción de la unidad de codificación máxima es un modo de salto, el decodificador 1530 puede decodificar la unidad de codificación máxima en un modo de salto. En la operación 1680, si se determina a partir de la lectura que el modo de predicción de la unidad de codificación máxima no es un modo de salto, el método prosigue a la operación 1682. En la operación 1682, el extractor 1520 de datos puede leer información de división de la unidad de codificación máxima que tiene una profundidad de 0. En la operación 1682, si se determina a partir de la lectura que la unidad de codificación máxima no está dividida, el decodificador 1530 puede decodificar la unidad de codificación máxima. En la operación 1682, si se determina a partir de la lectura que la unidad de codificación máxima está dividida, el extractor 1520 de datos puede leer información de división e información de modo de salto de una unidad de codificación que tiene una profundidad de 1 en las operaciones 1684 y 1686.
En la operación 1684, según un primer método de división para la unidad de codificación que tiene la profundidad de 1, si se determina a partir de la lectura que la unidad de codificación que tiene la profundidad de 1 no está dividida según la información de división de la unidad de codificación que tiene la profundidad de 1, el método prosigue a la operación 1686. En la operación 1686, se lee la información del modo de salto de la unidad de codificación que tiene la profundidad de 1. En la operación 1684, si se determina a partir de la lectura que la unidad de codificación que tiene la profundidad de 1 está dividida, el procedimiento prosigue a la operación 1688, y puede leerse la información de división de una unidad de codificación que tiene una profundidad de 2. En la operación 1688, si la unidad de codificación que tiene la profundidad de 2 no está dividida según la información de división de la unidad de codificación que tiene la profundidad de 2, el método prosigue a la operación 1690. En la operación 1690, se puede leer la información del modo de salto de la unidad de codificación que tiene la profundidad de 2, y si la unidad de codificación que tiene la profundidad de 2 está dividida, el método puede proseguir a una siguiente profundidad.
El número total de bits de la información de modo de salto y de la información de división según las realizaciones ejemplares de las FIGS. 19 a 21 se compararán entre sí del siguiente modo.
En detalle, si una unidad de codificación máxima está codificada en un modo de salto, el número total de bits de la información del modo de salto y de la información de división según varias realizaciones ejemplares son como se muestra en la Tabla 2.
[Tabla 2]
Según un primer método de división de la Tabla 2, dado que la información de división de una unidad de codificación máxima que tiene una profundidad de 0 se codifica para que sea '0' y la información del modo de salto de la unidad de codificación máxima que tiene una profundidad de 0 se codifica para que sea '1', el extractor 1520 de datos puede leer dos bits de información de modo de salto e información de división en total. Según un primer método de salto de la Tabla 2, dado que la información del modo de salto de la unidad de codificación máxima que tiene la profundidad de 0 se codifica para que sea '1', el extractor 1520 de datos puede leer un bit de información de modo de salto en total. Según una unidad de codificación máxima, el primer método de salto de la Tabla 2, dado que la información del modo de salto de la unidad de codificación máxima que tiene la profundidad de 0 se codifica para que sea '1', el extractor 1520 de datos puede leer solo un bit de información de modo de salto en total.
En detalle, si una unidad de codificación que tiene una profundidad de 2 se codifica en un modo de salto, el número total de bits de la información del modo de salto y de la información de división según varias realizaciones ejemplares son como se muestra en la Tabla 3.
[Tabla 3]
Según un primer método de división de la Tabla 3, dado que la información de división de una unidad de codificación máxima que tiene una profundidad de 0 se codifica para que sea '1', la información de división de una unidad de codificación que tiene una profundidad de 1 se codifica para que sea '1', la información de división de una unidad de codificación que tiene una profundidad de 2 se codifica para que sea '0', y la información del modo de salto de la unidad de codificación que tiene una profundidad de 2 se codifica para que sea '1', el extractor 1520 de datos puede leer cuatro bits de información de modo de salto e información de división en total. Según un primer método de salto de la Tabla 3, dado que la información del modo de salto de la unidad de codificación máxima que tiene la profundidad de 0 se codifica para que sea '0', la información de división de la unidad de codificación máxima que tiene una profundidad de 0 se codifica para que sea '1', la información del modo de salto de la unidad de codificación que tiene una profundidad de 1 se codifica para que sea '0', la información de división de la unidad de codificación que tiene la profundidad de 1 se codifica para que sea '1', y la información del modo de salto de la unidad de codificación que tiene la profundidad de 2 se codifica para que sea '1', el extractor 1520 de datos puede leer cinco bits de información de modo de salto e información de división en total. Según una unidad de codificación máxima, el primer método de salto de la Tabla 3, dado que la información del modo de salto de la unidad de codificación máxima que tiene la profundidad de 0 se codifica para que sea '0', la información de división de la unidad de codificación máxima que tiene una profundidad de 0 se codifica para que sea '1', la información de división de la unidad de codificación que tiene la profundidad de 1 se codifica para que sea '1', la información de división de la unidad de codificación que tiene la profundidad de 2 se codifica para que sea '0', y la información del modo de salto de la unidad de codificación que tiene la profundidad de 2 se codifica para que sea '1', el extractor 1520 de datos puede leer cinco bits de información de modo de salto e información de división en total.
Como se ha descrito anteriormente con referencia a las FIGS. 19 a 21, cambiando un orden de información de división e información de modo de salto, se puede variar un número total de bits de información de modo de salto acerca de unidades de codificación según las profundidades. Por ejemplo, si una unidad de codificación de una profundidad superior se predice y codifica en un modo de salto, dado que la información de división de una unidad de codificación de menor profundidad no necesita ser codificada, si hay muchas regiones predichas y codificadas en un modo de salto, puede ser ventajoso en términos de una tasa de bits que la información del modo de salto preceda a la información de división. Sin embargo, en una imagen con un pequeño número de modos de salto, puede ser ventajoso en términos de tasa de bits que la información de división preceda a la información de modo de salto.
Por consiguiente, se puede ajustar una tasa de bits ajustando un orden de información de división y de modo de salto según las características de una imagen, una secuencia, un nivel de unidad de datos tal como un segmento, un QP y un tipo de segmento. También, como en el ejemplo explicado con referencia a la FIG. 21 en el que se selecciona un primer método de salto solo para una unidad de codificación máxima y se selecciona un primer método de división para unidades de codificación que tienen profundidades distintas de la unidad de codificación máxima, un orden de información de división e información de modo de salto se puede cambiar según las profundidades.
En el ejemplo que se describe con referencia a la FIG. 18, la información del modo de salto o la información de división se lee antes en unidades de imagen. El aparato 1400 de la FIG. 16 y el aparato 1500 de la FIG. 17 puede determinar de forma variable un orden en el que la información del modo de salto y la información de división se emiten o leen según una unidad de datos, una profundidad, un QP, y un tipo de segmento según una dirección de predicción sin estar limitado a la realización ejemplar de la FIG. 18.
También, la información de división y la información del modo de salto se pueden combinar y usar como una parte de información de división y de salto. El aparato 1400 de la FIG. 16 y el aparato 1500 de la FIG. 17 pueden usar información de división y de salto a la que se le asigna 1 bit para una combinación de información división e información de modo de salto que tiene una frecuencia alta de ocurrencia, e información de división y de salto a la que se le asignan 2 bits para una combinación que tiene una frecuencia de ocurrencia baja.
Si la información de división precede a la información del modo de salto, dado que la información de división de una unidad de codificación de menor profundidad se lee inmediatamente cuando la información de división de una unidad de codificación de una profundidad actual es 1, no se lee un modo de salto de una unidad de codificación actual. Por consiguiente, pueden ocurrir tres combinaciones, es decir, información 1 de división, una combinación de información 0 de división e información 0 de modo de salto, y una combinación de información 0 de división e información 1 de modo de salto. Por ejemplo, una frecuencia de ocurrencia de la combinación de información 0 de división e información 1 de modo de salto es la más alta, a la combinación se le asigna 1 bit, y cada una de la información 1 de división y la combinación de información 0 de división e información 0 del modo de salto se le pueden asignar 2 bits.
La FIG. 22 es un diagrama de flujo que ilustra un método para codificar un vídeo considerando un orden de salto y división, según una realización ejemplar.
En la operación 1710, una imagen es dividida en unidades de codificación máxima que tienen tamaños máximos predeterminados.
En la operación 1720, para cada una de las unidades de codificación que tienen una estructura de árbol, se determina un modo de codificación acerca de una profundidad codificada para emitir un resultado de codificación y una unidad de codificación de la profundidad codificada realizando una codificación basándose en unidades de codificación según las profundidades, según las regiones obtenidas dividiendo jerárquicamente la unidad de codificación máxima cuando se hace más profunda la profundidad.
En la operación 1730, información que indica un orden de información de modo de salto e información de división que se determina selectivamente para cada unidad de codificación según las profundidades, la información acerca del modo de codificación, incluida la información del modo de salto y la información de división que se dispone según el orden determinado, y los datos de vídeo codificados se emiten para cada unidad de codificación máxima.
También, se puede establecer una parte de información combinada de división y salto obtenida al combinar la información de división y la información del modo de salto. También, se puede asignar un número de bits de la información de división y de salto correspondiente basándose en una frecuencia de ocurrencia de una combinación de la información de división y de la información del modo de salto.
La FIG. 23 es un diagrama de flujo que ilustra un método para decodificar un vídeo considerando un orden de salto y división, según una realización ejemplar.
En la operación 1810, se recibe y analiza una corriente de bits de un vídeo codificado.
En la operación 1820, la información acerca de un orden de información del modo de salto y de información de división de las unidades de codificación según las profundidades se extrae de la corriente de bits, y según el orden de la información del modo de salto y de la información de división, la información acerca de una profundidad codificada y un modo de codificación y datos de vídeo codificados se extrae según una unidad de codificación máxima a partir de la corriente de bits.
También, se puede leer una parte de información combinada de división y de salto obtenida combinando la información de división y la información del modo de salto. El método para decodificar el vídeo de la FIG. 23 puede leer una combinación de la información de división y de la información del modo de salto basándose en la información de división y de salto que se asigna de forma discriminatoria basándose en la frecuencia de ocurrencia de una combinación de la información de división y de la información del modo de salto.
En la operación 1830, los datos de vídeo codificados se decodifican según unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima de datos de vídeo codificados basándose en la información acerca de la profundidad codificada y el modo de codificación.
Las realizaciones ejemplares se pueden escribir como programas informáticos y se pueden implementar en ordenadores digitales de uso general que ejecutan los programas utilizando un medio de grabación legible por ordenador. Los ejemplos del medio de grabación legible por ordenador incluyen medios de almacenamiento magnético (por ejemplo, ROM, disquetes, discos duros, etc.) y medios de grabación óptica (por ejemplo, CD-ROM o DVD). Más aún, una o más unidades del aparato 1400 y del aparato 1500 pueden incluir un procesador o microprocesador que ejecuta un programa informático almacenado en un medio legible por ordenador, como el almacenamiento local 220.
Aunque se han mostrado particularmente y descrito anteriormente realizaciones ejemplares, los expertos en la técnica comprenderán que pueden hacerse en ellas diversos cambios de forma y detalles. Las realizaciones ejemplares deben ser consideradas en sentido descriptivo solamente y no con propósitos de limitación. Por ello, el alcance del concepto de la invención está definido no por la descripción detallada de realizaciones ejemplares, sino por las reivindicaciones adjuntas.

Claims (3)

REIVINDICACIONES
1. Un método para decodificar una corriente de bits de vídeo que comprende datos de vídeo codificados,
por lo que una imagen de una secuencia de imágenes consiste de unidades de codificación de tamaño máximo, siendo dichas unidades de codificación de tamaño máximo, unidades de datos que tienen un tamaño máximo predeterminado de unidad de codificación;
por lo que cada unidad de codificación de tamaño máximo consiste de unidades de codificación de menor tamaño, estando dispuestas dichas unidades de codificación de manera jerárquica en una estructura de árbol y según la profundidad, siendo dicha profundidad un número de veces en las que se dividen dichas unidades de codificación de tamaño máximo, hasta una unidad de codificación de tamaño mínimo;
por lo que un modo de predicción de una unidad de predicción es uno de un intra-modo, un inter-modo, y un modo de salto, siendo una unidad de predicción una unidad base para la predicción y siendo, o bien una unidad de codificación que ya no está dividida o una partición de la misma;
por lo que la información de división para cada unidad de codificación de tamaño máximo indica si dicha unidad de codificación de tamaño máximo está dividida en unidades de codificación de menor tamaño a una profundidad relacionada;
por lo que la información del modo de salto indica si un modo de predicción de una unidad de predicción es un modo de salto;
comprendiendo el método:
• extraer, a partir de dicha corriente de bits de vídeo, información de división de una unidad de codificación de tamaño máximo;
• determinar si la información de división de dicha unidad de codificación de tamaño máximo indica que dicha unidad de codificación de tamaño máximo no está dividida o está dividida;
• cuando la información de división de una unidad de codificación de tamaño máximo indica que dicha unidad de codificación de tamaño máximo no está dividida, analizar la información del modo de salto de la unidad de codificación de tamaño máximo;
<o>cuando la información del modo de salto de la unidad de codificación de tamaño máximo indica que el modo de predicción de dicha unidad de codificación de tamaño máximo es el modo de salto, decodificar dicha unidad de codificación de tamaño máximo actual inspirándose en la información de movimiento de una unidad de predicción adyacente a dicha unidad de codificación de tamaño máximo actual, o inferir información de movimiento de dicha unidad de codificación de tamaño máximo actual a partir de la información de movimiento de la unidad de predicción adyacente,
<o>cuando la información del modo de salto de la unidad de codificación de tamaño máximo indica que el modo de predicción de dicha unidad de codificación de tamaño máximo no es el modo de salto, determinar una o más unidades de predicción a partir de la unidad de codificación de tamaño máximo y decodificar dichas una o más unidades de predicción;
• cuando la información de división de la unidad de codificación de tamaño máximo indica que dicha unidad de codificación de tamaño máximo está dividida:
<o>determinar las unidades de codificación de una profundidad actual dividiendo una altura y anchura de la unidad de codificación de tamaño máximo
<o>extraer, a partir de la corriente de bits de vídeo, la información de división de una unidad de codificación de la profundidad actual, entre las unidades de codificación de una profundidad actual, indicando la información de división de una unidad de codificación de la profundidad actual si la unidad de codificación de la profundidad actual está dividida en unidades de codificación de menor profundidad, y
<o>cuando la información de división de una unidad de codificación de la profundidad actual indica que dicha unidad de codificación no está dividida, analizar la información de una unidad de codificación de la profundidad actual y decodificar la unidad de codificación de la profundidad actual en el modo de salto.
2. Un método para codificar una corriente bits de vídeo que comprende datos de vídeo codificados,
por lo que una imagen de una secuencia de imágenes consiste de unidades de codificación de tamaño máximo, siendo dichas unidades de codificación de tamaño máximo unidades de datos que tienen un tamaño máximo predeterminado de unidad de codificación;
por lo que cada unidad de codificación de tamaño máximo consiste de unidades de codificación de menor tamaño, estando dispuestas dichas unidades de codificación de manera jerárquica en una estructura de árbol y según la profundidad, siendo dicha profundidad un número de veces en las que se dividen dichas unidades de codificación de tamaño máximo, hasta una unidad de codificación de tamaño mínimo;
por lo que un modo de predicción de una unidad de predicción es uno de un intra-modo, un inter-modo, y un modo de salto, siendo una unidad de predicción una unidad base para la predicción y siendo, o bien una unidad de codificación que ya no está dividida, o bien una partición de la misma;
por lo que la información de división para cada unidad de codificación de tamaño máximo indica si dicha unidad de codificación de tamaño máximo está dividida en unidades de codificación de menor tamaño a una profundidad relacionada;
por lo que la información del modo de salto indica si un modo de predicción de una unidad de predicción es un modo de salto;
comprendiendo el método:
• determinar si codificar la información de división de una unidad de codificación de tamaño máximo actual para indicar que dicha unidad de codificación de tamaño máximo no está dividida o está dividida;
• cuando la información de división de dicha unidad de codificación de tamaño máximo es codificada para indicar que dicha unidad de codificación de tamaño máximo no está dividida, codificar la información del modo de salto de la unidad de codificación de tamaño máximo, y
<o>cuando la unidad de codificación de tamaño máximo es predicha inspirándose en la información de movimiento de una unidad de predicción adyacente a dicha unidad de codificación de tamaño máximo actual, o inferir información de movimiento de dicha unidad de codificación de tamaño máximo actual a partir de la información de movimiento de la unidad de predicción adyacente, codificar la información de modo de salto de la unidad de codificación de tamaño máximo actual para indicar que el modo de predicción de dicha unidad de codificación de tamaño máximo es el modo de salto;
<o>cuando una o más unidades de predicción se determinan a partir de la unidad de codificación de tamaño máximo y dichas una o más unidades de predicción son codificadas, codificar la información del modo de salto de la unidad de codificación de tamaño máximo para indicar que el modo de predicción de dicha unidad de codificación de tamaño máximo no es el modo de salto
• cuando la información de división de la unidad de codificación de tamaño máximo es codificada para indicar que dicha unidad de codificación de tamaño máximo está dividida,
<o>determinar las unidades de codificación de una profundidad actual dividiendo una altura y anchura de la unidad de codificación de tamaño máximo,
<o>codificar información de división de una unidad de codificación de la profundidad actual, entre las unidades de una profundidad actual, indicando la información de división de una unidad de codificación de la profundidad actual si la unidad de codificación de la profundidad actual está dividida en unidades de codificación de una menor profundidad; y
<o>cuando la información de división de una unidad de codificación de la profundidad actual indica que dicha unidad de codificación está codificada como no dividida, codificar la unidad de codificación de la profundidad actual en el modo de salto, y codificar la información del modo de salto de la unidad de codificación de la profundidad actual para indicar que el modo de predicción de la unidad de codificación de la profundidad actual es el modo de salto.
3. Un medio de almacenamiento legible por ordenador que almacena una corriente de bits generada ejecutando operaciones para codificar vídeo usando al menos un procesador, comprendiendo la corriente de bits datos de vídeo codificados,
por lo que una imagen de una secuencia de imágenes consiste de unidades de codificación de tamaño máximo, siendo dichas unidades de codificación de tamaño máximo unidades de datos que tienen un tamaño máximo predeterminado de unidad de codificación;
por lo que cada unidad de codificación de tamaño máximo consiste de unidades de codificación de menor tamaño, estando dispuestas dichas unidades de codificación de manera jerárquica en una estructura de árbol y según la profundidad, siendo dicha profundidad un número de veces en las que se dividen dichas unidades de codificación de tamaño máximo, hasta una unidad de codificación de tamaño mínimo; y
por lo que un modo de predicción de una unidad de predicción es uno de un intra-modo, un inter-modo, y un modo de salto, siendo una unidad de predicción una unidad base para la predicción y siendo, o bien una unidad de codificación que ya no está dividida, o bien una partición de la misma;
por lo que la corriente de bits comprende además:
información de división para cada unidad de codificación de tamaño máximo que indica si dicha unidad de codificación de tamaño máximo está dividida en unidades de codificación de menor tamaño a una profundidad relacionada; e
información de modo de salto que indica si un modo de predicción de una unidad de predicción en un modo de salto,
por lo que las operaciones comprenden:
• determinar si codificar la información de división de unan unidad de codificación de tamaño máximo actual para indicar que dicha unidad de codificación de tamaño máximo no está dividida o está dividida,
• cuando la información de división de dicha unidad de codificación de tamaño máximo está codificada para indicar que dicha unidad de codificación de tamaño máximo no está dividida, codificar en la corriente de bits, la información del modo de salto de la unidad de codificación de tamaño máximo, y
<o>cuando la unidad de codificación de tamaño máximo es predicha inspirándose en la información de movimiento de una unidad de predicción adyacente a dicha unidad de codificación de tamaño máximo actual, o inferir información de movimiento de dicha unidad de codificación de tamaño máximo actual a partir de la información de movimiento de la unidad de predicción adyacente, codificar, en la corriente de bits, la información de modo de salto de la unidad de codificación de tamaño máximo actual para indicar que el modo de predicción de dicha unidad de codificación de tamaño máximo es el modo de salto;
<o>cuando una o más unidades de predicción se determinan a partir de la unidad de codificación de tamaño máximo y dichas una o más unidades de predicción son codificadas, codificar, en la corriente de bits, la información del modo de salto de la unidad de codificación de tamaño máximo para indicar que el modo de predicción de dicha unidad de codificación de tamaño máximo no es el modo de salto;
• cuando la información de división de la unidad de codificación de tamaño máximo es codificada para indicar que dicha unidad de codificación de tamaño máximo es dividida,
<o>determinar las unidades de codificación de una profundidad actual dividiendo una altura y anchura de la unidad de codificación de tamaño máximo;
<o>codificar, en la corriente de bits, información de división de una unidad de codificación de la profundidad actual, entre las unidades de codificación de una profundidad actual, indicando la información de división de una unidad de codificación de la profundidad actual si la unidad de codificación de la profundidad actual está dividida en unidades de codificación de una profundidad inferior; y
• cuando la información de división de una unidad de codificación de la profundidad actual indica que dicha unidad de codificación está codificada como no dividida, codificar la unidad de codificación de la profundidad actual en el modo de salto, y codificar en la corriente de bits, la información de modo de salto de la unidad de codificación de la profundidad actual para indicar que el modo de predicción de la unidad de codificación de la profundidad actual es el modo de salto.
ES22201874T 2010-01-14 2011-01-13 Method for decoding video by considering skip and split order Active ES3034382T3 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100003555A KR101675118B1 (ko) 2010-01-14 2010-01-14 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치

Publications (1)

Publication Number Publication Date
ES3034382T3 true ES3034382T3 (en) 2025-08-18

Family

ID=44258482

Family Applications (5)

Application Number Title Priority Date Filing Date
ES21183935T Active ES2936026T3 (es) 2010-01-14 2011-01-13 Procedimiento para decodificar vídeo en consideración del orden de salto y división
ES20175076T Active ES2882694T3 (es) 2010-01-14 2011-01-13 Procedimiento y aparato para codificar vídeo y aparato para decodificar vídeo considerando un orden de omisión y de división
ES19186348T Active ES2811038T3 (es) 2010-01-14 2011-01-13 Procedimiento y aparato para codificar vídeo y aparato para decodificar vídeo considerando un orden de omisión y de división
ES15195916T Active ES2778655T3 (es) 2010-01-14 2011-01-13 Procedimiento para decodificar vídeo considerando un orden de omisión y de división
ES22201874T Active ES3034382T3 (en) 2010-01-14 2011-01-13 Method for decoding video by considering skip and split order

Family Applications Before (4)

Application Number Title Priority Date Filing Date
ES21183935T Active ES2936026T3 (es) 2010-01-14 2011-01-13 Procedimiento para decodificar vídeo en consideración del orden de salto y división
ES20175076T Active ES2882694T3 (es) 2010-01-14 2011-01-13 Procedimiento y aparato para codificar vídeo y aparato para decodificar vídeo considerando un orden de omisión y de división
ES19186348T Active ES2811038T3 (es) 2010-01-14 2011-01-13 Procedimiento y aparato para codificar vídeo y aparato para decodificar vídeo considerando un orden de omisión y de división
ES15195916T Active ES2778655T3 (es) 2010-01-14 2011-01-13 Procedimiento para decodificar vídeo considerando un orden de omisión y de división

Country Status (19)

Country Link
US (6) US8855201B2 (es)
EP (6) EP3032829B1 (es)
JP (5) JP5718941B2 (es)
KR (1) KR101675118B1 (es)
CN (7) CN102804777A (es)
AU (1) AU2011205940B2 (es)
BR (5) BR122020012992B1 (es)
CA (4) CA2920090C (es)
DK (3) DK3032829T3 (es)
ES (5) ES2936026T3 (es)
HU (5) HUE072375T2 (es)
MX (1) MX2012008238A (es)
MY (5) MY185486A (es)
PH (5) PH12016500678A1 (es)
PL (5) PL4142291T3 (es)
RU (3) RU2517433C2 (es)
SG (6) SG10201700221WA (es)
WO (1) WO2011087292A2 (es)
ZA (1) ZA201205736B (es)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101675118B1 (ko) 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
WO2011087320A2 (ko) 2010-01-15 2011-07-21 삼성전자 주식회사 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 부호화 방법 및 장치, 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 복호화 방법 및 장치
CA3007527C (en) 2010-04-13 2020-06-23 Samsung Electronics Co., Ltd. Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
CA2808587C (en) * 2010-08-17 2017-02-14 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
US8885704B2 (en) 2010-10-01 2014-11-11 Qualcomm Incorporated Coding prediction modes in video coding
US9509972B2 (en) * 2011-06-24 2016-11-29 Lg Electronics Inc. Encoding/decoding method and apparatus using a skip mode
JP5972888B2 (ja) * 2011-09-29 2016-08-17 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
KR101542586B1 (ko) * 2011-10-19 2015-08-06 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
TWI562597B (en) * 2011-11-08 2016-12-11 Samsung Electronics Co Ltd Method and apparatus for quantization parameter determination and computer readable recording medium
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
WO2013111977A1 (ko) * 2012-01-26 2013-08-01 한국전자통신연구원 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치
WO2013141609A1 (ko) * 2012-03-20 2013-09-26 삼성전자 주식회사 트리 구조의 부호화 단위에 기초한 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치
GB2505169B (en) * 2012-08-13 2016-03-16 Gurulogic Microsystems Oy decoder and method
CN103067704B (zh) * 2012-12-12 2015-12-09 华中科技大学 一种基于编码单元层次提前跳过的视频编码方法和系统
CN104023241B (zh) * 2014-05-29 2017-08-04 华为技术有限公司 帧内预测编码的视频编码方法及视频编码装置
CN104602017B (zh) 2014-06-10 2017-12-26 腾讯科技(北京)有限公司 视频编码器、方法和装置及其帧间模式选择方法和装置
WO2017099371A1 (ko) * 2015-12-11 2017-06-15 삼성전자 주식회사 인트라 프레임 스킵 모드 정보의 부호화 방법 및 장치, 복호화 방법 및 장치
CN106878751B (zh) * 2015-12-11 2022-01-14 北京三星通信技术研究有限公司 视频帧内编码模式的标识方法、处理方法和装置
US10163771B2 (en) * 2016-08-08 2018-12-25 Qualcomm Incorporated Interposer device including at least one transistor and at least one through-substrate via
US10609423B2 (en) 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
EP3467778A1 (en) * 2017-10-06 2019-04-10 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
US11438587B2 (en) * 2017-12-14 2022-09-06 Interdigital Vc Holdings, Inc. Method and apparatus for encoding a picture block
KR102247664B1 (ko) 2018-05-10 2021-05-03 삼성전자주식회사 영상의 부호화 및 복호화를 위한 영상의 분할 방법 및 장치
JP7248775B2 (ja) * 2018-07-09 2023-03-29 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン コード化された画像の多様な空間分割のためのエンコーダとデコーダ、符号化方法と復号方法
CN113170108B (zh) * 2018-11-27 2025-07-08 Op方案有限责任公司 使用显式和隐式信令对不可用参考帧进行自适应块更新
MX2021008343A (es) * 2019-01-10 2021-08-05 Hfi Innovation Inc Metodos y aparatos de procesamiento de datos de video de nodos fuera de limites.
CN114402591B (zh) 2019-09-13 2024-08-02 北京字节跳动网络技术有限公司 并置运动矢量的推导
CN114424530B (zh) * 2019-09-13 2025-11-07 北京字节跳动网络技术有限公司 跳过模式信令通知
AU2020203330B2 (en) 2020-05-21 2022-12-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples
CN113315967B (zh) * 2021-07-28 2021-11-09 腾讯科技(深圳)有限公司 视频编码方法、装置、介质及电子设备

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69618759T2 (de) * 1995-09-06 2002-09-12 Koninklijke Philips Electronics N.V., Eindhoven Verfahren und system zur kodierung einer sequenz von segmentierten bildern , kodiertes signal und speichermedium, verfahren und system zur dekodierung des kodierten signals
US5832234A (en) * 1995-09-29 1998-11-03 Intel Corporation Encoding images using block-based macroblock-level statistics
EP0799550B1 (en) * 1995-10-25 2000-08-09 Koninklijke Philips Electronics N.V. Segmented picture coding method and system, and corresponding decoding method and system
US5748789A (en) * 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
EP1374430A4 (en) * 2001-03-05 2005-08-17 Intervideo Inc SYSTEMS AND METHODS FOR ROBUST ERROR CODING
JP2003169333A (ja) * 2001-09-21 2003-06-13 Ricoh Co Ltd 符号列作成装置、画像伸長システム、画像伸長装置、画像提供システム、符号列作成方法、プログラム及び記録媒体
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
EP1322121A3 (en) * 2001-12-19 2003-07-16 Matsushita Electric Industrial Co., Ltd. Video encoder and decoder with improved motion detection precision
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
JP3504256B1 (ja) * 2002-12-10 2004-03-08 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、及び動画像復号装置
CN1723706B (zh) * 2003-01-07 2010-09-22 汤姆森特许公司 用于宏块分割部分的混合块间/块内编码的装置和方法
KR100828353B1 (ko) * 2003-02-05 2008-05-08 삼성전자주식회사 영상 블록 분할 방법 및 그 장치
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR20050045746A (ko) * 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
DE102004041664A1 (de) * 2004-08-27 2006-03-09 Siemens Ag Verfahren zum Codieren und Decodieren, sowie Codier- und Decodiervorrichtung zur Videocodierung
US7720154B2 (en) * 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
US7430238B2 (en) * 2004-12-10 2008-09-30 Micronas Usa, Inc. Shared pipeline architecture for motion vector prediction and residual decoding
TWI259727B (en) * 2005-03-09 2006-08-01 Sunplus Technology Co Ltd Method for rapidly determining macroblock mode
KR100703770B1 (ko) * 2005-03-25 2007-04-06 삼성전자주식회사 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치
EP1727372A1 (en) * 2005-05-27 2006-11-29 Thomson Licensing Method and apparatus for encoding and decoding video data,
US8447121B2 (en) * 2005-09-14 2013-05-21 Microsoft Corporation Efficient integrated digital video transcoding
KR101349599B1 (ko) * 2005-09-26 2014-01-10 미쓰비시덴키 가부시키가이샤 동화상 복호 장치
CN101138248A (zh) * 2005-12-07 2008-03-05 索尼株式会社 编码装置、编码方法、编码程序、解码装置、解码方法和解码程序
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
CN101491095B (zh) * 2006-03-30 2013-07-10 Lg电子株式会社 用于解码/编码视频信号的方法和装置
US20080002770A1 (en) * 2006-06-30 2008-01-03 Nokia Corporation Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices
KR101526914B1 (ko) * 2006-08-02 2015-06-08 톰슨 라이센싱 비디오 디코딩을 위한 적응형 기하학적 파티셔닝 방법 및 장치
WO2008027192A2 (en) * 2006-08-25 2008-03-06 Thomson Licensing Methods and apparatus for reduced resolution partitioning
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
US7573407B2 (en) * 2006-11-14 2009-08-11 Qualcomm Incorporated Memory efficient adaptive block coding
WO2008077119A2 (en) * 2006-12-19 2008-06-26 Ortiva Wireless Intelligent video signal encoding utilizing regions of interest information
CN101222641B (zh) * 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
US20080170793A1 (en) 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
KR100842558B1 (ko) * 2007-01-26 2008-07-01 삼성전자주식회사 동영상 부호화를 위한 블록 모드 결정 방법 및 그 장치
KR101366241B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
KR101366093B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP2010135864A (ja) * 2007-03-29 2010-06-17 Toshiba Corp 画像符号化方法及び装置並びに画像復号化方法及び装置
US20080239335A1 (en) * 2007-04-02 2008-10-02 Samsung Electronics Co., Ltd. Encoding and decoding method for enhancing depth resolution of an image, and print system using the same
EP2140684B1 (en) * 2007-04-12 2018-08-15 Thomson Licensing DTV Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
KR100898176B1 (ko) * 2007-06-12 2009-05-19 한국전자통신연구원 비디오 인코딩을 위한 인터 모드 결정 방법
BRPI0818649A2 (pt) * 2007-10-16 2015-04-07 Thomson Licensing Métodos e aparelho para codificação e decodificação de vídeo em superblocos geometricamente particionados.
CN100594732C (zh) * 2007-11-16 2010-03-17 中国科学院计算技术研究所 一种帧间模式选择方法
US8265171B2 (en) * 2008-02-26 2012-09-11 Richwave Technology Corp. Error resilient video transmission using instantaneous receiver feedback and channel quality adaptive packet retransmission
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
JP4990927B2 (ja) * 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
US8855199B2 (en) * 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
KR20090129926A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
EP2144432A1 (en) * 2008-07-08 2010-01-13 Panasonic Corporation Adaptive color format conversion and deconversion
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US20100086031A1 (en) * 2008-10-03 2010-04-08 Qualcomm Incorporated Video coding with large macroblocks
RU2375838C1 (ru) * 2008-11-19 2009-12-10 Федеральное государственное унитарное предприятие "Научно-исследовательский институт телевидения" Способ кодирования и декодирования видеоинформации на основе трехмерного дискретного косинусного преобразования
US20110002554A1 (en) * 2009-06-11 2011-01-06 Motorola, Inc. Digital image compression by residual decimation
KR101483750B1 (ko) 2009-07-24 2015-01-19 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101456498B1 (ko) 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101487686B1 (ko) 2009-08-14 2015-01-30 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101457418B1 (ko) * 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101452713B1 (ko) * 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
KR101484280B1 (ko) 2009-12-08 2015-01-20 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
CN106101717B (zh) * 2010-01-12 2019-07-26 Lg电子株式会社 视频信号的处理方法和设备
KR101675118B1 (ko) * 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US9706204B2 (en) * 2010-05-19 2017-07-11 Sk Telecom Co., Ltd. Image encoding/decoding device and method
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US9210442B2 (en) * 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation

Also Published As

Publication number Publication date
MY165529A (en) 2018-04-02
CN104811698B (zh) 2019-05-10
RU2639691C2 (ru) 2017-12-21
HUE055561T2 (hu) 2021-12-28
BR122021004158B1 (pt) 2022-03-22
MY185534A (en) 2021-05-19
CN104796695A (zh) 2015-07-22
CN104811698A (zh) 2015-07-29
JP6665225B2 (ja) 2020-03-13
RU2699582C2 (ru) 2019-09-06
MY182916A (en) 2021-02-05
CN105245876B (zh) 2018-09-18
ES2882694T3 (es) 2021-12-02
MX2012008238A (es) 2012-08-17
JP6342549B2 (ja) 2018-06-13
PH12012501442A1 (en) 2016-09-23
CN104796697B (zh) 2018-04-27
MY185486A (en) 2021-05-19
PH12016500680A1 (en) 2016-07-04
PH12016500680B1 (en) 2023-02-22
RU2014113051A (ru) 2015-10-10
JP2016167863A (ja) 2016-09-15
DK3032829T3 (da) 2020-03-16
KR20110083366A (ko) 2011-07-20
PL3573336T3 (pl) 2020-10-05
EP3032829A3 (en) 2016-07-13
BR122021004147B1 (pt) 2022-02-22
RU2517433C2 (ru) 2014-05-27
CA2786989C (en) 2016-04-19
US9894356B2 (en) 2018-02-13
EP3032829B1 (en) 2020-03-04
EP3713231B1 (en) 2021-07-07
CA3079335A1 (en) 2011-07-21
WO2011087292A2 (en) 2011-07-21
JP6151821B2 (ja) 2017-06-21
BR122020012992B1 (pt) 2022-02-22
HUE060744T2 (hu) 2023-04-28
CA2920090A1 (en) 2011-07-21
BR122021004152B1 (pt) 2022-01-11
MY185473A (en) 2021-05-19
PH12016500678A1 (en) 2016-07-04
US10582194B2 (en) 2020-03-03
US20110170593A1 (en) 2011-07-14
BR112012017407A2 (pt) 2016-04-19
PH12016500679A1 (en) 2016-06-27
CA2786989A1 (en) 2011-07-21
RU2017142783A (ru) 2019-02-14
US10110894B2 (en) 2018-10-23
US20200162727A1 (en) 2020-05-21
JP2018142994A (ja) 2018-09-13
EP2510693A4 (en) 2015-05-20
KR101675118B1 (ko) 2016-11-10
CA3079335C (en) 2021-10-26
CN104811697A (zh) 2015-07-29
US20190037212A1 (en) 2019-01-31
ES2811038T3 (es) 2021-03-10
CA3003797A1 (en) 2011-07-21
CA3003797C (en) 2020-10-27
BR112012017407B1 (pt) 2021-12-07
PH12016500681B1 (en) 2023-03-01
EP4142291A1 (en) 2023-03-01
SG10201700221WA (en) 2017-03-30
SG10201700228RA (en) 2017-02-27
EP3713231A1 (en) 2020-09-23
WO2011087292A3 (en) 2011-12-01
JP5933049B2 (ja) 2016-06-08
PL3713231T3 (pl) 2021-10-25
JP5718941B2 (ja) 2015-05-13
SG192515A1 (en) 2013-08-30
ES2936026T3 (es) 2023-03-13
CN104811697B (zh) 2018-05-01
AU2011205940A1 (en) 2012-08-16
PL3910942T3 (pl) 2023-02-27
RU2017142783A3 (es) 2019-02-14
JP2013517664A (ja) 2013-05-16
ES2778655T3 (es) 2020-08-11
SG182497A1 (en) 2012-08-30
US20150003516A1 (en) 2015-01-01
SG10201700231TA (en) 2017-03-30
EP3910942A1 (en) 2021-11-17
HUE050344T2 (hu) 2020-11-30
EP4142291B1 (en) 2025-06-18
CN104796696A (zh) 2015-07-22
CN104796697A (zh) 2015-07-22
DK3910942T3 (da) 2022-12-19
CA2920090C (en) 2018-06-26
EP3573336B1 (en) 2020-07-15
JP2017169230A (ja) 2017-09-21
US11128856B2 (en) 2021-09-21
US9225987B2 (en) 2015-12-29
US20180139440A1 (en) 2018-05-17
DK3713231T3 (da) 2021-07-12
EP3910942B1 (en) 2022-12-07
HUE072375T2 (hu) 2025-11-28
US20160080738A1 (en) 2016-03-17
EP2510693A2 (en) 2012-10-17
EP3032829A2 (en) 2016-06-15
HUE050110T2 (hu) 2020-11-30
PL4142291T3 (pl) 2025-08-11
SG10201700227TA (en) 2017-02-27
EP3573336A1 (en) 2019-11-27
US8855201B2 (en) 2014-10-07
JP2015092762A (ja) 2015-05-14
ZA201205736B (en) 2018-11-28
CN104796695B (zh) 2019-05-10
CN105245876A (zh) 2016-01-13
RU2012134633A (ru) 2014-02-27
PL3032829T3 (pl) 2020-07-13
EP4142291C0 (en) 2025-06-18
AU2011205940B2 (en) 2015-04-09
CN102804777A (zh) 2012-11-28
PH12016500681A1 (en) 2016-06-27

Similar Documents

Publication Publication Date Title
ES3034382T3 (en) Method for decoding video by considering skip and split order
RU2676456C1 (ru) Способ кодирования видео и устройство кодирования видео с использованием блоков предсказания на основании блоков кодирования, определенных в соответствии с древовидной структурой, и способ декодирования видео и устройство декодирования видео с использованием блоков предсказания на основании блоков кодирования, определенных в соответствии с древовидной структурой
ES2577116T3 (es) Procedimiento y aparato de codificación de vídeo, y procedimiento y aparato de decodificación de vídeo
ES2647866T3 (es) Procedimiento de codificación de vídeo y aparato que usa unidad de transformación de estructura de árbol variable y procedimiento y aparato de decodificación de vídeo
ES2636757T3 (es) Procedimiento y aparato de codificación de vídeo y procedimiento y aparato de decodificación de vídeo, basándose en estructura jerárquica de unidad de codificación
ES2793600T3 (es) Codificación de vídeo teniendo en cuenta la orden de exploración de unidades de codificación que tienen estructura jerárquica
ES2683595T3 (es) Procedimiento y aparato de decodificación de vídeo mediante predicción de movimiento usando partición arbitraria
KR101853811B1 (ko) 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 부호화 방법 및 장치, 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 복호화 방법 및 장치
KR102125565B1 (ko) 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 부호화 방법 및 장치, 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 복호화 방법 및 장치