ES2554237T3 - Método y aparato para codificar/decodificar imagen usando una capa dividida - Google Patents

Método y aparato para codificar/decodificar imagen usando una capa dividida Download PDF

Info

Publication number
ES2554237T3
ES2554237T3 ES10820868.7T ES10820868T ES2554237T3 ES 2554237 T3 ES2554237 T3 ES 2554237T3 ES 10820868 T ES10820868 T ES 10820868T ES 2554237 T3 ES2554237 T3 ES 2554237T3
Authority
ES
Spain
Prior art keywords
sub
division
size
block
macroblock
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
ES10820868.7T
Other languages
English (en)
Inventor
Sunyeon Kim
Byeungwoo Jeon
Hyoungmee Park
Mincheol Park
Dongwon Kim
Kibaek Kim
Juock Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Telecom Co Ltd
Original Assignee
SK Telecom 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 SK Telecom Co Ltd filed Critical SK Telecom Co Ltd
Application granted granted Critical
Publication of ES2554237T3 publication Critical patent/ES2554237T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un aparato de codificación de vídeo, que comprende: un determinador de la capa de división máxima (2620) para determinar un valor de la capa de división máxima y un tamaño de sub-bloque mínimo correspondiente para codificar un bloque actual, en el que el valor de la capa de división máxima es el número de capas por el que el bloque actual puede dividirse como máximo en sub-bloques usando una estructura de árbol, teniendo dichos sub-bloques un tamaño igual o mayor que el tamaño de sub-bloque mínimo; un codificador de la capa de división máxima (2630) para codificar el valor de la capa de división máxima y el tamaño de sub-bloque mínimo en un flujo de bits para indicar el tamaño del bloque actual en el flujo de bits; y un codificador de vídeo (2610) para generar datos de imagen codificados del bloque actual codificando los sub-bloques respectivos en el bloque actual que tienen un tamaño igual o mayor que el tamaño de sub-bloque mínimo, y para codificar información de división que indica la división del bloque actual en los sub-bloques respectivos mediante la estructura de árbol.

Description

DESCRIPCION
Metodo y aparato para codificar/decodificar imagen usando una capa dividida 5 [Campo Tecnico]
[0001] La presente divulgacion se refiere a un metodo y un aparato para codificar/decodificar una imagen usando una capa dividida o de division. Mas particularmente, la presente divulgacion se refiere a un metodo y un aparato, que realizan una codificacion y una decodificacion por unidad de sub-bloques despues de dividir un bloque 10 en sub-bloques cuando se codifica una imagen de alta resolucion usando bloques de tamano variable y mejoran la eficiencia de la compresion codificando/decodificando eficientemente la information de division del bloque.
[Tecnica Antecedente]
15 [0002] Las declaraciones en esta section simplemente proporcionan informacion relacionada con la presente divulgacion y no pueden constituir un estado de la tecnica.
[0003] Las tecnologlas para comprimir datos de video incluyen H.261, H.263, H.264, MPEG-2, MPEG-4, y as! sucesivamente. De acuerdo con dichos estandares de compresion de video, cada imagen se divide y se codifica en
20 macrobloques de tamano fijo formados por areas rectangulares que tienen pixeles con un tamano de 16 x 16 de componente de luma y pixeles con un tamano de 8 x 8 de componente de croma. Todos los componentes de luma y todos los componentes de croma de cada macrobloque se predicen espacialmente o temporalmente, y despues un residual predicho experimenta una transformada, una cuantificacion, y una codificacion por entropia y finalmente una transmision.
25
[0004] El estandar H.264/AVC aprobado mas recientemente prescribe un aparato de codificacion para usar un bloque de 16 x 16 pixeles para el tamano de un macrobloque fijo y subdividir cada macrobloque en bloques mas pequenos para el que se realiza una intra-prediccion o una inter-prediccion. En la realization de la codificacion intraprediction, cada macrobloque puede dividirse en tamanos de 16 x 16, 8 x 8 o 4 x 4, y el bloque de tamano 16 x 16
30 esta intra-predicho en uno de cuatro modos de prediction, los bloques 8 x 8 y 4 x 4 estan intra-predichos en uno de nueve modos de prediccion. En el caso de una inter-prediccion, el macrobloque puede subdividirse en bloques de tamanos 16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8, o 4 x 4, y despues se usa para la inter-prediccion a traves de una composition de movimiento. La transformada se realiza por unidad de bloques de tamano de 8 x 8 o 4 x 4, y la cuantificacion usada para los coeficientes de la transformada es una cuantificacion escalar.
35
[0005] Sin embargo, ya que la tecnologia de compresion de video tipica usa un macrobloque de tamano fijo en la codificacion de una imagen (aunque H.264/AVC subdivide y codifica el macrobloque en unidades de bloque mas pequenas, el macrobloque es de un tamano fijo), la codificacion de la imagen de alta resolucion dificilmente consigue una eficiencia de codificacion suficiente.
40
[0006] Adicionalmente, dado que el tamano de un macrobloque es fijo, los tamanos de los sub-bloques dentro del macrobloque, que son las unidades de prediccion o transformada, tambien se limitan.
[0007] El Documento D1 ("Enlarging MB size for high fidelity video coding beyond HD" de Kim J. y col., 45 publicado el 05.10.2008 para la 36a reunion del VCEG en San Diego, Estados Unidos con referencia VCEG-AJ21)
desvela un metodo de codificacion de video que extiende la arquitectura del codec H.264 con tamanos de macrobloques ampliados. Cuando mayor es el tamano del macrobloque, mayor es el numero de niveles de division si el tamano de sub-bloque minimo se mantiene igual.
50 [Divulgacion]
[Problema Tecnico]
[0008] Por lo tanto, los aspectos de la presente divulgacion para resolver el problema que se ha mencionado 55 anteriormente pretenden codificar principalmente una imagen usando bloques de tamanos variables y diversos
tamanos de sub-bloques cuando una imagen de alta resolucion se codifica y mejoran la eficiencia de la compresion codificando y decodificando eficientemente la informacion de division de bloques.
[Solucion Tecnica]
[0009] Un aspecto de la presente divulgacion proporciona un aparato de codificacion/decodificacion de video, incluyendo un codificador de video para codificar una imagen a traves de la generation de datos de imagen codificados codificando un bloque actual dividido en una pluralidad de sub-bloques y la generacion de datos de
5 information de division codificados codificando una information de division del bloque actual; y un decodificador de video para decodificar la imagen a traves de la reconstruction de la informacion de division del bloque actual decodificando los datos de informacion de division codificados extraidos de un flujo de bits y reconstruyendo el bloque actual dividido en la pluralidad de sub-bloques decodificando los datos de imagen codificados extraidos del flujo de bits, de acuerdo con una informacion de division reconstruida del bloque actual.
10
[0010] Otro aspecto de la presente divulgacion proporciona un aparato de codification de video, que incluye un codificador de video para codificar una imagen a traves de la generacion de datos de imagen codificados codificando un bloque actual dividido en una pluralidad de sub-bloques; y un codificador de informacion de division para codificar una informacion de division a traves de la generacion de datos de informacion de division codificados
15 codificando la informacion de division del bloque actual.
[0011] Otro aspecto de la presente divulgacion proporciona un aparato de codificacion de video, incluyendo un determinador de la capa de division maxima para determinar un valor de la capa de division maxima de un bloque actual; un codificador de la capa de division maxima para codificar una capa de division maxima a traves de la
20 generacion de datos de la capa de division maxima codificados codificando el valor de la capa de division maxima del bloque actual; y un codificador de video para codificar una imagen a traves de la generacion de datos de imagen codificados codificando el bloque actual usando un tamano de sub-bloque minimo determinado de acuerdo con un valor de la capa de division maxima determinado.
25 [0012] Otro aspecto de la presente divulgacion proporciona un aparato de codificacion de video, incluyendo un determinador de la capa de division maxima para determinar un valor de la capa de division maxima de un bloque actual; un codificador de la capa de division maxima para codificar una capa de division maxima a traves de la generacion de datos de la capa de division maxima codificados codificando el valor de la capa de division maxima del bloque actual; y un codificador de video para codificar una imagen a traves de la generacion de datos de imagen
30 codificados codificando el bloque actual usando un tamano de sub-bloque minimo determinado de acuerdo con un valor de la capa de division maxima determinado.
[0013] Otro aspecto de la presente divulgacion proporciona un aparato de codificacion de video, incluyendo la unidad de ajuste de candidato de tamano de macrobloque para configurar candidatos del tamano de macrobloque;
35 un codificador de video para codificar una imagen de entrada por cada uno de los candidatos del tamano de macrobloque; el determinador del tamano de macrobloques para determinar el tamano de un macrobloque en base a un coste de codificacion para cada uno de los candidatos del tamano de macrobloque, y la generacion de un flujo de bits que incluye un dato de imagen codificado en un tamano de un macrobloque determinado y la informacion sobre el tamano de macrobloque determinado.
40
[0014] Otro aspecto de la presente divulgacion proporciona un aparato de decodificacion de video, incluyendo un decodificador de informacion de division para decodificar una informacion de division a traves de la reconstruccion de una informacion de division de un bloque actual decodificando los datos de informacion de division codificados extraidos de un flujo de bits; y un decodificador de video para decodificar una imagen a traves de la
45 reconstruccion del bloque actual dividido en una pluralidad de sub-bloques decodificando datos de imagen codificados extraidos del flujo de bits, de acuerdo con una informacion de division reconstruida del bloque actual.
[0015] Otro aspecto de la presente divulgacion proporciona un aparato de decodificacion de video, incluyendo un decodificador de la capa de division maxima para decodificar una capa de division maxima a traves de la
50 reconstruccion de un valor de la capa de division maxima decodificando datos de la capa de division maxima codificados extraidos de un flujo de bits; y un decodificador de video para decodificar una imagen a traves de la reconstruccion de un bloque actual decodificando unos datos de imagen codificados extraidos del flujo de bits, usando un tamano de sub-bloque minimo dependiendo de un valor de la capa de division maxima reconstruido.
55 [0016] Otro aspecto de la presente divulgacion proporciona un aparato de decodificacion de video, incluyendo la unidad de ajuste del tamano de macrobloque para configurar el tamano de un macrobloque a traves de la extraction de la informacion de tamano de macrobloque de un flujo de bits y ajustar el tamano de un macrobloque usando una informacion de tamano de macrobloque extraida; y un decodificador de video para decodificar una imagen a traves de la extraccion de datos de imagen codificados del flujo de bits y la generacion de una imagen
reconstruida decodificando los datos de imagen codificados dependiendo del tamano de un macrobloque identificado por la informacion de tamano de macrobloque.
[0017] Otro aspecto de la presente divulgacion proporciona un metodo de codificacion/decodificacion de
5 video, incluyendo la codificacion de una imagen a traves de la generation de datos de imagen codificados
codificando un bloque actual dividido en una pluralidad de sub-bloques y la generacion de datos de informacion de division codificados codificando una informacion de division del bloque actual; y la decodificacion de la imagen a traves de la reconstruccion de la informacion de division del bloque actual decodificando los datos de informacion de division codificados extraldos de un flujo de bits y reconstruyendo el bloque actual dividido en la pluralidad de sub-
10 bloques decodificando los datos de imagen codificados extraldos del flujo de bits, de acuerdo con una informacion
de division reconstruida del bloque actual.
[0018] Otro aspecto de la presente divulgacion proporciona un metodo de codificacion de video, incluyendo la generacion de datos de imagen codificados codificando un bloque actual para experimentar una division en una
15 pluralidad de sub-bloques; la generacion de datos de informacion de division codificados codificando una informacion de division del bloque actual; y la generacion de un flujo de bits que incluye los datos de imagen codificados y los datos de informacion de division codificados.
[0019] La pluralidad de sub-bloques puede ser cuadrada.
20
[0020] La division puede realizarse por una seleccionada de una pluralidad de tipos de division.
[0021] El bloque actual puede ser un macrobloque que excede el tamano de bloque de 16 x 16.
25 [0022] La informacion de division puede indicar tamanos de bloque de la pluralidad de sub-bloques incluidos en el bloque actual.
[0023] La informacion de division puede identificarse por una informacion que indica el tipo de division por cada una de las capas de division, y la etapa de generar los datos de informacion de division codificados puede 30 codificar la informacion de division a traves de la codificacion secuencial de la informacion que indica el tipo de division por cada una de las capas de division en base a un orden de codificacion de la informacion que indica el tipo de division.
[0024] La informacion de division puede identificarse por un numero de capas de una capa de division y una 35 informacion que indica el tipo de division, y la etapa de generacion de los datos de informacion de division
codificados puede codificar la informacion de division a traves de la codificacion del numero de capas de la capa de division y la informacion que indica el tipo de division usando una estructura de arbol.
[0025] La division puede utilizar unicamente cuadrados, y la informacion de division puede incluir unicamente 40 valores de la capa de division.
[0026] La division puede tener un bloque rectangular dividido en bloques rectangulares mas pequenos.
[0027] La informacion de division puede identificarse por un valor de capa de division y un indicador de 45 division, y la etapa de generacion de los datos de informacion de division codificados puede codificar la informacion
de division a traves de la codificacion del valor de la capa de division y el indicador de division.
[0028] La etapa de generacion de los datos de informacion de division codificados puede codificar la informacion de division a traves de la codificacion del valor de la capa de division y el indicador de division
50 unicamente cuando el bloque actual es un tipo intra-bloque.
[0029] La pluralidad de sub-bloques pueden ser bloques cuadrados.
[0030] Otro aspecto de la presente divulgacion proporciona un aparato de codificacion de video, incluyendo el 55 ajuste de los candidatos de tamano de sub-bloque minimo; codificacion de una imagen de entrada por cada uno de
los candidatos del tamano de sub-bloque minimo; determination de un tamano de sub-bloque minimo en base a un coste de codificacion para cada uno de los candidatos del tamano de macrobloque, y la generacion de un flujo de bits que incluye datos de imagen codificados en un tamano de sub-bloque minimo determinado y una informacion sobre el tamano de sub-bloque minimo determinado.
[0031] La informacion sobre el tamano de sub-bloque mlnimo determinado puede ser una information sobre un valor del tamano de sub-bloque mlnimo o una informacion sobre un valor de la capa de division maxima.
5 [0032] La etapa de determinar el tamano de sub-bloque mlnimo puede incluir determinar un valor de la capa de division maxima de un bloque actual; generar datos de la capa de division maxima codificados codificando el valor de la capa de division maxima del bloque actual; decodificar datos de imagen codificados a traves de la codification del bloque actual usando un tamano de sub-bloque mlnimo determinado dependiendo de un valor de la capa de division maxima determinado; y generar un flujo de bits incluyendo los datos de la capa de division maxima 10 codificados y los datos de imagen codificados.
[0033] La etapa de generar los datos de imagen codificados puede codificar el bloque actual usando un tamano de sub-bloque mlnimo determinado dependiendo del valor de la capa de division maxima y los sub-bloques determinados dependiendo de la disponibilidad de las capas respectivas, y la etapa de generar el flujo de bits puede
15 incluir adicionalmente una informacion para indicar el uso o no uso de las capas respectivas despues de la division en el flujo de bits.
[0034] La informacion para indicar el uso o no uso de cada capa dividida puede ser Indices de una tabla generados combinando eventos de uso o no uso de las capas respectivas.
20
[0035] Otro aspecto de la presente divulgation proporciona un aparato de codificacion de video, incluyendo determinar capas de division disponibles de un bloque actual; seleccionar una capa de division para minimizar un coste de codificacion del bloque actual de las capas de division disponibles determinadas; generar datos de imagen codificados a traves de la codificacion del bloque actual, usando una capa de division seleccionada; y generar un
25 flujo de bits que incluye datos de la capa de division codificados generados codificando una informacion sobre la capa de division seleccionada, datos de informacion de division codificados generados codificando una informacion de division de division del bloque actual, y los datos de imagen codificados.
[0036] Otro aspecto de la presente divulgacion proporciona un aparato de codificacion de video, incluyendo el 30 ajuste de candidatos del tamano de macrobloque; codificar una imagen de entrada por cada uno de los candidatos
del tamano de macrobloque; determinar el tamano de un macrobloque en base a un coste de codificacion para cada uno de los candidatos del tamano de macrobloque; y generar un flujo de bits incluyendo datos de imagen codificados en un tamano de un macrobloque determinado y una informacion sobre el tamano de macrobloque determinado.
35 [0037] La informacion sobre el tamano de un macrobloque determinado puede ser una informacion sobre el valor del tamano de macrobloque, o una informacion sobre un valor del tamano de sub-bloque maximo y un valor de la capa de division maxima, o una informacion de aumento/reduccion sobre un macrobloque de un tamano predeterminado.
40 [0038] La informacion sobre el valor del tamano de un macrobloque puede ser un indicador para indicar si transmitir una informacion de macrobloque.
[0039] La informacion sobre el tamano de un macrobloque determinado puede ser un indicador para indicar si usar un macrobloque de un tamano de referencia.
45
[0040] La informacion sobre el tamano de un macrobloque determinado puede ser un indicador sobre si usar el tamano de un macrobloque de una imagen previa.
[0041] La informacion sobre el tamano de un macrobloque determinado puede definir diferentes tamanos de 50 macrobloque entre una intra-imagen y una inter-imagen.
[0042] El metodo de codificacion de video puede incluir adicionalmente ajustar un tamano de sub-bloque minimo de referencia y codificar un indicador para indicar si usar el tamano de sub-bloque minimo de referencia en cada encabezado de una imagen, un segmento o un encabezado de sub-bloque minimo.
55
[0043] Un bloque que tiene un tamano ampliado o reducido en una relation predeterminada del tamano de sub-bloque minimo de referencia puede seleccionarse como un sub-bloque minimo actual cuando el indicador indica que el tamano de sub-bloque de referencia mlnimo no sea usa.
[0044] Una intra-imagen y una inter-imagen pueden codificarse con diferentes tamanos de sub-bloque mlnimos aplicados.
[0045] La informacion sobre el valor del tamano de un macrobloque o la informacion sobre el valor del tamano 5 de sub-bloque maximo puede adquirirse usando una tabla que define tamanos de bloque.
[0046] Otro aspecto de la presente divulgacion proporciona un metodo de decodificacion de video, incluyendo la reconstruccion de una informacion de division de un bloque actual decodificando los datos de informacion de division codificados extraldos de un flujo de bits; y la reconstruccion del bloque actual para experimentar una division
10 en una pluralidad de sub-bloques decodificando datos de imagen codificados extraldos del flujo de bits, de acuerdo con una informacion de division reconstruida del bloque actual.
[0047] La informacion de division puede identificarse por una informacion que indica el tipo de division por cada una de las capas de division.
15
[0048] La informacion de division puede identificarse por un numero de capas de una capa de division y una informacion que indica el tipo de division.
[0049] La informacion de division puede identificarse por un valor de capa de division y un indicador de 20 division.
[0050] La division puede utilizar unicamente cuadrados, y la informacion de division puede incluir unicamente valores de la capa de division.
25 [0051] La division puede tener un bloque rectangular dividido en bloques mas pequenos rectangulares.
[0052] Otro aspecto de la presente divulgacion proporciona un metodo de codificacion de video, incluyendo la reconstruccion de un tamano de sub-bloque minimo decodificando datos del tamano de sub-bloque minimo codificados extraldos de un flujo de bits; y la reconstruccion de un bloque actual decodificando datos de imagen
30 codificados extraldos del flujo de bits, usando un tamano de sub-bloque minimo reconstruido.
[0053] Los datos del tamano de sub-bloque minimo codificados extraldos del flujo de bits puede ser cualquiera de una informacion sobre un valor del tamano de sub-bloque minimo o una informacion sobre un valor de la capa de division maxima.
35
[0054] La etapa de generar el bloque actual puede codificar el bloque actual usando un tamano de sub-bloque minimo determinado dependiendo del valor de la capa de division maxima y sub-bloques determinados dependiendo de la disponibilidad de las capas respectivas.
40 [0055] El metodo de decodificacion de video puede incluir adicionalmente una informacion para indicar el uso o no uso de las capas respectivas, en forma de Indices de una tabla generada combinando eventos del uso o no uso de las capas respectivas.
[0056] Otro aspecto de la presente divulgacion proporciona un metodo de decodificacion de video, incluyendo 45 la reconstruccion de una informacion sobre una capa de division y una informacion de division decodificando datos de la capa de division codificados y datos de informacion de division codificados extraldos de un flujo de bits; y la reconstruccion de un bloque actual decodificando datos de imagen codificados extraldos del flujo de bits, usando informacion reconstruida sobre la capa de division y la informacion de division reconstruida.
50 [0057] Otro aspecto de la presente divulgacion proporciona un metodo de decodificacion de video, incluyendo ajustar el tamano de un macrobloque a traves de la extraccion de la informacion de tamano de macrobloque de un flujo de bits y ajustar el tamano de un macrobloque usando una informacion de tamano de macrobloque extralda; y decodificar una imagen a traves de la extraccion de datos de imagen codificados del flujo de bits y la generacion de una imagen reconstruida decodificando los datos de imagen codificados dependiendo del tamano de un 55 macrobloque identificado por la informacion de tamano de macrobloque.
[0058] La informacion de tamano de macrobloque puede ser una informacion sobre el valor del tamano de macrobloque, o una informacion sobre un valor del tamano de sub-bloque maximo y un valor de la capa de division maxima, o una informacion de aumento/reduccion sobre un macrobloque de un tamano predeterminado.
[0059] La informacion sobre el valor del tamano de un macrobloque puede ser una informacion sobre un tamano de macrobloque de referencia.
5 [0060] La informacion de tamano de macrobloque puede ser un indicador sobre si usar el tamano de un macrobloque de una imagen previa.
[0061] La informacion de tamano de macrobloque puede definir diferentes tamanos de macrobloque entre una intra-imagen y una inter-imagen.
10
[0062] El metodo de decodificacion de video puede incluir adicionalmente la reconstruccion de un tamano de sub-bloque mlnimo ajustando un tamano de sub-bloque mlnimo de referencia y decodificando un indicador para indicar si usar el tamano de sub-bloque mlnimo de referencia en cada encabezado de una imagen, un segmento o un sub-bloque mlnimo.
15
[0063] El tamano de sub-bloque minimo puede reconstruirse decodificando una informacion para indicar una ampliacion o una reduction por una relation predeterminada del tamano de sub-bloque minimo de referencia, cuando el indicador indica que el tamano de sub-bloque de referencia minimo no se usa.
20 [0064] Una intra-imagen y una inter-imagen pueden tener diferentes tamanos de sub-bloque mlnimo asignados.
[0065] La informacion sobre el valor del tamano de un macrobloque o la informacion sobre el valor del tamano de sub-bloque maximo puede adquirirse usando una tabla que define los tamanos de bloque.
25
[Efectos Ventajosos]
[0066] De acuerdo con la presente divulgation como se ha descrito anteriormente, una codification y decodificacion de video eficiente puede conseguirse codificando una imagen a traves del uso de macrobloques de
30 tamano variable y diversos tamanos de sub-bloques cuando se codifica una imagen de alta resolution, y codificando y decodificando la informacion de division de bloque.
[Description de los Dibujos]
35 [0067]
Las figuras 1 a 3 son diagramas ejemplares para ilustrar macrobloques por unidad de M x N plxeles de acuerdo con un aspecto de la presente divulgacion,
40 las figuras 4 y 5 son diagramas ejemplares para ilustrar diversos modos de sub-bloque de acuerdo con un aspecto de la presente divulgacion,
la figura 6 es un diagrama de bloques esquematico para ilustrar un aparato de codificacion de video de acuerdo con un aspecto de la presente divulgacion,
45
la figura 7 es un diagrama de bloques esquematico para ilustrar un aparato de decodificacion de video de acuerdo con un aspecto de la presente divulgacion,
la figura 8 es un diagrama de bloques para ilustrar una primera implementation de un aparato de codificacion de 50 video de acuerdo con otro aspecto de la presente divulgacion,
la figura 9 es un diagrama ejemplar para ilustrar sub-bloques divididos de un macrobloque para cada capa de acuerdo con otro aspecto de la presente divulgacion,
55 la figura 10 es un diagrama ejemplar para ilustrar tipos de division de acuerdo con otro aspecto de la presente divulgacion,
la figura 11 es un diagrama ejemplar para ilustrar un macrobloque dividido en sub-bloques de diversos tamanos de bloques de acuerdo con otro aspecto de la presente divulgacion,
la figura 12 es un diagrama ejemplar para ilustrar secuencialmente procesos en los que un macrobloque se divide para cada capa de division,
5 la figura 13 es un diagrama ejemplar para ilustrar procesos en los que la informacion que indica el tipo de division del macrobloque para cada capa se codifica secuencialmente de acuerdo con un orden de sub-bloque,
la figura 14 es un diagrama ejemplar para ilustrar un metodo de codificacion de la informacion de division de bloque usando una estructura de arbol de acuerdo con otro aspecto de la presente divulgacion,
10
las figuras 15 y 16 son diagramas ejemplares para ilustrar un ejemplo de un metodo de codificacion de la informacion de division de bloque usando una estructura de arbol de acuerdo con otro aspecto de la presente divulgacion,
15 las figuras 17 y 18 son diagramas ejemplares para ilustrar otro ejemplo de un metodo de codificacion de la informacion de division de bloque usando una estructura de arbol de acuerdo con otro aspecto de la presente divulgacion,
la figura 19 ilustra sub-bloques divididos en base a un valor de capa de division de acuerdo con otro aspecto de la 20 presente divulgacion,
la figura 20 es un diagrama ejemplar para ilustrar un proceso de codificacion de la informacion de division de bloque usando un valor de capa de division y un indicador de division de acuerdo con otro aspecto de la presente divulgacion,
25
la figura 21 es un diagrama ejemplar para ilustrar un macrobloque dividido en sub-bloques de diversos tamanos de bloque de acuerdo con otro aspecto de la presente divulgacion,
la figura 22 es un diagrama ejemplar para ilustrar un proceso de codificacion secuencial de la informacion que indica 30 el tipo de division para cada capa del macrobloque de acuerdo con un orden de sub-bloque,
la figura 23 es un diagrama de flujo para ilustrar un metodo de codificacion de video de acuerdo con otro aspecto de la presente divulgacion,
35 la figura 24 es un diagrama de bloques esquematico para ilustrar un aparato de decodificacion de video de acuerdo con otro aspecto de la presente divulgacion,
la figura 25 es un diagrama de flujo para ilustrar un metodo de codificacion de video de acuerdo con otro aspecto de la presente divulgacion,
40
la figura 26 es un diagrama de bloques esquematico para ilustrar un aparato de codificacion de video de acuerdo con otro aspecto mas de la presente divulgacion,
la figura 27 es un diagrama ejemplar para ilustrar la relacion entre una capa de division y un tamano de sub-bloque 45 minimo de acuerdo con otro aspecto mas de la presente divulgacion,
la figura 28 es un diagrama de flujo para ilustrar un ejemplo de un metodo para determinar un valor de la capa de division maxima de acuerdo con otro aspecto mas de la presente divulgacion,
50 la figura 29 es un diagrama de flujo para ilustrar otro ejemplo de un metodo para determinar un valor de la capa de division maxima de acuerdo con otro aspecto mas de la presente divulgacion,
la figura 30 es un diagrama ejemplar para ilustrar un proceso de codificacion de la informacion de division de un bloque actual usando unicamente capas de division seleccionadas de acuerdo con otro aspecto mas de la presente 55 divulgacion,
la figura 31 es un diagrama de flujo para ilustrar un metodo de codificacion de video de acuerdo con otro aspecto mas de la presente divulgacion,
la figura 32 es un diagrama de bloques esquematico para ilustrar un aparato de decodificacion de video de acuerdo con otro aspecto mas de la presente divulgacion,
la figura 33 es un diagrama de flujo para ilustrar un metodo de decodificacion de video de acuerdo con otro aspecto 5 mas de la presente divulgacion,
la figura 34 es un diagrama ejemplar para ilustrar tipos de division de acuerdo con otro aspecto de la presente divulgacion,
10 la figura 35 es un diagrama de bloques esquematico para ilustrar un aparato de codificacion de video de acuerdo con otro aspecto mas de la presente divulgacion,
la figura 36 es un diagrama de flujo para ilustrar una implementation de un metodo de codificacion de video de acuerdo con otro aspecto de la presente divulgacion, y 15
la figura 37 es un diagrama de bloques para ilustrar una implementacion de un aparato de decodificacion de video de acuerdo con otro aspecto de la presente divulgacion.
[Modo para la Invention]
20
[0068] En lo sucesivo en el presente documento, los aspectos de la presente divulgacion se describiran en detalle con referencia a los dibujos adjuntos. En la siguiente description, los mismos elementos se designaran por los mismos numeros de referencia aunque se muestran en diferentes dibujos. Adicionalmente, en la siguiente descripcion de la presente divulgacion, una descripcion detallada de las funciones y configuraciones conocidas
25 incorporadas en el presente documento se omitira cuando puede hacer que la material objeto de la presente divulgacion sea algo confusa.
[0069] Adicionalmente, en la descripcion de los componentes de la presente divulgacion, puede haber terminos usados como primero, segundo, A, B, (a) y (b). Estos tienen unicamente el fin de diferenciar un
30 componente de otro pero no implican ni sugieren las sustancias, orden o secuencia de los componentes. Si un componente se describe como "conectado", "acoplado" o "unido" a otro componente, puede significar que los componentes no estan unicamente directamente "conectados", "acoplados" o "unidos" pero tambien estan "conectados", "acoplados" o "unidos" indirectamente a traves de un tercer componente.
35 [0070] Un aparato de codificacion de video y un aparato de decodificacion de video, que se analizara en la siguiente descripcion, puede ser un ordenador personal (PC), un ordenador portatil, un asistente digital personal (PDA), un reproductor multimedia portatil (PMP), una PlayStation portatil (PSP), y un terminal de comunicacion movil, y se refieren a diversos aparatos, incluyendo un aparato de comunicacion, tal como un modem de comunicacion para realizar una comunicacion con diversos dispositivos o una red de comunicacion 40 alambrica/inalambrica, una memoria para almacenar diversos programas y datos para codificar o decodificar un video, y un microprocesador para ejecutar un programa para realizar una operation y un control.
[0071] Adicionalmente, un video codificado en un flujo de bits por un aparato de codificacion de video se transmite a un aparato de decodificacion de video a traves de una red de comunicacion alambrica/inalambrica tal
45 como Internet, una red de comunicacion de campo cercano, una red LAN (red de area local, Local Area Network) inalambrica, una red WiBro (banda ancha inalambrica, Wireless Broadband), y una red de comunicacion movil o a traves de una interfaz de comunicacion tal como un cable o un Universal Serial Bus (USB) en tiempo real o en tiempo no real y decodificado en el aparato de decodificacion de video, y por lo tanto, el video decodificado puede reconstruirse y reproducirse como un video.
50
[0072] En general, un video incluye una serie de imagenes de cada imagen se divide en areas predeterminadas tales como macrobloques, que son la unidad de referencia para codificar y decodificar una imagen. Los macrobloques se clasifican en un intra-macrobloque y un inter-macrobloque de acuerdo con un metodo de decodificacion de macrobloque. El intra-macrobloque se refiere a un macrobloque codificando usando una
55 codificacion de intra-prediccion. La codificacion de intra-prediccion corresponde a un esquema de generacion de un bloque predicho prediciendo un pixel de bloque actual usando pixeles de bloques reconstruidos codificados y decodificados previamente en una imagen actual, en la que se realiza una codificacion actual, y la codificacion de un valor diferencial entre el bloque predicho generado y el pixel del bloque actual. El inter-macrobloque se refiere a un macrobloque codificando usando una codificacion inter-prediccion. La codificacion inter-prediccion corresponde a un
esquema de generacion de un bloque predicho prediciendo un bloque actual dentro de una imagen actual con referenda a una o mas imagenes pasadas o imagenes futuras y codificando un valor diferencial entre el bloque predicho generado y el bloque actual. Aqui, una imagen a la que se hace referencia en la codificacion o la decodificacion de la imagen actual se denomina una imagen de referencia.
5
A) Codificacion y Decodificacion Usando un Macrobloque o Bloque que tiene un Tamano Arbitrario
[0073] En lo sucesivo en el presente documento, se describe a modo de ejemplo un aparato para codificar y decodificar una imagen por unidad de bloques. Aqui, el bloque puede ser un macrobloque de tamano M x N (M y N
10 pueden ser numeros enteros iguales a o mayores de 16) o un sub-bloque o bloque inferior de tamano O x P (O y P pueden ser numeros enteros iguales a o menores de M o N). La codificacion y decodificacion de la imagen por unidad de bloques son unicamente ejemplos, y la imagen puede codificarse y decodificarse por unidad de areas definidas como bloques, o areas no definidas. Sin embargo, un aparato de codificacion/decodificacion de video, que se describira mas adelante, puede usar bloques que tienen un tamano arbitrario, y el tamano de bloque es un 15 tamano predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video.
A-1) Macrobloque de Tamano Arbitrario
[0074] Las figuras 1 a 3 son diagramas ejemplares para ilustrar macrobloques por unidad de M x N pixeles de 20 acuerdo con un aspecto de la presente divulgacion.
[0075] La figura 1 muestra macrobloques por unidad de M x N pixeles (en lo sucesivo en el presente documento, denominado como macrobloques de tamano M x N) expresados en una parte de una imagen de entrada que tiene un cierto tamano como ejemplo, la figura 2 muestra una imagen CIF que incluye 396 macrobloques de
25 tamano 16 x 16 como ejemplo, y la figura 3 muestra una imagen CIF que incluye 54 macrobloques de tamano 64 x 32 como ejemplo.
[0076] En la tecnologia de compresion de video convencional, una imagen se divide en macrobloques de tamano fijo de 16 x 16 y despues se codifica y decodifica como se muestra en la figura 2. Sin embargo, en un
30 aspecto de la presente divulgacion, la imagen puede codificarse y decodificarse usando macrobloques de tamano 64 x 32 (no solo el tamano 64 x 32 sino tambien el tamano M x N (mayor de un tamano 16 x 16) tal como el tamano 64 x 64 y el tamano 32 x 64 estan disponibles) como se muestra en la figura 3.
A-2) Ejemplo de un Modo de Sub-bloque
35
[0077] Las figuras 4 y 5 son diagramas ejemplares para ilustrar diversos modos de sub-bloque de acuerdo con un aspecto de la presente divulgacion.
[0078] La figura 4 muestra modos de sub-bloque disponibles para un macrobloque de tamano 32 x 32, y la 40 figura 5 muestra modos de sub-bloque disponibles para un macrobloque de tamano 32 x 16.
[0079] De acuerdo con un aspecto de la presente divulgacion, el macrobloque de tamano M x N puede dividirse en bloques mas pequenos, es decir, sub-bloques como se muestra en las figuras 4 y 5. Los macrobloques de la imagen pueden estar codificados intra-predictivos o codificados inter-predicitivos por unidad de sub-bloques.
45
A-3) Descripcion del Aparato de Codificacion de Video
[0080] La figura 6 es un diagrama de bloques esquematico para ilustrar un aparato de codificacion de video de acuerdo con un aspecto de la presente divulgacion.
50
[0081] El aparato de codificacion de video de acuerdo con el aspecto de la presente divulgacion corresponde a un aparato para codificar una imagen usando macrobloques que tienen un tamano igual o mayor de un tamano arbitrario, y puede incluir un predictor 610, un codificador 620, un reconstructor 630, un filtro 640, y una memoria de fotogramas 650. Aqui, el reconstructor 630, el filtro 640, y la memoria de fotogramas 650 pueden omitirse o incluirse
55 en otro elemento selectivamente de acuerdo con una manera de implementacion.
[0082] El predictor 610 puede incluir un estimador de movimiento 612, un compensador de movimiento 614, y un intra-predictor 616, y predice macrobloques de una imagen de entrada. Aqui, los macrobloques se refieren a macrobloques de tamano igual a o mayor que un tamano de 16 x 16 (es decir, los macrobloques de tamano M x N,
donde M y N son numeros enteros iguales a o mayores de 16).
[0083] El estimador de movimiento 612 genera un vector de movimiento comparando un macrobloque, que se desea que este predicho, con una imagen de referencia almacenada en la memoria de fotogramas 650 y estimando
5 un movimiento del macrobloque correspondiente.
[0084] El compensador de movimiento 614 busca un bloque correspondiente a un tamano del macrobloque, que se desea que este predicho, a partir de la imagen de referencia almacenada en la memoria de fotogramas 650 con referencia al vector de movimiento generado por el estimador de movimiento 612. El bloque que se ha buscado
10 por el compensador de movimiento 614 se convierte en un macrobloque predicho que tiene un valor predicho del macrobloque, que se desea que este predicho.
[0085] El intra-predictor 616 intra-predice el bloque, que se desea que este predicho. Para la intra-prediccion, la intra-predictor 616 genera un bloque de referencia usando la informacion de plxeles adyacentes reconstruida ya
15 codificada y decodificada, y compara el bloque de referencia con el macrobloque objetivo, que se va a codificar, para determinar un modo intra-prediccion. Y despues, el intra-predictor 616 intra-predice el macrobloque de acuerdo con el modo intra-prediccion determinado. El macrobloque que se ha predicho por el intra-predictor 616 se convierte en un macrobloque predicho que tiene un valor predicho del macrobloque objetivo.
20 [0086] El codificador 620 codifica una senal residual, que es una diferencia entre los valores de pixel del macrobloque objetivo y el macrobloque predicho. Especlficamente, el codificador 620 codifica la senal residual a traves de una transformada, una cuantificacion y una codificacion por entropla. Adicionalmente, cuando el decodificador 620 inter-predice el macrobloque objetivo que se va a codificar, el codificador 620 puede codificar la informacion de movimiento, tal como el vector de movimiento generado por el estimador de movimiento 612 y la 25 informacion del modo de macrobloque tal como el tamano de macrobloque. Cuando el codificador 620 intra-predice el macrobloque objetivo que se va a codificar, el codificador 620 puede codificar la informacion del modo de prediction tal como un modo intra-prediccion y una informacion de modo macrobloque tal como el tamano de macrobloque.
30 [0087] El reconstructor 630 cuantifica inversamente y transforma inversamente una senal residual transformada y cuantificada y suma la senal residual y la salida del macrobloque predicho del predictor 610 para reconstruir el macrobloque objetivo.
[0088] El filtro 640 filtra el macrobloque objetivo reconstruido usando un filtro, tal como un filtro de desbloqueo. 35 El macrobloque reconstruido filtrado se almacena en la memoria de fotogramas 650 y se usa para inter-predecir un siguiente macrobloque o un macrobloque de una siguiente imagen en el predictor 610.
A-4) Description de un Aparato de Decodificacion de Video
40 [0089] La figura 7 es un diagrama de bloques esquematico para ilustrar un aparato de decodificacion de video de acuerdo con un aspecto de la presente divulgation.
[0090] El aparato de decodificacion de video de acuerdo con el aspecto de la presente divulgacion puede incluir un decodificador 710, un predictor 720, un reconstructor 730, un filtro 740, y una memoria de fotogramas 750.
45
[0091] El decodificador 710 extrae tres tipos de informacion requeridos para una decodificacion de macrobloque de un flujo de bits de entrada.
En primer lugar, el decodificador 710 decodifica por entropia y extrae la informacion del tipo de macrobloque sobre si 50 un macrobloque, que se desea que este actualmente decodificado, es un intra-macrobloque o un inter-macrobloque e informacion del modo de sub-bloque que indica los modos de sub-bloque del macrobloque.
[0092] En segundo lugar, el decodificador 710 extrae informacion requerida para la prediccion a traves de una decodificacion por entropia. En este caso, un metodo de decodificacion de un tipo de datos de prediccion que se van
55 a codificar y los datos de prediccion es diferente dependiendo de si cada bloque es un intra-bloque o un inter-bloque. Cuando el bloque que se va a reconstruir es el inter-bloque, la informacion de la imagen de referencia requerida para una compensation de movimiento de cada sub-bloque y la informacion sobre un movimiento tal como un vector de movimiento se extraen del flujo de bits y se decodifican. Cuando el bloque que se va a reconstruir es el inter-bloque, la informacion sobre los modos intra-prediccion de un componente de luma y un componente de croma se extrae del
flujo de bits y se decodifica.
[0093] Por ultimo, el decodificador 710 decodifica la informacion requerida para una decodificacion de senal residual. La informacion que indica si hay un coeficiente de la transformada que no es 0, en cada sub-bloque (por
5 ejemplo, CBP) se codifica en primer lugar, y la informacion de la transformada que indica un tipo de transformada y un coeficiente de la transformada cuantificada se decodifican para bloques que tienen el coeficiente de la transformada que no es 0.
[0094] El predictor 720 predice un bloque actual que se decodificara actualmente, y puede incluir un 10 compensador de movimiento 722 y un intra-predictor 724. Cuando el bloque actual es el inter-bloque, el
compensador de movimiento 722 genera un macrobloque predicho buscando los plxeles correspondientes a un tamano del macrobloque actual de la imagen de referencia almacenada en la memoria de fotogramas 750 usando un vector de movimiento reconstruido decodificado por el decodificador 710. Cuando el bloque actual es el intra- bloque, el intra-predictor 724 genera un macrobloque predicho prediciendo el macrobloque actual de acuerdo con un 15 modo intra-prediccion reconstruido decodificado por el decodificador 710. Despues de generar una senal residual cuantificando inversamente un coeficiente de la transformada cuantificada decodificado por el decodificador 710 y transformando inversamente el coeficiente de la transformada cuantificada inversamente usando un tipo de transformada reconstruida extraldo del decodificador 710, el reconstructor 730 genera un macrobloque reconstruido sumando la senal residual predicha generada y el macrobloque predicho generado por el predictor 720. El 20 macrobloque reconstruido generado se filtra en el filtro 740 y se almacena en la memoria de fotogramas 750, y el macrobloque filtrado y almacenado se usa para reconstruir un siguiente bloque o una siguiente imagen.
[0095] Como se ha descrito anteriormente, el aparato de codificacion de video 600 y el aparato de decodificacion de video 700 de acuerdo con un aspecto de la presente divulgacion pueden codificar y decodificar la
25 imagen usando bloques que tienen un tamano arbitrario.
B) Division de Bloque, y Codificacion y Decodificacion de la Informacion de Division
[0096] En lo sucesivo en el presente documento, como otro aspecto de la presente divulgacion, se describiran 30 un aparato y un metodo para dividir un macrobloque que tiene un tamano arbitrario en una pluralidad de sub-bloques
a traves de una capa de division (o separada) para la prediccion o la transformada y para codificar y decodificar eficientemente la informacion de division que indica las formas y tamanos de los sub-bloques divididos. Sin embargo, aunque el aparato de codificacion/decodificacion de video, que se analizara en la siguiente descripcion, puede usar macrobloques que tienen un tamano arbitrario, como alternativa, el aparato de codificacion de video y el 35 aparato de decodificacion de video pueden realizar una codificacion/decodificacion usando un tamano de un macrobloque predisenado y un tamano de sub-bloque mlnimo predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video.
[0097] La informacion de division puede ser informacion que indica los tamanos y formas de los sub-bloques 40 divididos para la prediccion o la transformada. El aparato de codificacion de video incluye la informacion de division y
los datos de imagen codificados en un flujo de bits y transmite el flujo de bits al aparato de decodificacion de video.
[0098] Adicionalmente, el aparato de codificacion de video puede codificar la informacion de division para la prediccion y la informacion de division para la transformada, respectivamente.
45
[0099] En una decodificacion, el aparato de decodificacion de video extrae y decodifica la informacion de division del flujo de bits, y divide el macrobloque en una pluralidad de sub-bloques para la prediccion o la transformada. Despues, el aparato de decodificacion de video realiza la prediccion o la transformada en la unidad de sub-bloques para reconstruir una imagen.
50
B-1) Aparato de Codificacion de Video B-1-1) Aparato de Codificacion
55 [0100] La figura 8 es un diagrama de bloques esquematico para ilustrar un aparato de codificacion de video de acuerdo con otro aspecto de la presente divulgacion.
[0101] El aparato de codificacion de video 800 de acuerdo con otro aspecto de la presente divulgacion puede incluir un codificador de video 810 y un codificador de informacion de division 820.
[0102] El aparato de codificacion de video 800 de la figura 8 codifica informacion de division en el codificador de informacion de division 820 y despues codifica datos predichos y/o datos de imagen que incluyen datos requeridos para una decodificacion de senal residual tal como un tipo transformada, CBP, y un coeficiente de
5 transformada. Aqul, los datos predichos corresponden a datos que indican si cada sub-bloque es un intra-bloque o un inter-bloque, y corresponde a un modo intra-prediccion para el intra-bloque e informacion de movimiento para el inter-bloque. El codificador de video 810 puede implementarse como el aparato de codificacion de video 600 de acuerdo con un aspecto de la presente divulgacion descrito con referencia a la figura 6. Es decir, el codificador de video 810 divide un macrobloque que tiene un tamano arbitrario en diversos tamanos de sub-bloques para la 10 prediction o la transformada, realiza una codificacion predictiva en los sub-bloques respectivos, y despues determina los modos de prediccion de los sub-bloques respectivos y un tipo de division de macrobloque que tiene un coste de codificacion menor. La informacion de division que indica el tipo de division de macrobloque determinado se codifica en el flujo de bits a traves del codificador 820, y se generan datos de imagen predictivos-codificados de la pluralidad de sub-bloques divididos dentro del macrobloque.
15
[0103] El codificador de informacion de division 820 codifica la entrada de informacion de division mediante el codificador de video 810 para generar datos de informacion de division. Aqui, la informacion de division puede ser informacion sobre el tamano y las formas de los bloques de una pluralidad de sub-bloques divididos del macrobloque para la prediccion o la transformada.
20
[0104] De acuerdo con la tecnologia de compresion de video tipica, puesto que el tamano de un macrobloque se fija a un tamano de 16 x 16, pueden usarse sub-bloques que tiene un tamano pequeno tal como sub-bloques de tamanos de 8 x 8, 4 x 4, etc. Sin embargo, de acuerdo con un aspecto de la presente divulgacion, puesto que el tamano de un macrobloque puede determinarse de forma diversa para tener un tamano igual a o mayor que un
25 tamano de 16 x 16, los tamanos y formas de los sub-bloques tambien pueden determinarse de forma diversa y, por lo tanto, el macrobloque puede dividirse en diversas formas de sub-bloques. Por lo tanto, de acuerdo con otro aspecto de la presente divulgacion, una codificacion predictiva deberia realizarse transmitiendo informacion sobre los tamanos y formas de los sub-bloques divididos de un macrobloque a un aparato de decodificacion de video y dividiendo el macrobloque de la misma manera que la realizada en un aparato de codificacion de video en el aparato 30 de decodificacion de video. Se describe con referencia a las figuras 9 a 22 que el codificador de informacion de division 820 codifica informacion de bloque.
B-1-2) Modo de Sub-bloque
35 [0105] De acuerdo con otro aspecto de la presente divulgacion, un macrobloque se divide en diversos tamanos de sub-bloques para cada capa, y puede realizarse una codificacion predictiva y una decodificacion predictiva para cada uno de los sub-bloques divididos.
[0106] La figura 9 es un diagrama ejemplar para ilustrar sub-bloques divididos de un macrobloque para cada 40 capa de acuerdo con otro aspecto de la presente divulgacion.
[0107] En la figura 9, el tamano de un macrobloque es N x N y N es un numero entero igual a o mayor de 16. La figura 9 muestra sub-bloques que pueden dividirse basandose en un supuesto de que un tamano de sub-bloque minimo de los tamanos de sub-bloque es 4 x 4. Sin embargo, este supuesto es unicamente para describir
45 realizaciones de la presente divulgacion. Un tamano horizontal y un tamano vertical del macrobloque pueden no ser iguales entre si y el tamano de sub-bloque minimo puede ajustarse a otro tamano en lugar del tamano 4 x 4.
[0108] Como se muestra en la figura 9, de acuerdo con otro aspecto de la presente divulgacion, el macrobloque puede dividirse en diversos tamanos de sub-bloques para cada capa. El macrobloque puede dividirse
50 en cuatro tipos de sub-bloques para cada una de las capas de una capa 0 a una capa log2(N/4). En este caso, pueden usarse sub-bloques de una capa K+1 unicamente cuando un sub-bloque de una capa K (0<K<log2(N/4)) se divide en 4 sub-bloques.
[0109] Por ejemplo, en el caso de un macrobloque de tamano 64 x 64, el macrobloque puede dividirse en 4 55 capas de una capa 0 a una capa 3, y las capas respectivas pueden incluir sub-bloques que tienen 4 tamanos de
bloque diferentes. Por consiguiente, la capa 0 incluye un sub-bloque que tiene un tamano de bloque de 64 x 64, sub- bloques que tienen un tamano de bloque de 64 x 32, sub-bloques que tienen un tamano de bloque de 32 x 64, y sub- bloques que tienen un tamano de bloque de 32 x 32. Una capa 1 incluye un sub-bloque que tiene un tamano de bloque de 32 x 32, sub-bloques que tienen un tamano de bloque de 32 x 16, sub-bloques que tienen un tamano de
bloque de 16 x 32, y sub-bloques que tienen un tamano de bloque de 16 x 16. Una capa 2 incluye un sub-bloque que tiene un tamano de bloque de 16 x 16, sub-bloques que tienen un tamano de bloque de 16 x 8, sub-bloques que tienen un tamano de bloque de 8 x 16, y sub-bloques que tienen un tamano de bloque de 8 x 8. La capa 3 incluye un sub-bloque que tiene un tamano de bloque de 8 x 8, sub-bloques que tienen un tamano de bloque de 8 x 4, sub- 5 bloques que tienen un tamano de bloque de 4 x 8, y sub-bloques que tienen un tamano de bloque de 4 x 4. Aqul, pueden usarse sub-bloques incluidos en la capa 1 unicamente cuando el macrobloque que tiene un tamano de bloque de 64 x 64 se divide en sub-bloques que tienen un tamano de bloque de 32 x 32 en la capa 0, y pueden usarse sub-bloques incluidos en la capa 2 unicamente cuando el sub-bloque que tiene el tamano de bloque 32 x 32 en la capa 1 se divide en sub-bloques que tienen un tamano de bloque de 16 x 16. Adicionalmente, pueden usarse 10 sub-bloques incluidos en la capa 3 unicamente cuando el sub-bloque que tiene el tamano de bloque de 16 x 16 de la capa 2 se divide en sub-bloques que tienen un tamano de bloque de 8 x 8.
[0110]
Aqul, cuando un bloque N x N en una capa K se divide en 4 sub-bloques que tienen un tamano de
N N N N
—x—, el sub-bloque dividido —x— puede incluirse tanto en la capa K como en la capa K+1. Es decir, en el
15 macrobloque de tamano 64 x 64, un sub-bloque que tiene un tamano de 32 x 32 puede determinarse como un tipo de sub-bloque incluido en la capa 0 o un tipo de sub-bloque incluido en la capa 1.
[0111] En este caso, un metodo de asignacion de un numero de capas para el sub-bloque dividido puede ser diferente dependiendo de la disponibilidad de cada capa. Si la capa K+1 esta disponible, se asigna un numero de 20 capa K+1 a un sub-bloque. Si la capa K+1 no esta disponible, se asigna un numero de capa K al sub-bloque.
[0112] Por ejemplo, en un caso en el que el tamano de un macrobloque es 64 x 64 y el numero de capas de division maximas es 4, cuando el macrobloque de 64 x 64 se divide en 4 sub-bloques de tamano 32 x 32, el sub- bloque de 32 x 32 se incluye en una capa 1. Cuando un sub-bloque de 32 x 32 dentro del macrobloque se divide en 25 4 sub-bloques de tamano 16 x 16, cada sub-bloque de 16 x 16 se incluye en una capa 2. Cuando cada sub-bloque de 16 x 16 se divide en 4 sub-bloques de tamano 8 x 8, el sub-bloque de 8 x 8 se incluye en una capa 3. Cuando cada sub-bloque de 8 x 8 se divide en 4 sub-bloques de tamano 4 x 4, el sub-bloque de 4 x 4 se incluye en la capa 3 ya que no esta disponible una capa 4.
NN
30 [0113] Adicionalmente, cuando un bloque N x N de la capa K se divide en 4 sub-bloques de tamano —x—
NN
un numero de capa del sub-bloque dividido —x— puede asignarse con K. En este caso, cuando el sub-bloque
N N N N
—x— se divide en sub-bloques mas pequenos, el numero de capa del sub-bloque dividido —x— se asigna con
K+1.
35 [0114] Por ejemplo, en un caso en el que el tamano de un macrobloque es 64 x 64 y el numero de capas de division maximas es 4, cuando el macrobloque de 64 x 64 se divide en 4 sub-bloques de tamano 32 x 32, el sub- bloque de 32 x 32 se incluye en una capa 0. Cuando un sub-bloque de 32 x 32 dentro del macrobloque se divide en 4 sub-bloques de tamano 16 x 16, cada sub-bloque de 16 x 16 se incluye en una capa 1. Cuando cada sub-bloque de 16 x 16 se divide en 4 sub-bloques de tamano 8 x 8, el sub-bloque de 8 x 8 se incluye en una capa 2. 40 Adicionalmente, cuando cada sub-bloque de 8 x 8 se divide en 4 sub-bloques de tamano 4 x 4, el sub-bloque de 4 x 4 se incluye en una capa 3.
B-1-3) Tipo de Division
45 [0115] Adicionalmente, el macrobloque puede dividirse usando diversos tipos de division mostrados en las figuras 10 y 34.
[0116] Las figuras 10 y 34 son diagramas ejemplares para ilustrar tipos de division de acuerdo con otro aspecto de la presente divulgacion.
50
B-1-3-1) Ejemplo 1 de Tipos de Division
[0117] La figura 10 es un diagrama ejemplar para ilustrar tipos de division de acuerdo con otro aspecto de la
presente divulgacion.
[0118] La figura 10 muestra un ejemplo de informacion que indica el tipo de division (numeros del tipo de division) para identificar tamanos de bloques de sub-bloques divididos para cada capa.
N N
[0119] Como se muestra en la figura 10, cuando un sub-bloque ——x—— incluido en una capa K de un
2k 2k
macrobloque no esta dividido, la informacion que indica el tipo de division se asigna con "0". Cuando el sub-bloque
la informacion que indica el tipo de division se asigna
N N N N
—— x—— se divide en dos sub-bloques de tamano —-x-—
2k 2k 2k 2k+1
N N N N
con "1". Cuando el sub-bloque —— x—— se divide en dos sub-bloques de tamano „ , x——, la informacion que
2k 2k 2k+1 2k
NN
10 indica el tipo de division se asigna con "2". Cuando el sub-bloque ——x—— se divide en cuatro sub-bloques de
2k 2k
NN
tamano , x , la informacion que indica el tipo de division se asigna con "3". Un numero de division se refiere
2K +1 2K +1
a un numero asignado para una identification de cada sub-bloque dividido basandose en un tipo de division. Por
NN
ejemplo, cuando el sub-bloque ——x—— de la capa K no esta dividido, un numero de division del sub-bloque no
2k 2k
N N N N
dividido ——x—— se asigna con "0". Adicionalmente, cuando el sub-bloque ——x—— de la capa K se divide en
2k 2k 2k 2k
15 cuatro sub-bloques de tamano
NN -x-
2K +1 2K +1
los sub-bloques
NN -x-
2K +1 2K +1
respectivos pueden asignarse
20
secuencialmente con los numeros de division 0, 1, 2 y 3 de un sub-bloque situado en una parte superior izquierda del macrobloque en una direccion de barrido raster.
B-1-3-2) Ejemplo 2 de Tipos de Division
[0120] La figura 34 es un diagrama ejemplar para ilustrar tipos de division de acuerdo con otro aspecto de la presente divulgacion.
[0121] La figura 34 muestra un ejemplo de informacion que indica el tipo de division (numero del tipo de 25 division) para identificar tamanos de bloques de sub-bloques divididos para cada capa.
NN
[0122] Como se muestra en la figura 34, cuando un sub-bloque ——x—— incluido en una capa K de un
2k 2k
macrobloque no se divide, la informacion que indica el tipo de division se asigna con "0". Cuando el sub-bloque
la informacion que indica el tipo de division se
N N N N
——x—— se divide en cuatro sub-bloques de tamano x
2-k 2-K 2-K +1 2-K +1
30 asigna con "1". Un numero de division se refiere a un numero asignado para una identificacion de cada sub-bloque
NN
dividido basandose en un tipo de division. Por ejemplo, cuando el sub-bloque —x — de la capa K no esta
2k 2k
NN
2k 2k
dividido, un numero de division del sub-bloque no dividido —x — se asigna con "0". Adicionalmente, cuando el
los sub-bloques
N N N N
sub-bloque ——x—— de la capa K se divide en cuatro sub-bloques de tamano x——
2-k 2-K 2-K +1 2-K +1
NN
x „ , respectivos pueden asignarse secuencialmente con los numeros de division 0, 1, 2 y 3 de un sub-
2K +1 2K +1
35 bloque situado en una parte superior izquierda del macrobloque en una direction de barrido raster
[0123] Adicionalmente, pueden combinarse y usarse diversos tipos de division para cada capa. Por ejemplo, la capa 0 y la capa 1 pueden usar el tipo de division mostrado en la figura 34 y las capas inferiores de la capa 1
tambien pueden usar el tipo de division mostrado en la figura 10.
B-1-4) Metodo de Codificacion de Informacion de Division
5 [0124] En lo sucesivo en el presente documento, se describiran diversos metodos de codificacion de informacion de division, que es informacion que indica los tamanos y formas de los sub-bloques usados para la prediction o la transformada dentro del macrobloque, de acuerdo con un aspecto de la presente divulgation.
B-1-4-1) Metodo de Decodificacion de Informacion de Division 1
10
[0125] En primer lugar, se describe un primer metodo de codificacion de informacion de division.
[0126] De acuerdo con el primer metodo, puede representarse informacion de division que indica un tipo de un macrobloque dividido en diversos tamanos de sub-bloques usando informacion que indica el tipo de division
15 (numeros del tipo de division) para cada capa. Por consiguiente, puede identificarse una pluralidad de sub-bloques incluidos en un macrobloque por la informacion que indica el tipo de division para cada capa. El codificador de informacion de division 810 puede codificar la informacion de division de un bloque usando la informacion que indica el tipo de division para cada capa a traves de diversos metodos, que se describiran mas adelante.
20 [0127] Por ejemplo, el codificador de informacion de division 810 puede codificar la informacion de division de un bloque actual codificando secuencialmente la informacion que indica el tipo de division para cada capa de division de un macrobloque basandose en un orden de codificacion de la informacion que indica el tipo de division.
[0128] En lo sucesivo en el presente documento, se describira un metodo de codificacion de la informacion de 25 division de un bloque actual a traves de una codificacion secuencial de la informacion que indica el tipo de division
para cada capa de division de un macrobloque basandose en un orden de codificacion de la informacion que indica el tipo de division con referencia a las figuras 11 a 13.
[0129] La figura 11 es un diagrama ejemplar para ilustrar un macrobloque dividido en sub-bloques que tienen 30 diversos tamanos de bloque de acuerdo con otro aspecto de la presente divulgacion.
[0130] La figura 11 muestra el macrobloque dividido en sub-bloques que tienen diversos tamanos de bloque basandose en los tipos de sub-bloques mostrados en la figura 10, donde el macrobloque tiene un tamano de bloque de 64 x 64 y el numero de capas de division maximas es 4.
35
[0131] De acuerdo con otro aspecto de la presente invention, cuando el macrobloque se divide como se muestra en la figura 11, la informacion de division del macrobloque puede codificarse codificando secuencialmente la informacion que indica el tipo de division para cada capa de division basandose en el orden de codificacion de la informacion que indica el tipo de division.
40
[0132] La figura 12 muestras procesos de la division secuencial del macrobloque que se muestra en la figura 11 para cada capa de division. Haciendo referencia a la figura 12, un sub-bloque que tiene un tamano de bloque de 64 x 64 se divide en 4 sub-bloques que tienen un tamano de bloque de 32 x 32 en una capa 0 (L0), y un sub-bloque L1-P0 (que tiene un numero de division 0 de una capa 1) y un sub-bloque L1-P3 (que tiene un numero de division 3
45 de la capa 1) se dividen en 4 sub-bloques que tienen un tamano de bloque de 16 x 16, respectivamente (L1), y un sub-bloque L1-P1 (que tiene un numero de division 1 de la capa 1) y un sub-bloque L1-P2 (que tiene un numero de division 2 de la capa 1) se dividen en 2 sub-bloques que tienen un tamano de bloque de 16 x 32 y 2 sub-bloques que tienen un tamano de bloque de 32 x 16 en la capa 1, respectivamente. Despues de que los sub-bloques L1-P1 y L1- P2 se dividen en 2 sub-bloques, respectivamente, los sub-bloques ya no se dividen mas, de manera que los 50 numeros de division de los sub-bloques no se ilustran en la figura 15. Un sub-bloque L2-P0 (que tiene un numero de division 0 de una capa 2) se divide en 4 sub-bloques que tienen un tamano de bloque de 8 x 8 y un sub-bloque L2-P (que tiene un numero de division 3 de la capa 2) se divide en 2 sub-bloques que tienen un tamano de bloque de 16 x 2 en la capa 2 (L2). Un sub-bloque L3-P0 (que tiene un numero de division 0 de una capa 3) y un sub-bloque L3-P1 (que tiene un numero de division 1 de la capa 3) se dividen en 4 sub-bloques que tienen un tamano de bloque de 4 x 55 4 en la capa 3 (L3), respectivamente.
[0133] Un orden de codificacion de la informacion que indica el tipo de division es como se indica a continuacion.
[0134] En primer lugar, se codifica la informacion que indica el tipo de division sobre un tipo de division de macrobloque. Despues, si el macrobloque se divide en 4 sub-bloques, la informacion que indica el tipo de division sobre los sub-bloques divididos respectivos se codifica con exito. Por ejemplo, cuando un bloque N x N se divide en 4 sub-bloques, la informacion que indica el tipo de division sobre un primer sub-bloque (N/2) x (N/2) se codifica.
5 Cuando el primer sub-bloque (N/2) x (N/2) se divide en 4 sub-bloques, la informacion que indica el tipo de division sobre los sub-bloques divididos (N/4) x (N/4) se codifica. Cuando un tamano del sub-bloque dividido (N/4) x (N/4) corresponde a un tamano de sub-bloque mlnimo o cuando el sub-bloque dividido (N/4) x (N/4) ya no esta dividido en 4 sub-bloques mas pequenos, la informacion que indica el tipo de division sobre un sub-bloque (N/4) x (N/4) siguiente se codifica en un orden de barrido raster. Cuando el tamano del sub-bloque (N/4) x (N/4) no corresponde al 10 tamano de sub-bloque mlnimo y el sub-bloque (N/4) x (N/4) se divide en 4 sub-bloques que tienen un tamano de bloque de (N/8) x (N/8), se realiza una codificacion a partir de la informacion que indica el tipo de division sobre un primer sub-bloque (N/8) x (N/8). La codificacion sobre la informacion que indica el tipo de division se realiza continuamente hasta que la informacion que indica el tipo de division sobre todos los sub-bloques dentro del macrobloque esta codificada.
15
[0135] La figura 13 es un diagrama ejemplar para ilustrar un proceso de codificacion secuencial de la informacion que indica el tipo de division para cada capa de una macrobloque.
[0136] La tabla mostrada en la figura 13 se genera cuando la informacion que indica el tipo de division sobre 20 los sub-bloques respectivos dentro del macrobloque que se muestra en la figura 11 esta codificada. Los numeros
escritos en "□" de la figura 11 se refieren al orden de codificacion de la informacion que indica el tipo de division de los sub-bloques respectivos. Si la informacion que indica el tipo de division para cada capa del macrobloque se codifica secuencialmente de acuerdo con un orden de codificacion de la informacion que indica el tipo de division, la informacion que indica el tipo de division para cada capa puede codificarse de acuerdo con el orden mostrado en la 25 figura 11.
[0137] En primer lugar, dado que el sub-bloque (L0-P0) que tiene el tamano de bloque de 64 x 64 se divide en 4 sub-bloques que tienen un tamano de bloque de 32 x 32, la informacion que indica el tipo de division 3 se codifica. Dado que el primer sub-bloque (L1-P0) que tiene el tamano de bloque de 32 x 32 entre 4 sub-bloques que tienen el
30 tamano de bloque de 32 x 32 dentro del sub-bloque que tiene el tamano de bloque de 64 x 64 se divide en 4 sub- bloques que tienen el tamano de bloque de 16 x 16, la informacion que indica el tipo de division 3 se codifica. El primer sub-bloque (L2-P0) que tiene el tamano de bloque de 16 x 16 entre 4 sub-bloques que tienen el tamano de bloque de 16 x 16 dentro del primer sub-bloque (L1-P0) que tiene el tamano de bloque de 32 x 32 se divide en 4 sub-bloques que tienen el tamano de bloque de 8 x 8, un tipo de division 3 se codifica. Dado que 4 sub-bloques (L3- 35 P0, L3-P1, l3-P2 y L3-P3) que tienen el tamano de bloque de 8 x 8 dentro del sub-bloque (L2-P0) que tiene el tamano de bloque de 16 x 16 ya no se dividen en sub-bloques mas pequenos, la informacion que indica el tipo de division {3, 3, 0, 0} se codifica, respectivamente. Dado que los sub-bloques en la capa 3 no pueden dividirse en sub- bloques mas pequenos, la informacion que indica el tipo de division en los sub-bloques incluidos en la capa 3 no se codifica.
40
[0138] Dado que la informacion que indica el tipo de division en los sub-bloques incluidos en la capa 3 se ha codificado completamente, la informacion que indica el tipo de division en un segundo sub-bloque (L2-P1) que tiene el tamano de bloque de 16 x 16 y un tercer sub-bloque (L2-P2) que tiene el tamano de bloque de 16 x 16 en la capa 2 se codifica. Sin embargo, en este caso, ya no se dividen todos en sub-bloques mas pequenos, de manera que la
45 informacion que indica el tipo de division 0 se codifica. Dado que la informacion que indica el tipo de division no es 3 aunque un cuarto sub-bloque (L2-P3) que tiene el tamano de bloque de 16 x 16 se divide en sub-bloques que tienen el tamano de bloque de 16 x 8, unicamente se codifica la informacion que indica el tipo de division 1. Dado que la informacion que indica el tipo de division en 4 sub-bloques incluidos en la capa 2 se ha codificado completamente, la informacion que indica el tipo de division en un segundo sub-bloque (L1-P1) que tiene el tamano de bloque de 32 x 50 32 en la capa 1 se codifica. En este caso, dado que el segundo sub-bloque (L1-P1) que tiene el tamano de bloque de 32 x 32 en la capa 1 se divide en sub-bloques que tienen el tamano de bloque de 16 x 32 y los sub-bloques divididos respectivos ya no se dividen en sub-bloques mas pequenos, la informacion que indica el tipo de division 2 se codifica. De la misma manera, la informacion que indica el tipo de division en un segundo sub-bloque (L1-P2) que tiene el tamano de bloque de 32 x 32 y un cuarto sub-bloque (L1-P3) que tiene el tamano de bloque de 32 x 32 en la 55 capa 1, y 4 sub-bloques inferiores (L2-P0, L2-P1, L2-P2 y L3-P3) que tienen el tamano de bloque de 16 x 16 se codifican secuencialmente y, por lo tanto, {1, 3, 0, 0, 0, 0} se codifica.
[0139] Si la informacion sobre los tipos de division del macrobloque que se muestra en la figura 11 se codifica de acuerdo con tal metodo de codificacion, la informacion que indica el tipo de division {3, 3, 3, 3, 3, 0, 0, 0, 0, 1, 2,
1, 3, 0, 0, 0, 0} se codifica como se muestra en la figura 13.
[0140] Adicionalmente, es posible codificar la informacion que indica el tipo de division de acuerdo con el siguiente orden.
5
[0141] La infamacion que indica el tipo de division {3} de la capa 0 se codifica, la informacion que indica el tipo de division {3, 2, 1, 3} en 4 sub-bloques (Ll-P0, L1-P1, Ll-P2 y L1-P3) de la capa 1 se codifica, la informacion que indica el tipo de division {3, 0, 0, 1, 0, 0, 0, 0} en 8 sub-bloques (4 sub-bloques incluidos en L1-P0 y 4 sub-bloques incluidos en L1-P3) de la capa 2 se codifica, y la informacion que indica el tipo de division {3, 3, 0, 0} en 4 sub-
10 bloques (4 sub-bloques incluidos en L2-P0 dentro de L1-P0) de la capa 3 se codifica. En este caso, la informacion que indica el tipo de division {3, 3, 2, 1, 3, 3, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0} se codifica.
[0142] En este caso, la informacion que indica el tipo de division puede codificarse en una cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una
15 codificacion Huffman, etc.
[0143] Por ejemplo, en el caso de usar la codificacion aritmetica binaria, cada informacion que indica el tipo de division puede usar diferentes valores binarios dependiendo de los numeros de capa de la informacion que indica el tipo de division que se va a codificar actualmente. La informacion que indica el tipo de division puede codificarse
20
usando la Tabla 1 si el numero de capas es igual a o menor de log2
N_
16
y la informacion que indica el tipo de
division puede codificarse usando la Tabla 2 si el numero de capas es mayor de log2
N
16
Por ejemplo, dado que la
informacion que indica el tipo de division 3 del sub-bloque (L1-P0) de la figura 11 puede expresarse por el numero binario "01" con referencia a la Tabla 1, la informacion que indica el tipo de division 3 puede codificarse realizando una codificacion aritmetica en los numeros binarios "0" y "1". Adicionalmente, dado que la informacion que indica el 25 tipo de division 0 del sub-bloque (L3-P2) incluido en el sub-bloque (L2-P0) puede expresarse por el numero binario "1", la informacion que indica el tipo de division 3 puede codificarse realizando una codificacion aritmetica en el numero binario "1".
[Tabla 1]
Informacion que indica el Tipo de Division
Cadena Binaria
0
0
0
1
1
1
2
1 0
3
0 1
[Tabla 2]
Informacion que indica el Tipo de Division
Cadena Binaria
0
1
1
0 0
2
0 1 1
3
0 1 0
35 [0144] Ademas, un valor real de la informacion que indica el tipo de division puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb exponencial, etc.
[0145] Ademas, cuando un macrobloque se divide usando los tipos de division que se muestran en la figura 40 34 de acuerdo con otro aspecto de la presente divulgacion, la informacion que indica el tipo de division puede ser un indicador que tiene una longitud de bit de 1 que indica si un bloque actual se divide en 4 sub-bloques.
B-1-4-2) Metodo de Codificacion de la Informacion de Division 2
45 [0146]
Como otro aspecto de codificacion de la informacion de division de bloque usando un tipo de division
para cada capa de macrobloque, el codificador de informacion de division 810 puede codificar la informacion de division de bloque usando una estructura de arbol. Es decir, el codificador de informacion de division 810 codifica en primer lugar un numero de capas usando la estructura de arbol y despues codifica la informacion de division de bloque codificando la informacion que indica el tipo de division.
5
[0147] En lo sucesivo en el presente documento, se describira un segundo metodo de codificacion de la informacion de division de bloque usando una estructura de arbol con referencia a las figuras 14 a 18.
[0148] Las figuras 14A y 14B son diagramas ejemplares para ilustrar un metodo de codificacion de la 10 informacion de division de bloque usando una estructura de arbol de acuerdo con otro aspecto de la presente
divulgacion.
[0149] La figura 14A muestra los numeros de capa de los sub-bloques respectivos del macrobloque para cada nivel, y la figura 14B muestra los numeros de capa de los sub-bloques respectivos para cada nivel en una estructura
15 de arbol.
[0150] En la figura 14A, el tamano de un macrobloque es N x N y el macrobloque se divide en sub-bloques por los tipos de division que se muestran en la figura 10. La figura 14A ilustra un caso en el que el macrobloque se divide en sub-bloques que tienen un tamano de bloque de N x (N/2) como ejemplo. El macrobloque que tiene el
20 tamano de bloque de N x N se divide en 2 sub-bloques que tienen el tamano de bloque de N x (N/2), y la informacion que indica el tipo de division es 1. Aqul, dado que cada sub-bloque N x (N/2) se incluye en una capa 0, un valor mlnimo del numero de capas de 2 sub-bloques en un nivel del arbol 1 es 0. Por consiguiente, un numero de capas de un nivel del arbol 0 se convierte en 0. Mientras tanto, los numeros indicados en "" tal como “01”, “1” y "001" representan bits binarios en las figuras 14 a 18.
25
[0151] La figura 14B ilustra numeros de capa de los sub-bloques respectivos para cada nivel mostrado en la figura 14A en una estructura de tipo arbol.
[0152] Despues de codificar el numero de "0 (1 bit)" correspondiente a un valor de diferencia entre un numero 30 de capas de un nodo mayor y un numero de capas de un nodo actual, que se desea codificar, "1" se codifica en
ultimo lugar. Por ejemplo, cuando el valor de diferencia entre el numero de capas del nodo mayor y el numero de capas del nodo actual es 3, se codifica un numero binario "0001". Cuando el valor de diferencia es 0, se codifica un numero binario "1". Dado que no hay ningun nodo mayor de un nivel 0, se asume que un numero de capas del nodo mayor es 0. Por consiguiente, un valor de diferencia entre el numero de capas 0 del 0 y el numero de capas asumido 35 0 del nodo mayor es 0, de manera que un bit binario del numero de capas 0 del nivel 0 se convierta en "1".
[0153] Dado que el numero de capas del nivel 1 y el numero de capas del 0 son iguales entre si, el numero de capas puede no codificarse mas y la informacion que indica el tipo de division 1 del nivel 1 se codifica.
40 [0154] La informacion que indica el tipo de division puede codificarse en la cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc. como se ha descrito anteriormente.
[0155] Adicionalmente, la informacion que indica el tipo de division puede codificarse usando diversos 45 metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb
exponencial, etc.
[0156] Ademas, pueden usarse diferentes valores binarios dependiendo de los numeros de capa.
50 [0157] Ademas, cuando el macrobloque se divide usando los tipos de division de acuerdo con otro aspecto de la presente divulgacion que se muestra en la figura 34, la informacion que indica el tipo de division puede ser un indicador que tiene una longitud de bit de 1 que indica si el bloque actual se divide en 4 sub-bloques.
[0158] La informacion que indica el tipo de division 1 de acuerdo con el aspecto anterior puede representar el 55 valor de la informacion que indica el tipo de division con el bit binario como se ha descrito anteriormente. Por ejemplo, ya que los valores que indican el tipo de division "0", “1”, "2" y "3" corresponden a 4 tipos, pueden representarse por "00", “01”, "10" y "11" asignando 2 bits. En este caso, la informacion que indica el tipo de division 1 puede representarse por "01".
[0159] Por consiguiente, cuando la informacion de division de macrobloque que se muestra en la figura 14A se codifica finalmente usando la estructura de arbol, los datos a codificar se convierten en "101".
[0160] Las figuras 15 y 16 son diagramas ejemplares para ilustrar un ejemplo de un metodo de codificacion de 5 la informacion de division de bloque usando la estructura de arbol de acuerdo con otro aspecto de la presente
divulgacion.
[0161] La figura 15 muestra un ejemplo de un proceso de determinacion de un numero de capas de cada sub- bloque para cada nivel con el fin de codificar la informacion de division de bloque usando la estructura de arbol
10 cuando un macrobloque que tiene un tamano de bloque de N x N se divide en 2 sub-bloques que tienen un tamano de bloque de (N/2) x (N/4), 1 sub-bloque que tiene un tamano de bloque de (N/2) x (N/2), 2 sub-bloques que tienen un tamano de bloque de (N/4) x (N/2), y 4 sub-bloques que tienen un tamano de bloque de (N/4) x (N/4).
[0162] En primer lugar, un nivel 2 se construye por el macrobloque que tiene el tamano de bloque de N x N, y 15 un nivel 1 se construye en conjunto por un valor mlnimo de un numero de capas de los 2 sub-bloques incluidos en
un primer sub-bloque que tiene el tamano de bloque de (N/2) x (N/2) dentro de un macrobloque del nivel 2, un valor mlnimo de un numero de capas del 1 sub-bloque incluido en un segundo sub-bloque que tiene el tamano de bloque de (N/2) x (N/2) dentro del macrobloque del nivel 2, un valor mlnimo de un numero de capas de los 2 sub-bloques incluidos en un tercer sub-bloque que tiene el tamano de bloque de (N/2) x (N/2) dentro del macrobloque del nivel 2, 20 y un valor mlnimo de un numero de capas de los 4 sub-bloques incluidos en un cuarto sub-bloque que tiene el tamano de bloque de (N/2) x (N/2) dentro del macrobloque del nivel 2.
[0163] La figura 16 muestra un proceso de construccion de la estructura de arbol de acuerdo con el numero de capas para cada nivel construido en la figura 15 y de codificacion del numero de capas y un tipo de division.
25
[0164] Un numero de capas del nivel 0 a codificar es 1 y no hay ningun nodo mayor del nivel 0. Dado que un valor de diferencia entre un numero de capas de un nodo mayor y el numero de capas del nivel 0 es 1 basandose en un supuesto de que el numero de capas del nodo mayor es "0", un bit binario del numero de capas del nivel 0 se convierte en "01". Dado que los numeros de capa del nivel 1 a codificar son 1, 1, 1, 1, respectivamente y el numero
30 de capas del nodo mayor (nivel 0) es 1, un valor de diferencia entre los numeros de capa es 1 y, por lo tanto, los bits binarios de los numeros de capa respectivos son “1”, “1”, “1” y “1”. Dado que los numeros de capa del nivel 2 a codificar se incluyen todos en el nivel 1, los numeros de capa ya no tienen que codificarse. Por consiguiente, la informacion que indica el tipo de division 1, 0, 2 y 3 se codifica. Dado que la informacion que indica el tipo de division se codifica por aritmetica binaria o se codifica por codificacion Huffman usando diferentes tablas dependiendo del 35 numero de capas como se ha descrito anteriormente, los bits binarios de la informacion que indica el tipo de division 1, 0, 2 y 3 pueden convertirse, por ejemplo, en "00", "11", "10" y “01”. Por lo tanto, un numero de capas y la informacion que indica el tipo de division a codificar finalmente se convierten en "01"®1"®1"®"1"®"1"®"00"®"11"®"10"®"01". Como resultado, "01111100111001" se codifica y se convierte en los datos de informacion de division codificados.
40
[0165] Las figuras 17 y 18 son diagramas ejemplares para ilustrar otro ejemplo del metodo de codificacion de la informacion de division de bloque usando la estructura de arbol de acuerdo con otro aspecto de la presente divulgacion.
45 [0166] La figura 17 muestra un ejemplo de un caso en el que un macrobloque que tiene un tamano de bloque de N x N se divide en 2 sub-bloques que tienen un tamano de bloque de (N/2) x (N/4), 1 sub-bloque que tiene un tamano de bloque de (N/2) x (N/2), 2 sub-bloques que tienen un tamano de bloque de (N/4) x (N/2), 2 sub-bloques que tienen un tamano de bloque de (N/32) x (N/16), 4 sub-bloques que tienen un tamano de bloque de (N/32) x (N/32), 6 sub-bloques que tienen un tamano de bloque de (N/16) x (N/16), y 2 sub-bloques que tienen un tamano de 50 bloque de (N/4) x (N/4). Un cuarto sub-bloque que tiene el tamano de bloque de (N/2) x (N/2) del macrobloque se divide en 4 sub-bloques que tienen el tamano de bloque de (N/4) x (N/4), y un primer sub-bloque y un segundo sub- bloque que tiene el tamano de bloque de (N/4) x (N/4) entre los 4 sub-bloques que tienen el tamano de bloque de (N/4) x (N/4) se dividen en 4 sub-bloques que tienen el tamano de bloque de (N/16) x (N/16), respectivamente. Aqul, dado que un primer sub-bloque y un segundo sub-bloque que tiene el tamano de bloque de (N/16) x (N/16) entre los 55 sub-bloques que tienen el tamano de bloque de (N/16) x (N/16) divididos del primer sub-bloque que tiene el tamano de bloque de (N/4) x (N/4) se dividen en bloques mas pequenos, se asignan los numeros de capa 2 y 3 como se muestra en la figura 17.
[0167] La figura 18 puede crearse si el macrobloque mostrado en la figura 17 se construye de acuerdo con un
numero de capas para cada nivel en una estructura de tipo arbol de la misma manera que se describe en la figura 15.
[0168] La figura 18 muestra un proceso de construccion de la estructura de arbol de acuerdo con el numero 5 de capas para cada nivel construido en la figura 17 y que codifica numeros de capa y tipos de division.
[0169] Si los numeros de capa y la informacion que indica el tipo de division se codifican de la misma manera que se describe en la figura 16, los datos que se codificaran finalmente se convierten en "01111010111100111010011111011111".
10
B-1-4-3) Metodo de Codificacion de la Informacion de Division 3
[0170] En lo sucesivo en el presente documento, se describira un tercer metodo de codificacion de la informacion de division de bloque con referencia a las figuras 19 y 20.
15
[0171] De acuerdo con el tercer metodo, el codificador de informacion de division 810 puede codificar la informacion de division de bloque usando un valor de capa de division y un indicador de division. Es decir, el codificador de informacion de division 810 divide el macrobloque usando unicamente sub-bloques que tienen una forma cuadrada tal como N x N, (N/2) x (N/2), y (N/4) x (N/4) cuando un tipo de bloque de un bloque, que codifica la
20 informacion de division, es un tipo intra bloque, y puede codificar la informacion de division de bloque codificando los valores de capa de division de los sub-bloques respectivos y los indicadores de division. En lo sucesivo en el presente documento, se describe un metodo de codificacion de la informacion de division de bloque usando el valor de capa de division y el indicador de division con referencia a las figuras 19 y 20.
25 [0172] La figura 19 es un diagrama ejemplar para ilustrar sub-bloques divididos en base a los valores de capa de division de acuerdo con otro aspecto de la presente divulgacion.
[0173] Cuando un macrobloque que tiene un tamano de bloque de N x N (N es un numero entero igual a o mayor de 16) se divide de acuerdo con los valores de capa de division 0, 1 y 2, los tamanos y formas de los sub-
30 bloques pueden determinarse como se muestra en la figura 19. Cuando el macrobloque que tiene el tamano de bloque de N x N se divide de acuerdo con el valor de capa de division 0, el macrobloque se divide unicamente en 1 sub-bloque que tiene el tamano de bloque de N x N. Cuando el macrobloque se divide de acuerdo con el valor de capa de division 1, el macrobloque se divide en 4 sub-bloques que tienen un tamano de bloque de (N/2) x (N/2). Cuando el macrobloque se divide de acuerdo con el valor de capa de division 2, el macrobloque se divide en 8 sub- 35 bloques que tienen un tamano de bloque de (N/4) x (N/4).
[0174] Por consiguiente, cuando se asume que un valor de capa de division de cualquier bloque es x, un
N N
tamano de bloque de un sub-bloque del bloque correspondiente puede convertirse en —x— . Por ejemplo, cuando
2x 2x
un valor de capa de division es 3, un macrobloque que tiene un tamano de bloque de 64 x 64 se divide en sub- 40 bloques que tienen un tamano de bloque de 8 x 8. Adicionalmente, cuando un valor de capa de division del sub- bloque que tiene el tamano de bloque de 8 x 8 es 1, el sub-bloque que tiene el tamano de bloque de 8 x 8 se divide en sub-bloques que tienen un tamano de bloque de 4 x 4.
45
[0175]
bloques
Un indicador de division es un indicador que indica que, cuando un bloque N x N se divide en sub-
NN —x— 2x 2x
uno o mas sub-bloques —x— se dividen en sub-bloques mas pequenos.
2x 2x
[0176]
NN —x---
2x 2x
Por ejemplo, cuando el bloque N x N se divide en sub-bloques en el bloque N x N no estan divididos en sub-bloques mas pequenos, el
NN
(por ejemplo, 0) que indica que todos los sub-bloques —x— con el bloque
2x 2x
—x— y todos los sub-bloques
2x 2x
indicador de division tiene un valor N x N no estan divididos en sub-
50 bloques mas pequenos.
N N N N
[0177] Cuando el bloque N x N se divide en sub-bloques —x— y uno o mas sub-bloques —x— en el
2x 2x 2x 2x
bloque N x N se dividen en sub-bloques mas pequenos, el indicador de division tiene un valor (por ejemplo, 1) que
NN
indica que todos los sub-bloques —x— en el bloque N x N se dividen en sub-bloques mas pequenos.
2x 2x
5
[0178] Cuando el indicador de division tiene el valor que indica que un sub-bloque se divide en sub-bloques
NN
mas pequenos, los valores de capa de division y los indicadores de division para todos los sub-bloques —x— en
el bloque N x N se codifican y los tipos de sub-bloque de los sub-bloques —x— respectivos se transmiten al
2x 2x
aparato de decodificacion de video.
10 [0179] Sin embargo, cuando un tamano de sub-bloque dividido de acuerdo con un valor de capa de division corresponde a un tamano de bloque mlnimo (es decir, el sub-bloque no puede dividirse en sub-bloques mas pequenos), el indicador de division no se codifica.
[0180] El valor de capa de division y el indicador de division que se han mencionado anteriormente se 15 incluyen en el flujo de bits, y se codifican y se transmiten al aparato de decodificacion de video. En un metodo de codificacion del valor de capa de division, el tamano de un macrobloque que se va a transmitir puede codificarse usando diversos metodos de codificacion binaria, tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
20 [0181] Como alternativa, el tamano de un macrobloque puede codificarse usando una codificacion aritmetica binaria, una codificacion Huffman, etc.
[0182] Como alternativa, un valor de indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video puede codificarse usando los diversos metodos de codificacion binaria que 25 se han mencionado anteriormente.
[0183] El indicador de division puede incluirse en el flujo de bits usando 1 bit que indica si un bloque esta dividido o no.
30 [0184] La figura 20 es un diagrama ejemplar para ilustrar un proceso de codificacion de la informacion de division de bloque usando un valor de capa de division y un indicador de division de acuerdo con otro aspecto de la presente divulgacion.
[0185] La figura 20 muestra un ejemplo de codificacion de la informacion de division de bloque usando el valor 35 de capa de division y el indicador de division cuando un tamano de bloque de un macrobloque es 64 x 64 y un valor
de la capa de division maxima es 4.
[0186] Cuando el macrobloque se divide como se muestra en la figura 20, los valores de capa de division y los indicadores de division de los sub-bloques respectivos se generan en cada numero de division para cada capa para
40 identificar los sub-bloques respectivos como se muestra en una tabla de la figura 20, y los valores de capa de division y los indicadores de division se codifican secuencialmente a partir de un sub-bloque L0-P0 a un sub-bloque L1-P3. Dado que el sub-bloque L0-P0 que tiene un tamano de bloque de 64 x 64 se divide en 4 sub-bloques que tienen un tamano de bloque de 32 x 32, un valor de capa de division es 1. Un valor del indicador de division de cada sub-bloque de 32 x 32 se ajusta a un valor que indica que el sub-bloque se divide en sub-bloques mas pequenos, y 45 un valor de capa de division y un indicador de division se codifican.
[0187] Dado que el sub-bloque L1-P0 que tiene el tamano de bloque de 32 x 32 no se divide en sub-bloques mas pequenos, un valor de capa de division es 0 y un indicador de division no necesita codificarse. Dado que un sub-bloque L1-P1 que tiene el tamano de bloque de 32 x 32 se divide en sub-bloques que tienen un tamano de
50 bloque de 8 x 8, un valor de capa de division es 2. Puesto que los sub-bloques que tienen el tamano de bloque de 8 x 8 ya no se dividen mas, un indicador de division se codifica en 0 lo que indica que el sub-bloque no esta dividido. En este caso, los tamanos y formas de los sub-bloques L2-P0 a L2-P15, que son sub-bloques inferiores del sub- bloque L1-P1, pueden identificarse en el aparato de decodificacion de video codificando unicamente los valores de
capa de division y los indicadores de division de los sub-bloques L2-P0 a L2-P15 sin codificar por separado los tipos de division de los sub-bloques L2-P0 a L2-P15. Dado que un sub-bloque L1-P2 que tiene el tamano de bloque de 32 x 32 se divide en 4 sub-bloques que tienen un tamano de bloque de 16 x 16, un valor de capa de division es 1 y un indicador de division se codifica en 1 lo que indica que el sub-bloque se divide en sub-bloques mas pequenos. 5 Puesto que se ha indicado que el sub-bloque L1-P2 se divide en sub-bloques mas pequenos indicando el indicador de division del sub-bloque L1-P2 como 1, los tipos de division de los sub-bloques divididos respectivos de L2-P0 a L2-P3 se codifican. Por consiguiente, los valores de capa de division de los sub-bloques L2-P0, L2-P1 y L2-P2 son 0 y, por lo tanto, los indicadores de division no tienen que codificarse debido a los valores de capa de division de 0. Dado que el sub-bloque L2-P3 se divide en sub-bloques que tienen un tamano de bloque de 4 x 4 y los sub-bloques 10 divididos no se dividen en sub-bloques mas pequenos, una capa de division 2 y un indicador de division 0 que indica que el sub-bloque no esta dividido deberlan codificarse. Sin embargo, un valor de la capa de division maxima y una suma de los valores de capa totales de los sub-bloques L1-P1 y L2-P3 son iguales entre si, donde el valor de la capa de division maxima es 4 y cada uno de los valores de capa de division de los sub-bloques L1-P1 y L2-P3 es 2. Por consiguiente, puede obtenerse que el sub-bloque ya no puede dividirse mas, lo que significa que el indicador de 15 division no necesita codificarse. Por ultimo, dado que un sub-bloque L1-P3 que tiene el tamano de bloque de 32 x 32 se divide en 64 sub-bloques que tienen un tamano de bloque de 4 x 4, un valor de capa de division es 3 y su valor de capa de division es igual al valor de la capa de division maxima como el sub-bloque L2-P3. Por consiguiente, puede obtenerse que el sub-bloque ya no puede dividirse mas, lo que significa que el indicador de division no necesita codificarse.
20
[0188] De la manera que se ha descrito anteriormente, la informacion de division de bloque puede codificarse codificando el valor de capa de division y el indicador de division para el numero de division para cada capa para identificar los sub-bloques respectivos del macrobloque.
25 [0189] Mientras tanto, el metodo de codificacion de la informacion de division de bloque codificando secuencialmente la informacion que indica el tipo de division para cada capa del macrobloque de acuerdo con el orden de los sub-bloques y la generacion de datos de informacion de division codificados se ha descrito a traves de las figuras 11 a 13, pero no es necesario dividir el macrobloque en sub-bloques como se muestra en las figuras 11 a 13, y la informacion de division de bloque puede codificarse codificando secuencialmente la informacion que indica 30 el tipo de division para cada capa del macrobloque de acuerdo con el orden de los sub-bloques incluso cuando el macrobloque se divide como se muestra en la figura 21.
B-1-4-4) Metodo de Codificacion de la Informacion de Division 4
35 [0190] En lo sucesivo en el presente documento, se describe un cuarto metodo de codificacion de la informacion de division de bloque con referencia a las figuras 21 y 22.
[0191] La figura 21 es un diagrama ejemplar para ilustrar otro ejemplo de un macrobloque dividido en sub- bloques que tienen diversos tamanos de bloque de acuerdo con otro aspecto de la presente divulgacion.
40
[0192] Mientras tanto, se ha descrito que estan disponibles sub-bloques de la capa K+1 unicamente cuando el sub-bloque de la capa K (0<K<log2(N/4)) se divide en 4 sub-bloques en la capa K en la figura 9, pero estan disponibles los sub-bloques de la capa K+1 cuando el sub-bloque de la capa K se divide en uno o mas sub-bloques en la capa K en la figura 21 (es decir, cuando la informacion que indica el tipo de division es 1, 2 o 3).
45
[0193] La figura 21 muestra un ejemplo en el que un macrobloque que tiene un tamano de bloque de 64 x 64 se divide en 2 sub-bloques que tienen un tamano de bloque de 64 x 16 y 2 sub-bloques que tienen un tamano de bloque de 32 x 32. Los numeros escritos en "□" representan un orden de codificacion de la informacion que indica el tipo de division de los sub-bloques respectivos. Si la informacion que indica el tipo de division de las capas
50 respectivas del macrobloque se codifica secuencialmente de acuerdo con el orden de los sub-bloques, la informacion que indica el tipo de division para las capas respectivas puede codificarse de acuerdo con el orden mostrado en la figura 11.
[0194] La figura 22 es otro diagrama ejemplar para ilustrar un proceso de codificacion secuencial de la 55 informacion que indica el tipo de division para las capas respectivas del macrobloque de acuerdo con el orden de los
sub-bloques.
[0195] Se genera una tabla mostrada en la figura 22 si la informacion del tipo de division de los sub-bloques respectivos del macrobloque que se muestra en la figura 21 se codifica. Si la informacion que indica el tipo de
division de las capas respectivas del macrobloque se codifica secuencialmente de acuerdo con el orden de los sub- bloques, la informacion que indica el tipo de division para las capas respectivas puede codificarse de acuerdo con el orden mostrado en la figura 11.
5 [0196] En este caso, la informacion que indica el tipo de division puede codificarse en la cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc.
[0197] Como alternativa, un valor real de la informacion que indica el tipo de division puede codificarse usando 10 diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb
exponencial, etc.
[0198] Adicionalmente, cuando el macrobloque se divide usando los tipos de division de acuerdo con otro aspecto de la presente divulgacion que se muestra en la figura 34, la informacion que indica el tipo de division puede
15 ser un indicador que tiene una longitud de bit de 1 que indica que el bloque actual se divide en 4 sub-bloques o no.
B-1-5) Descripcion del Diagrama de Flujo de la Codificacion
[0199] La figura 23 es un diagrama de flujo para ilustrar un metodo de codificacion de video de acuerdo con 20 otro aspecto de la presente divulgacion.
[0200] De acuerdo con el metodo de codificacion de video de acuerdo con otro aspecto de la presente divulgacion, el aparato de codificacion de video 800 genera datos de imagen codificados realizando una codificacion predictiva en un bloque actual dividido en una pluralidad de sub-bloques en la etapa S2310, genera datos de
25 informacion de division codificados codificando la informacion de division del bloque actual en la etapa S2320, y genera un flujo de bits que incluye los datos de imagen codificados y los datos de informacion de division codificados en la etapa S 2330.
[0201] Aqul, el bloque actual puede ser un macrobloque que tiene un tamano mayor de un tamano de bloque 30 de 16 x 16, y la informacion de division puede contener tamanos y disposiciones de bloque de una pluralidad de sub-
bloques dentro del bloque actual.
[0202] Puede identificarse una pluralidad de sub-bloques por la informacion que indica el tipo de division para cada capa de division. En este caso, el aparato de codificacion de video 800 puede codificar la informacion de
35 division del bloque actual codificando secuencialmente la informacion que indica el tipo de division para cada capa de division de acuerdo con un orden de codificacion de la informacion que indica el tipo de division o codificar la informacion de division del bloque actual codificando los numeros de capa y la informacion que indica el tipo de division usando una estructura de arbol en la etapa S2320.
40 [0203] Adicionalmente, el aparato de codificacion de video 800 puede codificar la informacion de division del bloque actual usando valores de capa de division e indicadores de division. Mas especlficamente, el aparato de codificacion de video 800 puede codificar la informacion de division del bloque actual usando valores de capa de division e indicadores de division unicamente cuando un tipo de bloque del bloque actual es un tipo intra-bloque. Dado que el metodo de codificacion de la informacion de division del bloque actual por el aparato de codificacion de 45 video 800 se ha descrito a traves de las figuras 8 a 22, su descripcion detallada se omitira aqul.
B-2) Aparato de Decodificacion de Video de la Realizacion 2
B-2-1) Diagrama de Bloques y Descripcion del Aparato de Decodificacion 50
[0204] La figura 24 es un diagrama de bloques esquematico para ilustrar un aparato de decodificacion de video de acuerdo con otro aspecto de la presente divulgacion.
[0205] El aparato de decodificacion de video 2400 de acuerdo con otro aspecto de la presente divulgacion 55 puede incluir un decodificador de informacion de division 2410 y un decodificador de video 2420.
[0206] El decodificador de informacion de division 2410 extrae y decodifica datos de informacion de division codificados del flujo de bits, y reconstruye la informacion de division del bloque actual. Aqul, la informacion de division del bloque actual puede ser informacion que indica el tipo de division para cada capa de division, los
numeros de capa y la informacion que indica el tipo de division usando una estructura de arbol, o valores de capa de division e indicadores de division. Cuando la informacion de division del bloque actual es la informacion que indica el tipo de division de acuerdo con un orden de codificacion de la informacion que indica el tipo de division, el decodificador de informacion de division 2410 puede obtener informacion que indica el tipo de division para cada 5 capa mostrada en la figura 13 decodificando datos de informacion de division codificados, y puede obtener un bloque actual dividido en una pluralidad de sub-bloques mostrados en la figura 11 dividiendo el bloque actual en la pluralidad de sub-bloques de acuerdo con la informacion que indica el tipo de division para cada capa en base a la informacion que indica el tipo de division y el orden de codificacion mostrado en la tabla de la figura 3.
10 [0207] Cuando la informacion de division del bloque actual corresponde a los numeros de capa y la informacion que indica el tipo de division usando la estructura de arbol, el decodificador de informacion de division 2410 puede obtener los numeros de capa y la informacion que indica el tipo de division que se expresa en la estructura de arbol como se muestra en la figura 16 decodificando los datos de informacion de division codificados, y puede obtener un bloque actual dividido en una pluralidad de sub-bloques mostrados en la figura 15 realizando 15 inversamente el metodo descrito en las figuras 15 y 16 usando los numeros de capa y la informacion que indica el tipo de division que se expresa en la estructura de arbol como se muestra en la figura 16.
[0208] Cuando la informacion de division del bloque actual corresponde los valores de capa de division y los indicadores de division, el decodificador de informacion de division 2410 puede obtener los valores de capa de
20 division y los indicadores de division mostrados en la figura 20 decodificando los datos de informacion de division codificados, y puede obtener un bloque actual dividido en una pluralidad de sub-bloques mostrados en la figura 20 realizando inversamente el metodo descrito en la figura 20.
[0209] El decodificador de video 2420 puede construirse igual o de forma similar al aparato de decodificacion 25 de video de acuerdo con un aspecto de la presente divulgacion descrito con referencia a la figura 7. Sin embargo, el
decodificador de video 2420 de acuerdo con otro aspecto de la presente divulgacion extrae y decodifica los datos de imagen codificados de los sub-bloques divididos de acuerdo con la informacion de division del bloque actual reconstruida por el decodificador de informacion de division 2410, y despues reconstruye los sub-bloques respectivos a traves de una codificacion predictiva. En este caso, los datos de imagen extraidos del flujo de bits por 30 el decodificador de video 2420 pueden ser datos predichos y/o datos requeridos para una decodificacion de senal residual tal como un tipo transformada, CBP, y un coeficiente de transformada. Aqui, los datos predichos corresponden a datos que indican si cada sub-bloque es un intra-bloque o un inter-bloque, y corresponden a un modo intra-prediccion para el intra-bloque e informacion de movimiento para el inter-bloque.
35 B-2-2) Metodo de Decodificacion de Informacion de Division
[0210] En lo sucesivo en el presente documento, se describiran diversos metodos de decodificacion de la informacion de division, que es informacion que indica los tamanos y formas de los sub-bloques usados para la prediccion o la transformada dentro del macrobloque, de acuerdo con los aspectos de la presente invencion.
40
B-2-2-1) Metodo de Decodificacion de la Informacion de Division 1
[0211] En primer lugar, se describe un metodo de decodificacion de acuerdo con el primer metodo de codificacion de la informacion de division.
45
[0212] La informacion que indica el tipo de division se decodifica usando un tipo de sub-bloque predisenado disponible para cada capa entre el aparato de codificacion de video y el aparato de decodificacion de video de acuerdo con un orden predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video. Por ejemplo, los tipos de sub-bloques disponibles para las capas respectivas pueden ser los tipos de sub-bloques
50 mostrados en las figuras 10 y 34, y la informacion que indica el tipo de division puede decodificarse secuencialmente de acuerdo con los ordenes mostrados en las figuras 11 y 13.
[0213] En lo sucesivo en el presente documento, se describe un metodo de decodificacion en las mismas
condiciones que los ejemplos usados para describir el primer metodo de codificacion de la informacion de division.
55 La informacion de division se decodifica basandose en los tipos de sub-bloques mostrados en la figura 10 de acuerdo con el orden mostrado en la figura 11.
[0214] El decodificador de informacion de division 2410 extrae y decodifica en primer lugar la informacion que
indica el tipo de division del flujo de bits, y reconstruye la informacion que indica el tipo de division de una capa de
macrobloque 0. Cuando un valor de la information que indica el tipo de division reconstruido es 0, esto significa que el macrobloque no se divide en sub-bloques, de manera que una decodificacion de la informacion que indica el tipo de division del macrobloque actual se termina. Posteriormente, la prediction o la transformada se realiza por unidad de N x N macrobloques.
10
[0215] Cuando el valor de la informacion que indica el tipo de division reconstruido de la capa 0 es 1, el
N
macrobloque se divide en 2 sub-bloques de tamano N x — y una decodificacion que indica el tipo de division del
N
macrobloque actual se termina. Posteriormente, la prediccion o la transformada se realizan por unidad de N x — macrobloques.
[0216] Cuando el valor de la informacion que indica el tipo de division reconstruido de la capa 0 es 2, el
N
macrobloque se divide en 2 sub-bloques de tamano — x N y una decodificacion que indica el tipo de division del
macrobloque actual se termina. Posteriormente, la prediccion o la transformada inversa se realiza por unidad de
N
— x N en los macrobloques.
15
20
[0217] Cuando el valor de la informacion que indica el tipo de division reconstruido de la capa 0 es 3, el
NN
macrobloque se divide en 4 sub-bloques de tamano —x— y la informacion que indica el tipo de division de un
primer sub-bloque (que tiene un numero de division 0 de una capa 1) se decodifica. Aqul, un numero de capas de
NN
los sub-bloques —x— es 1, que es un valor aumentado de un numero de capas mayor.
[0218] Cuando la informacion que indica el tipo de division del sub-bloque que tiene el numero de division 0 de la capa 1 extralda y decodificada del flujo de bits no es N N 3, la informacion que indica el tipo de division de un
NN
segundo sub-bloque de tamano —x— (que tiene una division 1 de la capa 1) se codifica.
2 2
25 [0219] Cuando la informacion que indica el tipo de division del sub-bloque que tiene el numero de division 0 de la capa 1 extralda y decodificada del flujo de bits es 3, el sub-bloque actual se divide en 4 sub-bloques y el numero de capas es 2. Posteriormente, la informacion que indica el tipo de division de un sub-bloque correspondiente a un numero de division 0 de una capa 1 se extrae y se decodifica del flujo de bits.
30 [0220] En un caso en el que un numero de capa K del sub-bloque actual que tiene un numero de division Y corresponde a un valor maximo que puede asignarse a los numeros de capa, si la informacion que indica el tipo de division decodificada del sub-bloque actual (que tiene el numero de division Y del numero de capa K) es 3, el sub- bloque actual se divide en 4 sub-bloques y entonces la informacion que indica el tipo de division de un sub-bloque posterior (que tiene un numero de division Y+1 del numero de capa K) se decodifica en un orden de barrido raster.
35
[0221] Cuando el numero de division del sub-bloque actual corresponde a un valor maximo de numeros de division incluidos en la capa actual, la informacion que indica el tipo de division de los sub-bloques de una capa superior, que no se han decodificado aun, se decodifica.
40 [0222] En lo sucesivo en el presente documento, el metodo de decodificacion de acuerdo con el aspecto de la figura 11 se describe en base a un caso en el que el tamano de un macrobloque es 64 x 64 y el numero de capas de division maximas es 4. En el aspecto de la figura 11, un valor codificado con la informacion que indica el tipo de division en el aparato de codification de video es {3, 3, 3, 3, 3, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0}.
45 [0223] En primer lugar, la informacion que indica el tipo de division de una capa 0 se decodifica.
[0224] Dado que la informacion que indica el tipo de division decodificada es 3, el macrobloque de 64 x 64 se divide en 4 sub-bloques de tamano 32 x 32 (L1-P0, L1-P1, L1-P2 y L1-P3).
[0225] Dado que cada sub-bloque 32 x 32 puede dividirse en sub-bloques mas pequenos, la informacion que
indica el tipo de division de un primer sub-bloque 32 x 32 (L1-P0) dentro del macrobloque de 64 x 64 se decodifica.
[0226] Dado que la informacion que indica el tipo de division decodificada en segundo lugar es 3, el sub-
5 bloque L1-P0 se divide en 4 sub-bloques de tamano 16 x 16 (L2-P0, L2-P1, L2-P2 y L2-P3) y la informacion que
indica el tipo de division del sub-bloque L2-P0 se extrae y se decodifica del flujo de bits.
[0227] Dado que la informacion que indica el tipo de division decodificada en tercer lugar es 3, el sub-bloque L2-P0 de tamano 16 x 16 se divide en 4 sub-bloques de tamano 8 x 8 (L3-P0, L3-P1, L3-P2 y L3-P3) y la informacion
10 que indica el tipo de division del sub-bloque L3-P0 se extrae y se decodifica del flujo de bits.
[0228] Dado que la informacion que indica el tipo de division decodificada en cuarto lugar es 3, el sub-bloque L3-P0 de tamano 8 x 8 se divide en 4 sub-bloques de tamano 4 x 4. Aqul, puesto que el numero de capas de division maximas es 4, el sub-bloque no puede dividirse en sub-bloques mas pequenos y, por lo tanto, la informacion que
15 indica el tipo de division del sub-bloque L3-P1 se extrae y se decodifica del flujo de bits.
[0229] Dado que la informacion que indica el tipo de division decodificada en quinto lugar es 3, el sub-bloque L3-P1 de tamano 8 x 8 se divide en 4 sub-bloques de tamano 4 x 4 y la informacion que indica el tipo de division del sub-bloque L3-P2 se extrae y se decodifica del flujo de bits.
20
[0230] Dado que la informacion que indica el tipo de division decodificada en sexto lugar es 0, el sub-bloque L3-P2 de tamano 8 x 8 ya no se divide mas y la informacion que indica el tipo de division del sub-bloque L3-P2, que es el sub-bloque posterior, se extrae y se decodifica del flujo de bits.
25 [0231] Dado que la informacion que indica el tipo de division decodificada en septimo lugar es 0, el sub-bloque L3-P3 de tamano 8 x 8 tampoco esta dividido. Aqul, dado que un numero de division del sub-bloque actual corresponde a un valor maximo de numeros de division incluidos en la capa actual, la informacion que indica el tipo de division del sub-bloque L2-P1 de una capa superior se extrae y se decodifica del flujo de bits.
30 [0232] Dado que la informacion que indica el tipo de division decodificada en octavo lugar es 0, un tamano de bloque del sub-bloque L2-P1 es 16 x 16.
[0233] De la misma manera, la informacion que indica el tipo de division de los sub-bloques L2-P2 y L2-P3 se extrae y se decodifica del flujo de bits, y se determinan los tipos de sub-bloque respectivos.
35
[0234] Dado que la informacion que indica el tipo de division decodificada en noveno lugar es tambien 0, un tamano de bloque del sub-bloque L2-P2 es 16 x 16. Dado que la informacion que indica el tipo de division decodificada en decimo lugar es 1, el sub-bloque L2-P3 se divide en 2 sub-bloques de tamano 16 x 8.
40 [0235] Puesto que toda la informacion que indica el tipo de division de los sub-bloques incluidos en la capa 2 se ha decodificado, la informacion que indica el tipo de division de un segundo sub-bloque L1-P1 de tamano 32 x 32 de la capa 1, que es una capa superior, se decodifica.
[0236] Dado que la informacion que indica el tipo de division decodificada en decimoprimer lugar es 2, el 45 bloque 32 x 32 correspondiente al sub-bloque L1-P1 se divide en 2 sub-bloques de tamano 16 x 32 y la informacion
que indica el tipo de division del sub-bloque L1-P2 se decodifica.
[0237] Dado que la informacion que indica el tipo de division decodificada en decimosegundo lugar es 1, el bloque 32 x 32 correspondiente al sub-bloque L1-P2 se divide en 2 sub-bloques de tamano 32 x 16 y la informacion
50 que indica el tipo de division del sub-bloque L1-P3 se decodifica.
[0238] Dado que la informacion que indica el tipo de division decodificada en decimotercer lugar es 3, el bloque 32 x 32 correspondiente al sub-bloque L1-P3 se divide en 4 sub-bloques de tamano 16 x 16 (L2-P0, L2-P1, L2-P3 y L2-P3) y la informacion que indica el tipo de division de los sub-bloques respectivos se decodifica de la
55 misma manera.
[0239] Dado que la informacion que indica el tipo de division decodificada en decimocuarto lugar es 0, un tipo de sub-bloque del sub-bloque L2-P0 es 16 x 16 y la informacion que indica el tipo de division del sub-bloque L2-P1, que es un sub-bloque posterior, se decodifica ya que el sub-bloque L2-P0 ya no se divide mas.
[0240] Dado que la informacion que indica el tipo de division decodificada en decimoquinto lugar es 0, un tipo de sub-bloque del sub-bloque L2-P1 es 16 x 16 y la informacion que indica el tipo de division del sub-bloque L2-P2, que es un sub-bloque posterior, se decodifica ya que el sub-bloque L2-P1 ya no se divide mas.
5
[0241] Dado que la informacion que indica el tipo de division decodificada en decimosexto lugar es 0, un tipo de sub-bloque del sub-bloque L2-P2 es 16 x 16 y la informacion que indica el tipo de division del sub-bloque L2-P3, que es un sub-bloque posterior, se decodifica ya que el sub-bloque L2-P2 ya no se divide mas.
10 [0242] Dado que la informacion que indica el tipo de division decodificada en decimoseptimo lugar es 0, un tipo de sub-bloque del sub-bloque L2-P3 es 16 x 16 y una decodificacion de la informacion que indica el tipo de division para una decodificacion del macrobloque actual se termina porque los tipos de sub-bloque de todos los sub- bloques dentro del macrobloque se han determinado.
15 [0243] En lo sucesivo en el presente documento, se describira un metodo de decodificacion de la informacion
que indica el tipo de division cuando toda la informacion que indica el tipo de division de las capas superiores se
codifica y despues la informacion que indica el tipo de division de las capas inferiores se codifica de acuerdo con el orden de codificacion de la informacion que indica el tipo de division.
20 [0244] En el aspecto de la figura 11, un valor codificado con la informacion que indica el tipo de division en el aparato de codificacion de video es {3, 3, 2, 1, 3, 3, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0}.
[0245] En primer lugar, informacion que indica el tipo de division de una capa 0 se decodifica.
25 [0246] Dado que la informacion que indica el tipo de division decodificada es 3, el macrobloque de 64 x 64 se
divide en 4 sub-bloques de tamano 32 x 32 (L1-P0, L1-P1, L1-P2 y L1-P3).
[0247] Dado que el numero de sub-bloques incluidos en una capa 1 es 4, se codifican se decodifican 4 piezas de informacion que indica el tipo de division. Dado que la informacion que indica el tipo de division de los sub-
30 bloques (L1-P0, L1-P1, L1-P2 y L1-P3) reconstruida del flujo de bits es {3, 2, 1, 3}, los sub-bloques L1-P0 y L1-P3 se dividen en 4 sub-bloques de tamano 16 x 16, el sub-bloque L1-P1 se divide en 2 sub-bloques de tamano 16 x 32, y el sub-bloque L1-P2 se divide en 2 sub-bloques de tamano 32 x 16.
[0248] La informacion que indica el tipo de division de 8 sub-bloques de tamano 8 x 8 de una capa 2 incluidos 35 en los sub-bloques L1-P0 y L1-P3 se extrae y se decodifica del flujo de bits.
[0249] Dado que la informacion que indica el tipo de division de 4 sub-bloques (L2-P0, L2-P1, L2-P2 y L2-P3) incluidos en el L1-P0 reconstruido es {3, 0, 0, 1} y la informacion que indica el tipo de division de 4 sub-bloques (L2- P0, L2-P1, L2-P2 y L2-P3) incluidos en el L1-P3 reconstruido es {0, 0, 0, 0}, el sub-bloque L2-P0 incluido en el sub-
40 bloque L1-P0 se divide en 4 sub-bloques de tamano 4 x 4 y el sub-bloque L2-P3 se divide en 2 sub-bloques de tamano 8 x 4.
[0250] Dado que la informacion que indica el tipo de division de los sub-bloques L2-P1 y L2-P2 incluidos en el sub-bloque L1-P0 y 4 sub-bloques incluidos en el sub-bloque L1-P3 es en todos los casos 0, los sub-bloques no
45 estan divididos.
[0251] Dado que el sub-bloque L2-P0 incluido en el sub-bloque L1-P0 se divide en 4 sub-bloques y ya no pueden dividirse en sub-bloques mas pequenos, se termina una decodificacion de informacion que indica el tipo de division para una decodificacion del macrobloque actual.
50
[0252] En este caso, la informacion que indica el tipo de division se codifica por entropla usando un metodo predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video entre metodos de codificacion/decodificacion de compresion sin perdida tales como una codificacion aritmetica binaria, una codificacion Huffman, etc.
55
[0253] Adicionalmente, un valor real de la informacion que indica el tipo de division puede decodificarse usando diversos metodos de codificacion binaria tales como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0254] Ademas, el aparato de decodificacion de video realiza una decodificacion de entropla usando las Tablas 1 y 2 de acuerdo con los numeros de capas de la informacion que indica el tipo de division cuando el aparato de codificacion de video usa una codificacion aritmetica binaria, usa la Tabla 1 en un caso en el que un numero de
capas es igual a o menor de log2
N_
16
y usa la Tabla 2 en un caso en el que el numero de capas sea mayor de
5
lo4166
como el metodo de codificacion de la informacion que indica el tipo de division.
[0255] Por ejemplo, cuando la informacion que indica el tipo de division incluida en una capa 1 se codifica por entropia para un macrobloque de 64 x 64, se decodifican por entropia 2 bits y entonces la informacion que indica el tipo de division se obtiene usando la Tabla 1.
10
[0256] Cuando la informacion que indica el tipo de division incluida en una capa 3 se codifica por entropia para el macrobloque de 64 x 64, se usa la Tabla 2. En primer lugar, se decodifica por entropia 1 bit. Despues, cuando un bit binario decodificado es 1, la informacion que indica el tipo de division se ajusta a 0 y se termina una decodificacion de entropia de la informacion que indica el tipo de division del sub-bloque actual. Cuando el bit binario
15 decodificado no es 1, se decodifica por entropia adicionalmente 1 bit del flujo de bits. Cuando un bit decodificado en segundo lugar es 0, la informacion que indica el tipo de division del sub-bloque actual se ajusta a 1 y se termina una decodificacion de entropia para la informacion que indica el tipo de division del sub-bloque actual. Cuando el bit decodificado en segundo lugar es 1, se decodifica por entropia adicionalmente 1 bit del flujo de bits y se termina si la informacion que indica el tipo de division del sub-bloque actual es 2 o 3 usando la Tabla 2.
20
[0257] Adicionalmente, cuando se predispone entre el aparato de codificacion de video y el aparato de decodificacion de video que se usan tipos de division de acuerdo con otro aspecto de la presente divulgacion mostrado en la figura 34, puede determinarse si el sub-bloque actual se divide en 4 sub-bloques decodificando por entropia 1 bit para la decodificacion de la informacion que indica el tipo de division.
25
B-2-2-2) Metodo de Decodificacion de la Informacion de Division 2
[0258] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el segundo metodo de codificacion de la informacion de division.
30
[0259] De acuerdo con el segundo metodo, la informacion de division de bloque puede decodificarse decodificando en primer lugar los numeros de capas usando la estructura de arbol y despues decodificando la informacion que indica el tipo de division.
35 [0260] En un metodo de decodificacion de los numeros de capas, un valor de diferencia entre un numero de capas de un nivel actual y un numero de capas de un nivel superior se reconstruye decodificando bits binarios 0 y 1. En este caso, se lee y se decodifica 1 bit del flujo de bits para reconstruir el valor de diferencia. Cuando un bit binario decodificado es 0, se lee y se decodifica adicionalmente 1 bit del flujo de bits. De la misma manera, el bit binario 0 se reconstruye continuamente hasta que el bit binario 1 se reconstruye. Cuando el bit binario reconstruido es 1, no se 40 leen ni se decodifican adicionalmente ningun bit mas, y el valor de diferencia se convierte en el numero de 0 reconstruido.
[0261] Se inicia una decodificacion del numero de capas del nivel 0 y un valor de diferencia entre el numero de capas del nivel 0 y un numero 0 se reconstruye del flujo de bits usando el metodo que se ha mencionado
45 anteriormente para una reconstruccion del numero de capas. Cuando el numero de capas reconstruido del nivel 0 es mayor de un numero 0, se construye un arbol generando nodos secundarios en el nodo actual. El numero de nodos secundarios recien generados es diferente dependiendo de un metodo de division de sub-bloques predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video. De acuerdo con un metodo de division de sub-bloques mostrado en la figura 9, dado que los sub-bloques en una capa inferior pueden usarse unicamente 50 cuando el sub-bloque actual se divide en 4 sub-bloques, se generan 4 nodos secundarios. Los nodos recien generados tienen valores de nivel aumentados desde los valores de nivel de capas superiores en 1.
[0262] Es decir, cuando el numero de capas reconstruido del nivel 0 es mayor de un valor del nivel 0, la estructura de arbol se construye generando 4 nodos secundarios incluidos en un nivel 1.
55
[0263] A continuation, 4 valores de diferencia para reconstruir los numeros de capas de los nodos recien
generados se extraen y se reconstruyen del flujo de bits, y los numeros de capas de los nodos respectivos se reconstruyen sumando los valores de diferencia y los numeros de capas de nodos superiores.
[0264] De la misma manera, cuando el numero de capas reconstruido de cada nodo y un valor del nivel del 5 nodo son iguales entre si, no se construye un nodo secundario incluido en un nivel inferior para un nodo correspondiente. Cuando el numero de capas reconstruido de cada nodo es mayor que el valor del nivel del nodo, se generan 4 nodos secundarios para el nodo correspondiente, y se realiza una decodificacion de los numeros de capa de los nodos recien construidos.
10 [0265] Sin embargo, cuando el numero de capas reconstruido es un valor maximo, que puede asignarse a los numeros de capas (es decir, cuando un numero de capas empieza de 0, un valor maximo, que puede asignarse al numero de capa, corresponde a "un valor de la capa de division maxima -1”), se generan 4 nodos secundarios para el nodo actual, pero la decodificacion de los numeros de capa de los nodos respectivos no se realiza.
15 [0266] El arbol se construye hasta que un numero de capas de los nodos mas bajos es igual a un numero de nivel de cada nodo o el numero de capas tiene un valor maximo, que puede asignarse al numero de capa, y cada reconstruction del numero de capas de nodo se realiza continuamente.
[0267] Posteriormente, se realiza la decodificacion de information que indica el tipo de division para los nodos 20 mas bajos. La informacion que indica el tipo de division de los nodos respectivos se codifica por entropla usando un metodo predisenado entre el aparato de codification de video y el aparato de decodificacion de video entre metodos de codificacion/decodificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc.
25 [0268] Adicionalmente, un valor real de la informacion que indica el tipo de division puede decodificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb exponencial, etc.
[0269] Ademas, el aparato de decodificacion de video realiza una decodificacion de entropia usando las 30 Tablas 1 y 2 de acuerdo con los numeros de capas de la informacion que indica el tipo de division cuando el aparato de codificacion de video usa una codificacion aritmetica binaria, usa la Tabla 1 en un caso en el que un numero de
capas es igual a o menor de log2
N
16
y usa la Tabla 2 en un caso en el que el numero de capas sea mayor de
log2
N_
16
como el metodo de codificacion de la informacion que indica el tipo de division. Por ejemplo, cuando la
informacion que indica el tipo de division incluida en una capa 1 se decodifica por entropia, se decodifican por 35 entropia 2 bits y entonces la informacion que indica el tipo de division se obtiene usando la Tabla 1. Cuando la informacion que indica el tipo de division incluida en una capa 3 se decodifica por entropia, se usa la Tabla 2. Por ejemplo, se decodifica por entropia en primer lugar 1 bit. Despues, cuando un bit binario decodificado es 1, la informacion que indica el tipo de division se ajusta a 0 y se termina una decodificacion de entropia de la informacion que indica el tipo de division del sub-bloque actual. Cuando el bit binario decodificado no es 1, se decodifica por 40 entropia adicionalmente 1 bit del flujo de bits. Cuando un bit decodificado en segundo lugar es 0, la informacion que indica el tipo de division del sub-bloque actual se ajusta a 1 y se termina una decodificacion de entropia para la informacion que indica el tipo de division del sub-bloque actual. Cuando el bit decodificado en segundo lugar es 1, se decodifica por entropia adicionalmente 1 bit del flujo de bits y se termina si la informacion que indica el tipo de division del sub-bloque actual es 2 o 3 usando la Tabla 2.
45
[0270] Adicionalmente, cuando se predispone entre el aparato de codificacion de video y el aparato de decodificacion de video que se usan tipos de division de acuerdo con otro aspecto de la presente divulgation mostrado en la figura 34, puede determinarse si el sub-bloque actual se divide en 4 sub-bloques decodificando por entropia 1 bit para la decodificacion de la informacion que indica el tipo de division.
50
[0271] En lo sucesivo en el presente documento, se describira el metodo de decodificacion de acuerdo con el aspecto de las figuras 14A y 14B. Un valor de bit binario codificado con la informacion de division en el aparato de codificacion de video es "101" en el aspecto de las figuras 14A y 14B.
55 [0272] En primer lugar, se extrae y se reconstruye 1 bit del flujo de bits para reconstruir un numero de capas de un nivel 0. Dado que el bit extraido del flujo de bits es 1, un valor de diferencia para reconstruir el numero de
capas del nivel 0 es 0. En un caso del nivel 0, dado que no hay ningun nodo superior, un valor de capa se reconstruye sumando un valor predisenado 0 entre el aparato de codificacion de video y el aparato de decodificacion de video y el valor de diferencia reconstruido. En este caso, el valor de diferencia es 0 y, por lo tanto, el valor de capa reconstruido se convierte en 0.
5
[0273] Ya que tanto el valor de capa reconstruido como el valor del nivel son 0, se termina un proceso de decodificacion del numero de capas y la informacion que indica el tipo de division se decodifica.
[0274] Puesto que un metodo para expresar directamente un valor de la informacion que indica el tipo de 10 division con un bit binario cuando la informacion que indica el tipo de division se codifica en el aspecto de las figuras
14A y 14B, el aparato de decodificacion de video tambien extrae 2 bits del flujo de bits y reconstruye un valor de la misma manera. Ya que se expresa un bit binario "01" por un numero entero "1", la informacion reconstruida que indica el tipo de division se convierte en 1.
15 [0275] Cuando las formas de los sub-bloques de un macrobloque se determinan usando el valor de capa reconstruido y la informacion que indica el tipo de division, todos los sub-bloques dentro del macrobloque se incluyen en una capa 0, de manera que el sub-bloque tenga uno de los tipos de sub-bloques 64 x 64, 64 x 32, 32 x 64 y 32 x 32. Adicionalmente, puede deducirse que el macrobloque se divide en 2 sub-bloques de tamano 64 x 32 ya que la informacion que indica el tipo de division es 0.
20
[0276] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el aspecto de las figuras 15 y 16. En el aspecto de la figura 16, un valor de bit binario codificado con la informacion de division en el aparato de codificacion de video es "01111100111001".
25 [0277] En primer lugar, se extrae y se reconstruye 1 bit del flujo de bits para reconstruir un numero de capas de un nivel 0. Dado que el bit extraido del flujo de bits es 0, se extrae y se reconstruye adicionalmente 1 bit del flujo de bits. Puesto que el bit reconstruido en segundo lugar es 1, se termina una reconstruction del valor de diferencia para el numero de capas del nivel 0. Puesto que el flujo de bits extraido para la reconstruccion del valor de diferencia es "01", el valor de diferencia se convierte en 1, lo que corresponde al numero de 0, y se asigna un valor de 1 30 generado sumando el valor de diferencia reconstruido 0 y 0 como el numero de capa.
[0278] Dado que el numero de capas reconstruido 0 del nivel 0 es mayor que el valor del nivel 0, se generan 4 nodos secundarios incluidos en un nivel 1 en el nodo actual.
35 [0279] Se extrae 1 bit del flujo de bits para reconstruir un numero de capas de un primer nodo del nivel 1. Puesto que el bit extraido en tercer lugar es 1, el valor de diferencia se convierte en 0. El numero de capa 1 del primer nodo se reconstruye sumando el valor de diferencia reconstruido y el numero de capas del nivel 0, que es un nodo superior del primer nodo del nivel 1. Dado que el numero de capas reconstruido 1 del nivel 1 y el valor del nivel 1 son iguales entre si, se inicia una decodificacion del valor de diferencia para un segundo nodo del nivel 1.
40
[0280] Se extrae 1 bit del flujo de bits ara reconstruir un numero de capas del segundo nodo del nivel 1. Dado que el bit extraido en cuarto lugar es 1, el valor de diferencia se convierte en 0. El numero de capa 1 del segundo nodo se reconstruye sumando el valor de diferencia reconstruido y el numero de capas del nivel 0, que es un nodo superior del segundo nodo del nivel 1. Dado que el numero de capas reconstruido 1 del nivel 1 y el valor del nivel 1
45 son iguales entre si, se inicia una decodificacion del valor de diferencia para un tercer nodo del nivel 1.
[0281] Se extrae 1 bit del flujo de bits para reconstruir un numero de capas del tercer nodo del nivel 1. Dado el bit extraido en quinto lugar es 1, el valor de diferencia se convierte en 0. El numero de capa 1 del tercer nodo se reconstruye sumando el valor de diferencia reconstruido y el numero de capas del nivel 0, que es un nodo superior
50 del tercer nodo del nivel 1. Dado que el numero de capas reconstruido 1 del nivel 1 y el valor del nivel 1 son iguales entre si, se inicia una decodificacion del valor de diferencia para un cuarto nodo del nivel 1.
[0282] Se extrae 1 bit del flujo de bits para reconstruir un numero de capas del cuarto nodo del nivel 1. Dado que el bit extraido en sexto lugar es 1, el valor de diferencia se convierte en 0. El numero de capa 1 del cuarto nodo
55 se reconstruye sumando el valor de diferencia reconstruido y el numero de capas del nivel 0, que es un nodo superior del cuarto nodo del nivel 1.
[0283] Dado que los numeros de capa de todos los nodos incluidos en el nivel 1 se reconstruyen y no hay ningun nodo incluido en un nivel 2, la decodificacion del numero de capas se termina y se realiza la decodificacion
de informacion que indica el tipo de division para los nodos respectivos del nivel mas bajo.
[0284] En el aspecto de las figuras 15 y 16, ya que la informacion que indica el tipo de division se codifica asignando bits binarios "11", "00", "10" y "01" a la informacion que indica el tipo de division, el aparato de
5 decodificacion de video tambien reconstruye la informacion que indica el tipo de division extrayendo 2 bits para los nodos respectivos del flujo de bits de la misma manera.
[0285] Dado que hay 4 nodos incluidos en el 1 como los nodos incluidos en el nivel mas bajo en el aspecto de las figuras 15 y 16, la informacion que indica el tipo de division se reconstruye extrayendo 2 bits para los nodos
10 respectivos del flujo de bits.
[0286] Puesto que los bits extraldos en septimo y octavo lugar del flujo de bits corresponden a "00", la informacion que indica el tipo de division para un primer nodo es 1. Dado que los bits extraldos en noveno y decimo lugar del flujo de bits corresponden a "11", la informacion que indica el tipo de division para un segundo nodo es 0.
15 Dado que los bits extraldos en decimoprimer y decimosegundo lugar del flujo de bits corresponden a "10", la informacion que indica el tipo de division para un tercer nodo es 2. Dado que los bits extraldos en decimotercer y decimocuarto lugar del flujo de bits corresponden a "01", la informacion que indica el tipo de division para un cuarto nodo es 3.
20 [0287] Cuando las formas de los sub-bloques de un macrobloque se determinan usando el valor de capa reconstruido y la informacion que indica el tipo de division, todos los sub-bloques dentro del macrobloque se incluyen en una capa 1, de manera que un macrobloque de 64 x 64 se divide en 4 sub-bloques de tamano 32 x 32 y los sub- bloques 32 x 32 tienen uno de los tipos de sub-bloque 32 x 32, 32 x 16, 16 x 32 y 16 x 16, que se incluyen en la capa 1.
25
[0288] Ya que la informacion que indica el tipo de division reconstruida de un primer sub-bloque es 1, un primer sub-bloque de 32 x 32 se divide en 2 sub-bloques de tamano 32 x 16. Ya que la informacion que indica el tipo de division reconstruida de un segundo sub-bloque es 0, un segundo sub-bloque de 32 x 32 se divide en 1 sub- bloques de tamano 32 x 32. De la misma manera, ya que la informacion que indica el tipo de division reconstruida de
30 un tercer sub-bloque es 2, un tercer sub-bloque de 32 x 32 se divide en 2 sub-bloques de tamano 16 x 32. Ya que la informacion que indica el tipo de division reconstruida de un cuarto sub-bloque es 3, un cuarto sub-bloque de 32 x 32 se divide en 4 sub-bloques de tamano 16 x 16. Los sub-bloques divididos se ilustran en la figura 15.
[0289] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el 35 aspecto de las figuras 17 y 18. En el aspecto de la figura 18, un valor de bit binario codificado con la informacion de
division en el aparato de codificacion de video es "01111010111100111010011111011111".
[0290] En primer lugar, se extrae y se reconstruye 1 bit del flujo de bits para reconstruir un numero de capas de un nivel 0. Dado que el bit extraido del flujo de bits es 0, se extrae y se reconstruye adicionalmente 1 bit del flujo
40 de bits. Dado que el bit reconstruido en segundo lugar es 1, se termina una reconstruccion del valor de diferencia para el numero de capas del nivel 0. Puesto que el flujo de bits extraido para la reconstruccion del valor de diferencia es "01", el valor de diferencia se convierte en 1, lo que corresponde al numero de 0, y se asigna un valor de 1 generado sumando el valor de diferencia reconstruido 0 y 0 como el numero de capa.
45 [0291] Dado que el numero de capas reconstruido 0 del nivel 0 es mayor que el valor del nivel 0, se generan 4 nodos secundarios incluidos en un nivel 1 en el nodo actual.
[0292] Se extrae 1 bit del flujo de bits para reconstruir un numero de capas de un primer nodo del nivel 1. Ya que el bit extraido en tercer lugar es 1, el valor de diferencia se convierte en 0. El numero de capa 1 del primer nodo
50 se reconstruye sumando el valor de diferencia reconstruido y el numero de capas del nivel 0, que es un nodo
superior del primer nodo del nivel 1. Dado que el numero de capas reconstruido 1 del nivel 1 y el valor del nivel 1 son
iguales entre si, se inicia una decodificacion del valor de diferencia para un segundo nodo del nivel 1.
[0293] Se extrae 1 bit del flujo de bits para reconstruir un numero de capas del segundo nodo del nivel 1. Ya
55 que el bit extraido en cuarto lugar es 1, el valor de diferencia se convierte en 0. El numero de capa 1 del segundo
nodo se reconstruye sumando el valor de diferencia reconstruido y el numero de capas del nivel 0, que es un nodo superior del segundo nodo del nivel 1. Dado que el numero de capas reconstruido 1 del nivel 1 y el valor del nivel 1 son iguales entre si, se inicia una decodificacion del valor de diferencia para un tercer nodo del nivel 1.
[0294] Se extrae 1 bit del flujo de bits para reconstruir un numero de capas del tercer nodo del nivel 1. Ya que el bit extraido en quinto lugar es 1, el valor de diferencia se convierte en 0. El numero de capa 1 del tercer nodo se reconstruye sumando el valor de diferencia reconstruido y el numero de capas del nivel 0, que es un nodo superior del tercer nodo del nivel 1. Dado que el numero de capas reconstruido 1 del nivel 1 y el valor del nivel 1 son iguales
5 entre si, se inicia una decodificacion del valor de diferencia para un cuarto nodo del nivel 1.
[0295] Se extrae 1 bit del flujo de bits para reconstruir un numero de capas del cuarto nodo del nivel 1. Ya que el bit extraido en sexto lugar es 0, se extrae y se reconstruye adicionalmente 1 bit del flujo de bits. Ya que el bit extraido en septimo lugar es 1, se termina la reconstruccion del valor de diferencia para el cuarto nodo del nivel 1.
10 Puesto que el flujo de bits extraido para la reconstruccion del valor de diferencia es "01", el valor de diferencia se convierte en 1, que es el numero de 0, y un numero de capas 2 se reconstruye sumando el valor de diferencia reconstruido y un numero de capas 1 de un nodo superior. Dado que el numero de capas reconstruido 2 tiene un valor mayor de un valor del nivel 1, en el que el nodo actual se incluye, se generan 4 nodos secundarios para el cuarto nodo del nivel 1. Los nodos secundarios generados se incluyen en un nivel 2.
15
[0296] Dado que los numeros de capa de todos los nodos incluidos en el nivel 1 se reconstruyen, los numeros de capa de los nodos incluidos en el nivel 2 se codifican de la misma manera.
[0297] Los nodos incluidos en el nivel 2 son nodos secundarios del cuarto nodo del nivel 1, y los bits extraidos 20 para reconstruir un primer nodo del nivel 2 son "01", que es un octavo bit y un noveno bit. Puesto que un valor de
diferencia entre el primer nodo del nivel 2 y un numero de capas 2 de un nodo superior es 1, un numero de capas del nodo actual es 3. En este caso, ya que el numero de capas reconstruido 3 es mayor de un valor del nivel 2, se generan 4 nodos secundarios. Sin embargo, dado que el valor de capa reconstruido 3 tiene un valor maximo, que puede asignarse a los numeros de capas de division, como se ha descrito anteriormente, los numeros de capa no se 25 decodifican para los 4 nodos recien generados de un nivel 3.
[0298] Los bits extraidos para reconstruir un segundo nodo con respecto a un cuarto nodo del nivel 2 son "111", que corresponde a un decimo bit con respecto a un decimosegundo bit. Dado que los valores de diferencia de los 3 nodos son todos 0, los numeros de capa del segundo, tercer y cuarto nodos del nivel 2 son 2.
30
[0299] Dado que los numeros de capa de todos los nodos incluidos en el nivel 2 se han reconstruido y los numeros de capa de los nodos incluidos en el nivel 3 no estan reconstruidos, la decodificacion del numero de capa se termina y se realiza la decodificacion de informacion que indica el tipo de division para los nodos respectivos del nivel mas bajo.
35
[0300] En el aspecto de las figuras 17 y 18, ya que la informacion que indica el tipo de division se codifica asignando bits binarios "11", "00", "10" y "01" a la informacion que indica el tipo de division, el aparato de decodificacion de video tambien reconstruye la informacion que indica el tipo de division extrayendo 2 bits para los nodos respectivos del flujo de bits de la misma manera.
40
[0301] Puesto que hay 3 nodos incluidos en el nivel 1, 4 nodos incluidos en el nivel 3, y 3 nodos incluidos en el nivel 2 como nodos incluidos en el nivel mas bajo en el aspecto de las figuras 17 y 18, la informacion que indica el tipo de division se reconstruye extrayendo 2 bits para los nodos respectivos del flujo de bits.
45 [0302] Cuando la informacion que indica el tipo de division se decodifica de la misma manera que se describe a traves de la figura 16, los bits extraidos para decodificar los tipos de division de 3 nodos incluidos en el nivel 1 son secuencialmente "00", "11" y "10", de manera que la informacion que indica el tipo de division de un primer nodo del nivel 1 es 1, la informacion que indica el tipo de division de un segundo nodo del nivel 1 es 0, y la informacion que indica el tipo de division de un tercer nodo del nivel 1 es 2.
50
[0303] Puesto que los bits extraidos para decodificar los tipos de division de 4 nodos incluidos en el nivel 3 son secuencialmente "10", "01", "11" y "11", la informacion que indica el tipo de division de un primer nodo del nivel 3 es 2, la informacion que indica el tipo de division de un segundo nodo del nivel 3 es 3, y la informacion que indica el tipo de division de un tercer nodo y un cuarto nodo del nivel 3 es 0, respectivamente.
55
[0304] Puesto que los bits extraidos para decodificar los tipos de division del segundo a cuarto nodos son secuencialmente "01", "11" y "11", la informacion que indica el tipo de division de un segundo nodo del nivel 2 es 3, y la informacion que indica el tipo de division de un tercer nodo y un cuarto nodo del nivel 2 es 0, respectivamente.
[0305] Cuando las formas de los sub-bloques de un macrobloque se determina usando el valor de capa
reconstruido y la informacion que indica el tipo de division, los numeros de capa de los sub-bloques dentro del
macrobloque tienen valores iguales a o mayores de 1, de manera que un macrobloque de 64 x 64 se divide en 4 sub-bloques de tamano 32 x 32. Dado que los numeros de capa del primer al tercer nodos del nivel 1 son 1, el
5 primer al tercer sub-bloques de 32 x 32 dentro del macrobloque tienen uno de los tipos de sub-bloque 32 x 32, 32 x
16, 16 x 32 y 16 x 16, que se incluyen en la capa 1, respectivamente. Ya que la informacion que indica el tipo de division reconstruida del primer sub-bloque de 32 x 32 es 1, el primer sub-bloque de 32 x 32 se divide en 2 sub- bloques de tamano 32 x 16. Ya que la informacion que indica el tipo de division reconstruida del segundo sub-bloque de 32 x 32 es 0, el segundo sub-bloque de 32 x 32 se divide en 1 sub-bloques de tamano 32 x 32. De la misma
10 manera, ya que la informacion que indica el tipo de division reconstruida del tercer sub-bloque de 32 x 32 es 2, el tercer sub-bloque de 32 x 32 se divide en 2 sub-bloques de tamano 16 x 32.
[0306] Ya que una numero de capa reconstruido de un cuarto nodo del nivel 1 correspondiente a un cuarto sub-bloque de 32 x 32 es 2, el cuarto sub-bloque de 32 x 32 se divide en 4 sub-bloques de tamano 16 x 16, y sub-
15 bloques de 16 x 16 que tienen un numero de capas mayor de 2 entre los sub-bloques divididos 16 x 16 correspondientes a 4 nodos del nivel 2 se dividen una o mas veces para tener una capa superior. Aqul, ya que un numero de capa reconstruido de un primer nodo del nivel 2 es 3, el primer sub-bloque de 16 x 16 se divide de nuevo en 4 sub-bloques de tamano 8 x 8.
20 [0307] Posteriormente, los tipos de sub-bloque de los sub-bloques respectivos se determinan de acuerdo con la informacion que indica el tipo de division de los sub-bloques respectivos, que se ilustran en la figura 17.
B-2-2-3) Metodo de Decodificacion de la Informacion de Division 3
25 [0308] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el tercer metodo de codificacion de la informacion de division.
30
[0309] De acuerdo con el tercer metodo, la informacion de division de bloque puede decodificarse decodificando los valores de capa de division y los indicadores de division.
[0310] En primer lugar, los valores de capa de division se extraen y se reconstruyen del flujo de bits y despues un macrobloque se divide de acuerdo con el valor de capa de division. Por ejemplo, cuando el tamano de un
N N
macrobloque es N x N y el valor de capa de division reconstruido es x, el macrobloque se divide en —x— sub-
2x 2x
35
bloques.
[0311]
Posteriormente, cuando un indicador de division reconstruido extrayendo y reconstruyendo el indicador
NN
de division del flujo de bits tiene un valor (por ejemplo, 0) que indica que todos los sub-bloques —x— dentro del
2x 2x
40
macrobloque no estan divididos en sub-bloques mas pequenos, se termina una decodificacion de la informacion de division de macrobloque.
[0312]
NN
Cuando el indicador de division tiene un valor (por ejemplo, 1) que indica que uno o mas —x— sub-
2x 2x
bloques dentro el macrobloque se dividen en sub-bloques mas pequenos, el valor de la capa de division y los indicadores de division de los sub-bloques respectivos se extraen y se reconstruyen del flujo de bits de acuerdo con un orden de barrido raster de la misma manera.
45
[0313] En lo sucesivo en el presente documento, se describe un metodo de decodificacion del aspecto de la figura 20. En el aspecto de la figura 20, el valor de la capa de division y el indicador de division codificado con la informacion de division en el aparato de codificacion de video son {1, 1, 0, 2, 0, 1, 1, 0, 0, 0, 2, 3}.
50 [0314] En primer lugar, un valor de la capa de division se extrae del flujo de bits, y un valor de capa de division 1 y un indicador de division 1 se decodifican. Puesto que el valor de la capa de division es 1, un macrobloque de 64 x 64 se divide en 4 sub-bloques de tamano 32 x 32.
[0315] Puesto que el indicador de division decodificado es 1, un valor de capa de division y un indicador de
division se decodifican continuamente para cada sub-bloque de 32 x 32.
[0316] Dado que un valor de capa de division de un primer sub-bloque 32 x 32 es 0, puede deducirse que el primer sub-bloque de 32 x 32 no esta dividido en sub-bloques mas pequenos. En este caso, un indicador de division
5 no se decodifica del flujo de bits.
[0317] Un valor de la capa de division de un segundo sub-bloque de 32 x 32 se extrae y se decodifica del flujo de bits. Puesto que el valor de la capa de division reconstruido es 2, el sub-bloque de 32 x 32 se divide en 16 sub- bloques de tamano 8 x 8 y un indicador de division se extrae y se decodifica posteriormente del flujo de bits. Ya que
10 el indicador de division reconstruido es 0, puede deducirse que los 16 sub-bloques dentro del segundo sub-bloque de 32 x 32 no estan divididos en sub-bloques mas pequenos y un valor de capa de division de un tercer sub-bloque de 32 x 32 se extrae y se decodifica del flujo de bits.
[0318] Puesto que el valor de la capa de division reconstruido es 1, el sub-bloque de 32 x 32 se divide en 4 15 sub-bloques de tamano 16 x 16 y un indicador de division se decodifica del flujo de bits. Dado que el indicador de
division decodificado es 1, puede deducirse que uno o mas sub-bloques de 16 x 16 se dividen en sub-bloques mas pequenos y un valor de capa de division y un indicador de division se decodifican para cada sub-bloque de 16 x 16.
[0319] De la misma manera, el valor de la capa de division se extrae y se reconstruye del flujo de bits para 20 cada sub-bloque de 16 x 16. Despues, cuando el valor de la capa de division no es 0, un indicador de division se
extrae y se reconstruye del flujo de bits.
[0320] Puede deducirse a partir del aspecto que se ha descrito anteriormente que los valores de capa de division del primer al tercer sub-bloques de 16 x 16 son todos 0 y el valor de la capa de division del cuarto sub-
25 bloque de 16 x 16 es 2.
[0321] Dado que el valor de la capa de division del cuarto sub-bloque de 16 x 16 es 2, el sub-bloque de 16 x 16 se divide en 16 sub-bloques de tamano 4 x 4. Sin embargo, en este caso, un indicador de division no se decodifica porque cada sub-bloque de 4 x 4 no puede dividirse en sub-bloques mas pequenos aunque el valor de
30 capa reconstruido no sea 0.
[0322] Posteriormente, el valor de la capa de division del cuarto sub-bloque de 32 x 32 se extrae y se decodifica del flujo de bits. En este caso, ya que el valor de la capa de division reconstruido es 3, el sub-bloque de 32 x 32 se divide en 64 sub-bloques de tamano 4 x 4, y la decodificacion de la informacion de division se termina
35 porque un tamano de sub-bloque dividido es un tamano de bloque mlnimo.
[0323] El valor de capa de division y el indicador de division que se han mencionado anteriormente se extraen y se decodifican del flujo de bits, y el valor de la capa de division se decodifica usando un metodo predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video entre diversos metodos de codificacion
40 binaria, tales como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0324] Como alternativa, el valor de la capa de division puede decodificarse usando metodos tales como una codificacion aritmetica binaria, una codificacion Huffman, etc.
45 [0325] Como alternativa, un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video puede decodificarse usando los diversos metodos de codificacion/decodificacion binaria que se han mencionado anteriormente.
[0326] El indicador de division se usa para determinar si el sub-bloque actual se divide en sub-bloques mas 50 pequenos extrayendo y decodificando 1 bit del flujo de bits.
B-2-2-4) Metodo de Decodificacion de la Informacion de Division 4
[0327] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el 55 cuarto metodo de codificacion de la informacion de division.
[0328] El cuarto metodo de decodificacion de la informacion de division es similar al primer metodo de decodificacion de la informacion de division. Sin embargo, la informacion que indica el tipo de division se extrae y se decodifica continuamente del flujo de bits hasta que la informacion que indica el tipo de division de todos los sub-
bloques tiene un valor (por ejemplo, 0) que indica que el sub-bloque no esta dividido en sub-bloques mas pequenos o un tamano de un sub-bloque dividido del bloque actual de acuerdo con la informacion que indica el tipo de division es un tamano de sub-bloque mlnimo.
5 [0329] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el aspecto de las figuras 21 y 22. De acuerdo con el aspecto de la figura 22, la informacion que indica el tipo de division codificada con la informacion de division en el aparato de codificacion de video es {1, 1, 0, 0, 2, 0, 0}.
[0330] Dado que la informacion que indica el tipo de division reconstruida en primer lugar es 1, un 10 macrobloque de 64 x 64 se divide en 2 sub-bloques de tamano 64 x 32 (L1-P0 y L1-P1), y la informacion que indica
el tipo de division de un primer sub-bloque de 64 x 32 se extrae y se reconstruye del flujo de bits.
[0331] Dado que la informacion que indica el tipo de division reconstruida en segundo lugar es 1, el sub- bloque de 64 x 32 se divide en 2 sub-bloques de tamano 64 x 16 (L2-P0 y L2-P1), y la informacion que indica el tipo
15 de division de un primer sub-bloque 64 x 16 (L2-P0) se extrae y se reconstruye del flujo de bits.
[0332] Dado que la informacion que indica el tipo de division reconstruida en tercer lugar es 0, el sub-bloque de 64 x 16 que corresponde al sub-bloque L2-P0 no esta dividido en sub-bloques mas pequenos, y la informacion que indica el tipo de division del sub-bloque L2-P1, que es un sub-bloque posterior del sub-bloque L2-P0, se extrae y
20 se reconstruye del flujo de bits.
[0333] Dado que la informacion que indica el tipo de division reconstruida en cuarto lugar es 0, el sub-bloque de 64 x 16 no esta dividido en sub-bloques mas pequenos. Dado que la informacion de division de los sub-bloques incluidos en L2 se ha reconstruido totalmente, la informacion que indica el tipo de division del sub-bloque L1-P1 se
25 extrae y se reconstruye del flujo de bits.
[0334] Dado que la informacion que indica el tipo de division reconstruida en quinto lugar es 2, el sub-bloque de 64 x 32 correspondiente al sub-bloque L1-P1 se divide en 2 sub-bloques de tamano 32 x 32 (L2-P0 y L2-P1), y la informacion que indica el tipo de division de un primer sub-bloque 32 x 32 (L2-P0) se extrae y se reconstruye del
30 flujo de bits.
[0335] Dado que la informacion que indica el tipo de division reconstruida en sexto lugar es 0, el sub-bloque de 32 x 32 correspondiente al sub-bloque L2-P0 no esta dividido en sub-bloques mas pequenos, y la informacion que indica el tipo de division del sub-bloque L2-P1, que es un sub-bloque posterior del sub-bloque L2-P0, se extrae y
35 se reconstruye del flujo de bits.
[0336] Dado que la informacion que indica el tipo de division reconstruida en septimo lugar es 0, el sub-bloque de 32 x 32 correspondiente al sub-bloque L2-P1 no esta dividido en sub-bloques mas pequenos. Dado que los tipos de bloque de todos los sub-bloques dentro del macrobloque se han determinado, la decodificacion de la informacion
40 de division se termina.
[0337] En este caso, la informacion que indica el tipo de division se codifica por entropla mediante un metodo predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video entre metodos de codificacion/decodificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion 45 Huffman, etc.
[0338] Adicionalmente, un valor real de la informacion que indica el tipo de division puede decodificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb exponencial, etc.
50
[0339] Ademas, el aparato de decodificacion de video realiza una decodificacion de entropia usando las Tablas 1 y 2 de acuerdo con los numeros de capas de la informacion que indica el tipo de division cuando el aparato de codificacion de video usa una codificacion aritmetica binaria, usa la Tabla 1 en un caso en el que un numero de
capas es igual a o menor de log2
N_
16
y usa la Tabla 2 en un caso en el que el numero de capas sea mayor de
55
io4 N
como el metodo de codificacion de la informacion que indica el tipo de division.
[0340] Por ejemplo, cuando la informacion que indica el tipo de division incluida en una capa 1 se codifica por entropla para un macrobloque de 64 x 64, se decodifican por entropla 2 bits y entonces la informacion que indica el tipo de division se obtiene usando la Tabla 1.
5 [0341] Cuando la informacion que indica el tipo de division incluida en una capa 3 se codifica por entropla para el macrobloque de 64 x 64, se usa la Tabla 2. En primer lugar, se decodifica por entropla 1 bit. Despues, cuando un bit binario decodificado es 1, la informacion que indica el tipo de division se ajusta a 0 y se termina una decodificacion de entropla de la informacion que indica el tipo de division del sub-bloque actual. Cuando el bit binario decodificado no es 1, se decodifica por entropla adicionalmente 1 bit del flujo de bits. Cuando un bit decodificado en
10 segundo lugar es 0, la informacion que indica el tipo de division del sub-bloque actual se ajusta a 1 y se termina una decodificacion de entropla para la informacion que indica el tipo de division del sub-bloque actual. Cuando el bit decodificado en segundo lugar es 1, se decodifica por entropla adicionalmente 1 bit del flujo de bits y se termina si la informacion que indica el tipo de division del sub-bloque actual es 2 o 3 usando la Tabla 2.
15 [0342] Adicionalmente, cuando se predispone entre el aparato de codificacion de video y el aparato de decodificacion de video que se usan tipos de division de acuerdo con otro aspecto de la presente divulgacion que se muestra en la figura 34, puede determinarse si el sub-bloque actual se divide en 4 sub-bloques decodificando por entropia 1 bit para la decodificacion de la informacion que indica el tipo de division.
20 B-2-3) Diagrama de Flujo de la Decodificacion
[0343] La figura 25 es un diagrama de flujo para ilustrar un metodo de decodificacion de video de acuerdo con otro aspecto de la presente divulgacion.
25 [0344] De acuerdo con el metodo de decodificacion de video de acuerdo con otro aspecto de la presente divulgacion, el aparato de decodificacion de video 2400 reconstruye la informacion de division de un bloque actual decodificando los datos de informacion de division del flujo de bits usando los metodos de decodificacion de acuerdo con los aspectos que se han mencionado anteriormente en la etapa S2510, y reconstruye el bloque actual dividido en una pluralidad de sub-bloques realizando una codificacion predictiva sobre los datos de imagen codificados
30 extraidos del flujo de bits de acuerdo con la informacion de division del bloque actual reconstruido en la etapa S2520.
[0345] Como se ha descrito anteriormente, de acuerdo con otro aspecto de la presente divulgacion, incluso cuando un macrobloque que tiene un tamano de bloque igual a o mayor que un tamano de 16 x 16 se divide en
35 diversos tamanos de sub-bloques, la eficiencia de la compresion puede mejorarse codificando la informacion de division de macrobloque con el pequeno numero de bits usando un tipo de division para cada capa o un valor de la capa de division.
C) Codificacion y Decodificacion de la Informacion de la Capa de Division Maxima
40
[0346] En lo sucesivo en el presente documento, como otro aspecto de la presente divulgacion, se describen un aparato y un metodo para determinar una capa de division maxima que indica el numero de capas mediante las cuales un macrobloque que tiene tamano arbitrario puede dividirse como maximo para dividir eficientemente la informacion, dividiendo el macrobloque en una pluralidad de sub-bloques para la prediccion o la transformada
45 usando la capa de division maxima determinada, y despues codificando y decodificando eficientemente la informacion de division usando la capa de division maxima. Aqui, un tamano de sub-bloque minimo disponible dentro del macrobloque puede determinarse por la capa de division maxima, y una imagen se codifica usando unicamente sub-bloques que tienen un tamano igual o mayor de un tamano correspondiente en la codificacion del macrobloque.
50
[0347] La capa de division maxima puede ser informacion que indica un tamano de sub-bloque minimo que puede usarse para la prediccion o la transformada y codificarse en el encabezado de la secuencia, el encabezado de cada imagen, el encabezado de un segmento, o el encabezado de un macrobloque. Adicionalmente, la informacion de la capa de division maxima para la prediccion y la informacion de la capa de division maxima para la
55 transformada pueden codificarse, respectivamente.
[0348] Ademas, la informacion de division puede ser informacion que indica los tamanos y formas de los sub- bloques divididos para la prediccion o la transformada. La informacion de division y los datos de imagen codificados se incluyen en el flujo de bits y se codifican, y despues se transmiten al aparato de decodificacion de video. Ademas,
la informacion de division para la prediccion y la information de division para la transformada pueden codificarse, respectivamente.
[0349] En la decodificacion, los tamanos y formas de los sub-bloques se reconstruyen extrayendo y 5 decodificando los datos de la capa de division maxima del flujo de bits y despues extrayendo y decodificando la
informacion de division de los sub-bloques para la prediccion o la transformada usando la capa de division maxima reconstruida. Posteriormente, una imagen se reconstruye a traves de la prediccion o la transformada inversa extrayendo y reconstruyendo los datos codificados de los sub-bloques respectivos del flujo de bits.
10 C-1) Aparato de Codification de Video
C-1-1) Aparato de Codificacion
[0350] La figura 26 es un diagrama de bloques esquematico para ilustrar un aparato de codificacion de video 15 de acuerdo con otro aspecto mas de la presente divulgation.
[0351] El aparato de codificacion de video 2600 de acuerdo con otro aspecto mas de la presente divulgacion puede incluir un codificador de video 2610, un determinador de la capa de division maxima 2620, y un codificador de la capa de division maxima 2630.
20
[0352] El codificador de video 2610 puede implementarse como el aparato de codificacion de video 800 de acuerdo con un aspecto de la presente divulgacion descrito a traves de la figura 8. Es decir, el codificador de video 2610 genera informacion de division codificada y datos de imagen realizando una codificacion predictiva usando sub-bloques de acuerdo con tipos de division predeterminados de un macrobloque. En este caso, el codificador de
25 video 2610 puede determinar los tipos de division usando un tamano de sub-bloque minimo de acuerdo con un valor de la capa de division maxima determinado por el determinador de la capa de division maxima 2620 en la determination de los tipos de division del macrobloque. Adicionalmente, el codificador de video 2610 codifica la informacion de division usando una capa de division maxima en la codificacion de la informacion de division.
30 [0353] El determinador de la capa de division maxima 2620 determina un tipo de division de un bloque actual usando un tamano de sub-bloque minimo de acuerdo con los candidatos del valor de la capa de division maxima, y determina un valor de la capa de division maxima del bloque actual usando un coste de codificacion generado en una codificacion. En este caso, un tipo de division del bloque actual se determina usando el tamano de sub-bloque minimo de acuerdo con los candidatos del valor de la capa de division maxima, y el coste de codificacion generado 35 en la codificacion puede calcularse por el propio determinador de la capa de division maxima 2620. Sin embargo, si el determinador de la capa de division maxima 2620 designa los candidatos del valor de la capa de division maxima, el codificador de video 2610 determina el tipo de division del bloque actual usando el tamano de sub-bloque minimo de acuerdo con un candidato del valor de la capa de division correspondiente, calcula los costes de codificacion generados en la codificacion para transmitir los costes de codificacion al determinador de la capa de division maxima 40 2620. Despues, el determinador de la capa de division maxima 2620 puede determinar el valor de la capa de division maxima del bloque actual usando los costes de codificacion transmitidos. Una vez que el valor de la capa de division maxima del bloque actual se determina, el codificador de video 2610 incluye una imagen ya codificada en el valor de la capa de division maxima correspondiente en el flujo de bits. Un metodo en el que el determinador de la capa de division maxima 2620 determina el valor de la capa de division maxima y, por consiguiente, determina el tamano de 45 sub-bloque minimo se analizara en la siguiente description en detalle.
[0354] El codificador de la capa de division maxima 2630 genera datos de la capa de division maxima codificados codificando el valor de la capa de division maxima, e incluye los datos generados en el flujo de bits.
50 C-1-2) Relation Entre la Capa de Division y el Tamano de Sub-bloque Minimo
[0355] El tamano de macrobloque, el tamano de sub-bloque minimo y la capa de division maxima (MaxLayer) que corresponde a un valor de capa, que puede usarse como maximo, pueden ajustarse usandose entre si.
55 [0356] Es decir, el tamano de un macrobloque puede obtenerse usando la capa de division maxima (MaxLayer) y el tamano de bloque minimo, y el tamano de sub-bloque minimo puede obtenerse usando el tamano de un macrobloque y la capa de division maxima.
[0357] Cuando el tamano de sub-bloque minimo es N x N, el tamano de bloque maximo
(Nx2MaxLayer)x(Nx2MaxLayer). En un caso del macrobloque de un N x N plxeies, el tamano de bloque mlnimo es (N/(2MaxLayer)) x (N/(2MaxLayer)).
[0358] La figura 27 es un diagrama ejemplar para ilustrar la relacion entre la capa de division y el tamano de 5 sub-bloque mlnimo de acuerdo con otro aspecto mas de la presente divulgacion.
[0359] Haciendo referencia a la figura 27, cuando el tamano de un macrobloque es M x N y un valor de capa
N N
de division es x, un tamano de sub-bloque mlnimo disponible es —x— . Por ejemplo, cuando un valor de capa de
2x 2x
division de un macrobloque que tiene un tamano de bloque de 64 x 64, un tamano de sub-bloque mlnimo disponible 10 es 4 x 4. Aqul, el valor de la capa de division se aplica de forma diferente para un anchura y una altura, es decir, M y N del macrobloque que tiene el tamano de bloque de M x N.
[0360] Por consiguiente, el determinador de la capa de division maxima 2620 puede determinar un tamano de sub-bloque mlnimo determinando un valor de la capa de division maxima para el macrobloque. Para este fin, el 15 determinador de la capa de division maxima 2620 calcula los costes de codificacion para los valores de la capa de division candidatos y puede determinar un valor de la capa maxima usando los costes de codificacion para los valores de la capa de division candidatos. En lo sucesivo en el presente documento, se describe un metodo para determinar un valor de la capa de division maxima para el macrobloque en base a un supuesto de que el tamano de un macrobloque es M x N (M es un numero entero igual a o mayor de 16).
20
C-1-3) Metodo de Determinacion de la Capa de Division Maxima
[0361] La figura 28 es un diagrama de flujo para ilustrar un ejemplo de un metodo para determinar un valor de la capa de division maxima de acuerdo con otro aspecto mas de la presente divulgacion.
25
[0362] El determinador de la capa de division maxima 2620 ajusta un valor inicial de x, que es un candidato del valor de la capa de division maxima, con respecto a log2(M/16) en la etapa S2810, determina un tipo de division del macrobloque usando un tamano de sub-bloque mlnimo (M/2x)x(M/2x) cuando el candidato del valor de la capa de division maxima es x y calcula los costes de codificacion (en lo sucesivo en el presente documento, denominado
30 como "xcost") cuando un fotograma (fotograma arbitrario) de una imagen se codifica de acuerdo con el tipo de division determinado en la etapa S2820, determina un tipo de division del macrobloque usando un tamano de sub- bloque mlnimo (M/2x+1)x(M/2x+1) cuando el candidato del valor de la capa de division maxima es x+1 y calcula los costes de codificacion (en lo sucesivo en el presente documento, denominado como "x+1cost") cuando el fotograma arbitrario se codifica en la etapa S2830, y compara xcost y x+1 cost para determinar si xcost es menor que x+1 cost
35 en la etapa S2840.
[0363] Como resultado de la determinacion de la etapa S2840, cuando xcost es menor que x+1 cost, el determinador de la capa de division maxima 2620 determina x como el valor de la capa de division maxima en la etapa S2850. Como resultado de la determinacion de la etapa S2840, cuando xcost es igual a o mayor que x+1 cost, 40 el determinador de la capa de division maxima 2620 determina si x+1 es log2(M/4) en la etapa S2860. Cuando x+1 no es log2(M/4), el determinador de la capa de division maxima 2620 ajusta x a x+1 en la etapa S2870 y avanza hasta la etapa S2820. Cuando x+1 es log2(M/4), el determinador de la capa de division maxima 2620 determina x+1 como el valor de la capa de division maxima en la etapa S2880.
45 [0364] La figura 29 es un diagrama de flujo para ilustrar otro ejemplo del metodo para determinar el valor de la capa de division maxima de acuerdo con otro aspecto de la presente divulgacion.
[0365] El determinador de la capa de division maxima 2620 ajusta un valor inicial de x, que es un candidato del valor de la capa de division maxima, a log2(M/16) en la etapa S2910, determina un tipo de division del 50 macrobloque usando un tamano de sub-bloque mlnimo (M/2x)x(M/2x) cuando el candidato del valor de la capa de division maxima es x y calcula los costes de codificacion (en lo sucesivo en el presente documento, denominado como "xcost") cuando un fotograma (fotograma arbitrario) de una imagen se codifica de acuerdo con el tipo de division determinado en la etapa S2920, determina un tipo de division del macrobloque usando un tamano de sub- bloque mlnimo (M/2x+1)x(M/2x+1) cuando el candidato del valor de la capa de division maxima es x+1 y calcula los 55 costes de codificacion (en lo sucesivo en el presente documento, denominado como "x+1cost") cuando el fotograma arbitrario se codifica en la etapa S2930, y compara xcost y x+1 cost para determinar si xcost es menor que x+1 cost en la etapa S2940.
[0366] Como resultado de la determinacion de la etapa S2940, cuando xcost es igual a o mayor que x-1 cost, el determinador de la capa de division maxima 2620 ajusta x a x-1 en la etapa S2950 y avanza hasta la etapa S2920. Cuando xcost es menor que x-1 cost, el determinador de la capa de division maxima 2620 determina x como
5 el valor de la capa de division maxima en la etapa S2960.
[0367] El determinador de la capa de division maxima 2620 puede determinar el valor de la capa de division maxima usando no solo los metodos descritos a traves de las figuras 28 y 29, sino tambien otros metodos. Es decir, aun como otro ejemplo de determinacion del valor de la capa de division maxima, el determinador de la capa de
10 division maxima 2620 calcula un coste de codificacion para cada candidato del valor de la capa de division maxima disponible para el macrobloque y puede determinar un candidato del valor de la capa de division maxima que tiene un coste de codificacion menor que el valor de la capa de division maxima comparando los costes de codificacion calculados entre si.
15 C-1-4) Metodo de Codificacion de la Informacion de Division
[0368] En lo sucesivo en el presente documento, se describe un metodo de codificacion de la informacion de division usando el valor de la capa de division maxima de acuerdo con otro aspecto mas de la presente divulgacion.
20 [0369] Como se ha descrito anteriormente, una vez que se determina el valor de la capa de division maxima, que indica el numero total de capas, se determinan las capas de division disponibles en el macrobloque. Sin embargo, las capas, no se usan, pueden existir en las capas de division disponibles determinadas. En este caso, puede no ser necesario codificar la informacion que indica el tipo de division para las capas, que no se usan.
25 [0370] Por lo tanto, de acuerdo con otro aspecto mas de la presente divulgacion, la informacion sobre las capas de division seleccionadas que se van a usar entre las capas de division disponibles determinadas por el valor de la capa de division maxima puede incluirse en el flujo de bits, y la informacion de division del bloque actual puede codificarse usando unicamente las capas de division seleccionadas cuando la informacion sobre si las capas respectivas estan disponibles se transmite al flujo de bits. En el metodo de codificacion de la informacion de division
30 de bloques, pueden usarse diversos metodos de codificacion de informacion de division que se han mencionado anteriormente.
[0371] Cuando el tamano de un macrobloque es 64 x 64 y un valor de la capa de division maxima es 2, las capas 0 y 1 son capas disponibles y las capas 2 y 3 son capas que no estan disponibles. Por consiguiente, el
35 macrobloque puede dividirse en sub-bloques de tamanos de 64 x 64, 64 x 32, 32 x 64 y 32 x 32, que corresponden a un tipo de sub-bloque incluido en la capa 0, y los sub-bloques de tamanos de 32 x 32, 32 x 16, 16 x 32 y 16 x 16, que corresponden a un tipo de sub-bloque incluido en la capa 1. Sin embargo, el macrobloque no puede estar dividido en sub-bloques de tamanos de 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8 y 4 x 4, que corresponden a tipos de sub- bloques incluidos en las capas 2 y 3. Es decir, los sub-bloques respectivos de 16 x 16 no pueden estar divididos en
40 sub-bloques mas pequenos.
[0372] En este caso, el numero de bits requerido para una codificacion de la informacion de division puede reducirse transmitiendo el valor de la capa de division maxima al flujo de bits y usando el valor de la capa de division maxima. El aparato de decodificacion de video extrae y reconstruye el valor de la capa de division maxima del flujo
45 de bits, ajusta todas las capas superiores de la capa de division maxima reconstruida como capas disponibles, y ajusta las capas inferiores de la capa de division maxima reconstruida como capas no disponibles. Despues, el aparato de decodificacion de video decodifica la informacion de division usando la informacion establecida.
[0373] Como alternativa, cuando los tipos de sub-bloques incluidos en una capa especifica no se usan, un
50 macrobloque de, por ejemplo, un tamano de 64 x 64, se divide en 4 sub-bloques de tamano 32 x 32. Cuando los
sub-bloques respectivos de 32 x 32 se dividen todos en sub-bloques que tienen un tamano igual a o menor de un tamano de 16 x 16, puede deducirse que los tipos de sub-bloque de los sub-bloques incluidos en la capa 1 no se usan, y la capa 1 puede seleccionarse como la capa no disponible.
55 [0374] En este caso, es posible reducir el numero de bits requerido para la codificacion de la informacion de division codificando la informacion sobre si las capas respectivas estan disponibles en el flujo de bits. El aparato de decodificacion de video extrae y reconstruye la informacion sobre si las capas respectivas estan disponibles del flujo de bits, y despues decodifica la informacion de division usando la informacion reconstruida sobre si las capas respectivas estan disponibles.
[0375] Como se ha descrito anteriormente, de acuerdo con otro aspecto mas de la presente divulgacion, la information de division puede codificarse codificando el valor de la capa de division maxima en el flujo de bits y usando unicamente capas de division disponibles determinadas por el valor de la capa de division maxima.
5
[0376] Como alternativa, la informacion de division puede codificarse incluyendo y codificando informacion sobre si las capas respectivas estan disponibles entre las capas de division disponibles determinadas por el valor de la capa de division maxima en el flujo de bits y usando unicamente las capas de division disponibles.
10 [0377] El valor de la capa de division maxima y/o la informacion de indicador sobre si las capas de division respectivas estan disponibles pueden incluirse y codificarse en el encabezado de la secuencia, el encabezado de cada imagen, o el encabezado de segmento.
[0378] En este caso, el valor de la capa de division maxima puede codificarse usando una codification de 15 compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc., y diversos
metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0379] En el metodo de codificacion de la informacion que indica si las capas respectivas estan disponibles, 20 un indicador que tiene una longitud de bit de 1 que indica si cada capa esta disponible puede codificarse usando
metodos tales como una codificacion aritmetica binaria, una codificacion Huffman, etc.
[0380] Como alternativa, se dispone un Indice de una tabla en la que se dispone informacion que indica si las capas respectivas estan disponibles. En este caso, el Indice de la tabla puede codificarse usando diversos metodos
25 de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0381] Como alternativa, un indicador de capa para una capa usada se ajusta a 1, un indicador de capa para una capa no usada se ajusta a 0, y un valor entero que permite un bit menos significativo (LSB, Least Significant Bit) para indicar si una capa superior esta disponible. Despues, el valor entero generado puede codificarse usando
30 diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0382] Adicionalmente, el valor entero puede generarse configurando un indicador de capa para una capa usada a 0, un indicador de capa para una capa no usada a 1, y que permite el bit menos significativo (LSB) para
35 indicar si la capa superior esta disponible.
[0383] La figura 30 es un diagrama ejemplar para ilustrar un proceso de codificacion de la informacion de division del bloque actual usando unicamente capas de division seleccionadas de acuerdo con otro aspecto mas de la presente divulgacion. La figura 30 ilustra un ejemplo de codificacion de la informacion de division del bloque
40 codificando la capa de division maxima y/o la informacion que indica si las capas respectivas estan disponibles, codificando el valor de la capa de division maxima y los datos (indicador de capa) que indican si las capas respectivas estan disponibles usando la informacion a traves de diversos metodos de codificacion de la informacion de division, y despues codificando la informacion que indica el tipo de division usando la informacion.
45 [0384] En la figura 30, cuando se asume que el tamano de un macrobloque es 64 x 64, una capa de division maxima es 4, las capas 0 y 3 estan disponibles, y las capas 1 y 2 no estan disponibles, el macrobloque puede dividirse en sub-bloques de tamanos de 64 x 64, 64 x 32, 32 x 64 y 32 x 32, que corresponden a un tipo de sub- bloque incluido en la capa 1. Cuando el macrobloque se divide en sub-bloques de tamano 32 x 32, cada sub-bloque de 32 x 32 puede dividirse en sub-bloques de tamanos de 8 x 8, 8 x 4, 4 x 8 y 4 x 4, que corresponden a un tipo de 50 sub-bloque incluido en la capa 3. Es decir, cuando el sub-bloque de 32 x 32 se divide de acuerdo con informacion que indica el tipo de division que se muestra en la figura 10, el sub-bloque de 32 x 32 se divide en 16 sub-bloques de tamano 8 x 8.
[0385] Despues de que un valor de la capa de division maxima 4 se codifica en primer lugar usando el metodo 55 que se ha mencionado anteriormente de codificacion del valor de la capa de division maxima, un indicador de capa para una capa usada se ajusta a 1, un indicador de capa para una capa no usada se ajusta a 0, y un indicador de 1 bit que indica si cada capa esta disponible se codifica. De acuerdo con el aspecto de la figura 30, un indicador de capa disponible se codifica en "1001" de una capa superior a una capa inferior.
[0386] Posteriormente, la informacion de division de macrobloque se codifica usando los diversos metodos de codificacion de la informacion de division que se han mencionado anteriormente. El aspecto de la figura 30 muestra un metodo que usa el metodo de codificacion de la informacion que indica el tipo de division, que es el primer metodo entre los metodos de codificacion de la informacion de division, en base a los tipos de sub-bloques
5 mostrados en la figura 10.
[0387] Aqul, cuando un bloque N x N de un numero de capa K se divide en 4 sub-bloques, un metodo de asignacion de un numero de capas a los sub-bloques divididos es diferente dependiendo de si las capas respectivas estan disponibles. Si una capa K+1 esta disponible, se asigna un numero de capa K+1 a los sub-bloques. Si la capa
10 K+1 no esta disponible, se asigna el numero de capa K a los sub-bloques.
[0388] Por ejemplo, cuando el tamano de un macrobloque es 64 x 64, puede determinarse un sub-bloque de 32 x 32 como un tipo de sub-bloque incluido en una capa 0 o determinarse como un tipo de sub-bloque incluido en una capa 1. En este caso, cuando la capa 1 es una capa disponible, el sub-bloque de 32 x 32 se asigna con un
15 numero de capa 1. Cuando la capa 1 no esta disponible, el sub-bloque de 32 x 32 se asigna con un numero de capa 0.
[0389] Ya que el macrobloque se divide en 4 sub-bloques, en primer lugar se codifica la informacion que indica el tipo de division 3 y la informacion que indica el tipo de division de los 4 sub-bloques de tamano 32 x 32 se
20 codifica.
[0390] Ya que un primer sub-bloque de 32 x 32 (L0-P0) no esta dividido, la informacion que indica el tipo de division 0 se codifica, y la informacion que indica el tipo de division de un segundo sub-bloque de 32 x 32 (L0-P1) se codifica.
25
[0391] Ya que el segundo sub-bloque de 32 x 32 (L0-P1) se divide en 16 sub-bloques de tamano 8 x 8 (L2-P0 a L2-P14), la informacion que indica el tipo de division 3 se codifica. Aqul, el sub-bloque de 8 x 8 puede ser un bloque 8 x 8 incluido en una capa 2 o puede ser un sub-bloque incluido en la capa 3, y se asigna un numero de capa 3 porque la capa 2 no esta disponible.
30
[0392] Posteriormente, la informacion que indica el tipo de division de 16 sub-bloques de tamano 8 x 8 dentro del sub-bloque L0-P0 esta codificada en su totalidad, y la informacion que indica el tipo de division de un tercer sub- bloque de 32 x 32 (L0-P2) se codifica.
35 [0393] Ya que el tercer sub-bloque de 32 x 32 (L0-P2) se divide en 16 sub-bloques de tamano 8 x 8 (L2-P0 a L2-P15), la informacion que indica el tipo de division 3 se codifica, la informacion que indica el tipo de division de 16 sub-bloques de tamano 8 x 8 dentro del sub-bloque L0-P2 se codifica en su totalidad, y la informacion que indica el tipo de division 0 de un cuarto sub-bloque de 32 x 32 (L0-P2) se codifica.
40 [0394] Por consiguiente, el aparato de codificacion de video 2600 de acuerdo con otro aspecto mas de la presente divulgacion puede codificar la informacion de division de un macrobloque correspondiente codificando los indicadores de capa y la informacion que indica el tipo de division para los numeros de division para las capas respectivas.
45 C-1-5) Diagrama de Flujo de la Codificacion
[0395] La figura 31 es un diagrama de flujo para ilustrar un metodo de codificacion de video de acuerdo con otro aspecto mas de la presente divulgacion.
50 [0396] De acuerdo con el metodo de codificacion de video de acuerdo con otro aspecto mas de la presente divulgacion, el aparato de codificacion de video 2600 genera una capa de division maxima y/o datos que indican si las capas de division respectivas estan disponibles determinando y codificando un valor de la capa de division maxima y/o la informacion que indica si las capas de division respectivas estan disponibles en la etapa S3110, realizando una codificacion predictiva en un bloque actual usando un tamano de sub-bloque minimo determinado de 55 acuerdo con un valor de la capa de division maxima y sub-bloques determinados de acuerdo con si las capas respectivas estan disponibles en la etapa S3120, y genera una capa de division maxima codificada y/o un flujo de bits que incluye datos que indican si las capas respectivas estan disponibles y datos de imagen codificados en la etapa S3130. El flujo de bits generado como se ha descrito anteriormente se transmite al aparato de decodificacion de video y se decodifica.
[0397] El aparato de codificacion de video 2600 puede determinar un valor de la capa de division maxima usando costes de codificacion para los candidatos del valor de la capa de division maxima en la etapa S3110. El aparato de codificacion de video 2600 puede determinar el valor de la capa de division maxima aumentando o
5 disminuyendo los valores de los candidatos del valor de la capa de division maxima. Adicionalmente, el aparato de codificacion de video 2600 puede determinar un candidato del valor de la capa de division maxima que tiene el coste de codificacion menor que el valor de la capa de division maxima comparando los costes de codificacion de los candidatos del valor de la capa de division maxima respectivos.
10 C-2) Decodificador
C-2-1) Diagrama de Bloques y Description del Aparato de Decodificacion de Video
[0398] La figura 32 es un diagrama de bloques esquematico para ilustrar un aparato de decodificacion de 15 video de acuerdo con otro aspecto mas de la presente divulgation.
[0399] El aparato de decodificacion de video 3200 de acuerdo con otro aspecto mas de la presente divulgacion puede incluir un decodificador de la capa de division maxima 3210 y un decodificador de video 3220.
20 [0400] El decodificador de la capa de division maxima 3210 decodifica los datos de la capa de division maxima codificados extraidos del flujo de bits para reconstruir un valor de la capa de division maxima.
[0401] El decodificador de video 2420 puede construirse igual o de forma similar al aparato de decodificacion de video de acuerdo con un aspecto de la presente divulgacion descrito con referencia a la figura 7. Sin embargo, el
25 decodificador de video 3220 de acuerdo con otro aspecto mas de la presente divulgacion realiza una decodificacion predictiva sobre datos de imagen codificados extraidos del flujo de bits usando un tamano de sub-bloque minimo en base al valor de la capa de division maxima reconstruido por el decodificador de la capa de division maxima 3210, para reconstruir un bloque actual.
30 C-2-2) Metodo de Decodificacion de la Information de Division
[0402] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de la informacion de division usando un valor de la capa de division maxima de acuerdo con otro aspecto mas de la presente divulgacion.
35
[0403] El aparato de decodificacion de video extrae una capa de division maxima que representa el numero total de capas y/o datos que indican si cada capa esta disponible a partir de una position predisenada entre el aparato de decodificacion de video y el aparato de codificacion de video entre un encabezado de secuencia, un encabezado de cada imagen, o un encabezado de segmento del flujo de bits, y despues decodifica la informacion de
40 division de cada bloque usando la informacion extraida a traves de los diversos metodos de decodificacion de la informacion de division que se han mencionado anteriormente.
[0404] En un metodo de decodificacion de la capa de division maxima y/o la informacion sobre las capas disponibles, los datos de la capa de division maxima en primer lugar se extraen y se decodifican del flujo de bits, y
45 los datos que indican si cada capa esta disponible, los tipos de sub-bloque disponibles, y un tamano de sub-bloque minimo de acuerdo con los datos que indican si cada capa esta disponible se extraen usando el valor de la capa de division maxima decodificado. Por ejemplo, cuando el tamano de un macrobloque es 64 x 64 y un valor de la capa de division maxima extraido y reconstruido del flujo de bits es 3, las capas 0, 1 y 2 se establecen como capas disponibles y una capa 3 se establece como una capa no disponible. El macrobloque puede dividirse en sub-bloques 50 de tamanos de 64 x 64, 64 x 32, 32 x 64 y 32 x 32, que corresponden a un tipo de sub-bloque incluido en la capa 0, los sub-bloques de tamanos de 32 x 32, 32 x 16, 16 x 32 y 16 x 16, que corresponden a un tipo de sub-bloque incluido en la capa 1, y los sub-bloques de tamanos de 16 x 16, 16 x 8, 8 x 16 y 8 x 8, que corresponden a un tipo de sub-bloque incluido en la capa 2. Sin embargo, el macrobloque no puede estar dividido en sub-bloques de tamanos de 8 x 4, 4 x 8 y 4 x 4, lo que corresponde a un tipo de sub-bloque incluido en la capa 3. Es decir, los bloques de 8 x 55 8 respectivos no pueden estar divididos en sub-bloques mas pequenos. En este caso, un tamano de sub-bloque minimo disponible se determina como un tamano 8 x 8.
[0405] Como alternativa, despues de extraer y reconstruir los datos de la capa de division maxima del flujo de bits, los datos que indican si cada capa esta disponible, lo que corresponde al numero de capas determinadas por el
valor de la capa de division maxima reconstruido, se extraen y se decodifican del flujo de bits. Despues, los tipos de sub-bloques disponibles y un tamano de sub-bloque mlnimo se extraen de acuerdo con el valor de la capa de division maxima reconstruido y la disponibilidad de cada capa.
5 [0406] Por ejemplo, cuando el tamano de un macrobloque es 64 x 64 y un valor de la capa de division maxima extraldo y reconstruido del flujo de bits es 3, los datos que indican si las 3 capas estan disponibles se extraen y se decodifican del flujo de bits. Cuando los datos reconstruidos que indican si cada capa esta disponible, lo que significa que las capas 0 y 2 estan disponibles y la capa 1 no esta disponible, el macrobloque puede dividirse en sub-bloques de tamanos de 64 x 64, 64 x 32, 32 x 64 y 32 x 32, que corresponden a un tipo de sub-bloque incluido
10 en la capa 0, y los sub-bloques de tamanos de 16 x 16, 16 x 8, 8 x 16 y 8 x 8, que corresponden a un tipo de sub- bloque incluido en la capa 2. Sin embargo, el macrobloque no puede estar dividido en sub-bloques de tamanos de 32 x 32, 32 x 16, 16 x 32 y 16 x 16, que corresponden a un tipo de sub-bloque incluido en la capa 1, y sub-bloques de tamanos de 8 x 4, 4 x 8 y 4 x 4, lo que corresponde a un tipo de sub-bloque incluido en la capa 3.
15 [0407] Como alternativa, el aparato de decodificacion de video determina un valor de la capa de division maxima usando un tamano de sub-bloque mlnimo y un tamano de un macrobloque predisenado entre el aparato de decodificacion de video y el aparato de codificacion de video y extrae y decodifica datos que indican si las capas respectivas estan disponibles, lo que corresponde al numero de capas determinadas por el valor de la capa de division maxima, del flujo de bits, para determinar los tipos de sub-bloques disponibles de acuerdo con los datos
20 reconstruidos que indican si las capas respectivas estan disponibles. Por ejemplo, cuando el tamano predisenado de un macrobloque entre el aparato de codificacion de video y el aparato de decodificacion de video es 32 x 32 y el tamano de sub-bloque mlnimo es 8 x 8, el numero de capas de division maximas es 2. Por consiguiente, los datos que indican si las 2 capas estan disponibles se extraen y se decodifican del flujo de bits. Cuando los datos reconstruidos que indican si las capas respectivas estan disponibles, lo que significa que la capa 0 no esta
25 disponible y la capa 1 esta disponible, el macrobloque puede tener unicamente tipos de bloque de 16 x 16, 16 x 8, 8 x 16 y 8 x 8, que corresponden a tipos de sub-bloques incluidos en la capa 1. Por lo tanto, en la decodificacion de la informacion de division del macrobloque, el macrobloque se divide en 4 sub-bloques de tamano 16 x 16 y unicamente cada 16 x 16 la informacion de division se extrae y se decodifica del flujo de bits.
30 [0408] En este caso, el valor de la capa de division maxima puede decodificarse usando un metodo predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video, entre los metodos tales como una codificacion aritmetica binaria, una codificacion Huffman, etc.
[0409] Como alternativa, el valor de la capa de division maxima puede decodificarse usando metodos tales
35 como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0410] En un metodo de decodificacion de la informacion que indica si cada capa esta disponible, los datos que indican si cada capa esta disponible pueden decodificarse usando un metodo predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video entre los metodos tales como una codificacion
40 aritmetica binaria, una codificacion Huffman, etc.
[0411] Como alternativa, un indice de una tabla que muestra si las capas respectivas se usan, se decodifica usando metodos tales como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc., y puede extraerse un hecho que indica si las capas respectivas se usan usando una tabla predisenada entre el
45 aparato de codificacion de video y el aparato de decodificacion de video.
[0412] Como alternativa, un valor entero se decodifica usando metodos tales como un codigo unario, codigo unario truncado, un codigo de Golomb exponencial, etc., y el valor entero decodificado puede decodificarse representando el valor entero en un bit binario que tiene un valor de la capa de division maxima como el numero de
50 bits.
[0413] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con un aspecto de la figura 30.
55 [0414] De acuerdo con el aspecto que se ha mencionado anteriormente de la figura 30, en los datos codificados con la informacion de division en el aparato de codificacion de video, la informacion de division maxima es 4, un indicador de capa que indica si se usan las capas respectivas es "1001", y la informacion que indica el tipo de division es {3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}.
[0415] El aparato de decodificacion de video extrae y decodifica datos de la capa de division maxima del flujo de bits, y reconstruye un valor de la capa de division maxima 4. Dado que la capa de division maxima es 4, se reconstruye un indicador (indicador de capa) que indica si las 4 capas estan disponibles. El Layer_Flag de la capa 0 se decodifica extrayendo y decodificando 1 bit del flujo de bits. Despues de reconstruir un indicador que indica si la
5 capa 0 esta disponible, el Layer_Flag de las capas 1, 2 y 3 se extrae y se decodifica del flujo de bits de la misma manera. Ya que el Layer_Flag reconstruido de la capa 0 es 1, el Layer_Flag reconstruido de la capa 1 es 0, el Layer_Flag reconstruido de la capa 2 es 0, y el Layer_Flag reconstruido de la capa 3 es 1, las capas 0 y 3 se configuran como capas disponibles y las capas 1 y 2 se configuran como capas no disponibles. Despues, la information se usa para decodificar la information de division del macrobloque.
10
[0416] Dado que la informacion que indica el tipo de division reconstruida en primer lugar es 3, el macrobloque se divide en 4 sub-bloques de tamano 32 x 32, y la informacion que indica el tipo de division de cada sub-bloque de 32 x 32 se extrae y se decodifica del flujo de bits.
15 [0417] Aqul, cuando un bloque N x N de un numero de capa K se divide en 4 sub-bloques, un metodo de asignacion de un numero de capas a los sub-bloques divididos es diferente dependiendo de si las capas respectivas estan disponibles. Si una capa K+1 esta disponible, se asigna un numero de capa K+1 a los sub-bloques. Si la capa K+1 no esta disponible, se asigna el numero de capa K a los sub-bloques.
20 [0418] De acuerdo con el aspecto de la figura 30, los sub-bloques de 32 x 32 divididos del macrobloque corresponden a un tipo de sub-bloque que puede incluirse tanto en la capa 0 como la capa 1, pero un numero de capas del sub-bloque de 32 x 32 es 0 por que la capa 1 no esta disponible.
[0419] Dado que la informacion que indica el tipo de division reconstruida en segundo lugar es 0, un tipo de 25 sub-bloque de un primer sub-bloque de 32 x 32 (L0-P0) dentro del macrobloque es 32 x 32. Dado que la informacion
que indica el tipo de division del primer sub-bloque de 32 x 32 no es 3, la informacion que indica el tipo de division de un segundo sub-bloque de 32 x 32 (L0-P1) se decodifica.
[0420] Dado que la informacion que indica el tipo de division reconstruida en tercer lugar es 3 y las capas 1 y 30 2 no estan disponibles, el sub-bloque L0-P1 se divide en 16 sub-bloques (L3-P0 a L3-P15) de tamano 8 x 8, y la
informacion que indica el tipo de division de cada sub-bloque de 8 x 8 se extrae y se decodifica del flujo de bits ya que el sub-bloque de 8 x 8 puede dividirse en sub-bloques mas pequenos.
[0421] Dado que la informacion que indica el tipo de division reconstruida del cuarto al decimonoveno lugar es 35 en su totalidad 0, puede deducirse que todos los tipos de sub-bloque de los sub-bloques L3-P0 a L3-P15 divididos
del sub-bloque L0-P1 son 8 x 8.
[0422] Dado que la informacion que indica el tipo de division reconstruida en vigesimo lugar es 3 y las capas 1 y 2 no estan disponibles, el sub-bloque L0-P2 se divide en 16 sub-bloques (L3-P0 a L3-P15) de tamano 8 x 8, y la
40 informacion que indica el tipo de division de cada sub-bloque de 8 x 8 se extrae y se decodifica del flujo de bits ya que el sub-bloque de 8 x 8 puede dividirse en sub-bloques mas pequenos.
[0423] Dado que la informacion que indica el tipo de division reconstruida posterior es 2, el sub-bloque L3-P0 incluido en el sub-bloque L0-P2 se divide en 2 sub-bloques de tamano 4 x 8, y los tipos de sub-bloque de los sub-
45 bloques L3-P1 a L3-P15 se configuran en su totalidad en 8 x 8 ya que 15 piezas de informacion que indica el tipo de division se reconstruyeron ya que entonces son en su totalidad 0.
[0424] Dado que la informacion que indica el tipo de division reconstruida en ultimo lugar es 0, un tipo de sub- bloque del sub-bloque L0-P3 es 32 x 32, y el proceso de decodificacion de la informacion de division se termina por
50 que los tipos de division de todos los sub-bloques dentro del macrobloque se han determinado.
C-2-1) Diagrama de Flujo de la Decodificacion
[0425] La figura 33 es un diagrama de flujo para ilustrar un metodo de decodificacion de video de acuerdo con 55 otro aspecto mas de la presente divulgation.
[0426] Basandose en el metodo de decodificacion de video de acuerdo con otro aspecto mas de la presente divulgacion, el aparato de decodificacion de video 3200 decodifica los datos de la capa de division maxima codificados extraidos del flujo de bits para reconstruir un valor de la capa de division maxima en la etapa S3310, y
realiza una decodificacion predictiva sobre los datos de imagen codificados extraldos del flujo de bits usando un tamano de sub-bloque mlnimo de acuerdo con el valor de la capa de division maxima reconstruido para reconstruir un bloque actual en la etapa S3320.
5 [0427] De acuerdo con otro aspecto mas de la presente divulgacion como se ha descrito anteriormente, incluso cuando el macrobloque que tiene un tamano igual a o mayor que un tamano de 16 x 16 se divide en diversos tamanos de sub-bloques, un tamano de sub-bloque mlnimo puede configurarse usando una valor de la capa de division maxima. Por consiguiente, no se requiere decodificar la informacion de division para las capas, que no se usan. Como resultado, la informacion de division del macrobloque puede codificarse con el menor numero de bits y,
10 por lo tanto, la eficiencia de la compresion puede mejorarse.
[0428] Adicionalmente, el aparato de codificacion de video de acuerdo con otro aspecto mas de la presente divulgacion determina las capas de division disponibles de un bloque actual, selecciona una capa de division, que genera un coste de codificacion menor del bloque actual, entre las capas de division disponibles, genera datos de
15 imagen codificados realizando una codificacion predictiva en el bloque actual usando unicamente la capa de division seleccionada, y puede generar un flujo de bits que incluye datos de la capa de division codificados creados codificando informacion sobre la capa de division seleccionada, datos de informacion de division codificados creados codificando la informacion de division del bloque actual en base a la capa de division seleccionada, y datos de imagen codificados. Aqul, pueden seleccionarse una o mas capas de division como la capa de division que genera
20 el coste de codificacion menor del bloque actual. Por consiguiente, el aparato de codificacion de video puede generar datos de imagen codificados determinando las capas de division disponibles para el bloque actual, seleccionando una o mas capas de division, que generan el coste de codificacion menor del bloque actual, entre las capas de division disponibles, y dividiendo y codificando de forma predictiva el bloque actual usando unicamente la una o mas capas de division seleccionadas. Por lo tanto, el aparato de codificacion de video puede codificar la
25 informacion de division de macrobloque con un menor numero de bits y, por lo tanto, mejorar la eficiencia de la compresion.
[0429] Ademas, el aparato de decodificacion de video de acuerdo con otro aspecto mas de la presente divulgacion puede reconstruir informacion sobre las capas de division y la informacion de division decodificando los
30 datos de informacion de division codificados y los datos de la capa de division codificados extraldos del flujo de bits, y reconstruir el bloque actual realizando una decodificacion predictiva sobre los datos de imagen codificados extraldos del flujo de bits usando la informacion reconstruida sobre las capas de division y la informacion de division reconstruida.
35 D) Codificacion y Decodificacion Del Tamano del Macrobloque
[0430] De acuerdo con los aspectos que se han mencionado anteriormente, se ha asumido que el macrobloque tiene un tamano predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video. Adicionalmente, basandose en este supuesto, se han descrito despues el metodo de division del
40 macrobloque, y la codificacion y decodificacion de la informacion de division.
[0431] En lo sucesivo en el presente documento, se describira un metodo para determinar un tamano de un macrobloque que tiene un tamano variable, y una codificacion y una decodificacion para senalizar el tamano de un macrobloque determinado con respecto al aparato de decodificacion.
45
[0432] En general, una imagen de alta resolucion puede codificarse de forma eficiente por una unidad de bloques grandes. Sin embargo, la eficiencia de la codificacion no siempre se mejora cuando todas las areas de la imagen se codifican usando los bloques mas grandes. Por ejemplo, en un caso de una imagen monotona, puede ser eficiente codificar la imagen por unidad de macrobloques tal como un macrobloque grande de tamano 128 x 128. Sin
50 embargo, cuando una imagen compleja se codifica por unidad de macrobloques de tamano 128 x 128, la mayoria de los macrobloques se dividen en sub-bloques mas pequenos y la mayoria de sub-bloques pueden predecirse o transformarse por unidad de bloques que tienen un tamano igual a o menor de un tamano de 16 x 16. En este caso, dado que la informacion de division que indica que cada macrobloque se ha dividido en sub-bloques que tienen un tamano igual a o menor del tamano de 16 x 16 deberia codificarse, es eficiente codificar la imagen a traves de la
55 selection de un tamano de macrobloque, que corresponde al tamano 16 x 16.
[0433] De acuerdo con otro aspecto de la presente divulgacion, se determina un tamano de bloque maximo, que puede usarse para la prediction o la transformada para mejorar adicionalmente la eficiencia del metodo de codificacion de la informacion de division que se ha mencionado anteriormente, la imagen se codifica por unidad de
tamanos de bloque seleccionados, y la imagen se reconstruye decodificando la imagen en un tamano de bloque maximo identificado por la information incluida en el flujo de bits.
[0434] En lo sucesivo en el presente documento, aunque no se describe que un tamano de bloque maximo 5 (por ejemplo, un macrobloque), que puede usarse para la prediction, y un tamano de bloque maximo, que puede usarse para la transformada, se configuran por separado con fines de comodidad en la description, es aplicable configurar por separado el tamano de bloque maximo para la prediccion y el tamano de bloque maximo para la transformada.
10 [0435] Adicionalmente, cada informacion puede codificarse en el encabezado de secuencia, el encabezado de la imagen, el encabezado del segmento, o el encabezado del macrobloque.
[0436] Despues de determinar el tamano de un macrobloque de acuerdo con los aspectos de la presente divulgation, que se analizara en la siguiente descripcion, el macrobloque puede dividirse en sub-bloques en base al
15 metodo de division de macrobloque de acuerdo con los aspectos que se han mencionado anteriormente de la presente divulgacion. Adicionalmente, la prediccion o la transformada pueden realizarse en la unidad de sub- bloques. En este caso, el aparato de codification de video de acuerdo con los aspectos de la presente divulgacion codifica la informacion sobre el tamano de un macrobloque y/o la informacion de division sobre el macrobloque dividido y despues puede transmitir la informacion codificada al aparato de decodificacion de video de acuerdo con 20 los aspectos de la presente divulgacion. El aparato de decodificacion de video de acuerdo con los aspectos de la presente divulgacion puede comprender el tamano de un macrobloque que se va a decodificar actualmente y/o la informacion sobre los sub-bloques dentro del macrobloque decodificando la informacion sobre el tamano de un macrobloque y/o la informacion de division del macrobloque. Como se ha descrito anteriormente, la informacion de division puede implementarse de forma variada. La informacion de division del macrobloque de acuerdo con los 25 aspectos de la presente divulgacion, que contiene informacion sobre si el macrobloque se divide en sub-bloques y/o informacion sobre los tipos de sub-bloque divididos del macrobloque, se senala con respecto al aparato de decodificacion de video de acuerdo con los aspectos de la presente divulgacion.
D-1) Aparato de Codificacion de Video 30
D-1-1) Descripcion del Aparato de Codificacion
[0437] La figura 35 es un diagrama de bloques esquematico para ilustrar un aparato de codificacion de video 3500 de acuerdo con otro aspecto mas de la presente divulgacion.
35
[0438] De acuerdo con una implementation del aparato de codificacion de video de acuerdo con otro aspecto de la presente divulgacion, el aparato de codificacion de video puede incluir una unidad de configuration del tamano de macrobloques candidatos 3510, un codificador de video 3520, y el determinador del tamano de macrobloques 3530.
40
[0439] La unidad de configuracion del tamano de macrobloques candidatos 3510 configura los candidatos del tamano de macrobloque, que puede usarse por el aparato de codificacion de video 3500 de acuerdo con otra realization mas de la presente divulgacion. Los candidatos del tamano de macrobloque se introducen por un usuario o se determinan de acuerdo con las caracteristicas de imagen. Como alternativa, los candidatos del tamano de
45 macrobloque pueden ajustarse como grupos candidatos (por ejemplo, de tamano 64 x 64, tamano 32 x 32 y tamano 16 x 16) introducidos por otro aparato.
[0440] En un caso en el que los candidatos del tamano de macrobloque se determinan de acuerdo con las caracteristicas de imagen, si la resolution de imagen es 4K x 2K y una relation de la anchura y la altura es 16:9, los
50 candidatos del tamano de macrobloque pueden incluir el tamano 128 x 128, el tamano 128 x 64, el tamano 64 x 128, el tamano 64 x 64, el tamano 64 x 32, el tamano 32 x 64, el tamano 32 x 32, el tamano 32 x 16, el tamano 16 x 32, y el tamano 16 x 16.
[0441] El codificador de video 3520 puede implementarse como el aparato de codificacion de video de 55 acuerdo con un aspecto de la presente divulgacion descrito con referencia a la figura 6, 8 o 26. Es decir, el
codificador de video 3520 codifica una imagen para cada candidato de tamano de macrobloque configurado por la unidad de configuracion del tamano de macrobloques candidatos 3510 y genera datos de imagen para cada tamano de macrobloque. En este caso, cada macrobloque se divide internamente en sub-bloques (aqui, el sub-bloque que tiene un tamano de sub-bloque minimo puede ser un bloque por unidad de 4 x 4 pixeles), que son bloques mas
pequenos que el macrobloque, y se realiza una intra-codificacion o una inter-codificacion en los sub-bloques divididos. La informacion de division que indica los tamanos y formas de los sub-bloques dentro del macrobloque puede incluirse en el flujo de bits usando el metodo de codificacion de la informacion de division de acuerdo con los aspectos que se han mencionado anteriormente de la presente divulgacion.
5
[0442] Como otro metodo de operacion del codificador de video 3520, se realiza una codificacion usando macrobloques de tamano 16 x 16 y tamano 32 x 32. Como resultado de la codificacion, cuando un coste de codificacion en el caso del uso de los macrobloques de tamano 32 x 32 es superior a un coste de codificacion en el caso del uso de los macrobloques de tamano 16 x 16, el tamano 16 x 16 se determina como el tamano del
10 macrobloque. Cuando el coste de codificacion en el caso del uso de los macrobloques de tamano 32 x 32 es inferior al coste de codificacion en el caso de usar los macrobloques de tamano 16 x 16, se realiza de nuevo una codificacion usando macrobloques de tamano 64 x 64 y despues los costes de codificacion del uso del macrobloque de tamano 32 x 32 y tamano 64 x 64 se comparan de la misma manera. Por consiguiente, puede determinarse el tamano de un macrobloque.
15
[0443] Adicionalmente, como otro metodo de operacion del codificador de video 3520, se realiza una codificacion usando macrobloques de tamano 16 x 16, tamano 32 x 16, tamano 16 x 32, y tamano 32 x 32. Como resultado de la codificacion, se selecciona el tamano de un macrobloque que tiene la mejor eficiencia de codificacion. Y despues, se realiza la codificacion usando bloques de pixeles generados ampliando una anchura,
20 una altura, y tanto la anchura como la altura del macrobloque seleccionado dos veces, respectivamente, como los macrobloques, Si la eficiencia de la codificacion no se mejora usando un tamano de macrobloque ampliado, la codificacion se detiene y se determina el tamano de un macrobloque.
[0444] El determinador del tamano de macrobloques 3530 calcula los costes de codificacion (es decir, los 25 costes de codificacion de los datos de imagen para cada tamano de macrobloque) generados cuando el codificador
de video 3520 codifica la imagen por cada tamano de un macrobloque y compara los costes de codificacion de los tamanos de macrobloque respectivos para determinar un tamano de un macrobloque optimo entre los candidatos del tamano de macrobloque. Aqui, el tamano de un macrobloque optimo puede ser cualquier tamano de un macrobloque si el tamano de un macrobloque genera el menor coste de codificacion cuando la imagen se codifica 30 usando el tamano de macrobloque correspondiente. Sin embargo, en el caso de usar el coste de codificacion, pueden determinarse diversos tamanos de macrobloque optimos usando el coste de codificacion.
[0445] Adicionalmente, cuando el tamano de un macrobloque se determina, el determinador del tamano de macrobloques 3530 genera datos de imagen codificados en el tamano de un macrobloque correspondiente como el
35 flujo de bits. En este caso, la informacion sobre el tamano de un macrobloque determinado puede codificarse e incluirse en el flujo de bits. La informacion sobre el tamano de un macrobloque puede incluirse en el flujo de bits para una imagen entera unicamente una vez o puede incluirse en el flujo de bits en cada imagen de la imagen completa. Adicionalmente, de acuerdo con otro aspecto de la presente divulgacion, el tamano de macrobloque, que corresponde a las unidades de codificacion/decodificacion, puede seleccionarse de forma diferente para cada 40 imagen, seccion o capa de macrobloque.
D-1-2) Metodo de Codificacion del Tamano del Macrobloque
[0446] En lo sucesivo en el presente documento, se describen diversos metodos de codificacion del tamano 45 de un macrobloque de acuerdo con los aspectos de la presente divulgacion.
[0447] Como se ha descrito anteriormente, puesto que el tamano de un macrobloque puede calcularse usando el tamano de sub-bloque minimo y la capa de division maxima (MaxLayer), el tamano de un macrobloque puede obtenerse codificando un valor del tamano de un macrobloque determinado o codificando el tamano de sub-
50 bloque minimo y la capa de division maxima.
[0448] Es decir, en un metodo de codificacion de la informacion del tamano de bloque que indica el tamano de un macrobloque o el tamano de sub-bloque minimo y que codifica el tamano de sub-bloque, la informacion de la capa de division maxima (MaxLayer) se codifica en conjunto y se transmite al aparato de decodificacion de video.
55
[0449] La informacion de la capa de division maxima puede codificarse en una cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc. Como alternativa, la informacion de la capa de division maxima puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
D-1-2-1) Metodo de Codificacion del Tamano del Macrobloque 1
[0450] En primer lugar, se describe un primer metodo de codificacion del tamano de un macrobloque.
5
[0451] Un indicador (Set_MBsize_flag) que indica si transmitir la informacion sobre el tamano de un macrobloque puede incluirse en un encabezado de secuencia, un encabezado de cada imagen, o un encabezado de segmento. El tamano de un macrobloque puede transmitirse o no de acuerdo con un valor del indicador. En el caso de transmitir el tamano de macrobloque, se usan macrobloques que tienen un tamano predeterminado, por ejemplo,
10 bloques de tamano 16 x 16 como macrobloques.
[0452] Si se designa el tamano de un macrobloque, la informacion sobre el tamano de un macrobloque se transmite. En este caso, pueden usarse macrobloques que tienen un tamano arbitrario, cuyos tamanos horizontales y tamanos verticales se configuran por separado. Como alternativa, en el caso de usar macrobloques cuadrados,
15 unicamente se codifica la informacion sobre un lado del macrobloque cuadrado y despues puede transmitirse al aparato de decodificacion.
[0453] Un valor del tamano de macrobloque que se va a codificar puede designarse como un tamano de un macrobloque real o puede transmitirse un valor que indica el numero de veces, mediante el cual un macrobloque se
20 va a ampliar o reducir con respecto a un tamano predeterminado. Adicionalmente, el valor del tamano de macrobloque puede representarse usando bits mas pequenos a traves de la aplicacion de una funcion logarltmica al valor del tamano de macrobloque en lugar de codificar directamente el valor del tamano de macrobloque. Por ejemplo, se codifica un valor de log2 (MBsize/X seleccionado) (X es cualquier numero entero positivo, que es un multiplo de 2). En este caso, puede seleccionarse un valor de X como un tamano de macrobloque mlnimo 25 disponible. Por ejemplo, si el tamano de un macrobloque mlnimo disponible es 8 x 8, es preferible seleccionar "8" como el valor de X. En este caso, "0" se codifica cuando un macrobloque actual es un bloque de tamano 8 x 8, y "1" se codifica cuando el macrobloque actual es un bloque de tamano 16 x 16. Si el tamano de un macrobloque mlnimo disponible es 16 x 16, es preferible seleccionar "16" en lugar de "8" como el valor de X. En este caso, "0" se codifica cuando el macrobloque actual es un bloque de tamano 16 x 16, y "1" se codifica cuando el macrobloque actual es un 30 bloque de tamano 32 x 32. Por consiguiente, un tamano de un macrobloque actual puede representarse usando bits mas pequenos que los bits usados para codificar un gran numero, tal como 8, 16 o 32.
[0454] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, respectivamente.
35
[0455] Como alternativa, el valor del tamano de macrobloque puede ser un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video.
[0456] En este caso, el tamano de un macrobloque que se va a transmitir puede codificarse usando diversos 40 metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb
exponencial, etc.
[0457] En lo sucesivo en el presente documento, no se describe la configuracion por separado de un tamano horizontal y un tamano vertical por comodidad de la descripcion, pero es aplicable para configurar por separado el
45 tamano horizontal y el tamano vertical. Adicionalmente, aunque se ilustra la codificacion de datos en un encabezado de secuencia y un encabezado de imagen, los datos pueden codificarse en un encabezado de segmento o un encabezado de macrobloque.
[0458] Un ejemplo de una sintaxis de acuerdo con el primer metodo de codificacion del tamano de un 50 macrobloque es como se indica a continuacion.
Set_MBsize_Flag
if(Set_MBsize_Flag == 1)
55
{
MBsize
}
Or
5 Set_MBsize_Flag
if(Set_MBsize_Flag == 1)
{
10
MBsize_width MBsize_height 15 }
[0459] Adicionalmente, la information del tamano de bloque tal como MB_size, que indica el tamano del macrobloque, puede codificarse a traves del tamano de sub-bloque mlnimo y la capa de division maxima.
20 [0460] Aqul, un valor del tamano de tamano de sub-bloque mlnimo que se va a codificar puede designarse como un tamano de sub-bloque mlnimo real o puede transmitirse un valor que indica el numero de veces, por el que un sub-bloque se va a ampliar o reducir con respecto a un tamano predeterminado. Adicionalmente, el valor del tamano de sub-bloque mlnimo puede representarse usando bits mas pequenos a traves de la aplicacion de una funcion log al valor del tamano de sub-bloque mlnimo en lugar de codificar directamente el valor del tamano de sub- 25 bloque mlnimo. Por ejemplo, se codifica un valor de log2 (minblockSize/X) (X es cualquier numero entero positivo, que es un multiplo de 2). En este caso, puede seleccionarse un valor de X como un tamano de sub-bloque mlnimo disponible. Por ejemplo, si el tamano de sub-bloque mlnimo disponible es 4 x 4, es preferible seleccionar "4" como el valor de X. En este caso, "0" se codifica cuando un sub-bloque mlnimo que se va a codificar de acuerdo con un tamano de un macrobloque actual es un bloque de tamano 4 x 4, y "1" se codifica cuando el sub-bloque mlnimo es 30 un bloque de tamano 8 x 8. Si el tamano de un macrobloque mlnimo disponible es 8 x 8, es preferible seleccionar "8" en lugar de "4" como el valor de X. En este caso, "0" se codifica cuando el tamano de sub-bloque mlnimo disponible de acuerdo con el tamano de un macrobloque actual es 8 x 8, y "1" se codifica cuando el tamano de sub-bloque mlnimo es 16 x 16.
35 [0461] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, respectivamente.
[0462] Como alternativa, el valor del tamano de sub-bloque mlnimo puede ser un valor del Indice de una tabla que define un tamano de bloque predisenado entre el aparato de codification de video y el aparato de decodificacion
40 de video.
[0463] En este caso, el tamano de sub-bloque minimo puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
45 [0464] La informacion de la capa de division maxima puede codificarse en una cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc. Como alternativa, la informacion de la capa de division maxima puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
50 [0465] Cuando el tamano de un macrobloque se codifica usando el tamano de sub-bloque minimo y la capa de division maxima, un ejemplo de la primera sintaxis que se ha mencionado anteriormente puede representarse como se indica a continuacion.
Set_MBsize_Flag
if(Set_MBsize_Flag == 1)
{
minBlockSize MaxLayer 5 }
Or
Set_MBsize_Flag
10
if(Set_MBsize_Flag == 1)
{
15 minBlockSize_width minBlockSize_height Max Layer
20
}
[0466] Como alternativa, el tamano de un macrobloque puede transmitirse al aparato de decodificacion de video en cada secuencia, imagen, segmento o encabezado de macrobloque sin codificar el indicador
25 (Set_MBsize_flag) que indica si transmitir la informacion sobre el tamano de macrobloque.
D-1-2-2) Metodo de Codificacion del Tamano del Macrobloque 2
[0467] En lo sucesivo en el presente documento, se describe un segundo metodo de codificacion del tamano 30 de un macrobloque.
[0468] De acuerdo con el segundo metodo, un tamano M x N se establece como un tamano de macrobloque de referencia, y un indicador que indica si usar el tamano de un macrobloque de referencia se codifica en cada encabezado de imagen, seccion o macrobloque. Cuando el tamano de un macrobloque de referencia no se usa, se
35 codifica un tamano de un macrobloque seleccionado. Como alternativa, despues de codificar un indicador que indica si configurar el tamano de un macrobloque de referencia en el encabezado de secuencia, se usa un tamano predeterminado, por ejemplo, un tamano 16 x 16 como el tamano de un macrobloque de referencia si el tamano de un macrobloque de referencia no se configura, y el tamano de un macrobloque de referencia puede codificarse e incluirse en el encabezado de secuencia si se configura el tamano de un macrobloque de referencia.
40
[0469] Aqul, en un metodo de codificacion de un valor de default_MBsize, que es la informacion que indica el tamano de macrobloque de referencia, o un valor de MB_size, que es la informacion que indica un tamano de macrobloque actual, puede designarse un tamano de un macrobloque real o puede transmitirse un valor que indica el numero de veces, mediante el cual un macrobloque se va a ampliar o reducir con respecto a un tamano
45 predeterminado. Como alternativa, como se describe en el primer metodo que se ha mencionado anteriormente, el valor del tamano de macrobloque puede representarse usando bits mas pequenos a traves de la aplicacion de una funcion logarltmica al valor del tamano de macrobloque en lugar de codificar directamente el valor del tamano de macrobloque.
50 [0470] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, respectivamente.
[0471] Como alternativa, el valor del tamano de macrobloque puede ser un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video.
55
[0472] En este caso, el tamano de un macrobloque que se va a transmitir puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0473] Un ejemplo de una sintaxis de acuerdo con el segundo metodo de codificacion del tamano de un macrobloque que se ha mencionado anteriormente se representa como se indica a continuacion.
Sequence, picture, or slice header 5
Set_defaultMBsize_Flag if(Set_MBsize_Flag == 1)
10 {
defait_MBsize
}
15
Picture, slice, or macroblock header use_defalt_MBsize_flag 20 if(use_defalt_MBsize_flag == 0)
{
MB_size
25
}
[0474] Ademas, la informacion del tamano de bloque tal como default_MBsize para indicar un tamano de un macrobloque por defecto o de referencia y MB_size para indicar el tamano de un macrobloque puede codificarse a
30 traves del tamano de sub-bloque mlnimo y la capa de division maxima.
[0475] En un metodo de codificacion del tamano de sub-bloque mlnimo de referencia default_minBlockSize para indicar el tamano de un macrobloque de referencia o el tamano de sub-bloque mlnimo minBlockSize para indicar la informacion sobre el tamano de macrobloque actual, un tamano de sub-bloque mlnimo que se va a
35 codificar realmente puede designarse y puede transmitirse un valor que indica el numero de veces, por el que un sub-bloque se va a ampliar o reducir a partir de un tamano predeterminado. Como alternativa, como se describe en el primer metodo que se ha mencionado anteriormente, el valor del tamano de sub-bloque mlnimo puede representarse usando bits mas pequenos a traves de la aplicacion de una funcion log al valor del tamano de sub- bloque mlnimo en lugar de codificar directamente el valor del tamano de sub-bloque mlnimo.
40
[0476] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, respectivamente.
[0477] Como alternativa, el valor del tamano de sub-bloque mlnimo puede ser un valor de Indice de una tabla 45 predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video.
[0478] En este caso, el tamano de sub-bloque minimo que se va a transmitir puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb exponencial, etc.
50
[0479] La informacion de la capa de division maxima puede codificarse en una cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc. Como alternativa, la informacion de la capa de division maxima puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
55
[0480] Cuando el tamano de un macrobloque se codifica usando el tamano de sub-bloque minimo y la capa de division maxima, un ejemplo de la segunda sintaxis que se ha mencionado anteriormente puede representarse como se indica a continuacion.
Sequence, picture, or slice header Set_defaultMBsize_Flag if(Set_MBsize_Flag == 1)
{
default_minBlockSize
default_MaxLayer
i
Picture, slice, or macroblock header oH CH use_default_MBsize_flag if(use_default_MBsize_flag == 0)
{
minBlockSize
MaxLayer
}
D-1-2-3) Metodo de Codificacion del Tamano del Macrobloque 3
5 [0481] En lo sucesivo en el presente documento, se describe un tercer metodo de codificacion del tamano de un macrobloque.
[0482] De acuerdo con el tercer metodo, un tamano M x N se configura como el tamano de macrobloque de referencia, y un indicador que indica si usar el tamano de un macrobloque de referencia se codifica en cada 10 encabezado de cada imagen, encabezado de segmento, o encabezado de sub-bloque mlnimo y transmitirse al aparato de decodificacion de video. Cuando el indicador indica que se usa el tamano de un macrobloque de referencia, un bloque que tiene el mismo tamano que el tamano de un macrobloque de referencia se selecciona como un macrobloque actual. Sin embargo, cuando el indicador indica que el tamano de un macrobloque de referencia no se usa, un bloque que tiene un tamano ampliado o reducido por una relacion predeterminada con 15 respecto al tamano de un macrobloque de referencia se selecciona como el macrobloque actual en un proceso de codificacion o un proceso de decodificacion. Por ejemplo, un bloque que tiene un tamano horizontal y un tamano vertical dos veces mayor o dos veces menor que el tamano horizontal y el tamano vertical del macrobloque de referencia puede seleccionarse como el macrobloque actual.
20 [0483] Cuando hay diversas relaciones de ampliacion o reduccion, pueden representarse diversas relaciones haciendo una longitud del indicador mayor de 2 bits. Como alternativa, la informacion que indica la relacion de ampliacion o la relacion de reduccion puede codificarse adicionalmente ademas del indicador que indica si usar el tamano de macrobloque de referencia.
[0484] Cuando el indicador indica que el tamano de un macrobloque de referenda no se usa y un bloque que tiene un tamano ampliado del tamano de un macrobloque de referencia se selecciona como el macrobloque actual, el tamano de un macrobloque de referencia corresponde a un tamano de un macrobloque minimo disponible para la codificacion o decodificacion del flujo de bits actual. Por el contrario, cuando el indicador indica que el tamano de un 5 macrobloque de referencia no se usa y un bloque que tiene un tamano reducido con respecto al tamano de un macrobloque de referencia se selecciona como el macrobloque actual, el tamano de un macrobloque de referencia corresponde a un tamano de un macrobloque minimo disponible para la codificacion o decodificacion del flujo de bits actual.
10 [0485] El aparato de decodificacion de video puede seleccionar el tamano de un macrobloque actual usando el indicador que indica si usar el tamano de un macrobloque de referencia y/o informacion adicional que indica una ampliacion o una reduccion por una relacion predeterminada con respecto al tamano de macrobloque de referencia.
[0486] De acuerdo con un aspecto de la presente divulgacion, el indicador que indica si configurar el tamano 15 de un macrobloque de referencia puede incluirse en el encabezado de secuencia. Si el tamano de un macrobloque
de referencia no se configura, puede predisenarse usar un tamano predeterminado, por ejemplo, un tamano 16 x 16 como el tamano de macrobloque de referencia.
[0487] Cuando el tamano de un macrobloque de referencia se configura y se senala al aparato de 20 decodificacion de video, la informacion sobre el tamano de un macrobloque de referencia se codifica y puede
incluirse en el encabezado de secuencia. De acuerdo con un aspecto de la presente divulgacion, el aparato de codificacion de video puede senalar la informacion que indica el tamano de un macrobloque maximo disponible para la codificacion o decodificacion del flujo de bits actual al aparato de decodificacion de video como la informacion sobre el tamano de macrobloque de referencia. De acuerdo con otro aspecto de la presente divulgacion, el aparato 25 de codificacion de video puede senalar la informacion que indica el macrobloque minimo disponible para la codificacion o decodificacion del flujo de bits actual al aparato de decodificacion de video como la informacion sobre el tamano de macrobloque de referencia. De acuerdo con otro aspecto mas de la presente divulgacion, el aparato de codificacion de video puede senalizar la informacion tanto sobre el macrobloque maximo como el tamano de un macrobloque minimo disponible para la codificacion o decodificacion del flujo de bits actual al aparato de 30 decodificacion de video como la informacion sobre el tamano de macrobloque de referencia.
[0488] En un metodo de codificacion de default_MBSize, que es la informacion sobre el tamano de macrobloque de referencia, el tamano de un macrobloque real puede designarse y puede transmitirse un valor que indica el numero de veces, por el que un macrobloque se va a ampliar o reducir a partir de un tamano
35 predeterminado. Como alternativa, como se describe en el primer metodo que se ha mencionado anteriormente, el valor del tamano de macrobloque puede representarse usando bits mas pequenos a traves de la aplicacion de una funcion logaritmica al valor del tamano de macrobloque en lugar de codificar directamente el valor del tamano de macrobloque.
40 [0489] Mas espedficamente, por ejemplo, cuando default_MBSize indica el tamano de un macrobloque maximo disponible para la codificacion o decodificacion del flujo de bits actual, se codifica un valor de log2 (X/default_MBSize) (X es cualquier numero entero positivo, que es un multiplo de 2). En este caso, un tamano de un macrobloque maximo disponible puede seleccionarse como un valor de X. Como alternativa, cuando default_MBSize indica el tamano de un macrobloque minimo disponible para la codificacion o decodificacion del flujo de bits actual, 45 se codifica un valor de log2 (default_MBSize/X) (X es cualquier numero entero positivo, que es un multiplo de 2). En este caso, puede seleccionarse un tamano de un macrobloque minimo disponible como el valor de X.
[0490] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, respectivamente.
50
[0491] Como alternativa, el valor del tamano de macrobloque puede ser un valor de indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video.
[0492] En este caso, el tamano de un macrobloque que se va a transmitir puede codificarse usando diversos 55 metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb
exponencial, etc.
[0493] Ademas, la informacion del tamano de bloque tal como default_MBsize que indica el tamano de un macrobloque de referencia y MB_size que indica el tamano de un macrobloque puede codificarse a traves del
tamano de sub-bloque mlnimo y la capa de division maxima.
[0494] En un metodo de codificacion de default_minBlockSize, que es la informacion sobre el tamano de sub- bloque mlnimo de referencia, puede designarse un tamano de sub-bloque mlnimo que se va a codificar realmente y
5 puede transmitirse un valor que indica el numero de veces, por el que un sub-bloque se va a ampliar o reducir a partir de un tamano predeterminado. Como alternativa, como se describe en el primer metodo que se ha mencionado anteriormente, el valor del tamano de sub-bloque mlnimo puede representarse usando bits mas pequenos a traves de la aplicacion de una funcion log al valor del tamano de sub-bloque mlnimo en lugar de codificar directamente el valor del tamano de sub-bloque mlnimo.
10
[0495] Mas especlficamente, por ejemplo, cuando default_minBlockSize indica el tamano de sub-bloque maximo de acuerdo con el tamano de un macrobloque maximo disponible para la codificacion o decodificacion del flujo de bits actual, se codifica un valor de log2(X/default_minBlockSize) (X es cualquier numero entero positivo, que es un multiplo de 2). En este caso, un tamano de sub-bloque maximo disponible puede seleccionarse como un valor
15 de X. Como alternativa, cuando default_minBlockSize indica el tamano de sub-bloque mlnimo de acuerdo con el tamano de un macrobloque mlnimo disponible para la codificacion o decodificacion del flujo de bits actual, se codifica un valor de log2 (default_minBlockSize/X) (X es cualquier numero entero positivo, que es un multi plo de 2). En este caso, un tamano de sub-bloque mlnimo disponible puede seleccionarse como el valor de X.
20 [0496] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, respectivamente.
[0497] Como alternativa, el tamano de sub-bloque mlnimo de referencia puede ser un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video.
25
[0498] En este caso, el tamano de sub-bloque minimo de referencia puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb exponencial, etc.
30 [0499] La informacion de la capa de division maxima puede codificarse en una cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc. Como alternativa, la informacion de la capa de division maxima puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
35 D-1-2-4) Metodo de Codificacion del Tamano del Macrobloque 4
[0500] En lo sucesivo en el presente documento, se describe un cuarto metodo de codificacion del tamano de un macrobloque.
40 [0501] De acuerdo con el cuarto metodo, despues de un indicador que indica si usar el tamano de un macrobloque de referencia y el tamano de un macrobloque seleccionado en un caso en el que el tamano de un macrobloque de referencia no se usa se codifican en una primera imagen, un indicador que indica si usar el tamano de un macrobloque de una imagen previa y el tamano de un macrobloque de una imagen actual en un caso en el que el tamano de un macrobloque de la imagen previa no se usa puede codificarse a partir de una segunda imagen. 45
[0502] En un metodo de codificacion de default_MBsize, que es la informacion que indica el tamano de un macrobloque de referencia o MB_size, que es la informacion que indica el tamano de macrobloque actual, un tamano de un macrobloque real puede designarse y puede transmitirse un valor que indica el numero de veces, por el que un macrobloque se va a ampliar o reducir a partir de un tamano predeterminado. Como alternativa, como se
50 describe en el primer metodo que se ha mencionado anteriormente, los valores del tamano de un macrobloque pueden representarse usando bits mas pequenos a traves de la aplicacion de una funcion log a los valores del tamano de un macrobloque en lugar de codificar directamente los valores del tamano de macrobloque.
[0503] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, 55 respectivamente. Como alternativa, los valores de tamano de los macrobloques que se van a codificar pueden ser
valores de indica de una tabla predisenada entre el aparato de codificacion de video y la decodificacion de video.
[0504] En este caso, el tamano de un macrobloque que se va a transmitir puede codificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb
exponencial, etc.
[0505] Un ejemplo de una sintaxis de acuerdo con el cuarto metodo de codificacion del tamano de un macrobloque que se ha mencionado anteriormente se representa como se indica a continuacion.
First picture
use_default_MBsize_flag 10 if(use_default_MBsize_flag == 0)
{
MB_size
15
}
From second picture 20 use_prevPic_MBsize_flag
if(use_prevPic_MBsize_flag == 0)
{
25
MB_size
}
30 [0506] Adicionalmente, la informacion del tamano de bloque tal como MBsize que indica el tamano de un macrobloque puede codificarse a traves del tamano de sub-bloque mlnimo y la capa de division maxima.
[0507] Un tamano de sub-bloque mlnimo que se va a codificar realmente puede designarse y puede
transmitirse un valor que indica el numero de veces, por el que un sub-bloque se va a ampliar o reducir a partir de un
35 tamano predeterminado. Como alternativa, como se describe en el primer metodo que se ha mencionado anteriormente, una funcion log puede aplicarse al valor del tamano de sub-bloque mlnimo en lugar de codificar directamente el valor del tamano de sub-bloque mlnimo.
[0508] Adicionalmente, los aumentos del tamano horizontal y el tamano vertical pueden codificarse, 40 respectivamente. Como alternativa, el tamano de sub-bloque mlnimo puede ser un valor de Indice de una tabla
predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video.
[0509] En este caso, el tamano de sub-bloque minimo de referencia puede codificarse usando diversos
metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, codigo de Golomb
45 exponencial, etc.
[0510] La informacion de la capa de division maxima puede codificarse en una cadena de bits binaria usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc. Como alternativa, la informacion de la capa de division maxima puede codificarse usando diversos metodos de
50 codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0511] Cuando el tamano de un macrobloque de referencia o el tamano de un macrobloque se codifica usando el tamano de sub-bloque minimo y la capa de division maxima, un ejemplo de la cuarta sintaxis que se ha mencionado anteriormente puede representarse como se indica a continuacion.
55
First picture
use_defalt_MBsize_flag
if(use_defalt_MBsize_flag == 0)
{
5 minBlockSize MaxLayer }
From second picture
10
use_prevPic_MBsize_flag if(use_prevPic_MBsize_flag == 0)
15 {
minBlockSize MaxLayer }
20
D-1-2-5) Metodo de Codificacion del Tamano del Macrobloque 5
[0512] En lo sucesivo en el presente documento, se describira un quinto metodo de codificacion de tamanos de macrobloques.
25
[0513] De acuerdo con el quinto metodo, se usan diferentes tamanos de macrobloque para una intra-imagen y una inter-imagen. Es decir, el tamano de un macrobloque para la intra-imagen y el tamano de un macrobloque para la inter-imagen se codifican en el encabezado de secuencia. Como alternativa, cada tamano de un macrobloque de acuerdo con un tipo de imagen puede codificarse unicamente en encabezados de una primera intra-imagen y una
30 primera inter-imagen. Puede usarse un metodo de codificacion de informacion sobre el tamano de un macrobloque de la intra-imagen y el tamano de un macrobloque de la inter-imagen en combinacion con los metodos que se han mencionado anteriormente.
Sequence header 35
Set_intraMBsize_Flag Set_interMBsize_Flag 40 if(Set_interMBsize_Flag == 1)
{
intraMBsize
45
}
if(Set_interMBsize_Flag == 1)
50 {
interMBsize
}
55
[0514] Adicionalmente, la informacion sobre el tamano de intra-macrobloque o el tamano inter-macrobloque puede codificarse a traves del tamano de sub-bloque mlnimo y la capa de division maxima.
[0515] Cuando el tamano de intra-macrobloque o el tamano inter-macrobloque se codifica usando el tamano
de sub-bloque mlnimo y la capa de division maxima, un ejemplo de la quinta sintaxis que se ha mencionado anteriormente puede representarse como se indica a continuacion.
Sequence header 5
Set_intraMBsize_Flag Set_interMBsize_Flag 10 if(Set_intraMBsize_Flag == 1)
{
Intra_minBlockSize
15
Intra_MaxLayer
}
20 if(Set_interMBsize_Flag == 1)
{
Inter_minBlockSize
25
Inter_MaxLayer
}
30 D-1-3) Descripcion del Orden del Metodo de Codificacion
[0516] La figura 36 es un diagrama de flujo para ilustrar una implementacion de un metodo de codificacion de video de acuerdo con otro aspecto de la presente divulgacion.
35 [0517] El aparato de codificacion de video configura candidatos del tamano de macrobloque en la etapa S36l0, codifica una imagen de entrada por cada candidato de tamano de macrobloque en la etapa S3620, determina el tamano de un macrobloque en base a los costes de codificacion para cada candidato de tamano de macrobloque en la etapa S3630, y genera un flujo de bits que incluye datos de imagen codificados en el tamano de un macrobloque determinado y la informacion sobre el tamano de un macrobloque determinado en la etapa S3640. 40 Dado que se ha descrito a traves de la figura 35 que el aparato de codificacion de video configura candidatos del tamano de macrobloque, codifica una imagen para cada candidato de tamano de macrobloque, y determina el tamano de un macrobloque en base a los costes de codificacion de datos de imagen codificados para cada candidato de tamano de macrobloque, su descripcion detallada se omite.
45 D-2) Aparato de Decodificacion de Video
D-2-1) Descripcion del Aparato de Decodificacion
[0518] La figura 37 es un diagrama de bloques para ilustrar una implementacion de un aparato de 50 decodificacion de video de acuerdo con otro aspecto de la presente divulgacion.
[0519] De acuerdo con la implementacion del aparato de decodificacion de video de acuerdo con otro aspecto de la presente divulgacion, el aparato de decodificacion de video 3700 puede incluir la unidad de configuracion de tamano de macrobloque 3710 y un decodificador de video 3720.
55
[0520] La unidad de configuracion de tamano de macrobloque 3710 extrae informacion sobre el tamano de un macrobloque del flujo de bits antes de realizar una decodificacion por unidad de macrobloques y configura el tamano de un macrobloque usando la informacion extraida.
[0521] Cuando se predisena entre el aparato de codificacion de video y el aparato de decodificacion de video que la informacion sobre el tamano de un macrobloque se incluye en el flujo de bits unicamente una vez, una imagen puede reconstruirse decodificando la informacion en el flujo de bits para una imagen en su totalidad unicamente una vez y usando el tamano de un macrobloque extraido en la decodificacion de toda la imagen.
5 Cuando se predispone que el tamano de un macrobloque se codifica/decodifica en cada imagen, la imagen puede reconstruirse extrayendo el tamano de un macrobloque del flujo de bits en cada imagen y usando diferentes tamanos de macrobloque en cada imagen. Adicionalmente, de acuerdo con otro aspecto de la presente divulgacion, la imagen puede reconstruirse extrayendo el tamano de un macrobloque en cada imagen, segmento o capa de macrobloque y usando el tamano de macrobloque seleccionado.
10
[0522] El decodificador de video 3720 puede implementarse como el aparato de decodificacion de video de acuerdo con un aspecto de la presente divulgacion descrito con referencia a la figura 32, y los tamanos y formas de los sub-bloques divididos para la prediccion o la transformada dentro del macrobloque se reconstruyen decodificando la informacion de division de acuerdo con el tamano de un macrobloque reconstruido a traves de
15 metodos de acuerdo con los aspectos que se han mencionado anteriormente. Los sub-bloques respectivos se reconstruyen extrayendo y decodificando datos de imagen codificados de los sub-bloques respectivos del flujo de bits.
D-2-2) Metodo de Decodificacion de la Informacion del Tamano del Macrobloque
20
[0523] En lo sucesivo en el presente documento, se describen diversos metodos de codificacion del tamano de un macrobloque de acuerdo con los aspectos de la presente divulgacion.
D-2-2-1) Metodo de Decodificacion de la Informacion del Tamano del Macrobloque 1 25
[0524] En primer lugar, se describe un metodo de decodificacion de acuerdo con el primer metodo de codificacion del tamano de un macrobloque.
[0525] Puede incluirse un indicador (Set_MBsize_flag) que indica si transmitir la informacion sobre el tamano 30 de un macrobloque, el indicador (Set_MBsize_flag) que indica si transmitir la informacion sobre el tamano de un
macrobloque se codifica por entropia en una posicion predisenada tal como el encabezado de secuencia, el encabezado de cada imagen, o el encabezado de segmento. Cuando el indicador decodificado tiene un valor que indica que el tamano de un macrobloque no se transmite, se usa como el macrobloque un macrobloque que tiene un tamano predeterminado predispuesto entre el aparato de codificacion de video y el aparato de decodificacion de 35 video, por ejemplo, un bloque de 16 x 16.
[0526] Cuando el indicador que designa el tamano del macrobloque decodificado (Set_MBsize_flag) indica que el tamano de un macrobloque esta designado, el tamano de un macrobloque se codifica por entropia y se extrae a traves de un metodo predispuesto entre el aparato de codificacion de video y el aparato de decodificacion de video
40 entre diversos metodos de decodificacion por entropia tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0527] Cuando un tamano horizontal y un tamano vertical del macrobloque se configuran por separado y despues se transmiten, el tamano horizontal y el tamano vertical pueden obtenerse decodificando por entropia cada
45 uno de los tamanos. Como alternativa, si se usa un macrobloque cuadrado, unicamente puede decodificarse por entropia la informacion que indica un lado del macrobloque cuadrado.
[0528] Un valor decodificado puede designarse como el tamano de macrobloque real, y puede transmitirse valor que indica el numero de veces, por el que un macrobloque se va a ampliar o reducir a partir de un tamano
50 predeterminado. Adicionalmente, cuando el aparato de codificacion de video codifica un valor generado aplicando una funcion log al valor del tamano de macrobloque, el tamano de un macrobloque puede configurarse aplicando una funcion exponencial al valor decodificado por entropia. Por ejemplo, cuando el aparato de codificacion de video codifica y, que es un valor de log2 (MBsize seleccionado en el codificador/X) (X es cualquier numero entero positivo, que es un multiplo de 2), el aparato de decodificacion de video decodifica por entropia y puede obtener el tamano de 55 un macrobloque seleccionado en el codificador multiplicando 2y y X. Aqui, X corresponde a un valor predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video o un valor extraido del flujo de bits antes de la decodificacion del tamano de macrobloque. Cuando se selecciona y se usa un tamano de un macrobloque minimo disponible para X y el tamano de un macrobloque minimo disponible es 8 x 8, el tamano de un macrobloque se ajusta a 8 x 8 si un valor decodificado de y es "0", y el tamano de un macrobloque se ajusta a 16 x
16 si el valor decodificado de y es '1". Cuando el tamano de un macrobloque mlnimo disponible es 16 x 16, "16" en lugar de "8" se usa como X, y el tamano de un macrobloque se ajusta a 16 x 16 si el valor decodificado de y es "0".
[0529] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal 5 y el tamano vertical, respectivamente, el tamano de un macrobloque puede obtenerse decodificando por entropla los
aumentos del tamano horizontal y el tamano vertical, respectivamente.
[0530] Ademas, cuando un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se codifica, el tamano de un macrobloque puede obtenerse usando un valor
10 decodificado como el valor del Indice de la tabla.
[0531] En este caso, el tamano de un macrobloque que se va a transmitir puede decodificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc. En lo sucesivo en el presente documento, no se describe decodificar por separado y extraer el
15 tamano horizontal y el tamano vertical para comodidad de las descripciones, pero es aplicable extraer por separado el tamano horizontal y el tamano vertical. Adicionalmente, aunque se ilustra decodificar datos en el encabezado de secuencia y el encabezado de imagen, el tamano de un macrobloque puede decodificarse en un encabezado de segmento o un encabezado de macrobloque cuando el aparato de codificacion de video codifica el tamano de un macrobloque en el encabezado de segmento o el encabezado de macrobloque.
20
[0532] Cuando se predisena entre el aparato de codificacion de video y el aparato de decodificacion de video que el tamano de sub-bloque mlnimo y la capa de division maxima se usan como information sobre el tamano de macrobloque, la informacion sobre el tamano de sub-bloque mlnimo y la capa de division maxima se extrae y se decodifica del flujo de bits, y despues el tamano de un macrobloque puede reconstruirse.
25
[0533] Cuando el indicador que designa el tamano del macrobloque decodificado (Set_MBsize_flag) indica que el tamano de un macrobloque esta designado, el tamano de sub-bloque mlnimo se codifica por entropla y se extrae a traves de un metodo predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video entre diversos metodos de decodificacion por entropla tal como un codigo unario, un codigo unario
30 truncado, un codigo de Golomb exponencial, etc.
[0534] Cuando el tamano horizontal y el tamano vertical del tamano de sub-bloque mlnimo se configuran por separado y despues se transmiten, el tamano horizontal y el tamano vertical pueden obtenerse decodificando por entropla cada uno de los tamanos. Como alternativa, si se usa un macrobloque cuadrado, unicamente la informacion
35 que indica un lado del macrobloque cuadrado puede decodificarse por entropla.
[0535] Un valor decodificado puede designarse como el tamano de sub-bloque mlnimo real, y puede transmitirse un valor que indica el numero de veces, por el que un sub-bloque se va a ampliar o reducir a partir de un tamano predeterminado. Adicionalmente, cuando el aparato de codificacion de video codifica un valor generado
40 aplicando una funcion log al valor del tamano de sub-bloque mlnimo, el tamano de sub-bloque mlnimo puede configurarse aplicando una funcion exponencial al valor decodificado por entropla. Por ejemplo, cuando el aparato de codificacion de video codifica y, que es un valor de log2 (minBlockSize seleccionado en el aparato de codificacion de video de acuerdo con el tamano de macrobloque seleccionado/X) (X es cualquier numero entero positivo, que es un multiplo de 2), el aparato de decodificacion de video decodifica por entropla y puede obtener el tamano de sub- 45 bloque mlnimo de acuerdo con el tamano de un macrobloque seleccionado en el aparato de codificacion de video multiplicando 2y y X. Aqul, X corresponde a un valor predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video o un valor extraldo del flujo de bits antes de la codificacion de un tamano de sub- bloque. Cuando un tamano de sub-bloque mlnimo disponible para X se selecciona y se usa y el tamano de sub- bloque mlnimo disponible es 4 x 4, el tamano de sub-bloque mlnimo se ajusta a 4 x 4 si un valor decodificado de y 50 es "0", y el tamano de sub-bloque mlnimo se ajusta a 8 x 8 si el valor decodificado de y es '1". Cuando el tamano de sub-bloque mlnimo disponible es 8 x 8, "8" en lugar de "4" se usa como X, y el tamano de sub-bloque mlnimo se ajusta a 8 x 8 si el valor decodificado de y es "0".
[0536] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal 55 y el tamano vertical, respectivamente, el tamano de sub-bloque mlnimo puede obtenerse decodificando por entropla
los aumentos del tamano horizontal y el tamano vertical, respectivamente.
[0537] Ademas, cuando un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se codifica, el tamano de sub-bloque mlnimo puede obtenerse usando un
valor decodificado como el valor del Indice de la tabla.
[0538] En este caso, el tamano de sub-bloque mlnimo puede decodificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
5
[0539] La informacion de la capa de division maxima se decodifica usando codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc., y puede decodificarse usando diversos metodos tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
10 [0540] Cuando el tamano de sub-bloque mlnimo reconstruido es N x N y la capa de division maxima es x, el tamano de un macrobloque es (Nx2x)x(Nx2x).
E-2-2-2) Metodo de Decodificacion de la Informacion del Tamano del Macrobloque 2
15 [0541] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el segundo metodo de codificacion del tamano de un macrobloque.
[0542] De acuerdo con el segundo metodo, un tamano predisenado M x N entre el aparato de codificacion de video y el aparato de decodificacion de video se configura como el tamano de macrobloque de referencia, y un
20 indicador que indica si usar el tamano de un macrobloque de referencia se codifica por entropia de un encabezado de cada imagen, un encabezado de segmento, y un encabezado de macrobloque. Cuando un valor del indicador decodificado indica que el tamano de un macrobloque de referencia no se usa, la informacion relacionada con el macrobloque se extrae decodificando por entropia la informacion del tamano de un macrobloque, y se configura el tamano de un macrobloque. Cuando el valor del indicador decodificado indica que se usa el tamano de un 25 macrobloque de referencia, esto significa que la informacion de tamano de macrobloque no se incluye en el flujo de bits, de manera que un tamano de un macrobloque de referencia preconfigurado se ajusta como el tamano de un macrobloque y se realizan una serie de procesos de decodificacion.
[0543] Cuando el tamano de un macrobloque de referencia se incluye en el encabezado de secuencia se 30 transmite al aparato de decodificacion de video del aparato de codificacion de video, el tamano de un macrobloque
de referencia puede extraerse de una posicion predisenada tal como el encabezado de secuencia, etc. dentro del flujo de bits. Aqui, el tamano de un macrobloque de referencia o el tamano de un macrobloque actual se asigna con un valor decodificado por entropia, y el tamano de un macrobloque puede obtenerse escalando (ampliando o reduciendo) un tamano predeterminado por el valor decodificado por entropia. Como alternativa, como se describe 35 en el primer metodo de decodificacion que se ha mencionado anteriormente, cuando el aparato de codificacion de video codifica un valor generado aplicando una funcion log al valor de tamano de macrobloque, el valor del tamano de macrobloque puede obtenerse usando una funcion exponencial.
[0544] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal 40 y el tamano vertical, respectivamente, el tamano de un macrobloque puede obtenerse decodificando por entropia los
aumentos del tamano horizontal y el tamano vertical, respectivamente.
[0545] Ademas, cuando un valor de indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se codifica, el tamano de un macrobloque puede obtenerse usando un valor
45 decodificado como el valor del indice de la tabla.
[0546] En este caso, el tamano de macrobloque que se va a transmitir puede decodificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
50
[0547] Adicionalmente, cuando la informacion sobre el tamano de un macrobloque de referencia o el tamano de un macrobloque corresponde a la informacion sobre el tamano de sub-bloque mlnimo y la capa de division maxima, la informacion sobre un tamano de sub-bloque mlnimo de referencia de acuerdo con el tamano de un macrobloque de referencia o el tamano de sub-bloque mlnimo de acuerdo con el tamano de un macrobloque y la
55 informacion sobre la capa de division maxima se extraen y se decodifican del flujo de bits, y despues el tamano de un macrobloque se decodifica.
[0548] Aqui, el tamano de sub-bloque mlnimo de referencia y el tamano de sub-bloque mlnimo pueden extraerse de una posicion predisenada tal como una secuencia dentro del flujo de bits. El tamano de sub-bloque
mlnimo de referenda y el tamano de sub-bloque mlnimo actual pueden asignarse con un valor decodificado por entropla, y el tamano de sub-bloque mlnimo puede obtenerse escalando (ampliando o reduciendo) un tamano predeterminado por el valor decodificado por entropla. Como alternativa, como se describe en el primer metodo de decodificacion que se ha mencionado anteriormente, cuando el aparato de codificacion de video codifica un valor 5 generado aplicando una funcion log al valor del tamano de sub-bloque minimo, el valor del tamano de sub-bloque minimo puede obtenerse usando una funcion exponencial.
[0549] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal y el tamano vertical, respectivamente, el tamano de sub-bloque minimo puede obtenerse decodificando por entropla
10 los aumentos del tamano horizontal y el tamano vertical, respectivamente.
[0550] Ademas, cuando un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se codifica, el tamano de sub-bloque mlnimo puede obtenerse usando un valor decodificado como el valor del Indice de la tabla.
15
[0551] En este caso, el tamano de sub-bloque minimo puede decodificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0552] La informacion de la capa de division maxima puede decodificarse usando una codificacion de 20 compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc., y diversos
metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0553] Cuando el tamano de sub-bloque minimo reconstruido es N x N y la capa de division maxima es x, el 25 tamano de un macrobloque es (Nx2x)x(Nx2x).
D-2-2-3) Metodo de Decodificacion de la Informacion del Tamano del Macrobloque 3
[0554] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el 30 tercer metodo de codificacion del tamano de un macrobloque.
[0555] De acuerdo con el tercer metodo, el aparato de decodificacion de video extrae un indicador que indica si usar el tamano de un macrobloque de referencia y/o informacion adicional que indica una ampliacion o una reduccion por una relacion predeterminada con respecto al tamano de un macrobloque de referencia del flujo de bits,
35 y despues el tamano de un macrobloque puede extraerse usando la informacion anterior.
[0556] En primer lugar, un tamano N x N se establece como el tamano de un macrobloque de referencia y el indicador que indica si usar el tamano de un macrobloque de referencia se decodifica en cada encabezado de cada imagen, encabezado de segmento, y el encabezado de macrobloque. Cuando el indicador indica que se usa el
40 tamano de un macrobloque de referencia, el tamano de un macrobloque actual se ajusta igualmente al tamano de un macrobloque de referencia y se realiza una decodificacion usando el tamano de un macrobloque ajustado en la unidad de macrobloques. Sin embargo, cuando el indicador indica que el tamano de un macrobloque de referencia no se usa, un valor ampliado o reducido con respecto al tamano de un macrobloque de referencia en una relacion predeterminada predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se 45 configura como el tamano de un macrobloque actual y se realiza una decodificacion en la unidad de macrobloques. Por ejemplo, un tamano ampliado o reducido dos veces del tamano horizontal y el tamano vertical del macrobloque de referencia puede configurarse como el tamano de macrobloque actual.
[0557] Cuando el aparato de codificacion de video usa diversas relaciones de ampliacion o reduccion, incluye 50 una relacion seleccionada en el flujo de bits, y codifica el flujo de bits, el aparato de decodificacion de video puede
obtener diversas relaciones decodificando el numero de bits predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video del flujo de bits en una decodificacion por entropla del indicador.
[0558] Como alternativa, cuando la informacion que indica una relacion de ampliacion o una relacion de 55 reduccion se incluye en el flujo de bits y se codifica, ademas del indicador que indica si usar el tamano de
macrobloque de referencia, la relacion de ampliacion o la relacion de reduccion pueden decodificarse o no de acuerdo con un valor del indicador que indica si usar el tamano de un macrobloque de referencia despues de decodificar el indicador. Si la relacion de ampliacion o la relacion de reduccion no se decodifica, el tamano de un macrobloque de referencia se configura como el tamano de un macrobloque actual y despues se realizan los
procesos de decodificacion.
[0559] Cuando el indicador decodificado indica que el tamano de un macrobloque de referencia es diferente del tamano de un macrobloque actual y la relacion decodificada es la relacion de ampliation, el tamano de un
5 macrobloque de referencia se configura como el tamano de un macrobloque mlnimo disponible para la codification o decodificacion del flujo de bits actual, y despues un tamano ampliado del tamano de un macrobloque de referencia por la relacion decodificada por entropla se configura como el tamano de macrobloque actual. Por el contrario, cuando la relacion decodificada por entropla es la relacion de reduction, el tamano de un macrobloque de referencia se configura como el tamano de un macrobloque maximo disponible para la codificacion o decodificacion del flujo de 10 bits actual, y despues un tamano reducido con respecto al tamano de un macrobloque de referencia por la relacion decodificada por entropla se configura como el tamano de macrobloque actual.
[0560] De acuerdo con una realization de la presente divulgation, cuando un indicador que indica si ajustar el tamano de un macrobloque de referencia se incluye en el encabezado de secuencia del flujo de bits y despues se
15 transmite, el decodificador decodifica por entropla el indicador del encabezado de secuencia. Y despues, cuando el indicador indica que el tamano de un macrobloque de referencia se ajusta, el decodificador extrae la information del tamano de un macrobloque de referencia de una position predisenada tal como el encabezado de secuencia del flujo de bits y configura el tamano de un macrobloque de referencia usando la informacion extralda. Cuando el indicador indica que el tamano de un macrobloque de referencia no esta ajustado, puede usarse un tamano 20 predeterminado predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video, por ejemplo, un tamano de 16 x 16, como el tamano de macrobloque de referencia.
[0561] De acuerdo con una realizacion de la presente divulgacion, el aparato de decodificacion de video extrae informacion que indica el tamano de un macrobloque maximo disponible para la codificacion o decodificacion
25 del flujo de bits actual del flujo de bits y puede usar la informacion extraida en la figuration del tamano de macrobloque de referencia. De acuerdo con otra realizacion de la presente divulgacion, el aparato de decodificacion de video extrae informacion que indica el tamano de un macrobloque mlnimo disponible para la codificacion o decodificacion del flujo de bits actual del flujo de bits y puede usar la informacion extralda en la configuration del tamano de macrobloque de referencia. De acuerdo con otra realizacion mas de la presente divulgacion, el aparato 30 de decodificacion de video extrae informacion que indica tanto el tamano de un macrobloque maximo como el tamano de un macrobloque minimo disponible para la codificacion o decodificacion del flujo de bits actual del flujo de bits y puede usar la informacion extraida en la configuracion del tamano de macrobloque de referencia.
[0562] En un metodo de decodificacion de default_MBsize, que es la informacion que indica el tamano de 35 macrobloque de referencia, un valor decodificado por entropla puede configurarse como un valor del tamano de un
macrobloque de referencia, y el tamano de un macrobloque de referencia puede obtenerse a traves de una ampliacion o una reduccion de un tamano predeterminado usando el valor decodificado por entropla como una relacion de ampliacion o una relacion de reduccion. Como alternativa, como se describe en el primer metodo de decodificacion que se ha mencionado anteriormente, cuando el aparato de codificacion de video codifica un valor 40 generado aplicando una funcion log al valor de tamano de macrobloque, el valor del tamano de macrobloque puede obtenerse usando una funcion exponencial.
[0563] Mas especificamente, por ejemplo, cuando default_MBsize indica el tamano de un macrobloque maximo disponible para la codificacion o decodificacion del flujo de bits actual y el aparato de codificacion de video
45 codifica y, que es un valor de log2 (X/default_MBsize) (X es cualquier numero entero positivo, que es un multiplo de 2), el aparato de decodificacion de video puede obtener default_MBsize decodificando por entropla y multiplicando X y 2y. En este caso, X puede ser un valor predispuesto entre el aparato de codificacion de video y el aparato de decodificacion de video como el tamano de un macrobloque maximo disponible o un valor extraldo del flujo de bits antes de la codificacion de default_MBsize.
50
[0564] Como alternativa, cuando default_MBsize indica el tamano de un macrobloque mlnimo disponible para la codificacion o decodificacion del flujo de bits actual y el aparato de codificacion de video codifica y, que es un valor de log2(X/default_MBsize) (X es cualquier numero entero positivo, que es un multiplo de 2), el aparato de decodificacion de video extrae y del flujo de bits a traves de una decodificacion por entropla. Y despues, el aparato
55 de decodificacion de video establece un valor generado multiplicando X y 2y como default_MBsize. En este caso, X puede ser un valor predispuesto entre el aparato de codificacion de video y el aparato de decodificacion de video como el tamano de un macrobloque mlnimo disponible o un valor extraldo del flujo de bits antes de la codificacion de default MBsize.
[0565] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal y el tamano vertical, respectivamente, el tamano de un macrobloque de referencia puede obtenerse decodificando por entropla los aumentos del tamano horizontal y el tamano vertical, respectivamente.
5 [0566] Ademas, cuando un valor de Indice de una tabla predisenada entre el aparato de codificacion de video
y el aparato de decodificacion de video se codifica, el tamano de un macrobloque de referencia puede obtenerse
usando un valor decodificado como el valor del indice de la tabla.
[0567] En este caso, el tamano de un macrobloque de referencia puede decodificarse usando diversos
10 metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb
exponencial, etc.
[0568] Adicionalmente, cuando la informacion sobre el tamano de un macrobloque de referencia o el tamano de un macrobloque corresponde a la informacion sobre el tamano de sub-bloque minimo y la capa de division
15 maxima, la informacion sobre un tamano de sub-bloque minimo de referencia de acuerdo con el tamano de un macrobloque de referencia o el tamano de sub-bloque minimo de acuerdo con el tamano de un macrobloque y la informacion sobre la capa de division maxima se extraen y se decodifican del flujo de bits, y despues el tamano de un macrobloque se decodifica.
20 [0569] En un metodo de decodificacion de default_minBlockSize, que es la informacion que indica el tamano de sub-bloque minimo de referencia, un propio valor decodificado por entropla puede configurarse como un valor del tamano de sub-bloque minimo de referencia y el tamano de sub-bloque minimo de referencia puede obtenerse a traves de una ampliacion o una reduccion de un tamano predeterminado usando el valor decodificado por entropla como una relacion de ampliacion o una relacion de reduccion. Como alternativa, como se describe en el primer 25 metodo de decodificacion que se ha mencionado anteriormente, cuando el aparato de codificacion de video codifica un valor generado aplicando una funcion log al valor del tamano de sub-bloque minimo, el valor del tamano de sub- bloque minimo puede obtenerse usando una funcion exponencial.
[0570] Mas especificamente, por ejemplo, cuando default_minBlockSize indica el tamano de sub-bloque 30 minimo y maximo disponible para la codificacion o decodificacion del flujo de bits actual y el aparato de codificacion
de video codifica y, que es un valor de log2 (X/default_minBlockSize) (X es cualquier numero entero positivo, que es un multiplo de 2), el aparato de decodificacion de video puede obtener default_minBlockSize decodificando por entropla y multiplicando X y 2y. En este caso, X puede ser un valor predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video como el tamano de sub-bloque minimo y maximo disponible o un valor 35 extraido del flujo de bits antes de la codificacion de default_minBlockSize.
[0571] Como alternativa, cuando default_minBlockSize indica el tamano de sub-bloque minimo disponible para la codificacion o decodificacion del flujo de bits actual y el aparato de codificacion de video codifica y, que es un valor de log2 (X/ default_minBlockSize) (X es cualquier numero entero positivo, que es un multiplo de 2), el aparato
40 de decodificacion de video decodifica por entropla y extrae y del flujo de bits a traves de una decodificacion por entropla. Y despues, el aparato de decodificacion de video establece un valor generado multiplicando X y 2y como default_minBlockSize. En este caso, X puede ser un valor predisenado entre el aparato de codificacion de video y el aparato de decodificacion de video como el tamano de sub-bloque minimo disponible o un valor extraido del flujo de bits antes de la codificacion de default_minBlokcSize.
45
[0572] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal y el tamano vertical, respectivamente, el tamano de sub-bloque minimo de referencia puede obtenerse decodificando por entropla los aumentos del tamano horizontal y el tamano vertical, respectivamente.
50 [0573] Ademas, cuando un valor de indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se codifica, el tamano de sub-bloque minimo de referencia puede obtenerse usando un valor decodificado como el valor del indice de la tabla.
[0574] En este caso, el tamano de sub-bloque minimo de referencia puede decodificarse usando diversos 55 metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb
exponencial, etc.
[0575] La informacion de la capa de division maxima puede decodificarse usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc., y diversos
metodos, tales como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0576] Cuando el tamano de sub-bloque mlnimo reconstruido es N x N y la capa de division maxima es x, el tamano de un macrobloque es (Nx2x)x(Nx2x).
5
D-2-2-4) Metodo de Decodificacion de la Informacion del Tamano del Macrobloque 4
[0577] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el cuarto metodo de codificacion del tamano de un macrobloque.
10
[0578] De acuerdo con el cuarto metodo, despues de que un indicador que indica si usar el tamano de un macrobloque de referencia y el tamano de un macrobloque seleccionado en un caso en el que el tamano de un macrobloque de referencia no se usa se codifican en una primera imagen, un indicador que indica si usar el tamano de un macrobloque de una imagen previa y el tamano de un macrobloque de una imagen actual en un caso en el
15 que el tamano de un macrobloque de la imagen previa no se usa pueden codificarse a partir de una segunda imagen.
[0579] Cuando el indicador que indica si usar el tamano de un macrobloque de referencia indica que se usa el tamano de un macrobloque de referencia, el tamano de un macrobloque se ajusta igualmente al tamano de un
20 macrobloque de referencia y despues se inicia una primera decodificacion de imagen.
[0580] A partir de una segunda imagen, un indicador que indica si usar el tamano de un macrobloque de una imagen previa como el tamano de un macrobloque de una imagen actual se decodifica y despues la informacion de tamano de macrobloque para una decodificacion de imagen actual se decodifica cuando el tamano de un
25 macrobloque de la imagen previa no se usa. Cuando el tamano de un macrobloque de la imagen previa se usa para decodificar la imagen actual, el tamano de un macrobloque se ajusta a un valor igual al tamano de un macrobloque de la imagen previa y una segunda imagen se decodifica.
[0581] En un metodo de decodificacion de default_MBsize, que es la informacion que indica el tamano de 30 macrobloque de referencia, o MB_size, que es la informacion que indica el tamano de un macrobloque de la imagen
actual, un valor decodificado por entropla puede usarse como el tamano de un macrobloque y el tamano de un macrobloque puede obtenerse a traves de una ampliacion o una reduccion de un tamano predeterminado usando el valor decodificado por entropla como una relacion de ampliacion o una relacion de reduccion. Como alternativa, como se describe en el primer metodo de decodificacion que se ha mencionado anteriormente, cuando el aparato de 35 codificacion de video codifica un valor generado aplicando una funcion log al valor de tamano de macrobloque, el valor del tamano de macrobloque puede obtenerse usando una funcion exponencial.
[0582] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal y el tamano vertical, respectivamente, el tamano de macrobloque de referencia puede obtenerse decodificando por
40 entropla los aumentos del tamano horizontal y el tamano vertical, respectivamente.
[0583] Ademas, cuando un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se codifica, el tamano de un macrobloque de referencia puede obtenerse usando un valor decodificado como el valor del Indice de la tabla.
45
[0584] En este caso, el tamano de un macrobloque de referencia puede decodificarse usando diversos metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
50 [0585] Adicionalmente, cuando la informacion del tamano de un macrobloque corresponde a la informacion sobre el tamano de sub-bloque mlnimo y la capa de division maxima, la informacion del tamano de sub-bloque minimo y la informacion de la capa de division maxima se decodifican por entropia del flujo de bits y despues el tamano de un macrobloque se decodifica.
55 [0586] En un metodo de decodificacion de default_minBlockSize, que es la informacion que indica el tamano de sub-bloque minimo de referencia, o minblockSize, que es la informacion que indica el tamano de sub-bloque minimo de la imagen actual, un valor decodificado por entropla puede usarse como el tamano de sub-bloque mlnimo y el tamano de sub-bloque minimo puede obtenerse a traves de una ampliacion o una reduccion de un tamano predeterminado usando el valor decodificado por entropia como una relacion de ampliacion o una relacion de
reduccion. Como alternativa, como se describe en el primer metodo de decodificacion que se ha mencionado anteriormente, cuando el aparato de codificacion de video codifica un valor generado aplicando una funcion log al valor del tamano de sub-bloque mlnimo, el valor del tamano de sub-bloque mlnimo puede obtenerse usando una funcion exponencial.
5
[0587] Adicionalmente, cuando el aparato de codificacion de video decodifica aumentos del tamano horizontal y el tamano vertical, respectivamente, el tamano de sub-bloque mlnimo de referencia puede obtenerse decodificando por entropla los aumentos del tamano horizontal y el tamano vertical, respectivamente.
10 [0588] Ademas, cuando un valor de Indice de una tabla predisenada entre el aparato de codificacion de video y el aparato de decodificacion de video se codifica, el tamano de sub-bloque mlnimo de referencia puede obtenerse usando un valor decodificado como el valor del Indice de la tabla.
[0589] En este caso, el tamano de sub-bloque mlnimo de referencia puede decodificarse usando diversos 15 metodos de codificacion binaria tal como un codigo unario, un codigo unario truncado, un codigo de Golomb
exponencial, etc.
[0590] La informacion de la capa de division maxima puede decodificarse usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc., y diversos
20 metodos, tales como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0591] Cuando el tamano de sub-bloque mlnimo reconstruido es N x N y la capa de division maxima es x, el tamano de un macrobloque es (Nx2x)x(Nx2x).
25 D-2-2-5) Metodo de Decodificacion de la Informacion del Tamano del Macrobloque 5
[0592] En lo sucesivo en el presente documento, se describe un metodo de decodificacion de acuerdo con el quinto metodo de codificacion del tamano de un macrobloque.
30 [0593] De acuerdo con el quinto metodo, los tamanos de macrobloques de la intra-imagen y la inter-imagen se extraen de posiciones predisenadas dentro del flujo de bits entre el aparato de codificacion de video y el aparato de decodificacion de video, respectivamente, y el tamano de un macrobloque de acuerdo con el tipo de imagen se ajusta.
35 [0594] Los indicadores que indican si decodificar el tamano de un macrobloque para la intra-imagen y que indican si decodificar el tamano de un macrobloque para la inter-imagen se reconstruyen en el encabezado de secuencia o el encabezado de imagen, respectivamente, y despues el tamano de un macrobloque para la intra- imagen o la inter-imagen se decodifica de acuerdo con un valor del indicador a traves del flujo de bits o la imagen se reconstruye usando un tamano de macrobloque predisenado.
40
[0595] Un metodo de decodificacion de la informacion sobre el tamano de un macrobloque de la intra-imagen y el tamano de un macrobloque de la inter-imagen puede usarse en combinacion con los metodos de decodificacion que se han mencionado anteriormente de acuerdo con los metodos de codificacion que se han mencionado anteriormente.
45
[0596] Adicionalmente, cuando la informacion sobre el tamano de intra-macrobloque o el tamano inter- macrobloque corresponde la informacion sobre el tamano de sub-bloque mlnimo y la capa de division maxima, la informacion del tamano de sub-bloque mlnimo y la informacion de la capa de division maxima se decodifican por entropla del flujo de bits y despues el tamano de un macrobloque se decodifica.
50
[0597] Un metodo de decodificacion de la informacion sobre el tamano de sub-bloque mlnimo de la intra- imagen o el tamano de sub-bloque mlnimo de la inter-imagen puede usarse en combinacion con los metodos de decodificacion que se han mencionado anteriormente de acuerdo con los metodos de codificacion que se han mencionado anteriormente.
55
[0598] La informacion de la capa de division maxima puede decodificarse usando una codificacion de compresion sin perdida, tal como una codificacion aritmetica binaria, una codificacion Huffman, etc., y diversos metodos, tales como un codigo unario, un codigo unario truncado, un codigo de Golomb exponencial, etc.
[0599] Cuando el tamano de sub-bloque mlnimo reconstruido es N x N y la capa de division maxima es x, el tamano de un macrobloque es (Nx2x)x(Nx2x).
D-2-3) Diagrama de Flujo para Ilustrar una Operacion de Decodificacion 5
[0600] Mientras tanto, un metodo de decodificacion de video de acuerdo con un aspecto de la presente divulgacion puede incluir extraer informacion sobre el tamano de un macrobloque del flujo de bits y configurar el tamano de un macrobloque usando la informacion extralda en la etapa S3810, extraer datos de imagen codificados del flujo de bits y generar una imagen reconstruida decodificando los datos de imagen codificados de acuerdo con
10 un tamano de bloque identificado por la informacion sobre el tamano de bloque en la etapa S3820.
[0601] Sera evidente para los expertos en la tecnica que los aspectos respectivos para determinar el tamano de un macrobloque y codificar y decodificar la informacion sobre el tamano de un macrobloque pueden implementarse de diversas maneras combinandolos con los aspectos respectivos de division del macrobloque y
15 codificando y decodificando la informacion de division de macrobloque de acuerdo con los aspectos que se han mencionado anteriormente de la presente divulgacion.
[0602] Las principales caracterlsticas de la presente divulgacion se resumen como se indica a continuacion. Empleando bloques que tienen un tamano variable (por ejemplo, un macrobloque, que es las unidades de
20 codificacion/decodificacion)
Determinando un tamano de bloque que tiene un tamano variable e informacion del tamano de codificacion
Dividir un bloque que tiene un tamano determinado en sub-bloques y codificar la informacion de division 25
[0603] Mientras tanto, como ejemplo del macrobloque dividido de acuerdo con los aspectos de la presente divulgacion, la division para la prediccion o la transformada se ha descrito en los aspectos que se han mencionado anteriormente. Sin embargo, la prediccion o la transformada se unicamente un ejemplo al que se le puede aplicar la division, pero el macrobloque puede dividirse para diversos fines ademas de la prediccion o la transformada.
30 Adicionalmente, un sujeto que se va a dividir no solo es el macrobloque sino tambien cualquier imagen de area. Por ejemplo, incluso cuando un bloque que tiene un tamano predeterminado, que corresponde a la unidad de prediccion, se divide en sub-bloques para una transformada eficiente, puede usarse la division de acuerdo con los aspectos de la presente divulgacion.
35 [0604] En otras palabras, la presente divulgacion proporciona diversos metodos de division y un metodo y un aparato para codificar y decodificar eficientemente informacion sobre la division cuando se requiere dividir un bloque de imagen en sub-bloques para cualquier fin.
[0605] Mientras tanto, un aparato de codificacion/decodificacion de video de acuerdo con un aspecto de la 40 presente divulgacion puede implementarse conectando un terminal de entrada de un aparato de decodificacion de
video de acuerdo con un aspecto de la presente divulgacion con un terminal de salida de un aparato de decodificacion de video de acuerdo con un aspecto de la presente divulgacion.
[0606] Un aparato de codificacion/decodificacion de video de acuerdo con un aspecto de la presente 45 divulgacion incluye un codificador de video para codificar una imagen a traves de la generacion de datos de imagen
codificados codificando un bloque actual dividido en una pluralidad de sub-bloques y la generacion de datos de informacion de division codificados codificando una informacion de division del bloque actual; y un decodificador de video para decodificar la imagen a traves de la reconstruction de la informacion de division del bloque actual decodificando los datos de informacion de division codificados extraidos de un flujo de bits y reconstruyendo el 50 bloque actual dividido en la pluralidad de sub-bloques decodificando los datos de imagen codificados extraidos del flujo de bits, de acuerdo con una informacion de division reconstruida del bloque actual.
[0607] Un metodo de codificacion/decodificacion de video de acuerdo con un aspecto de la presente divulgacion incluye codificar una imagen a traves de la generacion de datos de imagen codificados codificando un
55 bloque actual dividido en una pluralidad de sub-bloques y la generacion de datos de informacion de division codificados codificando una informacion de division del bloque actual; y decodificar la imagen a traves de la reconstruccion de la informacion de division del bloque actual decodificando los datos de informacion de division codificados extraidos de un flujo de bits y reconstruyendo el bloque actual dividido en la pluralidad de sub-bloques decodificando los datos de imagen codificados extraidos del flujo de bits, de acuerdo con una informacion de division
reconstruida del bloque actual.
[0608] En la descripcion anterior, aunque todos los componentes de las realizaciones de la presente divulgacion pueden haberse explicado como montados o conectados operativamente como una unidad, la presente 5 divulgacion no pretende limitarse a dichas realizaciones. En su lugar, dentro del alcance objeto de la presente divulgacion, los componentes respectivos pueden combinarse selectiva y operativamente en cualquier numero. Cada uno de los componentes tambien puede implementarse por si mismo en hardware mientras que los respectivos pueden combinarse en parte o como un conjunto selectivamente e implementarse en un programa informatico que tiene modulos de programa para ejecutar funciones de los equivalentes de hardware. Los codigos o 10 segmentos de codigo para constituir tal programa pueden deducirse facilmente por un experto en la tecnica. El programa informatico puede almacenarse en un medio legible por ordenador, que durante el funcionamiento puede realizar los aspectos de la presente divulgacion. Como medios legibles por ordenador, los candidatos incluyen medios de grabacion magneticos, medios de grabacion opticos, y medios de onda portadora.
15 [0609] Ademas, los terminos como "incluir", "comprender" y "tener" deben interpretarse por defecto como inclusivos o abiertos en lugar de exclusivos o cerrados a menos que se defina expresamente otra cosa. Todos los terminos tecnicos, cientlficos o de otro modo estan de acuerdo con los significados como se entienden por un experto en la tecnica, a menos que se defina lo contrario. Los terminos comunes que se encuentran en los diccionarios deben interpretarse en el contexto de los escritos de la tecnica relacionada no demasiado idealmente o 20 excesivamente a menos que la presente divulgacion as! lo defina expresamente.
[0610] Aunque los aspectos ejemplares de la presente divulgacion se han descrito para fines ilustrativos, los expertos en la tecnica apreciaran que son posibles diversas modificaciones, adiciones y sustituciones, sin apartarse de las caracterlsticas esenciales de la divulgacion. Por lo tanto, los aspectos ejemplares de la presente divulgacion 25 no se han descrito con fines limitantes. Por consiguiente, el alcance de la divulgacion no se limitara por los aspectos anteriores sino por las reivindicaciones y los equivalentes de las mismas.
[Aplicabilidad Industrial]
30 [0611] Como se ha descrito anteriormente, la presente divulgacion es muy util para su aplicacion en los campos de un procesamiento de compresion de imagen para codificar y decodificar un video de alta resolucion codificando y decodificando eficientemente la information de division de bloque en la codification de una imagen de alta resolucion usando macrobloques de tamano variable, que genera un efecto de mejora de la eficiencia de la compresion.
35

Claims (2)

  1. REIVINDICACIONES
    1. Un aparato de codificacion de video, que comprende:
    5 un determinador de la capa de division maxima (2620) para determinar un valor de la capa de division maxima y un tamano de sub-bloque mlnimo correspondiente para codificar un bloque actual, en el que el valor de la capa de division maxima es el numero de capas por el que el bloque actual puede dividirse como maximo en sub-bloques usando una estructura de arbol, teniendo dichos sub-bloques un tamano igual o mayor que el tamano de sub-bloque mlnimo;
    10
    un codificador de la capa de division maxima (2630) para codificar el valor de la capa de division maxima y el tamano de sub-bloque mlnimo en un flujo de bits para indicar el tamano del bloque actual en el flujo de bits; y
    un codificador de video (2610) para generar datos de imagen codificados del bloque actual codificando los sub- 15 bloques respectivos en el bloque actual que tienen un tamano igual o mayor que el tamano de sub-bloque minimo, y para codificar informacion de division que indica la division del bloque actual en los sub-bloques respectivos mediante la estructura de arbol.
  2. 2. Un aparato de decodificacion de video, que comprende:
    20
    un decodificador de la capa de division maxima (3210) para decodificar un valor de la capa de division maxima y un tamano de sub-bloque mlnimo correspondiente de un flujo de bits para decodificar un bloque actual, en el que el valor de la capa de division maxima es el numero de capas por el que el bloque actual puede dividirse como maximo en sub-bloques usando una estructura de arbol, y en el que dichos sub-bloques tienen un tamano igual o mayor que 25 el tamano de sub-bloque mlnimo, y
    para determinar el tamano del bloque actual a partir del valor de la capa de division maxima y el tamano de sub- bloque minimo; y
    30 un decodificador de video (3220) para decodificar el bloque actual que tiene el tamano determinado decodificando la informacion de division y los datos de imagen codificados del bloque actual extraldos del flujo de bits, en el que el bloque actual se reconstruye decodificando los sub-bloques respectivos en el bloque actual que tienen un tamano igual o mayor que el tamano de sub-bloque mlnimo y se identifican por la informacion de division.
ES10820868.7T 2009-10-01 2010-10-01 Método y aparato para codificar/decodificar imagen usando una capa dividida Active ES2554237T3 (es)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR20090093987 2009-10-01
KR20090093987 2009-10-01
KR20090093982 2009-10-01
KR20090093982 2009-10-01
KR20100096032 2010-10-01
KR1020100096032A KR101698499B1 (ko) 2009-10-01 2010-10-01 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치
PCT/KR2010/006735 WO2011040795A2 (ko) 2009-10-01 2010-10-01 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2554237T3 true ES2554237T3 (es) 2015-12-17

Family

ID=44044435

Family Applications (3)

Application Number Title Priority Date Filing Date
ES10820868.7T Active ES2554237T3 (es) 2009-10-01 2010-10-01 Método y aparato para codificar/decodificar imagen usando una capa dividida
ES15183122.9T Active ES2628515T3 (es) 2009-10-01 2010-10-01 Aparato para decodificación de imagen usando una capa dividida
ES15183128.6T Active ES2625010T3 (es) 2009-10-01 2010-10-01 Aparato para codificación de imagen usando una capa dividida

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES15183122.9T Active ES2628515T3 (es) 2009-10-01 2010-10-01 Aparato para decodificación de imagen usando una capa dividida
ES15183128.6T Active ES2625010T3 (es) 2009-10-01 2010-10-01 Aparato para codificación de imagen usando una capa dividida

Country Status (8)

Country Link
US (3) US9264716B2 (es)
EP (3) EP2993904B1 (es)
KR (2) KR101698499B1 (es)
CN (4) CN104683809B (es)
ES (3) ES2554237T3 (es)
HU (3) HUE033566T2 (es)
PL (3) PL2993904T3 (es)
WO (1) WO2011040795A2 (es)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9549190B2 (en) * 2009-10-01 2017-01-17 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding image using variable-size macroblocks
CN104618727B (zh) * 2009-12-10 2018-01-12 Sk电信有限公司 使用树形结构的解码方法
KR101487687B1 (ko) 2010-01-14 2015-01-29 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
CN106162171B (zh) 2010-04-13 2020-09-11 Ge视频压缩有限责任公司 解码器及方法、编码方法
BR112012026391B1 (pt) 2010-04-13 2020-12-15 Ge Video Compression, Llc Herança em amostra de arranjo em subdivisão multitree
HUE045579T2 (hu) 2010-04-13 2020-01-28 Ge Video Compression Llc Síkközi predikció
CN105120287B (zh) 2010-04-13 2019-05-17 Ge 视频压缩有限责任公司 解码器、编码器以及用于解码和编码的方法
AU2015202094B2 (en) * 2010-04-13 2016-11-17 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
EP2547108A4 (en) * 2010-04-13 2014-07-02 Samsung Electronics Co Ltd VIDEO CODING METHOD AND VIDEO CODING DEVICE WITH PRECODING UNITS BASED ON CODING UNITS FOLLOWING A TREE STRUCTURE AND VIDEO CODING METHOD AND VIDEO ENCODING DEVICE WITH PRECODING UNITS BASED ON CODING UNITS DEFINED ACCORDING TO A TREE STRUCTURE
KR101824241B1 (ko) * 2011-01-11 2018-03-14 에스케이 텔레콤주식회사 인트라 부가정보 부호화/복호화 장치 및 방법
TWI628950B (zh) 2011-06-27 2018-07-01 三星電子股份有限公司 影像解碼裝置
US9392301B2 (en) * 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
US9456212B2 (en) * 2011-09-30 2016-09-27 Broadcom Corporation Video coding sub-block sizing based on infrastructure capabilities and current conditions
KR101268588B1 (ko) * 2012-02-28 2013-05-28 전자부품연구원 무손실 영상 압축 장치 및 방법
JP6226863B2 (ja) * 2012-04-13 2017-11-08 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2013162257A1 (ko) * 2012-04-23 2013-10-31 삼성전자 주식회사 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치
US9961368B2 (en) * 2012-04-24 2018-05-01 Lg Electronics Inc. Method and device for determining a unit of a transform unit used in video signal processing
PL3780606T3 (pl) 2012-06-26 2022-06-20 Lg Electronics Inc. Sposób dekodowania wideo, sposób kodowania wideo oraz środek nośnikowy odczytywalny przez dekoder przechowujący zakodowane informacje wideo
FR2993084A1 (fr) * 2012-07-09 2014-01-10 France Telecom Procede de codage video par prediction du partitionnement d'un bloc courant, procede de decodage, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
RU2653236C2 (ru) * 2012-09-26 2018-05-07 Вилос Медиа Интернэшнл Лимитед Способ кодирования изображения, способ декодирования изображения, устройство кодирования изображения, устройство декодирования изображения и устройство кодирования и декодирования изображения
KR101420718B1 (ko) * 2012-12-21 2014-07-23 성균관대학교산학협력단 스케일러블 비디오 부호화 및 복호화 방법, 그리고 이를 이용한 장치
KR102116985B1 (ko) 2013-08-16 2020-05-29 삼성전자 주식회사 비디오 인코딩을 위한 인트라 리프레쉬 방법
CN105519114A (zh) 2013-09-10 2016-04-20 株式会社Kt 用于对可扩展视频信号进行编码/解码的方法及装置
RU2654129C2 (ru) 2013-10-14 2018-05-16 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN104811731A (zh) * 2014-01-03 2015-07-29 上海天荷电子信息有限公司 多层次子块匹配图像压缩方法
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
AU2014408228B2 (en) 2014-09-30 2019-09-19 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
EP3270593A4 (en) * 2015-03-13 2018-11-07 LG Electronics Inc. Method of processing video signal and device for same
US10419737B2 (en) 2015-04-15 2019-09-17 Google Llc Data structures and delivery methods for expediting virtual reality playback
US10412373B2 (en) 2015-04-15 2019-09-10 Google Llc Image capture for virtual reality displays
US10546424B2 (en) 2015-04-15 2020-01-28 Google Llc Layered content delivery for virtual and augmented reality experiences
US10440407B2 (en) 2017-05-09 2019-10-08 Google Llc Adaptive control for immersive experience delivery
US10540818B2 (en) 2015-04-15 2020-01-21 Google Llc Stereo image generation and interactive playback
US10469873B2 (en) * 2015-04-15 2019-11-05 Google Llc Encoding and decoding virtual reality video
US10444931B2 (en) 2017-05-09 2019-10-15 Google Llc Vantage generation and interactive playback
US10567464B2 (en) 2015-04-15 2020-02-18 Google Llc Video compression with adaptive view-dependent lighting removal
CN105721866B (zh) * 2016-02-01 2019-02-12 北京奇艺世纪科技有限公司 一种编码单元划分方法及装置
CN109155857B (zh) * 2016-03-11 2023-05-30 数字洞察力有限公司 视频编码方法以及装置
US10880548B2 (en) 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
CN117412035A (zh) 2016-08-31 2024-01-16 株式会社Kt 用于处理视频信号的方法和设备
KR20230070062A (ko) * 2016-10-04 2023-05-19 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
CN113873261B (zh) * 2016-10-04 2022-12-27 有限公司B1影像技术研究所 图像数据编码/解码方法和装置
CN116744022A (zh) * 2016-11-25 2023-09-12 株式会社Kt 用于对视频进行编码和解码的方法
EP3383044A1 (en) 2017-03-27 2018-10-03 Thomson Licensing Reducing redundancy between tree types
US10474227B2 (en) 2017-05-09 2019-11-12 Google Llc Generation of virtual reality with 6 degrees of freedom from limited viewer data
KR102386291B1 (ko) * 2017-07-06 2022-04-14 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
EP3657789A4 (en) 2017-07-17 2020-12-16 Industry - University Cooperation Foundation Hanyang University METHOD AND DEVICE FOR CODING / DECODING AN IMAGE
CN111066321B (zh) * 2017-07-19 2022-04-01 三星电子株式会社 编码方法及用于其的设备、解码方法及用于其的设备
CN108282265B (zh) * 2018-01-19 2020-11-03 广东工业大学 纠错编码方法、装置、设备及计算机可读存储介质
MX2020009109A (es) 2018-03-05 2022-06-03 Panasonic Ip Corp America Codificador, decodificador, método de codificación y método de decodificación.
WO2020003258A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Virtual merge candidates
CN117041575A (zh) * 2018-09-21 2023-11-10 Lg电子株式会社 视频解码和编码方法、存储介质及数据的发送方法
WO2020060366A1 (ko) * 2018-09-22 2020-03-26 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
US10931954B2 (en) * 2018-11-20 2021-02-23 Sony Corporation Image coding modes selection for an embedded codec circuitry
WO2020164604A1 (en) * 2019-02-15 2020-08-20 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods restricting size of sub-partitions from intra sub-partition coding mode tool
WO2020190113A1 (ko) * 2019-03-21 2020-09-24 삼성전자주식회사 블록 형태별로 블록 크기가 설정되는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US11533214B2 (en) * 2019-06-14 2022-12-20 Qatar Foundation For Education, Science And Community Development Spectral efficient uplink multiple access techniques using index modulation
JP7450078B1 (ja) 2023-02-15 2024-03-14 Nttイノベーティブデバイス株式会社 映像符号化装置、および、映像符号化方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506624A (en) * 1994-07-28 1996-04-09 Silicon Graphics, Inc. Rotating sample of video images
JPH08205140A (ja) 1995-01-31 1996-08-09 Canon Inc 画像圧縮装置
US6911987B1 (en) * 1995-07-05 2005-06-28 Microsoft Corporation Method and system for transmitting data for a shared application
KR100186267B1 (ko) * 1995-09-07 1999-05-01 김주용 적응적인 블록분할에 의한 움직임 추정 및 보상방법
EP0905651A3 (en) * 1997-09-29 2000-02-23 Canon Kabushiki Kaisha Image processing apparatus and method
AU2003208500A1 (en) * 2002-03-05 2003-09-16 Koninklijke Philips Electronics N.V. Method and system for layered video encoding
US7362909B2 (en) * 2003-04-10 2008-04-22 Sharp Kabushiki Kaisha Coding device and method and decoding device and method
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
TWI232675B (en) * 2003-12-02 2005-05-11 Univ Nat Chiao Tung Video compression device and method
CN100401780C (zh) * 2004-05-07 2008-07-09 美国博通公司 在视频解码器中动态选择变换尺寸的方法和***
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
DE102004038110B3 (de) * 2004-08-05 2005-12-29 Siemens Ag Verfahren zum Codieren und Decodieren, sowie Codier- und Decodiervorrichtung zur Videocodierung
KR20070085745A (ko) * 2004-11-04 2007-08-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 코딩된 비디오 데이터를 처리하기 위한 방법 및 장치
KR100679031B1 (ko) 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
CN101268698A (zh) * 2005-05-19 2008-09-17 Lg电子株式会社 用于视频数据编码/解码的方法
KR100705971B1 (ko) * 2005-07-20 2007-04-12 주식회사 휴맥스 비트스트림 인코딩/디코딩 방법 및 장치
US7642396B2 (en) 2005-08-31 2010-01-05 Kimberly-Clark Worldwide, Inc. Method and device for detecting the presence of multiple insults in an absorbent article
CN103118254B (zh) * 2005-09-26 2016-01-20 三菱电机株式会社 运动图像编码装置以及运动图像译码装置
EP1809041A1 (en) * 2006-01-11 2007-07-18 Mitsubishi Electric Information Technology Centre Europe B.V. Error concealement for scalable video coding
WO2008027192A2 (en) * 2006-08-25 2008-03-06 Thomson Licensing Methods and apparatus for reduced resolution partitioning
JP4825644B2 (ja) * 2006-11-14 2011-11-30 ルネサスエレクトロニクス株式会社 画像復号装置、画像符号化装置、およびシステムlsi
CA2674438C (en) * 2007-01-08 2013-07-09 Nokia Corporation Improved inter-layer prediction for extended spatial scalability in video coding
JP5162924B2 (ja) 2007-02-28 2013-03-13 Jfeスチール株式会社 缶用鋼板およびその製造方法
US7983496B2 (en) * 2007-06-26 2011-07-19 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding adapted to variable block sizes
US7639915B2 (en) 2007-06-28 2009-12-29 Draka Comteq B.V. Optical fiber cable having a deformable coupling element
US8345968B2 (en) 2007-06-28 2013-01-01 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
KR101408698B1 (ko) * 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
JP5056348B2 (ja) * 2007-10-29 2012-10-24 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP2009272702A (ja) * 2008-04-30 2009-11-19 Canon Inc 動きベクトル探索装置及びその制御方法
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US20100086031A1 (en) * 2008-10-03 2010-04-08 Qualcomm Incorporated Video coding with large macroblocks
US8945735B2 (en) 2009-02-23 2015-02-03 Samsung Sdi Co., Ltd. Built-in charge circuit for secondary battery and secondary battery with the built-in charge circuit
KR101474756B1 (ko) * 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR20110017719A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN104618727B (zh) * 2009-12-10 2018-01-12 Sk电信有限公司 使用树形结构的解码方法
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
US9380314B2 (en) * 2010-12-20 2016-06-28 Texas Instruments Incorporated Pixel retrieval for frame reconstruction

Also Published As

Publication number Publication date
US10136129B2 (en) 2018-11-20
EP2993904B1 (en) 2017-03-22
PL2485490T3 (pl) 2016-03-31
EP2485490B1 (en) 2015-09-30
KR101698499B1 (ko) 2017-01-23
CN104683808A (zh) 2015-06-03
CN102918840A (zh) 2013-02-06
EP2485490A4 (en) 2013-10-30
EP2991353A1 (en) 2016-03-02
HUE034567T2 (en) 2018-02-28
US20120269274A1 (en) 2012-10-25
CN104602013B (zh) 2017-10-31
US9813710B2 (en) 2017-11-07
HUE026080T2 (en) 2016-05-30
KR20110036520A (ko) 2011-04-07
CN104683808B (zh) 2018-02-02
ES2628515T3 (es) 2017-08-03
US20150341637A1 (en) 2015-11-26
CN102918840B (zh) 2016-05-25
HUE033566T2 (hu) 2017-12-28
EP2991353B1 (en) 2017-03-08
WO2011040795A2 (ko) 2011-04-07
WO2011040795A3 (ko) 2011-09-15
CN104602013A (zh) 2015-05-06
KR101698509B1 (ko) 2017-01-23
EP2993904A1 (en) 2016-03-09
ES2625010T3 (es) 2017-07-18
EP2485490A2 (en) 2012-08-08
PL2993904T3 (pl) 2017-09-29
US9264716B2 (en) 2016-02-16
PL2991353T3 (pl) 2017-09-29
US20150195543A1 (en) 2015-07-09
KR20160114559A (ko) 2016-10-05
CN104683809A (zh) 2015-06-03
CN104683809B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
ES2554237T3 (es) Método y aparato para codificar/decodificar imagen usando una capa dividida
ES2747977T3 (es) Procedimiento y aparato para codificación / decodificación de imagen utilizando macrobloques de tamaño variable
KR101479129B1 (ko) 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치
KR101917239B1 (ko) 산술부호화를 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
JP6356865B2 (ja) ビデオ復号化方法及びビデオ復号化装置
ES2682102T3 (es) Codificación y descodificación de intra-predicción en un modo plano
ES2659189T3 (es) Herencia en subdivisión de árbol múltiple de matriz de muestras
ES2743227T3 (es) Método para codificar/decodificar imagen
ES2784761T3 (es) Aparato de codificación de imagen, procedimiento de codificación de imagen y programa, y aparato de decodificación de imagen, procedimiento de decodificación de imagen y programa
ES2705760T3 (es) Procedimiento para la codificación en modo de paleta
JP2010502102A (ja) 低減された解像度の分割の方法及び装置
JP2013509006A (ja) 動画像の並列的な符号化および復号のための方法
KR20130054981A (ko) 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치
ES2919660T3 (es) Aparato de codificación/decodificación por entropía CABAC de baja complejidad