ES2969557T3 - Procedimiento y dispositivo de codificación, y procedimiento y dispositivo de descodificación - Google Patents

Procedimiento y dispositivo de codificación, y procedimiento y dispositivo de descodificación Download PDF

Info

Publication number
ES2969557T3
ES2969557T3 ES18863068T ES18863068T ES2969557T3 ES 2969557 T3 ES2969557 T3 ES 2969557T3 ES 18863068 T ES18863068 T ES 18863068T ES 18863068 T ES18863068 T ES 18863068T ES 2969557 T3 ES2969557 T3 ES 2969557T3
Authority
ES
Spain
Prior art keywords
block
coding
order
coding unit
information
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
ES18863068T
Other languages
English (en)
Inventor
Yin-Ji Piao
Jie Chen
Elena Alshina
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2969557T3 publication Critical patent/ES2969557T3/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

Se proporciona un método de decodificación de vídeo que comprende las etapas de: adquirir información de división que indica si se debe dividir un bloque actual; cuando la información de división indica división del bloque actual, dividir el bloque actual en dos o más subbloques; adquirir información del orden de codificación que indica un orden de codificación de los subbloques del bloque actual; determinar un orden de decodificación de los subbloques según la información del orden de codificación; y decodificar los subbloques según el orden de decodificación. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Procedimiento y dispositivo de codificación, y procedimiento y dispositivo de descodificación
CAMPO TÉCNICO
La presente divulgación se refiere a un procedimiento de codificación y bin descodificación de vídeo y, más específicamente, a un procedimiento de determinación de un orden de codificación/descodificación de un bloque incluido en una imagen.
TÉCNICA ANTECEDENTE
Para codificar un vídeo de alta calidad se necesita una gran cantidad de datos. Sin embargo, un ancho de banda permitido para la transmisión de datos de vídeo es limitado, y por lo tanto, una velocidad de datos que se aplicará para la transmisión de datos de vídeo puede ser limitada. Por lo tanto, para una transmisión eficaz de los datos de vídeo, se necesita un procedimiento de codificación y descodificación de los datos de vídeo con una mayor relación de compresión, minimizando al mismo tiempo la degradación de la calidad de la imagen.
Los datos de vídeo pueden comprimirse eliminando la redundancia espacial y la redundancia temporal entre píxeles. Por lo general, existen características comunes entre píxeles adyacentes, por lo que la información de codificación se transmite en una unidad de datos compuesta por píxeles para eliminar la redundancia entre píxeles adyacentes.
Los valores de píxel de los píxeles incluidos en la unidad de datos no se transmiten directamente, sino que se transmite un procedimiento necesario para obtener los valores de píxel. Para cada unidad de datos se determina un procedimiento de predicción de un valor de píxel cercano a un valor original, y la información de codificación relativa al procedimiento de predicción se transmite de un codificador a un descodificador. Además, dado que el valor predicho no es exactamente igual al valor original, los datos residuales relativos a la diferencia entre el valor original y el valor predicho se transmiten del codificador al descodificador.
A medida que aumenta la precisión de la predicción, aumenta la cantidad de información de codificación necesaria para especificar el procedimiento de predicción, pero disminuye el tamaño de los datos residuales. Por lo tanto, se determina un procedimiento de predicción teniendo en cuenta los tamaños de la información de codificación y los datos residuales. En concreto, las unidades de datos divididas de una imagen tienen diversos tamaños. A medida que aumenta el tamaño de las unidades de datos, es más probable que disminuya la precisión de la predicción, pero disminuye la cantidad de información de codificación. Por lo tanto, se determina un tamaño de bloque de acuerdo con las características de la imagen.
Los procedimientos de predicción se dividen en predicción intra e predicción inter. La predicción intra es un procedimiento de predicción de los píxeles de un bloque a partir de los píxeles adyacentes del bloque. La predicción inter es un procedimiento de predicción de píxeles mediante la referencia a píxeles de otra imagen referenciada por una imagen que incluye un bloque. Por lo tanto, la redundancia espacial se elimina mediante la predicción intra, y la redundancia temporal se elimina mediante la predicción inter.
A medida que aumenta el número de procedimientos de predicción, aumenta la cantidad de información de codificación para indicar el procedimiento de predicción. Por lo tanto, la información de codificación aplicada al bloque también puede predecirse a partir de otro bloque para reducir el tamaño de la información de codificación.
Dado que la pérdida de datos de vídeo está permitida siempre que no sea reconocida por la visión humana, los datos residuales pueden comprimirse con pérdida mediante transformación y cuantización para reducir la cantidad de datos residuales.
El documento KR 20130031078 A divulga un aparato de codificación/descodificación de imágenes y un procedimiento que utiliza orden codificado.
DESCRIPCIÓN DE REALIZACIONES
PROBLEMA TÉCNICO
Se proporciona un procedimiento de codificación de vídeo para determinar si dividir un bloque actual y un orden de codificación de bloques inferiores y determinar un procedimiento de codificación de acuerdo con si se codifican bloques adyacentes del bloque actual. Además, se proporciona un procedimiento de descodificación de vídeo que consiste en dividir un bloque actual, determinar un orden de codificación de los bloques inferiores divididos y determinar un procedimiento de codificación de acuerdo con si los bloques adyacentes del bloque actual están codificados. Además, se proporciona un medio de grabación legible por ordenador que tiene grabado allí un programa para ejecutar, en un ordenador, un procedimiento de codificación de vídeo y un procedimiento de descodificación de vídeo de acuerdo con una realización de la presente divulgación.
SOLUCIÓN AL PROBLEMA
Se proporciona un procedimiento de descodificación de vídeo tal como se define en la reivindicación 1 de las reivindicaciones anexas al presente documento.
Se proporciona un dispositivo de descodificación de vídeo como se define en la reivindicación 2 de las reivindicaciones anexas al presente documento.
Se proporciona un procedimiento de codificación de vídeo como se define en la reivindicación 3 de las reivindicaciones anexas al presente documento.
Un medio de grabación no transitorio grabable por ordenador que tiene grabado en el mismo un programa para ejecutar el procedimiento de codificación de vídeo y el procedimiento de descodificación de vídeo.
Los problemas técnicos que deben lograrse mediante la divulgación no se limitan a las características técnicas descritas anteriormente, y otros problemas técnicos pueden deducirse de las realizaciones que figuran a continuación.
EFECTOS VENTAJOSOS DE LA DIVULGACIÓN
La eficiencia de codificación de una imagen puede mejorarse determinando si se divide un bloque actual y un orden de codificación de bloques inferiores y determinando un procedimiento de codificación de los bloques inferiores de acuerdo con el orden de codificación de los bloques inferiores.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La FIG. 1A ilustra un diagrama de bloques de un dispositivo de codificación de vídeo basado en una unidad de codificación que tiene una estructura de árbol, de acuerdo con una realización de la presente divulgación. La FIG. 1B ilustra un diagrama de bloques de un dispositivo de descodificación de vídeo basado en una unidad de codificación que tiene una estructura de árbol, de acuerdo con una realización.
La FIG. 2 ilustra un procedimiento de determinación de al menos una unidad de codificación mediante la división de una unidad de codificación actual, de acuerdo con una realización.
La FIG. 3 ilustra un procedimiento de determinación de al menos una unidad de codificación mediante la división de una unidad de codificación no cuadrada, de acuerdo con una realización.
La FIG. 4 ilustra un procedimiento de división de una unidad de codificación basado en al menos una de las informaciones de forma de bloque y de forma de división, de acuerdo con una realización.
La FIG. 5 ilustra un procedimiento para determinar una unidad de codificación predeterminada de entre un número impar de unidades de codificación, de acuerdo con una realización.
La FIG. 6 ilustra un orden de procesamiento de una pluralidad de unidades de codificación cuando la pluralidad de unidades de codificación se determina dividiendo una unidad de codificación actual, de acuerdo con una realización.
La FIG. 7 ilustra un procedimiento para determinar que una unidad de codificación actual debe dividirse en un número impar de unidades de codificación, cuando las unidades de codificación no son procesables en un orden predeterminado, de acuerdo con una realización.
La FIG. 8 ilustra un procedimiento de determinación de al menos una unidad de codificación mediante la división de una primera unidad de codificación, de acuerdo con una realización.
La FIG. 9 ilustra que una forma en la que se puede dividir una segunda unidad de codificación está restringida cuando la segunda unidad de codificación que tiene una forma no cuadrada, que se determina dividiendo una primera unidad de codificación, satisface una condición predeterminada, de acuerdo con una realización. La FIG. 10 ilustra un procedimiento de división de una unidad de codificación cuadrada cuando la información de forma de división indica que la unidad de codificación cuadrada no debe dividirse en cuatro unidades de codificación cuadradas, de acuerdo con una realización.
La FIG. 11 ilustra que un orden de procesamiento entre una pluralidad de unidades de codificación puede cambiarse dependiendo de un procedimiento de división de una unidad de codificación, de acuerdo con una realización.
La FIG. 12 ilustra un procedimiento de determinación de una profundidad de una unidad de codificación a medida que cambian la forma y el tamaño de la unidad de codificación, cuando la unidad de codificación se divide recursivamente de forma que se determina una pluralidad de unidades de codificación, de acuerdo con una realización.
La FIG. 13 ilustra las profundidades que se pueden determinar basándose en las formas y tamaños de las unidades de codificación, y los índices de partes (PID) que sirven para distinguir las unidades de codificación, de acuerdo con una realización.
La FIG. 14 ilustra que una pluralidad de unidades de codificación se determina basándose en una pluralidad de unidades de datos predeterminadas incluidas en una imagen, de acuerdo con una realización.
La FIG. 15 ilustra un bloque de procesamiento que sirve como unidad para determinar un orden de determinación de unidades de codificación de referencia incluidas en una imagen, de acuerdo con una realización.
La FIG. 16 ilustra un dispositivo de descodificación de vídeo relativo a la división de un bloque actual y la determinación de un orden de codificación de bloques inferiores divididos, de acuerdo con una realización. Las FIGS. 17A a 17C ilustran un orden de codificación básico, de acuerdo con una realización.
Las FIGS. 18A y 18B ilustran un caso en el que una unidad de codificación se codifica en dirección de avance y un caso en el que una unidad de codificación se codifica en dirección inversa, respectivamente.
La FIG. 19 ilustra una estructura de árbol de una unidad de codificación mayor para describir un orden de codificación de la unidad de codificación mayor y las unidades de codificación incluidas en la unidad de codificación mayor.
La FIG. 20 ilustra un procedimiento para determinar un orden de codificación de dos o más bloques divididos de acuerdo con un indicador de orden de codificación.
La FIG. 21 ilustra una realización en la que el orden de codificación de los bloques inferiores se determina de acuerdo con el orden de codificación de los bloques superiores.
La FIG. 22 ilustra un procedimiento de generación de una lista de candidatos a predictor de vector de movimiento en predicción inter y un procedimiento de generación de una lista de modo más probable (MPM) en predicción intra.
La FIG. 23 ilustra un rango de una dirección de predicción intra de acuerdo con si se reconstruye un bloque adyacente.
La FIG. 24 ilustra un procedimiento de determinación de una muestra de referencia a referenciar por una muestra actual en función de si se reconstruye un bloque adyacente y una dirección de predicción intra. Las FIGS 25A a 25C ilustran un procedimiento de relleno de muestras de referencia a utilizar para la predicción intra.
La FIG. 26 ilustra un procedimiento de predicción intra en función de si se reconstruye un bloque adyacente. La FIG. 27 ilustra un procedimiento de filtrado de desbloqueo de acuerdo con si se reconstruye un bloque adyacente.
Las FIGS. 28A y 28B ilustran un procedimiento de determinación de información de contexto para descodificación de entropía de información de modo de predicción de acuerdo con si se reconstruye o no un bloque adyacente.
Las FIGS. 29A y 29B ilustran un procedimiento de aplicación de un filtro en bucle de acuerdo con un orden de descodificación.
La FIG. 30 ilustra un procedimiento de descodificación de vídeo relativo a la división de un bloque actual y la determinación de un orden de codificación de bloques inferiores divididos, de acuerdo con una realización. La FIG. 31 ilustra un dispositivo de codificación de vídeo de acuerdo con una realización relativa a la división de un bloque actual y la determinación de un orden de codificación de bloques inferiores divididos.
La FIG. 32 ilustra un procedimiento de codificación de vídeo relativo a la división de un bloque actual y la determinación de un orden de codificación de bloques inferiores divididos, de acuerdo con una realización. La FIG. 33 es un diagrama para explicar un procedimiento de indicación de divisiones de una unidad de codificación de corriente.
MEJOR MODO
Se proporciona un procedimiento de descodificación de vídeo que incluye obtener, a partir de un flujo de bits, información de división que indica si dividir un bloque actual, cuando la información de división no indica dividir el bloque actual, descodificar el bloque actual de acuerdo con la información de codificación del bloque actual, y, cuando la información de división indica dividir el bloque actual, dividir el bloque actual en dos o más bloques inferiores, obtener, a partir del flujo de bits, información de orden de codificación que indique un orden de codificación de los bloques inferiores del bloque actual, determinar un orden de descodificación de los bloques inferiores de acuerdo con la información de orden de codificación, y descodificar los bloques inferiores de acuerdo con el orden de descodificación.
MODO DE LA DIVULGACIÓN
Las ventajas y características de las realizaciones divulgadas y un procedimiento para lograr las ventajas y características serán evidentes al hacer referencia a las realizaciones que se describen a continuación en relación con los dibujos adjuntos. Sin embargo, la presente divulgación no está restringida por estas realizaciones, sino que se puede implementar de muchas formas diferentes, y las presentes realizaciones se proporcionan para completar la presente divulgación y para permitir que aquellos que tengan conocimientos ordinarios en la materia comprendan el alcance de la divulgación.
Los términos utilizados en la presente memoria descriptiva se describirán brevemente y las realizaciones divulgadas se describirán en detalle.
Aunque los términos generales que se utilizan ampliamente en la presente memoria descriptiva se seleccionaron como terminología utilizada en la presente memoria descriptiva teniendo en cuenta las funciones de la divulgación, pueden variar de acuerdo con las intenciones de un experto en la técnica, los precedentes judiciales, el advenimiento de nuevas tecnologías y similares. También pueden utilizarse términos elegidos arbitrariamente por el solicitante de la divulgación en un caso concreto. En este caso, sus significados se describirán detalladamente en la descripción detallada de la divulgación. Por lo tanto, los términos deben definirse basándose en sus significados y en el contenido de toda la divulgación, y no simplemente enunciándolos.
Se debe entender que las formas singulares "un", "una", "el" y "la" incluyen referentes plurales a menos que el contexto dicte claramente lo contrario.
Se entenderá que cuando una determinada pieza "incluye" un determinado componente, la pieza no excluye otro componente, sino que puede incluir además otro componente, a menos que el contexto dicte claramente lo contrario. Además, términos como "unidad" utilizados en la memoria descriptiva indican software o un componente de hardware tal como una matriz de puertas programables en campo (FPGA) o un circuito integrado de aplicación específica (ASIC), y la "unidad" realiza ciertas funciones. Sin embargo, la "unidad" no se limita al software o al hardware. La "unidad" puede formarse para estar en un medio de almacenamiento direccionable, o puede formarse para operar uno o más procesadores. Así, por ejemplo, el término "unidad" puede referirse a componentes, tales como componentes de software, componentes de software orientados a objetos, componentes de clase y componentes de tarea, y puede incluir procedimientos, funciones, atributos, procedimientos, subrutinas, segmentos de código de programa, controladores, firmware, microcódigo, circuitos, datos, una base de datos, estructuras de datos, tablas, matrices o variables. Una función proporcionada por los componentes y "unidades" puede estar asociada con un número menor de componentes y "unidades", o puede dividirse en componentes y "unidades" adicionales.
Por "bloque actual" se entiende una de las unidades de codificación, de predicción y de transformación actualmente codificadas o descodificadas. Para facilitar la descripción, cuando sea necesario distinguir otros tipos de bloques, como una unidad de predicción, una unidad de transformación y similares, se podrá utilizar un "bloque de codificación actual", un "bloque de predicción actual" y un "bloque de transformación actual". Además, por "bloque inferior" se entiende una unidad de datos dividida a partir de un "bloque actual". Por "bloque superior" se entiende una unidad de datos que incluye un "bloque actual".
En lo sucesivo, una "muestra", que son datos asignados a una ubicación de muestreo de una imagen, significa datos que van a procesarse. Por ejemplo, los valores de los píxeles en una imagen de un dominio espacial y los coeficientes de transformación en un dominio de transformación pueden ser muestras. Una unidad que incluya al menos una de estas muestras puede definirse como un bloque.
A continuación, se describirán en detalle realizaciones con referencia a los dibujos adjuntos, de modo que un experto en la técnica pueda implementar fácilmente las realizaciones. En los dibujos, las partes irrelevantes para la descripción se omiten para describir claramente las realizaciones.
La FIG: 1A ilustra un diagrama de bloques de un dispositivo 100 de codificación de imágenes basado en una unidad de codificación que tiene una estructura de árbol, de acuerdo con una realización de la presente divulgación.
El dispositivo 100 de codificación de imágenes incluye un codificador 110 y un generador 120 de flujo de bits.
El codificador 110 divide una imagen o un fragmento incluido en la imagen en una pluralidad de unidades de codificación mayores de acuerdo con un tamaño de la unidad de codificación mayor. La unidad de codificación más grande, que es una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, o similar, puede ser una unidad de datos cuadrada que tiene un tamaño horizontal y vertical de cuadrados de 2. El codificador 110 puede proporcionar al generador 120 de flujo de bits información sobre el tamaño de la unidad de codificación mayor, indicando el tamaño de la unidad de codificación mayor. Además, el generador 120 de flujo de bits puede incluir la información de mayor tamaño de unidad de codificación en un flujo de bits.
El codificador 110 divide la unidad de codificación mayor para determinar una unidad de codificación. La división de la unidad de codificación se determina de acuerdo con si la división de la unidad de codificación es eficiente mediante la optimización de la tasa de distorsión. Además, puede generarse información de división que indique si la unidad de codificación está dividida. La información de división puede expresarse en forma de indicador.
La unidad de codificación puede dividirse de diversas maneras. Por ejemplo, una unidad de codificación cuadrada puede dividirse en cuatro unidades de codificación cuadradas, cuya anchura y altura sean la mitad de las de la unidad de codificación cuadrada. La unidad de codificación cuadrada puede dividirse en dos unidades de codificación rectangulares, cada una de las cuales tiene la mitad de anchura que la unidad de codificación cuadrada. La unidad de codificación cuadrada puede dividirse en dos unidades de codificación rectangulares, cada una de las cuales tiene la mitad de altura que la unidad de codificación cuadrada. La unidad de codificación cuadrada puede dividirse en tres unidades de codificación dividiendo su anchura y altura en una relación de 1:2:1.
Una unidad de codificación rectangular que tenga una anchura dos veces superior a su altura puede dividirse en dos unidades de codificación cuadradas. La unidad de codificación rectangular que tiene una anchura dos veces mayor que su altura puede dividirse en dos unidades de codificación rectangulares, cada una de las cuales tiene una anchura cuatro veces mayor que su altura. La unidad de codificación rectangular cuya anchura es el doble de su altura puede dividirse en dos unidades de codificación rectangulares y una unidad de codificación cuadrada dividiendo su anchura en una relación de 1:2:1.
Igualmente, una unidad de codificación rectangular que tenga una altura dos veces mayor que su anchura puede dividirse en dos unidades de codificación cuadradas. Además, la unidad de codificación rectangular que tiene una altura dos veces mayor que su anchura puede dividirse en dos unidades de codificación rectangulares, cada una de las cuales tiene una altura cuatro veces mayor que su anchura. Del mismo modo, la unidad de codificación rectangular cuya altura es el doble de su anchura puede dividirse en dos unidades de codificación rectangulares y una unidad de codificación cuadrada dividiendo su altura en una relación de 1:2:1.
Cuando dos o más procedimientos de división son utilizables por el dispositivo 100 de codificación de imágenes, la información sobre los procedimientos de división aplicables a una unidad de codificación entre los procedimientos de división utilizables por el dispositivo 100 de codificación de imágenes puede determinarse para cada imagen. Así, puede determinarse que sólo se utilicen procedimientos de división específicos para cada imagen. Cuando el dispositivo 100 de codificación de imágenes utiliza sólo un procedimiento de división, la información sobre los procedimientos de división aplicables a la unidad de codificación no se determina por separado.
Una unidad de codificación que tenga un tamaño específico puede dividirse utilizando un procedimiento de división específico. Por ejemplo, cuando el tamaño de la unidad de codificación es de 256x265, la unidad de codificación puede configurarse para que se divida en sólo cuatro unidades de codificación cuadradas que tengan su mitad de anchura y su mitad de altura.
Cuando la información de división de la unidad de codificación indica que la unidad de codificación debe dividirse, puede generarse información de forma de división que indique un procedimiento de división de la unidad de codificación. Cuando sólo hay un procedimiento de división aplicable a una imagen a la que pertenece la unidad de codificación, es posible que no se genere información de forma dividida. Cuando el procedimiento de división se determina de forma adaptativa basándose en la información de codificación alrededor de la unidad de codificación, es posible que no se genere información de forma de división.
Como se ha descrito anteriormente, de acuerdo con un tamaño máximo de la unidad de codificación, los datos de imagen de una imagen actual se dividen en unidades de codificación más grandes. Además, cada unidad de codificación mayor puede incluir unidades de codificación divididas jerárquicamente a partir de la unidad de codificación mayor. Las formas y ubicaciones de las unidades de codificación inferiores pueden determinarse de acuerdo con la forma dividida de una unidad de codificación superior. Además, se puede preestablecer un tamaño mínimo de una unidad de codificación que restrinja la división de la unidad de codificación.
El codificador 110 compara la eficiencia de codificación cuando la unidad de codificación está jerárquicamente dividida con la eficiencia de codificación cuando la unidad de codificación no está dividida. El codificador 110 determina si debe dividir la unidad de codificación de acuerdo con un resultado de la comparación. Cuando se determina que la división de la unidad de codificación es más eficiente, el codificador 110 divide jerárquicamente la unidad de codificación. Cuando se determina que es más eficiente no dividir la unidad de codificación de acuerdo con el resultado de la comparación, el codificador 110 no divide la unidad de codificación. La división de la unidad de codificación puede determinarse independientemente de la división de otras unidades de codificación adyacentes.
Una unidad de codificación finalmente dividida puede predecirse mediante predicción intra o inter. La predicción intra es un procedimiento de predicción de muestras de una unidad de predicción mediante el uso de muestras de referencia alrededor de la unidad de predicción. La predicción inter es un procedimiento de predicción de muestras de una unidad de predicción mediante la obtención de una muestra de referencia a partir de una imagen de referencia referenciada por una imagen actual.
Para la predicción intra, el codificador 110 puede seleccionar el procedimiento de predicción intra más eficiente aplicando una pluralidad de procedimientos de predicción intra a la unidad de predicción. El procedimiento de predicción intra incluye un modo de coseno discreto (DC), un modo planar y un modo direccional como un modo vertical y un modo horizontal.
La predicción intra puede realizarse en cada unidad de predicción cuando se utiliza como muestra de referencia una muestra reconstruida alrededor de una unidad de codificación. Sin embargo, cuando una muestra reconstruida en una unidad de codificación se utiliza como muestra de referencia, la reconstrucción de la muestra de referencia en la unidad de codificación tiene que preceder a la predicción y, por lo tanto, un orden de predicción de la unidad de predicción puede depender de un orden de transformación de una unidad de transformación. Por lo tanto, cuando la muestra reconstruida en la unidad de codificación se utiliza como muestra de referencia, sólo se determina un procedimiento de predicción intra para las unidades de transformación correspondientes a la unidad de predicción con respecto a la unidad de predicción, y puede realizarse una predicción intra sustancial en cada unidad de transformación.
El codificador 110 puede seleccionar el procedimiento de predicción inter más eficiente determinando un vector de movimiento y una imagen de referencia óptimos. Para la predicción inter, el codificador 110 puede determinar una pluralidad de candidatos a vector de movimiento de entre las unidades de codificación vecinas espacial y temporalmente a una unidad de codificación actual y puede determinar, como vector de movimiento, el vector de movimiento más eficiente de entre la pluralidad de candidatos a vector de movimiento. Igualmente, el codificador 110 puede determinar una pluralidad de candidatas a imagen de referencia de entre las unidades de codificación vecinas espacial y temporalmente a la unidad de codificación actual y puede determinar la imagen de referencia más eficiente de entre la pluralidad de candidatas a imagen de referencia. De acuerdo con una realización, la imagen de referencia puede determinarse de entre una lista predeterminada de imágenes de referencia con respecto a la imagen actual. De acuerdo con una realización, para la exactitud de la predicción, el codificador 110 puede determinar el vector de movimiento más eficiente de entre la pluralidad de candidatos a vector de movimiento como vector de movimiento de predicción y puede corregir el vector de movimiento de predicción para determinar el vector de movimiento. La predicción inter puede realizarse en paralelo en cada unidad de predicción de la unidad de codificación.
El codificador 110 puede reconstruir la unidad de codificación obteniendo únicamente información que indique un vector de movimiento y una imagen de referencia de acuerdo con un modo de salto. En el modo de salto, se omite toda la información de codificación, incluyendo la señal residual, excepto la información que indica el vector de movimiento y la imagen de referencia. Como se omite la señal residual, el modo de omisión puede utilizarse cuando la precisión de la predicción es muy alta.
Un modo de partición utilizado de acuerdo con un procedimiento de predicción de una unidad de predicción puede ser limitado. Por ejemplo, sólo un modo de partición para unidades de predicción que tengan un tamaño de 2N*2N o N*N puede aplicarse a la predicción intra, mientras que un modo de partición para unidades de predicción que tengan un tamaño de 2N*2N, 2N*N, N*2N o N*N puede aplicarse a la predicción inter. Además, sólo un modo de partición para una unidad de predicción que tenga un tamaño de 2N*2N puede aplicarse a un modo de salto en predicción inter. Un modo de partición permitido para cada procedimiento de predicción en el dispositivo 100 de codificación de imágenes puede cambiarse de acuerdo con la eficiencia de codificación.
El dispositivo 100 de codificación de imágenes puede realizar una transformación basada en la unidad de codificación. El dispositivo 100 de codificación de imágenes puede transformar los datos residuales, que son un valor de diferencia entre un valor original y un valor de predicción con respecto a los píxeles incluidos en la unidad de codificación, mediante un procedimiento predeterminado. Por ejemplo, el dispositivo 100 de codificación de imágenes puede comprimir con pérdida los datos residuales mediante cuantificación y transformada discreta del coseno (DCT)/transformada discreta del seno (DST). Alternativamente, el dispositivo 100 de codificación de imágenes puede comprimir sin pérdidas los datos residuales sin cuantificación.
Como resultado, el codificador 110 determina un procedimiento de predicción que es más eficiente para la unidad de codificación actual de entre una pluralidad de procedimientos de predicción intra y una pluralidad de procedimientos de predicción inter. Además, el codificador 110 determina un procedimiento de predicción de la unidad de codificación actual de acuerdo con la eficiencia de codificación basada en un resultado de predicción. Igualmente, el codificador 110 puede determinar un procedimiento de transformación en función de la eficiencia de codificación de acuerdo con un resultado de transformación. La eficiencia de codificación de la unidad de codificación se determina finalmente de acuerdo con un procedimiento de determinación del procedimiento de predicción y del procedimiento de transformación más eficientes de la unidad de codificación. El codificador 110 determina una estructura jerárquica de una unidad de codificación mayor de acuerdo con la eficiencia de codificación de una unidad de codificación finalmente dividida.
El codificador 110 puede medir la eficiencia de codificación de la unidad de codificación, la eficiencia de predicción de los procedimientos de predicción, y similares utilizando la optimización de distorsión de tasa basada en el multiplicador Lagrangiano.
El codificador 110 puede generar información de división indicando si dividir la unidad de codificación, basándose en la estructura jerárquica de la unidad de codificación mayor determinada. Además, el codificador 110 puede generar información de modo de partición para la determinación de la unidad de predicción e información de división de la unidad de transformación para la determinación de la unidad de transformación, con respecto a una unidad de codificación dividida. Cuando hay dos o más procedimientos de división de unidades de codificación, el codificador 110 puede generar información de forma de división indicando un procedimiento de división junto con información de división. El codificador 110 puede generar información sobre un procedimiento de predicción y un procedimiento de transformación utilizados en la unidad de predicción y la unidad de transformación.
El generador 120 de flujo de bits puede dar salida a piezas de información generadas por el codificador 110 en forma de flujo de bits de acuerdo con la estructura jerárquica de la unidad de codificación mayor.
De acuerdo con una realización, un procedimiento para determinar la unidad de codificación, la unidad de predicción y la unidad de transformación de acuerdo con una estructura de árbol de la unidad de codificación mayor se describirá en detalle con referencia a las FIGS. 3 a 12.
La FIG: 1B ilustra un diagrama de bloques de un dispositivo 150 de descodificación de imágenes basado en una unidad de codificación que tiene una estructura de árbol, de acuerdo con una realización.
El dispositivo 150 de descodificación de imágenes incluye un receptor 160 y un descodificador 170.
De acuerdo con una realización, las definiciones de diversos términos, tales como una unidad de codificación, una unidad de predicción, una unidad de transformación y diversas piezas de información dividida, para las operaciones de descodificación del dispositivo 150 de descodificación de imágenes son las mismas que las descritas anteriormente con referencia a la FIG. 1 y el dispositivo 100 de codificación de imágenes. Además, dado que el propósito del dispositivo 150 de descodificación de imágenes es reconstruir datos de imagen, pueden aplicarse al dispositivo 150 de descodificación de imágenes diversos procedimientos de codificación utilizados en el dispositivo 100 de codificación de imágenes.
El receptor 160 recibe y analiza una secuencia de bits de un vídeo codificado. El descodificador 170 extrae, del flujo de bits analizado, la información necesaria para la descodificación de cada unidad de codificación mayor. El descodificador 170 puede extraer información sobre el tamaño máximo de una unidad de codificación de una imagen actual de una cabecera, un conjunto de parámetros de secuencia o un conjunto de parámetros de imagen con respecto a la imagen actual.
Además, el descodificador 170 extrae, del flujo de bits analizado, información dividida sobre las unidades de codificación que tiene una estructura de árbol para cada unidad de codificación mayor. La información de división extraída se envía al descodificador 170. El descodificador 170 puede determinar una estructura de árbol de la unidad de codificación mayor dividiendo la unidad de codificación mayor basándose en la información de división extraída.
La información de división extraída por el descodificador 170 es información de división sobre una estructura de árbol determinada para tener un error de codificación mínimo por el dispositivo 100 de codificación de imágenes. En consecuencia, el dispositivo 150 descodificador de imágenes puede descodificar datos de acuerdo con un procedimiento de codificación que genere un error de codificación mínimo para reconstruir una imagen.
El descodificador 170 puede extraer información dividida sobre una unidad de datos tal como una unidad de predicción y una unidad de transformación incluidas en la unidad de codificación. Por ejemplo, el descodificador 170 puede extraer información sobre el modo de partición más eficiente con respecto a la unidad de predicción. El descodificador 170 puede extraer información de división de transformación sobre la estructura de árbol más eficiente con respecto a la unidad de transformación.
Además, el descodificador 170 puede obtener información sobre el procedimiento de predicción más eficiente con respecto a las unidades de predicción divididas de la unidad de codificación. El descodificador 170 puede obtener información sobre el procedimiento de transformación más eficiente con respecto a las unidades de transformación divididas de la unidad de codificación.
El descodificador 170 extrae información del flujo de bits de acuerdo con un procedimiento de construcción de un flujo de bits, realizado por el generador 120 de flujo de bits del dispositivo 100 de codificación de imágenes.
El descodificador 170 puede dividir la unidad de codificación más grande en unidades de codificación que tengan la estructura de árbol más eficiente basándose en la información de división. Además, el descodificador 170 puede dividir la unidad de codificación en unidades de predicción de acuerdo con la información sobre el modo de partición. El descodificador 170 puede dividir la unidad de codificación en unidades de transformación de acuerdo con la información de división de transformación.
El descodificador 170 puede predecir la unidad de predicción de acuerdo con la información sobre el procedimiento de predicción. El descodificador 170 puede cuantificar inversamente y transformar inversamente los datos residuales correspondientes a una diferencia entre un valor original y un valor de predicción de un píxel, de acuerdo con la información sobre un procedimiento de transformación de una unidad de transformación. Además, el descodificador 170 puede reconstruir píxeles de la unidad de codificación de acuerdo con un resultado de predicción de la unidad de predicción y un resultado de transformación de la unidad de transformación.
La FIG: 2 ilustra un procedimiento de determinación de al menos una unidad de codificación mediante la división de una unidad de codificación actual, realizado por el dispositivo 150 de descodificación de imágenes, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una forma de una unidad de codificación utilizando información de forma de bloque, y puede determinar un procedimiento de división de la unidad de codificación utilizando información de forma de división. Es decir, un procedimiento de división de unidad de codificación indicado por la información de forma de división puede determinarse basándose en una forma de bloque indicada por la información de forma de bloque utilizada por el dispositivo 150 de descodificación de imágenes.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede utilizar la información de forma de bloque que indica que la unidad de codificación actual tiene forma cuadrada. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar si no dividir una unidad de codificación cuadrada, si dividir verticalmente la unidad de codificación cuadrada, si dividir horizontalmente la unidad de codificación cuadrada, o si dividir la unidad de codificación cuadrada en cuatro unidades de codificación, basándose en la información de forma de división. Con referencia a la FIG. 2, cuando la información de forma de bloque de una unidad 200 de codificación actual indica una forma cuadrada, un descodificador 170 puede determinar que una unidad 210a de codificación que tiene el mismo tamaño que la unidad 200 de codificación actual no se divide, basándose en la información de forma de división que indica no realizar la división, o puede determinar las unidades 21 0b, 21 0c, o 210d de codificación divididas basándose en la información de forma de división que indica un procedimiento de división predeterminado.
Con referencia a la FIG. 2, de acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar dos unidades 210b de codificación obtenidas dividiendo la unidad 200 de codificación actual en una dirección vertical, basándose en la información de forma de división que indica realizar la división en una dirección vertical. El dispositivo 150 de descodificación de imágenes puede determinar dos unidades 210c de codificación obtenidas dividiendo la unidad 200 de codificación actual en una dirección horizontal, basándose en la información de forma de división que indica realizar la división en una dirección horizontal. El dispositivo 150 de descodificación de imágenes puede determinar cuatro unidades 210d de codificación obtenidas dividiendo la unidad 200 de codificación actual en direcciones vertical y horizontal, basándose en la información de forma dividida que indica realizar la división en direcciones vertical y horizontal. Sin embargo, los procedimientos de división de la unidad de codificación cuadrada no se limitan a los procedimientos descritos anteriormente, y la información de la forma de división puede indicar varios procedimientos. Los procedimientos de división predeterminados para dividir la unidad de codificación cuadrada se describirán en detalle a continuación en relación con diversas realizaciones.
La FIG: 3 ilustra un procedimiento, realizado por el dispositivo 150 de descodificación de imágenes, de determinar al menos una unidad de codificación dividiendo una unidad de codificación no cuadrada, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede utilizar información de forma de bloque que indique que una unidad de codificación actual tiene una forma no cuadrada. El dispositivo 150 de descodificación de imágenes puede determinar si no dividir la unidad de codificación de corriente no cuadrada o si dividir la unidad de codificación de corriente no cuadrada utilizando un procedimiento de división predeterminado, basándose en la información de forma de división. Con referencia a la FIG. 3, cuando la información de forma de bloque de una unidad 300 o 350 de codificación actual indica una forma no cuadrada, el dispositivo 150 descodificador de imágenes puede determinar que una unidad 310 o 360 de codificación que tenga el mismo tamaño que la unidad 300 o 350 de codificación actual no se divida, basándose en la información de forma de división que indica no realizar la división, o determinar las unidades 320a y 320b, 330a a 330c, 370a y 370b, o 380a a 380c de codificación divididas basándose en la información de forma de división que indica un procedimiento de división predeterminado. Los procedimientos de división predeterminados para dividir una unidad de codificación no cuadrada se describirán en detalle a continuación en relación con diversas realizaciones.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar un procedimiento de división de una unidad de codificación utilizando la información de forma de división y, en este caso, la información de forma de división puede indicar el número de una o más unidades de codificación generadas al dividir una unidad de codificación. Con referencia a la FIG. 3, cuando la información de forma dividida indica dividir la unidad 300 o 350 de codificación actual en dos unidades de codificación, el dispositivo 150 de descodificación de imágenes puede determinar dos unidades 320a y 320b, o 370a y 370b de codificación incluidas en la unidad 300 o 350 de codificación actual, dividiendo la unidad 300 o 350 de codificación actual basándose en la información de forma dividida.
De acuerdo con una realización, cuando el dispositivo 150 de descodificación de imágenes divide la unidad 300 o 350 de codificación de corriente no cuadrada basándose en la información de forma dividida, puede considerarse la ubicación de un lado largo de la unidad 300 o 350 de codificación de corriente no cuadrada. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar una pluralidad de unidades de codificación dividiendo un lado largo de la unidad 300 o 350 de codificación actual, en consideración de la forma de la unidad 300 o 350 de codificación actual.
De acuerdo con una realización, cuando la información de forma dividida indica dividir una unidad de codificación en un número impar de bloques, el dispositivo 150 de descodificación de imágenes puede determinar un número impar de unidades de codificación incluidas en la unidad 300 o 350 de codificación actual. Por ejemplo, cuando la información de forma dividida indica dividir la unidad 300 o 350 de codificación actual en tres unidades de codificación, el dispositivo 150 descodificador de imágenes puede dividir la unidad 300 o 350 de codificación actual en tres unidades 330a, 330b, y 330c, o 380a, 380b, y 380c de codificación. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar un número impar de unidades de codificación incluidas en la unidad 300 o 350 de codificación actual, y no todas las unidades de codificación determinadas pueden tener el mismo tamaño. Por ejemplo, una unidad 330b o 380b de codificación predeterminada de entre el número impar determinado de unidades 330a, 330b, y 330c, o 380a, 380b, y 380c de codificación puede tener un tamaño diferente del tamaño de las otras unidades 330a y 330c, o 380a y 380c de codificación. Es decir, las unidades de codificación que pueden determinarse dividiendo la unidad 300 o 350 de codificación actual pueden tener múltiples tamaños.
De acuerdo con una realización, cuando la información de forma de división indica dividir una unidad de codificación en un número impar de bloques, el dispositivo 150 de descodificación de imágenes puede determinar un número impar de unidades de codificación incluidas en la unidad 300 o 350 de codificación actual, y puede poner una restricción predeterminada en al menos una unidad de codificación de entre el número impar de unidades de codificación generadas al dividir la unidad 300 o 350 de codificación actual. Con referencia a la FIG. 3, el dispositivo 150 de descodificación de imágenes puede permitir que un procedimiento de descodificación de la unidad 330b o 380b de codificación sea diferente del de las otras unidades 330a y 330c, o 380a y 380c de codificación, en el que la unidad 330b o 380b de codificación está en una ubicación central de entre las tres unidades 330a, 330b y 330c, o 380a, 380b y 380c de codificación generadas por división de la unidad 300 o 350 de codificación actual. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede restringir la unidad 330b o 380b de codificación en la ubicación central para que no se divida más o para que se divida sólo un número predeterminado de veces, a diferencia de las otras unidades 330a y 330c, o 380a y 380c de codificación.
La FIG: 4 ilustra un procedimiento, realizado por el dispositivo 150 de descodificación de imágenes, de división de una unidad de codificación basada en al menos una de las informaciones de forma de bloque y de forma de división, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar dividir o no dividir una primera unidad 400 de codificación cuadrada en unidades de codificación, basándose en al menos una de la información de forma de bloque y la información de forma dividida. De acuerdo con una realización, cuando la información de forma dividida indica dividir la primera unidad 400 de codificación en una dirección horizontal, el dispositivo 150 descodificador de imágenes puede determinar una segunda unidad 410 de codificación dividiendo la primera unidad 400 de codificación en una dirección horizontal. Una primera unidad de codificación, una segunda unidad de codificación y una tercera unidad de codificación utilizadas de acuerdo con una realización son términos utilizados para entender una relación antes y después de dividir una unidad de codificación. Por ejemplo, una segunda unidad de codificación puede determinarse dividiendo una primera unidad de codificación, y una tercera unidad de codificación puede determinarse dividiendo la segunda unidad de codificación. Se entenderá que la estructura de la primera unidad de codificación, la segunda unidad de codificación y la tercera unidad de codificación sigue las descripciones anteriores.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar dividir o no dividir la segunda unidad 410 de codificación determinada en unidades de codificación, basándose en al menos una de la información de forma de bloque y la información de forma dividida. Con referencia a la FIG. 4, el dispositivo 150 de descodificación de imágenes puede o no dividir la segunda unidad 410 de codificación no cuadrada, que se determina dividiendo la primera unidad 400 de codificación, en una o más terceras unidades 420a, o 420b, 420c, y 420d de codificación basándose en al menos una de la información de forma de bloque y la información de forma dividida. El dispositivo 150 de descodificación de imágenes puede obtener al menos una de la información de forma de bloque y la información de forma dividida, y determinar una pluralidad de segundas unidades de codificación de diversas formas (por ejemplo, 410) dividiendo la primera unidad 400 de codificación, basándose en la obtenida al menos una de la información de forma de bloque y la información de forma dividida, y la segunda unidad 410 de codificación puede dividirse utilizando el procedimiento de división de la primera unidad 400 de codificación, basándose en al menos una de la información de forma de bloque y la información de forma dividida. De acuerdo con una realización, cuando la primera unidad 400 de codificación se divide en las segundas unidades 410 de codificación basándose en al menos una de la información de forma de bloque y la información de forma de división de la primera unidad 400 de codificación, la segunda unidad 410 de codificación también puede dividirse en las terceras unidades 420a, o 420b, 420c, y 420d de codificación basándose en al menos una de la información de forma de bloque y la información de forma de división de la segunda unidad 410 de codificación. Es decir, una unidad de codificación puede dividirse recursivamente basándose en al menos una de la información de forma de bloque y la información de forma dividida de cada unidad de codificación. A continuación, se describirá un procedimiento que puede utilizarse para dividir recursivamente una unidad de codificación en relación con diversas realizaciones.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar dividir cada una de las terceras unidades 420a, o 420b, 420c, y 420d de codificación en unidades de codificación o no dividir la segunda unidad 410 de codificación, basándose en al menos una de la información de forma de bloque y la información de forma de división. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir la segunda unidad 410 de codificación no cuadrada en el número impar de terceras unidades 420b, 420c y 420d de codificación. El dispositivo 150 de descodificación de imágenes puede poner una restricción predeterminada en una tercera unidad de codificación predeterminada de entre el número impar de terceras unidades 420b, 420c y 420d de codificación. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede restringir la tercera unidad 420c de codificación en una ubicación central de entre el número impar de terceras unidades 420b, 420c y 420d de codificación para que no se divida más o para que se divida un número de veces ajustable. Con referencia a la FIG.
4, el dispositivo 150 de descodificación de imágenes puede restringir la tercera unidad 420c de codificación, que está en la ubicación central de entre el número impar de terceras unidades 420b, 420c, y 420d de codificación incluidas en la segunda unidad 410 de codificación no cuadrada, para que no se divida más, para que se divida usando un procedimiento de división predeterminado (por ejemplo, dividirse en sólo cuatro unidades de codificación o dividirse usando un procedimiento de división de la segunda unidad 410 de codificación), o para que se divida sólo un número predeterminado de veces (por ejemplo, dividirse sólo n veces (donde n>0)). Sin embargo, las restricciones de la tercera unidad 420c de codificación en la ubicación central no se limitan a los ejemplos descritos anteriormente, y pueden incluir diversas restricciones para descodificar la tercera unidad 420c de codificación en la ubicación central de forma diferente a las otras terceras unidades 420b y 420d de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede obtener al menos una de la información de forma de bloque y la información de forma de división, que se utiliza para dividir una unidad de codificación actual, desde una ubicación predeterminada en la unidad de codificación actual.
De acuerdo con una realización, cuando la unidad de codificación actual se divide en un número predeterminado de unidades de codificación, el dispositivo 150 de descodificación de imágenes puede seleccionar una de las unidades de codificación. Se pueden utilizar diversos procedimientos para seleccionar una de una pluralidad de unidades de codificación, como se describirá más adelante en relación con diversas realizaciones.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir la unidad de codificación actual en una pluralidad de unidades de codificación, y puede determinar una unidad de codificación en una ubicación predeterminada.
La FIG: 5 ilustra un procedimiento, realizado por el dispositivo 150 de descodificación de imágenes, de determinar una unidad de codificación de una ubicación predeterminada de entre un número impar de unidades de codificación, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede utilizar información que indica las ubicaciones del número impar de unidades de codificación, para determinar una unidad de codificación en una ubicación central de entre el número impar de unidades de codificación. Con referencia a la FIG. 5, el dispositivo 150 de descodificación de imágenes puede determinar un número impar de unidades 520a, 520b y 520c de codificación dividiendo una unidad 500 de codificación actual. El dispositivo 150 de descodificación de imágenes puede determinar una unidad 520b de codificación en una ubicación central utilizando información sobre las ubicaciones del número impar de unidades 520a, 520b y 520c de codificación. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar la unidad 520b de codificación de la ubicación central determinando las ubicaciones de las unidades 520a, 520b y 520c de codificación basándose en información que indica ubicaciones de muestras predeterminadas incluidas en las unidades 520a, 520b y 520c de codificación. En detalle, el dispositivo 150 de descodificación de imágenes puede determinar la unidad 520b de codificación en la ubicación central determinando las ubicaciones de las unidades 520a, 520b y 520c de codificación basándose en información que indica las ubicaciones de las muestras 530a, 530b y 530c superiores izquierdas de las unidades 520a, 520b y 520c de codificación.
De acuerdo con una realización, la información que indica las ubicaciones de las muestras 530a, 530b y 530c superiores izquierdas, que están incluidas en las unidades 520a, 520b y 520c de codificación, respectivamente, puede incluir información sobre ubicaciones o coordenadas de las unidades 520a, 520b y 520c de codificación en una imagen. De acuerdo con una realización, la información que indica las ubicaciones de las muestras 530a, 530b y 530c superiores izquierdas, que están incluidas en las unidades 520a, 520b y 520c de codificación, respectivamente, puede incluir información que indica anchuras o alturas de las unidades 520a, 520b y 520c de codificación incluidas en la unidad 500 de codificación actual, y las anchuras o alturas pueden corresponder a información que indica diferencias entre las coordenadas de las unidades 520a, 520b y 520c de codificación en la imagen. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar la unidad 520b de codificación en la ubicación central utilizando directamente la información sobre las ubicaciones o coordenadas de las unidades 520a, 520b y 520c de codificación en la imagen, o utilizando la información sobre las anchuras o alturas de las unidades de codificación, que corresponden a los valores de diferencia entre las coordenadas.
De acuerdo con una realización, la información que indica la ubicación de la muestra 530a superior izquierda de la unidad 520a de codificación superior puede incluir coordenadas (xa, ya), la información que indica la ubicación de la muestra 530b superior izquierda de la unidad 520b de codificación media puede incluir coordenadas (xb, yb), y la información que indica la ubicación de la muestra 530c superior izquierda de la unidad 520c de codificación inferior puede incluir coordenadas (xc, yc). El dispositivo 150 de descodificación de imágenes puede determinar la unidad 520b de codificación media utilizando las coordenadas de las muestras 530a, 530b y 530c superiores izquierdas que están incluidas en las unidades 520a, 520b y 520c de codificación, respectivamente. Por ejemplo, cuando las coordenadas de las muestras 530a, 530b, y 530c superiores izquierdas se ordenan en orden ascendente o descendente, la unidad 520b de codificación que incluye las coordenadas (xb, yb) de la muestra 530b en una ubicación central puede determinarse como una unidad de codificación en una ubicación central de entre las unidades 520a, 520b, y 520c de codificación determinadas dividiendo la unidad 500 de codificación actual. Sin embargo, las coordenadas que indican las ubicaciones de las muestras 530a, 530b y 530c superiores izquierdas pueden incluir coordenadas que indican ubicaciones absolutas en la imagen, o pueden utilizar coordenadas (dxb, dyb) que indican una ubicación relativa de la muestra 530b superior izquierda de la unidad 520b de codificación media y coordenadas (dxc, dyc) que indican una ubicación relativa de la muestra 530c superior izquierda de la unidad 520c de codificación inferior con referencia a la ubicación de la muestra 530a superior izquierda de la unidad 520a de codificación superior. Un procedimiento para determinar una unidad de codificación en una ubicación predeterminada mediante el uso de coordenadas de una muestra incluida en la unidad de codificación, como información que indica una ubicación de la muestra, no se limita al procedimiento descrito anteriormente, y puede incluir diversos procedimientos aritméticos capaces de utilizar las coordenadas de la muestra.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir la unidad 500 de codificación actual en una pluralidad de unidades 520a, 520b, y 520c de codificación, y puede seleccionar una de las unidades 520a, 520b, y 520c de codificación basándose en un criterio predeterminado. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede seleccionar la unidad 520b de codificación, que tiene un tamaño diferente al de las demás, de entre las unidades 520a, 520b y 520c de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar las anchuras o alturas de las unidades 520a, 520b, y 520c de codificación utilizando las coordenadas (xa, ya) que indican la ubicación de la muestra 530a superior izquierda de la unidad 520a de codificación superior, las coordenadas (xb, yb) que indican la ubicación de la muestra 530b superior izquierda de la unidad 520b de codificación media, y las coordenadas (xc, yc) que indican la ubicación de la muestra 530c superior izquierda de la unidad 520c de codificación inferior. El dispositivo 150 de descodificación de imágenes puede determinar los tamaños respectivos de las unidades 520a, 520b y 520c de codificación utilizando las coordenadas (xa, ya), (xb, yb) y (xc, yc) que indican las ubicaciones de las unidades 520a, 520b y 520c de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar que la anchura de la unidad 520a de codificación superior es xb-xa y que su altura es yb-ya. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar que la anchura de la unidad 520b de codificación media es xc-xb y que su altura es yc-yb. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar la anchura o altura de la unidad 520c de codificación inferior utilizando la anchura o altura de la unidad 500 de codificación actual o las anchuras o alturas de las unidades intermedia 520a y 520b de codificación superior e. El dispositivo 150 de descodificación de imágenes puede determinar una unidad de codificación, que tiene un tamaño diferente al de las demás, basándose en las anchuras y alturas determinadas de las unidades 520a a 520c de codificación. Con referencia a la FIG. 5, el dispositivo 150 de descodificación de imágenes puede determinar la unidad 520b de codificación media, que tiene un tamaño diferente del tamaño de las unidades 520a y 520c de codificación superior e inferior, como la unidad de codificación de la ubicación predeterminada. Sin embargo, el procedimiento descrito anteriormente, realizado por el dispositivo 150 de descodificación de imágenes, de determinar una unidad de codificación que tiene un tamaño diferente del tamaño de las otras unidades de codificación corresponde meramente a un ejemplo de determinar una unidad de codificación en una ubicación predeterminada utilizando los tamaños de las unidades de codificación, que se determinan basándose en coordenadas de muestras, y por lo tanto se pueden utilizar diversos procedimientos de determinar una unidad de codificación en una ubicación predeterminada comparando los tamaños de las unidades de codificación, que se determinan basándose en coordenadas de muestras predeterminadas.
Sin embargo, las ubicaciones de las muestras consideradas para determinar las ubicaciones de las unidades de codificación no se limitan a las ubicaciones superiores izquierdas descritas anteriormente, y puede utilizarse información sobre ubicaciones arbitrarias de las muestras incluidas en las unidades de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede seleccionar una unidad de codificación en una ubicación predeterminada de entre un número impar de unidades de codificación determinado dividiendo la unidad de codificación actual, considerando la forma de la unidad de codificación actual. Por ejemplo, cuando la unidad de codificación actual tiene una forma no cuadrada, cuya anchura es mayor que la altura, el dispositivo 150 de descodificación de imágenes puede determinar la unidad de codificación en la ubicación predeterminada en una dirección horizontal. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar una de las unidades de codificación en diferentes ubicaciones en una dirección horizontal y poner una restricción en la unidad de codificación. Cuando la unidad de codificación actual tiene una forma no cuadrada, cuya altura es mayor que la anchura, el dispositivo 150 de descodificación de imágenes puede determinar la unidad de codificación en la ubicación predeterminada en una dirección vertical. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar una de las unidades de codificación en diferentes ubicaciones en una dirección vertical y puede poner una restricción en la unidad de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede utilizar información que indique las ubicaciones respectivas de un número par de unidades de codificación, para determinar la unidad de codificación en la ubicación predeterminada de entre el número par de unidades de codificación. El dispositivo 150 de descodificación de imágenes puede determinar un número par de unidades de codificación dividiendo la unidad de codificación actual, y puede determinar la unidad de codificación en la ubicación predeterminada utilizando la información sobre las ubicaciones del número par de unidades de codificación. Una operación relacionada con ello puede corresponder a la operación de determinar una unidad de codificación en una ubicación predeterminada (por ejemplo, una ubicación central) de entre un número impar de unidades de codificación, que se ha descrito en detalle anteriormente en relación con la FIG. 5 y, por lo tanto, no se proporcionan aquí descripciones detalladas de los mismos.
De acuerdo con una realización, cuando una unidad de codificación de corriente no cuadrada se divide en una pluralidad de unidades de codificación, puede utilizarse información predeterminada sobre una unidad de codificación en una ubicación predeterminada en una operación de división para determinar la unidad de codificación en la ubicación predeterminada de entre la pluralidad de unidades de codificación. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede utilizar al menos una de las informaciones de forma de bloque y de forma de división, que se almacenan en una muestra incluida en una unidad de codificación en una ubicación central, en una operación de división para determinar la unidad de codificación en la ubicación central de entre la pluralidad de unidades de codificación determinadas mediante la división de la unidad de codificación actual.
Con referencia a la FIG. 5, el dispositivo 150 de descodificación de imágenes puede dividir la unidad 500 de codificación actual en una pluralidad de unidades 520a, 520b, y 520c de codificación basándose en al menos una de la información de forma de bloque y la información de forma dividida, y puede determinar una unidad 520b de codificación en una ubicación central de entre la pluralidad de las unidades 520a, 520b, y 520c de codificación. Además, el dispositivo 150 de descodificación de imágenes puede determinar la unidad 520b de codificación en la ubicación central, en consideración a una ubicación desde la que se obtiene al menos una de la información de forma de bloque y la información de forma de división. Es decir, al menos una de la información de forma de bloque y la información de forma dividida de la unidad 500 de codificación actual puede obtenerse de la muestra 540 en una ubicación central de la unidad 500 de codificación actual y, cuando la unidad 500 de codificación actual se divide en la pluralidad de unidades 520a, 520b y 520c de codificación basándose en al menos una de la información de forma de bloque y la información de forma dividida, la unidad 520b de codificación que incluye la muestra 540 puede determinarse como la unidad de codificación en la ubicación central. Sin embargo, la información utilizada para determinar la unidad de codificación en la ubicación central no se limita a al menos una de la información de forma de bloque y la información de forma de división, y se pueden utilizar diversos tipos de información para determinar la unidad de codificación en la ubicación central.
De acuerdo con una realización, la información predeterminada para identificar la unidad de codificación en la ubicación predeterminada puede obtenerse a partir de una muestra predeterminada incluida en una unidad de codificación que se va a determinar. Con referencia a la FIG. 5, el dispositivo 150 de descodificación de imágenes puede utilizar al menos una de la información de forma de bloque y la información de forma dividida, que se obtiene de una muestra en una ubicación predeterminada de la unidad 500 de codificación actual (por ejemplo, una muestra en una ubicación central de la unidad 500 de codificación actual) para determinar una unidad de codificación en una ubicación predeterminada de entre la pluralidad de las unidades 520a, 520b y 520c de codificación determinadas dividiendo la unidad 500 de codificación actual (por ejemplo, una unidad de codificación en una ubicación central de entre una pluralidad de unidades de codificación divididas). Es decir, el dispositivo 150 de descodificación de imágenes puede determinar la muestra en la ubicación predeterminada considerando una forma de bloque de la unidad 500 de codificación actual, determinar la unidad 520b de codificación que incluye una muestra, de la que puede obtenerse información predeterminada (por ejemplo, al menos una de la información de forma de bloque y la información de forma dividida), de entre la pluralidad de unidades 520a, 520b y 520c de codificación determinadas dividiendo la unidad 500 de codificación actual, y puede poner una restricción predeterminada en la unidad 520b de codificación. Con referencia a la FIG. 5, de acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar la muestra 540 en la ubicación central de la unidad 500 de codificación actual como la muestra de la que puede obtenerse la información predeterminada, y puede poner una restricción predeterminada en la unidad 520b de codificación que incluye la muestra 540, en una operación de descodificación. Sin embargo, la ubicación de la muestra de la que puede obtenerse la información predeterminada no se limita a la ubicación descrita anteriormente, y puede incluir ubicaciones arbitrarias de muestras incluidas en la unidad 520b de codificación que deben determinarse para una restricción.
De acuerdo con una realización, la ubicación de la muestra de la que puede obtenerse la información predeterminada puede determinarse basándose en la forma de la unidad 500 de codificación actual. De acuerdo con una realización, la información sobre la forma del bloque puede indicar si la unidad de codificación actual tiene una forma cuadrada o no cuadrada, y la ubicación de la muestra de la que puede obtenerse la información predeterminada puede determinarse en función de la forma. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar una muestra situada en un límite para dividir al menos una de una anchura y una altura de la unidad de codificación actual por la mitad, como la muestra de la que se puede obtener la información predeterminada, utilizando al menos una de la información sobre la anchura de la unidad de codificación actual y la información sobre la altura de la unidad de codificación actual. Como otro ejemplo, cuando la información de forma de bloque de la unidad de codificación actual indica una forma no cuadrada, el dispositivo 150 de descodificación de imágenes puede determinar una de las muestras adyacentes a un límite para dividir un lado largo de la unidad de codificación actual por la mitad, como la muestra de la que se puede obtener la información predeterminada.
De acuerdo con una realización, cuando la unidad de codificación actual se divide en una pluralidad de unidades de codificación, el dispositivo 150 de descodificación de imágenes puede utilizar al menos una de la información de forma de bloque y la información de forma de división para determinar una unidad de codificación en una ubicación predeterminada de entre la pluralidad de unidades de codificación. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede obtener al menos una de la información de forma de bloque y la información de forma de división a partir de una muestra en una ubicación predeterminada en una unidad de codificación, y dividir la pluralidad de unidades de codificación, que se generan dividiendo la unidad de codificación actual, utilizando al menos una de la información de forma de división y la información de forma de bloque, que se obtiene a partir de la muestra de la ubicación predeterminada en cada una de la pluralidad de unidades de codificación. Es decir, una unidad de codificación puede dividirse recursivamente basándose en al menos una de la información de forma de bloque y la información de forma dividida, que se obtiene de la muestra en la ubicación predeterminada en cada unidad de codificación. Una operación de división recursiva de una unidad de codificación se ha descrito anteriormente en relación con la FIG. 4 y, por lo tanto, no se proporcionarán aquí descripciones detalladas de los mismos.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una o más unidades de codificación dividiendo la unidad de codificación actual, y puede determinar un orden de descodificación de la una o más unidades de codificación, basándose en un bloque predeterminado (por ejemplo, la unidad de codificación actual).
La FIG: 6 ilustra un orden de procesamiento de una pluralidad de unidades de codificación cuando el dispositivo 150 descodificador de imágenes determina la pluralidad de unidades de codificación dividiendo una unidad de codificación actual, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar segundas unidades 610a y 610b de codificación dividiendo una primera unidad 600 de codificación en una dirección vertical, determinar segundas unidades 630a y 630b de codificación dividiendo la primera unidad 600 de codificación en una dirección horizontal, o determinar segundas unidades 650a a 650d de codificación dividiendo la primera unidad 600 de codificación en direcciones vertical y horizontal, basándose en información de forma de bloque e información de forma de división.
Con referencia a la FIG. 6, el dispositivo 150 de descodificación de imágenes puede determinar procesar las segundas unidades 610a y 610b de codificación, que se determinan dividiendo la primera unidad 600 de codificación en una dirección vertical, en un orden 610c de dirección horizontal. El dispositivo 150 de descodificación de imágenes puede determinar procesar las segundas unidades 630a y 630b de codificación, que se determinan dividiendo la primera unidad 600 de codificación en una dirección horizontal, en un orden 630c de dirección vertical. El dispositivo 150 de descodificación de imágenes puede determinar procesar las segundas unidades 650a a 650d de codificación, que se determinan dividiendo la primera unidad 600 de codificación en direcciones vertical y horizontal, en un orden predeterminado para procesar unidades de codificación en una fila y luego procesar unidades de codificación en una fila siguiente (por ejemplo, en un orden 650e de escaneo rasterizado u orden de escaneo Z ).
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir de forma recursiva unidades de codificación. Con referencia a la FIG. 6, el dispositivo 150 de descodificación de imágenes puede determinar una pluralidad de unidades 610a, 610b, 630a, 630b, 650a, 650b, 650c, y 650d de codificación dividiendo la primera unidad 600 de codificación, y puede dividir recursivamente cada una de la pluralidad determinada de unidades 610a, 610b, 630a, 630b, 650a, 650b, 650c, y 650d de codificación. Un procedimiento de división de la pluralidad de unidades 610a, 610b, 630a, 630b, 650a, 650b, 650c y 650d de codificación puede corresponder a un procedimiento de división de la primera unidad 600 de codificación. Como tal, cada una de la pluralidad de unidades 610a, 610b, 630a, 630b, 650a, 650b, 650c, y 650d de codificación puede dividirse independientemente en una pluralidad de unidades de codificación. Con referencia a la FIG. 6, el dispositivo 150 de descodificación de imágenes puede determinar las segundas unidades 610a y 610b de codificación dividiendo la primera unidad 600 de codificación en una dirección vertical, y puede determinar dividir independientemente o no dividir cada una de las segundas unidades 610a y 610b de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 620a y 620b de codificación dividiendo la segunda unidad 610a de codificación izquierda en una dirección horizontal, y puede no dividir la segunda unidad 610b de codificación derecha.
De acuerdo con una realización, puede determinarse un orden de procesamiento de las unidades de codificación basándose en una operación de división de una unidad de codificación. En otras palabras, un orden de procesamiento de unidades de codificación divididas puede determinarse basándose en un orden de procesamiento de unidades de codificación inmediatamente antes de dividirse. El dispositivo 150 de descodificación de imágenes puede determinar un orden de procesamiento de las terceras unidades 620a y 620b de codificación determinado por la división de la segunda unidad 610a de codificación izquierda, independientemente de la segunda unidad 610b de codificación derecha. Dado que las terceras unidades 620a y 620b de codificación se determinan dividiendo la segunda unidad 610a de codificación izquierda en una dirección horizontal, las terceras unidades 620a y 620b de codificación pueden procesarse en un orden 620c de dirección vertical. Dado que las segundas unidades 610a y 610b de codificación izquierda y derecha se procesan en el orden 610c de dirección horizontal, la segunda unidad 610b de codificación derecha puede procesarse después de que las terceras unidades 620a y 620b de codificación incluidas en la segunda unidad 610a de codificación izquierda se procesen en el orden 620c de dirección vertical. Una operación de determinación de un orden de procesamiento de unidades de codificación basada en una unidad de codificación antes de dividirse no se limita al ejemplo descrito anteriormente, y pueden utilizarse diversos procedimientos para procesar independientemente unidades de codificación, que se dividen y determinan con diversas formas, en un orden predeterminado.
La FIG: 7 ilustra un procedimiento, realizado por el dispositivo 150 de descodificación de imágenes, de determinar que una unidad de codificación actual debe dividirse en un número impar de unidades de codificación, cuando las unidades de codificación no son procesables en un orden predeterminado, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar si la unidad de codificación actual está dividida en un número impar de unidades de codificación, basándose en la información de forma de bloque obtenida y en la información de forma de división. Con referencia a la FIG. 7, una primera unidad 700 de codificación cuadrada puede dividirse en segundas unidades 710a y 710b de codificación no cuadradas, y las segundas unidades 710a y 710b de codificación pueden dividirse independientemente en terceras unidades 720a y 720b, y 720c a 720e de codificación. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una pluralidad de terceras unidades 720a y 720b de codificación dividiendo la segunda unidad 710a de codificación izquierda en una dirección horizontal, y puede dividir la segunda unidad 710b de codificación derecha en un número impar de terceras unidades 720c a 720e de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar si alguna unidad de codificación está dividida en un número impar de unidades de codificación, determinando si las terceras unidades 720a y 720b, y 720c a 720e de codificación son procesables en un orden predeterminado. Con referencia a la FIG. 7, el dispositivo 150 de descodificación de imágenes puede determinar las terceras unidades 720a y 720b, y 720c a 720e de codificación dividiendo recursivamente la primera unidad 700 de codificación. El dispositivo 150 de descodificación de imágenes puede determinar si alguna de la primera unidad 700 de codificación, las segundas unidades 710a y 710b de codificación, y las terceras unidades 720a y 720b, y 720c a 720e de codificación están divididas en un número impar de unidades de codificación, basándose en al menos una de la información de forma de bloque y la información de forma dividida. Por ejemplo, la segunda unidad 710b de codificación derecha puede dividirse en un número impar de terceras unidades 720c, 720d y 720e de codificación. Un orden de procesamiento de una pluralidad de unidades de codificación incluidas en la primera unidad 700 de codificación puede ser un orden predeterminado (por ejemplo, un orden 730 de escaneo Z ), y el dispositivo 150 descodificador de imágenes puede decidir si las terceras unidades 720c, 720d y 720e de codificación, que se determinan dividiendo la segunda unidad 710b de codificación derecha en un número impar de unidades de codificación, satisfacen una condición para su procesamiento en el orden predeterminado.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar si las terceras unidades 720a y 720b, y 720c, 720d, y 720e de codificación incluidas en la primera unidad 700 de codificación satisfacen la condición para el procesamiento en el orden predeterminado, y la condición se refiere a si al menos una de una anchura y altura de las segundas unidades 710a y 710b de codificación está dividida por la mitad a lo largo de un límite de las terceras unidades 720a y 720b, y 720c, 720d, y 720e de codificación. Por ejemplo, las terceras unidades 720a y 720b de codificación determinadas dividiendo por la mitad la altura de la segunda unidad 710a de codificación izquierda no cuadrada satisfacen la condición. Sin embargo, debido a que los límites de las terceras unidades 720c, 720d y 720e de codificación determinados dividiendo la segunda unidad 710b de codificación derecha en tres unidades de codificación no dividen la anchura o la altura de la segunda unidad 710b de codificación derecha por la mitad, puede determinarse que las terceras unidades 720c, 720d y 720e de codificación no satisfacen la condición. Cuando la condición no se satisface como se ha descrito anteriormente, el dispositivo 150 de descodificación de imágenes puede decidir la desconexión de un orden de escaneo, y determinar que la segunda unidad 710b de codificación derecha se divide en un número impar de unidades de codificación, basándose en un resultado de la decisión. De acuerdo con una realización, cuando una unidad de codificación se divide en un número impar de unidades de codificación, el dispositivo 150 descodificador de imágenes puede poner una restricción predeterminada en una unidad de codificación en una ubicación predeterminada de entre las unidades de codificación divididas. La restricción o la ubicación predeterminada se han descrito anteriormente en relación con diversas realizaciones, por lo que no se proporcionarán aquí descripciones detalladas de las mismas.
La FIG: 8 ilustra un procedimiento, realizado por el dispositivo 150 de descodificación de imágenes, de determinar al menos una unidad de codificación dividiendo una primera unidad 800 de codificación, de acuerdo con una realización. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir la primera unidad 800 de codificación, basándose en al menos una de las informaciones de forma de bloque y de forma dividida, obtenidas por el receptor 160. La primera unidad 800 de codificación cuadrada puede dividirse en cuatro unidades de codificación cuadradas, o puede dividirse en una pluralidad de unidades de codificación no cuadradas. Por ejemplo, con referencia a la FIG. 8, cuando la información de forma de bloque indica que la primera unidad 800 de codificación tiene forma cuadrada y la información de forma de división indica dividir la primera unidad 800 de codificación en unidades de codificación no cuadradas, el dispositivo 150 descodificador de imágenes puede dividir la primera unidad 800 de codificación en una pluralidad de unidades de codificación no cuadradas. En detalle, cuando la información de forma dividida indica determinar un número impar de unidades de codificación dividiendo la primera unidad 800 de codificación en una dirección horizontal o una dirección vertical, el dispositivo 150 descodificador de imágenes puede dividir la primera unidad 800 de codificación cuadrada en un número impar de unidades de codificación, por ejemplo, segundas unidades 81 0a, 810b, y 810c de codificación determinadas dividiendo la primera unidad 800 de codificación cuadrada en una dirección vertical o segundas unidades 820a, 820b, y 820c de codificación determinadas dividiendo la primera unidad 800 de codificación cuadrada en una dirección horizontal.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar si las segundas unidades 810a, 810b, 810c, 820a, 820b, y 820c de codificación incluidas en la primera unidad 800 de codificación satisfacen una condición para procesamiento en un orden predeterminado, y la condición se refiere a si al menos una de una anchura y altura de la primera unidad 800 de codificación se divide por la mitad a lo largo de un límite de las segundas unidades 810a, 810b, 810c, 820a, 820b, y 820c de codificación. Con referencia a la FIG. 8, debido a que los límites de las segundas unidades 810a, 810b y 810c de codificación determinados dividiendo la primera unidad 800 de codificación cuadrada en una dirección vertical no dividen la altura de la primera unidad 800 de codificación por la mitad, puede determinarse que la primera unidad 800 de codificación no satisface la condición de procesamiento en el orden predeterminado. Además, debido a que los límites de las segundas unidades 820a, 820b y 820c de codificación determinados dividiendo la primera unidad 800 de codificación cuadrada en una dirección horizontal no dividen la altura de la primera unidad 800 de codificación por la mitad, puede determinarse que la primera unidad 800 de codificación no satisface la condición de procesamiento en el orden predeterminado. Cuando no se cumple la condición descrita anteriormente, el dispositivo 150 de descodificación de imágenes puede decidir la desconexión de un orden de escaneo y puede determinar que la primera unidad 800 de codificación se divide en un número impar de unidades de codificación, basándose en un resultado de la decisión. De acuerdo con una realización, cuando una unidad de codificación se divide en un número impar de unidades de codificación, el dispositivo 150 descodificador de imágenes puede poner una restricción predeterminada en una unidad de codificación en una ubicación predeterminada de entre las unidades de codificación divididas. La restricción o la ubicación predeterminada se han descrito anteriormente en relación con diversas realizaciones, por lo que no se proporcionarán aquí descripciones detalladas de las mismas.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar unidades de codificación de diversas formas dividiendo una primera unidad de codificación.
Con referencia a la FIG. 8, el dispositivo 150 de descodificación de imágenes puede dividir la primera unidad 800 de codificación cuadrada o una primera unidad 830 u 850 de codificación no cuadrada en unidades de codificación de diversas formas.
La FIG: 9 ilustra que una forma en la que una segunda unidad de codificación es divisible por el dispositivo 150 de descodificación de imágenes se restringe cuando la segunda unidad de codificación que tiene una forma no cuadrada, que se determina dividiendo una primera unidad 900 de codificación, satisface una condición predeterminada, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar dividir la primera unidad 900 de codificación cuadrada en segundas unidades 910a, 910b, 920a, y 920b de codificación no cuadradas, basándose en al menos una de la información de forma de bloque y la información de forma de división, que es obtenida por el receptor 160. Las segundas unidades 910a, 910b, 920a y 920b de codificación pueden dividirse independientemente. Como tal, el dispositivo 150 de descodificación de imágenes puede determinar dividir o no dividir la primera unidad 900 de codificación en una pluralidad de unidades de codificación, basándose en al menos una de la información de forma de bloque y la información de forma de división de cada una de las segundas unidades 910a, 910b, 920a, y 920b de codificación. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 912a y 912b de codificación dividiendo la segunda unidad 910a de codificación izquierda no cuadrada, que se determina dividiendo la primera unidad 900 de codificación en una dirección vertical, en una dirección horizontal. Sin embargo, cuando la segunda unidad 910a de codificación izquierda se divide en una dirección horizontal, el dispositivo 150 de descodificación de imágenes puede restringir la segunda unidad 910b de codificación derecha para que no se divida en una dirección horizontal en la que se divide la segunda unidad 910a de codificación izquierda. Cuando las terceras unidades 914a y 914b de codificación se determinan dividiendo la segunda unidad 910b de codificación derecha en una misma dirección, debido a que las segundas unidades 910a y 910b de codificación izquierda y derecha se dividen independientemente en una dirección horizontal, se pueden determinar las terceras unidades 912a, 912b, 914a y 914b de codificación. Sin embargo, este caso sirve igualmente como un caso en el que el dispositivo 150 de descodificación de imágenes divide la primera unidad 900 de codificación en cuatro segundas unidades 930a, 930b, 930c, y 930d de codificación cuadradas, basándose en al menos una de la información de forma de bloque y la información de forma dividida, y puede ser ineficiente en términos de descodificación de imagen.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 922a, 922b, 924a, y 924b de codificación dividiendo la segunda unidad 920a o 920b de codificación no cuadrada, que se determina dividiendo la primera unidad 900 de codificación en una dirección horizontal, en una dirección vertical. Sin embargo, cuando una segunda unidad de codificación (por ejemplo, la segunda unidad 920a de codificación superior) se divide en una dirección vertical, por la razón descrita anteriormente, el dispositivo 150 de descodificación de imágenes puede restringir la otra segunda unidad de codificación (por ejemplo, la segunda unidad 920b de codificación inferior) para que no se divida en una dirección vertical en la que se divide la segunda unidad 920a de codificación superior.
La FIG: 10 ilustra un procedimiento, realizado por el dispositivo 150 de descodificación de imágenes, de dividir una unidad de codificación cuadrada cuando la información de forma dividida indica que la unidad de codificación cuadrada no debe dividirse en cuatro unidades de codificación cuadradas, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar segundas unidades 1010a, 1010b, 1020a, 1020b de codificación, etc. dividiendo una primera unidad 1000 de codificación, basándose en al menos una de la información de forma de bloque y la información de forma de división. La información sobre la forma de división puede incluir información sobre diversos procedimientos de división de una unidad de codificación, pero, la información sobre diversos procedimientos de división puede no incluir información para dividir una unidad de codificación en cuatro unidades de codificación cuadradas. De acuerdo con dicha información de forma dividida, el dispositivo 150 descodificador de imágenes puede no dividir la primera unidad 1000 de codificación cuadrada en cuatro segundas unidades 1030a, 1030b, 1030c y 1030d de codificación cuadradas. El dispositivo 150 de descodificación de imágenes puede determinar las segundas unidades 1010a, 101 0b, 1020a, 1020b de codificación no cuadradas, etc., basándose en la información de forma dividida.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir independientemente las segundas unidades 1010a, 1010b, 1020a, 1020b, etc. de codificación no cuadradas. Cada una de las segundas unidades 1010a, 1010b, 1020a, 1020b, etc. de codificación puede dividirse recursivamente en un orden predeterminado., y este procedimiento de división puede corresponder a un procedimiento de división de la primera unidad 1000 de codificación, basado en al menos una de la información de forma de bloque y la información de forma de división.
Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 1012a y 1012b de codificación cuadradas dividiendo la segunda unidad 1010a de codificación izquierda en una dirección horizontal, y puede determinar terceras unidades 1014a y 1014b de codificación cuadradas dividiendo la segunda unidad 1010b de codificación derecha en una dirección horizontal. Además, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 1016a, 1016b, 1016c y 1016d de codificación cuadradas dividiendo las segundas unidades 1010a y 1010b de codificación izquierda y derecha en una dirección horizontal. En este caso, se pueden determinar unidades de codificación que tengan la misma forma que las cuatro segundas unidades 1030a, 1030b, 1030c y 1030d de codificación cuadradas divididas de la primera unidad 1000 de codificación.
Como otro ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 1022a y 1022b de codificación cuadradas dividiendo la segunda unidad 1020a de codificación superior en una dirección vertical, y puede determinar terceras unidades 1024a y 1024b de codificación cuadradas dividiendo la segunda unidad 1020b de codificación inferior en una dirección vertical. Además, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 1026a, 1026b, 1026c y 1026d de codificación cuadradas dividiendo las segundas unidades 1020a y 1020b de codificación superior e inferior en dirección vertical. En este caso, se pueden determinar unidades de codificación que tengan la misma forma que las cuatro segundas unidades 1030a, 1030b, 1030c y 1030d de codificación cuadradas divididas de la primera unidad 1000 de codificación.
La FIG: 11 ilustra que un orden de procesamiento entre una pluralidad de unidades de codificación puede cambiarse dependiendo de un procedimiento de división de una unidad de codificación, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir una primera unidad 1100 de codificación, basándose en información de forma de bloque e información de forma de división. Cuando la información de forma de bloque indica una forma cuadrada y la información de forma de división indica dividir la primera unidad 1100 de codificación en al menos una de las direcciones horizontal y vertical, el dispositivo 150 descodificador de imágenes puede determinar segundas unidades 1910a, 1110b, 1120a y 1120b de codificación dividiendo la primera unidad 1100 de codificación. Con referencia a la FIG. 11, las segundas unidades 1110a, 1110b, 1120a y 1120b de codificación no cuadradas determinadas dividiendo la primera unidad 1100 de codificación sólo en una dirección horizontal o en una dirección vertical pueden dividirse independientemente basándose en la información de forma de bloque y en la información de forma de división de cada unidad de codificación. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar terceras unidades 1116a, 1116b, 1116c, y 1116d de codificación dividiendo las segundas unidades 1110a y 1110b de codificación, que se generan dividiendo la primera unidad 1900 de codificación en una dirección vertical, en una dirección horizontal, y puede determinar terceras unidades 1126a, 1126b, 1126c, y 1126d de codificación dividiendo las segundas unidades 1120a y 1120b de codificación, que se generan dividiendo la primera unidad 1100 de codificación en una dirección horizontal, en una dirección vertical. Una operación de división de las segundas unidades 1110a, 1110b, 1120a y 1120b de codificación se ha descrito anteriormente en relación con la FIG. 9 y, por lo tanto, no se proporcionarán en el presente documento descripciones detalladas de los mismos.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede procesar unidades de codificación en un orden predeterminado. Una operación de procesamiento de unidades de codificación en un orden predeterminado se ha descrito anteriormente en relación con la FIG. 6 y, por lo tanto, no se proporcionarán en el presente documento descripciones detalladas de los mismos. Con referencia a la FIG. 11, el dispositivo 150 de descodificación de imágenes puede determinar cuatro terceras unidades 1116a, 1116b, 1116c y 1116d, y 1126a, 1126b, 1126c y 1126d de codificación cuadradas dividiendo la primera unidad 1100 de codificación cuadrada. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar órdenes de procesamiento de las terceras unidades 1116a, 1116b, 1116c, y 1116d, y 1126a, 1126b, 1126c, y 1126d de codificación basándose en un procedimiento de división de la primera unidad 1100 de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar las terceras unidades 1116a, 1116b, 1116c, y 1116d de codificación dividiendo las segundas unidades 1110a y 1110b de codificación generadas dividiendo la primera unidad 1100 de codificación en una dirección vertical, en una dirección horizontal, y puede procesar las terceras unidades 1116a y 1116c de codificación, que están incluidas en la segunda unidad 1110a de codificación izquierda, en una dirección vertical y luego procesar las terceras unidades 1116b y 1116d de codificación, que están incluidas en la segunda unidad 1110b de codificación derecha, en una dirección vertical.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar las terceras unidades 1126a, 1126b, 1126c, y 1126d de codificación dividiendo las segundas unidades 1120a y 1120b de codificación generadas dividiendo la primera unidad 1100 de codificación en una dirección horizontal, en una dirección vertical, y puede procesar las terceras unidades 1126a, 1126b, 1126c, y 1126d de codificación en una orden 1127 de procesamiento para procesar inicialmente las terceras unidades 1126a y 1126b de codificación, que están incluidas en la segunda unidad 1120a de codificación superior, en una dirección horizontal y luego procesar la tercera unidad
1126c y 1126d de codificación, que están incluidas en la segunda unidad 1120b de codificación inferior, en dirección horizontal.
Con referencia a la FIG. 11, las terceras unidades 1116a, 1116b, 1116c y 1116d, y 1126a, 1126b, 1126c y 1126d de codificación cuadradas pueden determinarse dividiendo las segundas unidades 1110a, 1110b, 1120a y 1120b de codificación, respectivamente. Aunque las segundas unidades 1110a y 1110b de codificación se determinan dividiendo la primera unidad 1100 de codificación en dirección vertical de forma diferente a las segundas unidades 1120a y 1120b de codificación que se determinan dividiendo la primera unidad 1100 de codificación en dirección horizontal, las terceras unidades 1116a, 1116b, 1116c, y 1116d, y 1126a, 1126b, 1126c, y 1126d de codificación divididas a partir de ellas muestran finalmente unidades de codificación de la misma forma divididas a partir de la primera unidad 1100 de codificación. Como tal, dividiendo recursivamente una unidad de codificación de diferentes maneras basadas en al menos una de la información de forma de bloque y la información de forma dividida, el dispositivo 150 de descodificación de imágenes puede procesar una pluralidad de unidades de codificación en diferentes órdenes incluso cuando las unidades de codificación se determinan finalmente que tienen la misma forma.
La FIG: 12 ilustra un procedimiento de determinación de una profundidad de una unidad de codificación a medida que cambian la forma y el tamaño de la unidad de codificación, cuando la unidad de codificación se divide recursivamente de forma que se determina una pluralidad de unidades de codificación, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar la profundidad
de la unidad de codificación, basándose en un criterio predeterminado. Por ejemplo, el criterio predeterminado puede ser la longitud de un lado largo de la unidad de codificación. Cuando la longitud de un lado largo de una unidad de codificación antes de ser dividida es 2n veces (n>0) la longitud de un lado largo de una unidad de codificación actual dividida, el dispositivo 150 de descodificación de imágenes puede determinar que una profundidad de la unidad de codificación actual se incrementa desde una profundidad de la unidad de codificación antes de ser dividida, por n. En la siguiente descripción, una unidad de codificación que tiene una profundidad incrementada se expresa como una unidad de codificación de una profundidad mayor.
Con referencia a la FIG. 12, de acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una segunda unidad 1202 de codificación y una tercera unidad 1204 de codificación de profundidades mayores dividiendo una primera unidad 1200 de codificación cuadrada basándose en la información de forma de bloque que indica una forma cuadrada (por ejemplo, la información de forma de bloque puede expresarse como "0.:
SQUARE'). Suponiendo que el tamaño de la primera unidad 1200 de codificación cuadrada es 2N*2N, la segunda unidad 1202 de codificación determinada dividiendo la anchura y la altura de la primera unidad 1200 de codificación a
1/2 puede tener un tamaño de N*N. Además, la tercera unidad 1204 de codificación determinada dividiendo una anchura y altura de la segunda unidad 1202 de codificación a 1/2 puede tener un tamaño de N/2*N/2. En este caso, una anchura y una altura de la tercera unidad 1204 de codificación son 1/2 veces las de la primera unidad 1200 de codificación. Cuando una profundidad de la primera unidad 1200 de codificación es D, una profundidad de la segunda unidad 1202 de codificación, cuya anchura y altura son 1/2 veces las de la primera unidad 1200 de codificación, puede ser D+1, y una profundidad de la tercera unidad 1204 de codificación, cuya anchura y altura son 1/2 veces las de la primera unidad 1200 de codificación, puede ser D+2.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una segunda unidad 1212 o 1222 de codificación y una tercera unidad 1214 o 1224 de codificación de profundidades mayores dividiendo una primera unidad 1210 o 1220 de codificación no cuadrada basándose en información de forma de bloque
que indica una forma no cuadrada (por ejemplo, la información de forma de bloque puede expresarse como '1.'):
N<s>_VER", que indica una forma no cuadrada cuya altura es mayor que la anchura, o como "2.NS_VER", que indica una forma no cuadrada cuya altura es mayor que la anchura: NS_HOR", que indica una forma no cuadrada cuya anchura es mayor que la altura).
El dispositivo 150 de descodificación de imágenes puede determinar una segunda unidad 1202, 1212, o 1222 de codificación dividiendo al menos una de una anchura y altura de la primera unidad 1210 de codificación que tiene un tamaño de N*2N. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar la segunda unidad
1202 de codificación que tiene un tamaño de N*N o la segunda unidad 1222 de codificación que tiene un tamaño de N*N/2 dividiendo la primera unidad 1210 de codificación en una dirección horizontal, o puede determinar la segunda unidad 1212 de codificación que tiene un tamaño de N/2*N dividiendo la primera unidad 1210 de codificación en direcciones horizontal y vertical.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar la segunda unidad 1202, 1212, o 1222 de codificación dividiendo al menos una de una anchura y altura de la primera unidad 1220 de codificación que tiene un tamaño de 2N*N. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar la segunda unidad 1202 de codificación que tiene un tamaño de N*N o la segunda unidad 1212 de codificación que tiene un tamaño de N/2*N dividiendo la primera unidad 1220 de codificación en una dirección vertical, o puede determinar la segunda unidad 1222 de codificación que tiene un tamaño de N*N/2 dividiendo la primera unidad 1220 de codificación en direcciones horizontal y vertical.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una tercera unidad 1204, 1214, o 1224 de codificación dividiendo al menos una de una anchura y altura de la segunda unidad
1202 de codificación que tiene un tamaño de N*N. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar la tercera unidad 1204 de codificación que tiene un tamaño de N/2*N/2, la tercera unidad 1214 de codificación que tiene un tamaño de N/2*N/2, o la tercera unidad 1224 de codificación que tiene un tamaño de N/2*N/2 dividiendo la segunda unidad 1202 de codificación en direcciones vertical y horizontal.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar la tercera unidad
1204, 1214, o 1224 de codificación dividiendo al menos una de una anchura y altura de la segunda unidad 1212 d codificación que tiene un tamaño de N/2*N. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar la tercera unidad 1204 de codificación que tiene un tamaño de N/2*N/2 o la tercera unidad 1224 de codificación que tiene un tamaño de N/2*N/2 dividiendo la segunda unidad 1212 de codificación en una dirección horizontal, o puede determinar la tercera unidad 1214 de codificación que tiene un tamaño de N/2*N/2 dividiendo la segunda unidad 1212 de codificación en direcciones vertical y horizontal.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar la tercera unidad
1204, 1214, o 1224 de codificación dividiendo al menos una de una anchura y altura de la segunda unidad 1222 d codificación que tiene un tamaño de N*N/2. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar la tercera unidad 1204 de codificación que tiene un tamaño de N/2*N/2 o la tercera unidad 1214 de codificación que tiene un tamaño de N/2*N/2 dividiendo la segunda unidad 1222 de codificación en una dirección vertical, o puede determinar la tercera unidad 1224 de codificación que tiene un tamaño de N/2*N/2 dividiendo la segunda unidad 1222 de codificación en direcciones vertical y horizontal.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir la unidad 1200, 1202 o 1204 de codificación cuadrada en dirección horizontal o vertical. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar la primera unidad 1210 de codificación que tiene un tamaño de N*2N dividiendo la primera unidad 1200 de codificación que tiene un tamaño de 2N*2N en una dirección vertical, o puede determinar la primera unidad 1220 de codificación que tiene un tamaño de 2N*N dividiendo la primera unidad 1200 de codificación en una dirección horizontal. De acuerdo con una realización, cuando una profundidad se determina basándose en la longitud del lado más largo de una unidad de codificación, una profundidad de una unidad de codificación determinada dividiendo la primera unidad 1200, 1202 o 1204 de codificación que tiene un tamaño de 2N*2N en una dirección horizontal o vertical puede ser la misma que la profundidad de la primera unidad 1200, 1202 o 1204 de codificación.
De acuerdo con una realización, la anchura y la altura de la tercera unidad 1214 o 1224 de codificación pueden ser
1/2 veces las de la primera unidad 1210 o 1220 de codificación. Cuando una profundidad de la primera unidad 1210 o 1220 de codificación es D, una profundidad de la segunda unidad 1212 o 1222 de codificación, cuya anchura y altura son 1/2 veces las de la primera unidad 1210 o 1220 de codificación, puede ser D+1, y una profundidad de la tercera unidad 1214 o 1224 de codificación, cuya anchura y altura son 1/2 veces las de la primera unidad 1210 o 1220 de codificación, puede ser D+2.
La FIG: 13 ilustra las profundidades que se pueden determinar basándose en las formas y tamaños de las unidades de codificación, y los índices de partes (PID) que sirven para distinguir las unidades de codificación, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar segundas unidades de codificación de forma variada dividiendo una primera unidad 1300 de codificación cuadrada. Con referencia a la FIG. 13, el dispositivo 150 de descodificación de imágenes puede determinar segundas unidades 1302a y 1302b, 1304a y 1304b, y 1306a, 1306b, 1306c y 1306d de codificación dividiendo la primera unidad 1300 de codificación en al menos una de las direcciones vertical y horizontal basándose en la información de forma dividida. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar las segundas unidades 1302a y 1302b, 1304a y 1304b, y 1306a, 1306b, 1306c y 1306d de codificación, basándose en la información de forma dividida de la primera unidad 1300 de codificación.
De acuerdo con una realización, una profundidad de las segundas unidades 1302a y 1302b, 1304a y 1304b, y 1306a, 1306b, 1306c, y 1306d de codificación, que se determinan basándose en la información de forma dividida de la primera unidad 1300 de codificación cuadrada, puede determinarse basándose en la longitud de un lado largo de la misma. Por ejemplo, debido a que la longitud de un lado de la primera unidad 1300 de codificación cuadrada es igual a la longitud de un lado largo de las segundas unidades 1302a y 1302b, y 1304a y 1304b de codificación no cuadradas, la primera unidad 1300 de codificación y las segundas unidades 1302a y 1302b, y 1304a y 1304b de codificación no cuadradas pueden tener la misma profundidad, por ejemplo, D. Sin embargo, cuando el dispositivo 150 de descodificación de imágenes divide la primera unidad 1300 de codificación en las cuatro segundas unidades 1306a, 1306b, 1306c, y 1306d de codificación cuadradas basándose en la información de forma dividida, debido a que la longitud de un lado de las segundas unidades 1306a, 1306b, 1306c, y 1306d de codificación cuadradas es 1/2 veces la longitud de un lado de la primera unidad 1300 de codificación, una profundidad de las segundas unidades 1306a, 1306b, 1306c, y 1306d de codificación puede ser D+1 que es más profunda que la profundidad D de la primera unidad 1300 de codificación en 1.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una pluralidad de segundas unidades 1312a y 1312b, y 1314a, 1314b, y 1314c de codificación dividiendo una primera unidad 1310 de codificación, una altura de la cual es más larga que una anchura, en una dirección horizontal basándose en la información de forma dividida. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una pluralidad de segundas unidades 1322a y 1322b, y 1324a, 1324b y 1324c de codificación dividiendo una primera unidad 1320 de codificación, cuya anchura es mayor que una altura, en una dirección vertical basándose en la información de forma dividida.
De acuerdo con una realización, una profundidad de las segundas unidades 1312a y 1312b, 1314a, 1314b, y 1314c, 1322a y 1322b, y 1324a, 1324b, y 1324c de codificación, que se determinan basándose en la información de forma dividida de la primera unidad 1310 o 1320 de codificación no cuadrada, puede determinarse basándose en la longitud de un lado largo de la misma. Por ejemplo, debido a que la longitud de un lado de las segundas unidades 1312a y 1312b de codificación cuadradas es 1/2 veces la longitud de un lado largo de la primera unidad 1310 de codificación que tiene una forma no cuadrada, una altura de la cual es más larga que una anchura, una profundidad de las segundas unidades 1312a y 1312b de codificación cuadradas es D+1 que es más profunda que la profundidad D de la primera unidad 1310 de codificación no cuadrada por 1.
Además, el dispositivo 150 de descodificación de imágenes puede dividir la primera unidad 1310 de codificación no cuadrada en un número impar de segundas unidades 1314a, 1314b, y 1314c de codificación basándose en la información de forma dividida. El número impar de segundas unidades 1314a, 1314b y 1314c de codificación puede incluir las segundas unidades 1314a y 1314c de codificación no cuadradas y la segunda unidad 1314b de codificación cuadrada. En este caso, dado que la longitud de un lado largo de las segundas unidades 1314a y 1314c de codificación no cuadradas y la longitud de un lado de la segunda unidad 1314b de codificación cuadrada son 1/2 veces la longitud de un lado largo de la primera unidad 1310 de codificación, una profundidad de las segundas unidades 1314a, 1314b y 1314c de codificación puede ser D+1, que es más profunda que la profundidad D de la primera unidad 1310 de codificación no cuadrada en 1. El dispositivo 150 descodificador de imágenes puede determinar las profundidades de las unidades de codificación divididas de la primera unidad 1320 de codificación que tiene una forma no cuadrada, cuya anchura es mayor que la altura, utilizando el procedimiento descrito anteriormente para determinar las profundidades de las unidades de codificación divididas de la primera unidad 1310 de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar PIDs para identificar unidades de codificación divididas, basándose en una relación de tamaño entre las unidades de codificación cuando un número impar de unidades de codificación divididas no tienen tamaños iguales. Con referencia a la FIG.
13, una unidad 1314b de codificación de una ubicación central entre un número impar de unidades 1314a, 1314b y 1314c de codificación divididas puede tener una anchura igual a la de las otras unidades 1314a y 1314c de codificación y una altura que es dos veces la de las otras unidades 1314a y 1314c de codificación. Es decir, en este caso, la unidad 1314b de codificación en la ubicación central puede incluir dos de las otras unidades 1314a o 1314c de codificación. Por lo tanto, cuando un PID de la unidad 1314b de codificación en la ubicación central es 1 basado en un orden de escaneo, un PID de la unidad 1314c de codificación ubicada junto a la unidad 1314b de codificación puede incrementarse en 2 y por lo tanto puede ser 3. Es decir, puede haber discontinuidad en los valores PID. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar si un número impar de unidades de codificación divididas no tienen tamaños iguales, basándose en si hay discontinuidad en los PID para identificar las unidades de codificación divididas.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar si utilizar un procedimiento de división específico, basado en valores PID para identificar una pluralidad de unidades de codificación determinadas por la división de una unidad de codificación actual. Con referencia a la FIG. 13, el dispositivo 150 de descodificación de imágenes puede determinar un número par de unidades 1312a y 1312b de codificación o un número impar de unidades 1314a, 1314b y 1314c de codificación dividiendo la primera unidad 1310 de codificación que tiene una forma rectangular, cuya altura es mayor que la anchura. El dispositivo 150 de descodificación de imágenes puede utilizar PIDs para identificar las respectivas unidades de codificación. De acuerdo con una realización, el PID puede obtenerse a partir de una muestra de una ubicación predeterminada de cada unidad de codificación (por ejemplo, una muestra superior izquierda).
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una unidad de codificación en una ubicación predeterminada de entre las unidades de codificación divididas, utilizando los PID para distinguir las unidades de codificación. De acuerdo con una realización, cuando la información de forma dividida de la primera unidad 1310 de codificación que tiene una forma rectangular, cuya altura es mayor que la anchura, indica dividir una unidad de codificación en tres unidades de codificación, el dispositivo 150 descodificador de imágenes puede dividir la primera unidad 1310 de codificación en tres unidades 1314a, 1314b y 1314c de codificación. El dispositivo 150 de descodificación de imágenes puede asignar un PID a cada una de las tres unidades 1314a, 1314b y 1314c de codificación. El dispositivo 150 de descodificación de imágenes puede comparar los PID de un número impar de unidades de codificación divididas para determinar una unidad de codificación en una ubicación central de entre las unidades de codificación. El dispositivo 150 de descodificación de imágenes puede determinar la unidad 1314b de codificación que tiene un PID correspondiente a un valor medio entre los PID de las unidades de codificación, como la unidad de codificación en la ubicación central de entre las unidades de codificación determinadas al dividir la primera unidad 1310 de codificación. De acuerdo con una realización, el dispositivo 150 descodificador de imágenes puede determinar PIDs para distinguir unidades de codificación divididas, basándose en una relación de tamaño entre las unidades de codificación cuando las unidades de codificación divididas no tienen tamaños iguales. Con referencia a la FIG. 13, la unidad 1314b de codificación generada por división de la primera unidad 1310 de codificación puede tener una anchura igual a la de las otras unidades 1314a y 1314c de codificación y una altura que es dos veces la de las otras unidades 1314a y 1314c de codificación. En este caso, cuando el PID de la unidad 1314b de codificación en la ubicación central es 1, el PID de la unidad 1314c de codificación ubicada junto a la unidad 1314b de codificación puede incrementarse en 2 y por lo tanto puede ser 3. Cuando el PID no se incrementa uniformemente como se ha descrito anteriormente, el dispositivo 150 de descodificación de imágenes puede determinar que una unidad de codificación se divide en una pluralidad de unidades de codificación que incluyen una unidad de codificación que tiene un tamaño diferente al de las otras unidades de codificación. De acuerdo con una realización, cuando la información de forma de división indica dividir una unidad de codificación en un número impar de unidades de codificación, el dispositivo 150 descodificador de imágenes puede dividir una unidad de codificación actual de tal manera que una unidad de codificación de una ubicación predeterminada entre un número impar de unidades de codificación (por ejemplo, una unidad de codificación de una ubicación central) tenga un tamaño diferente al de las otras unidades de codificación. En este caso, el dispositivo 150 de descodificación de imágenes puede determinar la unidad de codificación de la ubicación central, que tiene un tamaño diferente, mediante el uso de PID de las unidades de codificación. Sin embargo, los PID y el tamaño o la ubicación de la unidad de codificación de la ubicación predeterminada no se limitan a los ejemplos descritos anteriormente, y se pueden utilizar diversos PID y diversas ubicaciones y tamaños de unidades de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede utilizar una unidad de datos predeterminada en la que una unidad de codificación comienza a dividirse recursivamente.
La FIG: 14 ilustra que una pluralidad de unidades de codificación se determina basándose en una pluralidad de unidades de datos predeterminadas incluidas en una imagen, de acuerdo con una realización.
De acuerdo con una realización, una unidad de datos predeterminada puede definirse como una unidad de datos en la que una unidad de codificación comienza a dividirse recursivamente utilizando al menos una de las informaciones de forma de bloque y de forma de división. Es decir, la unidad de datos predeterminada puede corresponder a una unidad de codificación de una profundidad superior, que se utiliza para determinar una pluralidad de unidades de codificación divididas de una imagen actual. En las siguientes descripciones, para facilitar la explicación, la unidad de datos predeterminada se denomina unidad de datos de referencia.
De acuerdo con una realización, la unidad de datos de referencia puede tener un tamaño y una forma predeterminados. De acuerdo con una realización, la unidad de datos de referencia puede incluir M*N muestras. En este caso, M y N pueden ser iguales entre sí y pueden ser números enteros expresados como potencias de 2. Es decir, la unidad de datos de referencia puede tener una forma cuadrada o no cuadrada, y puede dividirse en un número entero de unidades de codificación.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir la imagen actual en una pluralidad de unidades de datos de referencia. De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede dividir la pluralidad de unidades de datos de referencia, que se dividen de la imagen actual, utilizando información de división sobre cada unidad de datos de referencia. La operación de división de la unidad de datos de referencia puede corresponder a una operación de división mediante una estructura de árbol cuádruple.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar previamente el tamaño mínimo permitido para las unidades de datos de referencia incluidas en la imagen actual. En consecuencia, el dispositivo 150 de descodificación de imágenes puede determinar diversas unidades de datos de referencia que tengan tamaños iguales o superiores al tamaño mínimo, y puede determinar una o más unidades de codificación utilizando la información de forma de bloque y la información de forma de división con referencia a la unidad de datos de referencia determinada.
Con referencia a la FIG. 14, el dispositivo 150 de descodificación de imágenes puede utilizar una unidad 1400 de codificación de referencia cuadrada o una unidad 1402 de codificación de referencia no cuadrada. De acuerdo con una realización, la forma y el tamaño de las unidades de codificación de referencia pueden determinarse basándose en diversas unidades de datos capaces de incluir una o más unidades de codificación de referencia (por ejemplo, secuencias, imágenes, rodajas, segmentos de cortes, unidades de codificación más grandes, o similares).
De acuerdo con una realización, el receptor 160 del dispositivo 150 de descodificación de imágenes puede obtener, a partir de un flujo de bits, al menos una de las informaciones de forma de unidad de codificación de referencia y de tamaño de unidad de codificación de referencia con respecto a cada una de las diversas unidades de datos. Una operación de división de la unidad 1400 de codificación de referencia cuadrada en una o más unidades de codificación se ha descrito anteriormente en relación con la operación de división de la unidad 1000 de codificación actual de la FIG. 10, y una operación de división de la unidad 1402 de codificación de referencia no cuadrada en una o más unidades de codificación ha sido descrita anteriormente en relación con la operación de división de la unidad 1100 de codificación actual de la FIG. 11. Por lo tanto, no se proporcionarán descripciones detalladas de los mismos en el presente documento.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede utilizar un PID para identificar el tamaño y la forma de las unidades de codificación de referencia, para determinar el tamaño y la forma de las unidades de codificación de referencia de acuerdo con algunas unidades de datos previamente determinadas basándose en una condición predeterminada. Es decir, el receptor 160 puede obtener, a partir del flujo de bits, sólo el PID para identificar el tamaño y la forma de las unidades de codificación de referencia con respecto a cada corte, segmento de corte, o unidad de codificación mayor que es una unidad de datos que satisface una condición predeterminada (por ejemplo, una unidad de datos que tiene un tamaño igual o menor que una rebanada) entre las diversas unidades de datos (por ejemplo, secuencias, imágenes, cortes, segmentos de corte, unidades de codificación mayores, o similares). El dispositivo 150 de descodificación de imágenes puede determinar el tamaño y la forma de las unidades de datos de referencia con respecto a cada unidad de datos, que satisface la condición predeterminada, utilizando el PID. Cuando la información sobre la forma de la unidad de codificación de referencia y la información sobre el tamaño de la unidad de codificación de referencia se obtienen y utilizan a partir del flujo de bits de acuerdo con cada unidad de datos que tiene un tamaño relativamente pequeño, la eficiencia de uso del flujo de bits puede no ser alta y, por lo tanto, sólo se puede obtener y utilizar el PID en lugar de obtener directamente la información sobre la forma de la unidad de codificación de referencia y la información sobre el tamaño de la unidad de codificación de referencia. En este caso, al menos uno de los tamaños y formas de las unidades de codificación de referencia correspondientes al PID para identificar el tamaño y la forma de las unidades de codificación de referencia puede determinarse previamente. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar al menos uno de los tamaños y formas de las unidades de codificación de referencia incluidas en una unidad de datos que sirve como unidad para obtener el PID, seleccionando el previamente determinado al menos uno de los tamaños y formas de las unidades de codificación de referencia basándose en el PID.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede utilizar una o más unidades de codificación de referencia incluidas en una unidad de codificación mayor. Es decir, una unidad de codificación más grande dividida de una imagen puede incluir una o más unidades de codificación de referencia, y las unidades de codificación pueden determinarse dividiendo recursivamente cada unidad de codificación de referencia. De acuerdo con una realización, al menos una de las anchuras y alturas de la unidad de codificación mayor puede ser un número entero de veces al menos una de las anchuras y alturas de las unidades de codificación de referencia. De acuerdo con una realización, el tamaño de las unidades de codificación de referencia puede obtenerse dividiendo la unidad de codificación más grande n veces basándose en una estructura de árbol cuádruple. Es decir, el dispositivo 150 de descodificación de imágenes puede determinar las unidades de codificación de referencia dividiendo la unidad de codificación más grande n veces basándose en una estructura de árbol cuádruple, y puede dividir la unidad de codificación de referencia basándose en al menos una de la información de forma de bloque y la información de forma dividida de acuerdo con diversas realizaciones.
La FIG: 15 ilustra un bloque de procesamiento que sirve como unidad para determinar un orden de determinación de unidades de codificación de referencia incluidas en una imagen 1500, de acuerdo con una realización.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar uno o más bloques de procesamiento divididos de una imagen. El bloque de procesamiento es una unidad de datos que incluye una o más unidades de codificación de referencia divididas a partir de una imagen, y las una o más unidades de codificación de referencia incluidas en el bloque de procesamiento pueden determinarse de acuerdo con un orden específico. Es decir, un orden de determinación de una o más unidades de codificación de referencia determinado en cada bloque de procesamiento puede corresponder a uno de diversos tipos de órdenes para determinar unidades de codificación de referencia, y puede variar dependiendo del bloque de procesamiento. El orden de determinación de las unidades de codificación de referencia, que se determina con respecto a cada bloque de procesamiento, puede ser uno de diversos órdenes, por ejemplo, escaneo de trama, escaneo Z, escaneo N, escaneo diagonal hacia arribaderecha, escaneo horizontal y escaneo vertical, pero no se limita a los órdenes de escaneo antes mencionados.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede obtener información de tamaño de bloque de procesamiento y puede determinar el tamaño de uno o más bloques de procesamiento incluidos en la imagen. El dispositivo 150 de descodificación de imágenes puede obtener la información sobre el tamaño del bloque de procesamiento a partir de un flujo de bits y puede determinar el tamaño de uno o más bloques de procesamiento incluidos en la imagen. El tamaño de los bloques de procesamiento puede ser un tamaño predeterminado de unidades de datos, que se indica mediante la información sobre el tamaño de los bloques de procesamiento.
De acuerdo con una realización, el receptor 160 del dispositivo 150 descodificador de imágenes puede obtener la información de tamaño de bloque de procesamiento del flujo de bits de acuerdo con cada unidad de datos específica. Por ejemplo, la información sobre el tamaño del bloque de procesamiento puede obtenerse del flujo de bits en una unidad de datos tal como una imagen, secuencia, imagen, corte o segmento de corte. Es decir, el receptor 160 puede obtener la información de tamaño de bloque de procesamiento del flujo de bits de acuerdo con cada una de las diversas unidades de datos, y el dispositivo 150 de descodificación de imágenes puede determinar el tamaño de uno o más bloques de procesamiento, que se dividen de la imagen, utilizando la información de tamaño de bloque de procesamiento obtenida. El tamaño de los bloques de procesamiento puede ser entero veces el de las unidades de codificación de referencia.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar el tamaño de los bloques 1502 y 1512 de procesamiento incluidos en la imagen 1500. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar el tamaño de los bloques de procesamiento basándose en la información sobre el tamaño de los bloques de procesamiento obtenida del flujo de bits. Con referencia a la FIG. 15, de acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una anchura de los bloques 1502 y 1512 de procesamiento que sea cuatro veces la anchura de las unidades de codificación de referencia, y puede determinar una altura de los bloques 1502 y 1512 de procesamiento que sea cuatro veces la altura de las unidades de codificación de referencia. El dispositivo 150 de descodificación de imágenes puede determinar un orden de determinación de una o más unidades de codificación de referencia en uno o más bloques de procesamiento.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar los bloques 1502 y 1512 de procesamiento, que están incluidos en la imagen 1500, basándose en el tamaño de los bloques de procesamiento, y puede determinar un orden de determinación de una o más unidades de codificación de referencia en los bloques 1502 y 1512 de procesamiento. De acuerdo con una realización, la determinación de las unidades de codificación de referencia puede incluir la determinación del tamaño de las unidades de codificación de referencia.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede obtener, a partir del flujo de bits, información de orden de determinación de una o más unidades de codificación de referencia incluidas en uno o más bloques de procesamiento, y puede determinar un orden de determinación con respecto a una o más unidades de codificación de referencia basándose en la información de orden de determinación obtenida. La información de orden de determinación puede definirse como un orden o dirección para determinar las unidades de codificación de referencia en el bloque de procesamiento. Es decir, el orden de determinación de las unidades de codificación de referencia puede determinarse independientemente con respecto a cada bloque de procesamiento.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede obtener, a partir del flujo de bits, la información de orden de determinación de las unidades de codificación de referencia de acuerdo con cada unidad de datos específica. Por ejemplo, el receptor 160 puede obtener la información de orden de determinación de las unidades de codificación de referencia a partir del flujo de bits de acuerdo con cada unidad de datos, tal como una imagen, secuencia, imagen, corte, segmento de corte o bloque de procesamiento. Dado que la información del orden de determinación de las unidades de codificación de referencia indica un orden para determinar las unidades de codificación de referencia en un bloque de procesamiento, la información del orden de determinación puede obtenerse con respecto a cada unidad de datos específica que incluya un número entero de bloques de procesamiento.
De acuerdo con una realización, el dispositivo 150 de descodificación de imágenes puede determinar una o más unidades de codificación de referencia basándose en el orden de determinación determinado.
De acuerdo con una realización, el receptor 160 puede obtener la información de orden de determinación de unidades de codificación de referencia del flujo de bits como información relacionada con los bloques 1502 y 1512 de procesamiento, y el dispositivo 150 de descodificación de imágenes puede determinar un orden de determinación de una o más unidades de codificación de referencia incluidas en los bloques 1502 y 1512 de procesamiento y determinar una o más unidades de codificación de referencia, que se incluyen en la imagen 1500, basándose en el orden de determinación. Con referencia a la FIG. 15, el dispositivo 150 de descodificación de imágenes puede determinar órdenes 1504 y 1514 de determinación de una o más unidades de codificación de referencia en los bloques 1502 y 1512 de procesamiento, respectivamente. Por ejemplo, cuando la información de orden de determinación de unidades de codificación de referencia se obtiene con respecto a cada bloque de procesamiento, pueden obtenerse diferentes tipos de información de orden de determinación de unidades de codificación de referencia para los bloques 1502 y 1512 de procesamiento. Cuando el orden 1504 de determinación de las unidades de codificación de referencia en el bloque 1502 de procesamiento es un orden de barrido de trama, las unidades de codificación de referencia incluidas en el bloque 1502 de procesamiento pueden determinarse de acuerdo con un orden de barrido de trama. Por el contrario, cuando el orden 1514 de determinación de las unidades de codificación de referencia en el otro bloque 1512 de procesamiento es un orden de barrido de trama hacia atrás, las unidades de codificación de referencia incluidas en el bloque 1512 de procesamiento pueden determinarse de acuerdo con el orden de barrido de trama hacia atrás. En las FIG<s>. 1 a 15, se describe un procedimiento de división de una imagen en unidades de codificación más grandes y de división de la unidad de codificación más grande en unidades de codificación que tienen una estructura jerárquica de árbol. En las FIGS. 16 a 25, se describirá en qué orden de codificación deben codificarse o descodificarse las unidades de codificación determinadas mediante la división de una unidad de codificación.
La FIG: 16 ilustra un dispositivo 1600 de descodificación de vídeo en relación con la división de un bloque actual y la determinación de un orden de codificación de los bloques inferiores divididos, de acuerdo con una realización.
El dispositivo 1600 de descodificación de vídeo incluye un divisor 1610 de bloques, un determinador 1620 de orden de descodificación y un descodificador 1630. En la FIG. 16, aunque el divisor 1610 de bloques, el determinador 1620 de orden de descodificación, y el descodificador 1630 se ilustran como unidades constituyentes separadas, el divisor 1610 de bloques, el determinador 1620 de orden de descodificación, y el descodificador 1630 pueden combinarse para implementarse como una unidad constituyente, de acuerdo con una realización.
En la Figura 16, aunque el divisor 1610 de bloques, el determinador 1620 de orden de descodificación, y el descodificador 1630 se ilustran como incluidos en un dispositivo, los dispositivos que realizan las funciones respectivas del divisor 1610 de bloques, el determinador 1620 de orden de descodificación, y el descodificador 1630 pueden no ser necesariamente físicamente adyacentes entre sí. En consecuencia, el divisor 1610 de bloques, el determinador 1620 de orden de descodificación y el descodificador 1630 pueden estar distribuidos, de acuerdo con una realización.
El divisor 1610 de bloques, el determinador 1620 de orden de descodificación, y el descodificador 1630 pueden ser implementados por un procesador, de acuerdo con una realización. Además, el divisor 1610 de bloques, el determinador 1620 de orden de descodificación y el descodificador 1630 pueden ser implementados por una pluralidad de procesadores, de acuerdo con una realización.
Funciones realizadas por el divisor 1610 de bloques, el determinador 1620 de orden de descodificación, y el descodificador 1630 de la FIG. 16 pueden realizarse por el descodificador 170 de la FIG. 2.
El divisor 1610 de bloques puede obtener información de división indicando si dividir un bloque actual. La información de división indica si se divide el bloque actual en dos o más bloques más pequeños. Cuando la información de división indica dividir el bloque actual, el divisor 1610 de bloques divide el bloque actual en dos o más bloques inferiores.
El bloque actual puede dividirse en diversas formas de acuerdo con su forma. Por ejemplo, cuando el bloque actual es cuadrado, el bloque actual puede dividirse en cuatro bloques inferiores con forma cuadrada de acuerdo con la información de división.
Cuando se permiten dos o más procedimientos de división para la forma del bloque actual, el divisor 1610 de bloques puede seleccionar un procedimiento de división de acuerdo con la información de la forma de división. Por lo tanto, cuando la información de división indica dividir el bloque actual, el divisor 1610 de bloques puede obtener información de forma de división que indique un procedimiento de división del bloque actual. Además, el divisor 1610 de bloques puede dividir el bloque actual de acuerdo con el procedimiento de división indicado por la información de forma de división. Por ejemplo, cuando el bloque actual tiene una forma cuadrada con un tamaño de 2N*2N, la información de forma de división puede indicar un procedimiento de división aplicado al bloque actual de entre una división cuádruple, una división binaria vertical, una división binaria horizontal, una división triple vertical y una división triple horizontal. La división cuádruple es un procedimiento para dividir el bloque actual en cuatro bloques de tamaño NxN. La división binaria vertical es un procedimiento para dividir el bloque actual en bloques de tamaño 2NxN. La división binaria horizontal es un procedimiento para dividir el bloque actual en bloques de tamaño Nx2N. La división horizontal tri significa un procedimiento de división de un bloque que tiene un tamaño de 2Nx2N en tres bloques que tienen la misma anchura y una relación de altura de 1:2:1. La división en tres vertical significa un procedimiento de división de un bloque que tiene un tamaño de 2Nx2N en tres bloques que tienen la misma altura y una relación de anchura de 1:2:1. Además, el bloque actual puede dividirse mediante uno de los diversos procedimientos de división horizontal o vertical.
Cuando el bloque actual es un rectángulo que tiene un tamaño de 2N*N, que es alargado en una dirección vertical, la información de forma de división puede indicar un procedimiento de división aplicado al bloque actual de entre la división cuádruple y la división triple horizontal. La división cuádruple es un procedimiento para dividir el bloque actual en dos bloques de tamaño NxN. La división horizontal tri significa un procedimiento de división de un bloque que tiene un tamaño de 2NxN en tres bloques que tienen la misma anchura y una relación de altura de 1:2:1. Además, el bloque actual puede dividirse mediante uno de los diversos procedimientos de división horizontal o vertical.
Cuando el bloque actual es un rectángulo que tiene un tamaño de N*2N, que es alargado en una dirección horizontal, la información de forma de división puede indicar un procedimiento de división aplicado al bloque actual de entre la división cuádruple y la división triple vertical. La división cuádruple es un procedimiento para dividir el bloque actual en dos bloques de tamaño NxN. La división en tres vertical significa un procedimiento de división de un bloque que tiene un tamaño de Nx2N en tres bloques que tienen la misma altura y una relación de anchura de 1:2:1. Además, el bloque actual puede dividirse mediante uno de los diversos procedimientos de división horizontal o vertical.
Además de los procedimientos de división anteriores, un procedimiento de división del bloque actual en una proporción asimétrica, un procedimiento de división del bloque actual en una forma triangular, y un procedimiento de división del bloque actual en otras formas geométricas pueden utilizarse para dividir el bloque actual en tamaños cuadrados y rectangulares.
De acuerdo con una realización, la información de división puede indicar una forma de división del bloque actual. Por ejemplo, la información de división puede indicar una división binaria vertical, una división binaria horizontal, una división triple vertical, una división triple horizontal y ninguna división. Cuando la información de división indica que no hay división, el bloque actual no se divide. Por lo tanto, el divisor 1610 de bloques puede analizar la información de división para determinar si el bloque actual está dividido y determinar una forma de división del bloque actual. En la FIG. 33, se describirán diversas realizaciones en las que la información de división indica si el bloque actual está dividido y una forma de división del bloque actual.
El determinador 1620 de orden de descodificación puede obtener información de orden de codificación indicando un orden de codificación de bloques inferiores. La información de orden de codificación indica un orden de codificación de dos o más bloques inferiores incluidos en el bloque actual. Una cantidad de datos de la información de orden de codificación se determina de acuerdo con el número de bloques inferiores y un procedimiento de determinación del orden de codificación.
Por ejemplo, cuando hay dos bloques inferiores, la información de orden de codificación puede determinarse para indicar un bloque inferior que se codifica primero de entre los dos bloques inferiores. Por lo tanto, la información de orden de codificación puede tener la forma de un indicador con una cantidad de datos de 1 bit.
El determinador 1620 de orden de descodificación puede determinar si obtener información de orden de codificación de acuerdo con un tipo de corte que incluya el bloque actual. Cuando la porción es una porción P o una porción B, el determinador 1620 de orden de descodificación puede obtener, a partir del flujo de bits, información sobre el orden de codificación del bloque actual. Cuando el corte es un corte I, el determinador 1620 de orden de descodificación puede obtener, a partir del flujo de bits, la información del orden de codificación sobre el bloque actual sólo cuando el bloque actual es un bloque luma.
El determinador 1620 de orden de descodificación puede determinar si obtener la información del orden de codificación de acuerdo con un tamaño del bloque actual. La información de orden de codificación se predetermina de acuerdo con un valor mínimo y un valor máximo de un tamaño de bloque que se obtiene. Cuando un valor menor entre una altura y una anchura del bloque actual es mayor o igual que el valor mínimo del tamaño del bloque y un valor mayor entre la altura y la anchura del bloque actual es menor o igual que el valor máximo del tamaño del bloque, el determinador 1620 de orden de descodificación puede obtener, a partir del flujo de bits, la información del orden de codificación del bloque actual.
El determinador 1620 de orden de descodificación puede determinar si obtener la información del orden de codificación de acuerdo con una forma de división del bloque actual. Cuando el bloque actual está dividido en cuatro partes, dividido verticalmente en binario o dividido verticalmente en tres partes, el determinador 1620 de orden de descodificación puede obtener la información del orden de codificación del bloque actual a partir del flujo de bits. Sin embargo, cuando el bloque actual está dividido horizontalmente en binario o verticalmente en tri, no se obtiene la información del orden de codificación.
El determinador 1620 de orden de descodificación puede determinar si obtener la información del orden de codificación de acuerdo con una forma del bloque actual. Por ejemplo, cuando la anchura del bloque actual es mayor que el tamaño del bloque actual, el determinador 1620 de orden de descodificación puede obtener la información del orden de codificación del bloque actual a partir del flujo de bits. De acuerdo con una realización, incluso cuando la anchura del bloque actual es la misma que el tamaño del bloque actual, se puede obtener la información de orden de codificación.
La información de orden de codificación indica un orden de codificación de bloques inferiores en términos de codificación. En términos de descodificación, se determina que un orden de descodificación y un orden de codificación son iguales y, por lo tanto, el orden de codificación y el orden de descodificación pueden utilizarse indistintamente. Por lo tanto, en la presente memoria descriptiva, el orden de codificación y el orden de descodificación se interpretan como sustancialmente el mismo.
Sin embargo, cuando hay cuatro bloques inferiores, el número de casos en el orden de codificación de los bloques inferiores es 4!=24. Por lo tanto, para indicar 24 órdenes de codificación, se necesita una cantidad de datos de 5 bits. Es decir, a medida que aumenta el número de bloques inferiores, aumenta el número de casos en el orden de codificación. Por lo tanto, para reducir la cantidad de datos de la información del orden de codificación, se puede utilizar un procedimiento de determinación del orden de codificación que determina el orden de codificación determinando si un orden de codificación de algunos pares de bloques inferiores se intercambia en un orden de codificación básico predeterminado. La información sobre el orden de codificación que indica si se intercambia el orden de codificación de los pares de bloques inferiores indica si el orden de codificación es en sentido directo o inverso con respecto a un orden de codificación básico.
Una imagen actual en la que se incluye el bloque actual se codifica y descodifica de acuerdo con el orden de codificación básico. Todos los bloques y píxeles codificados y descodificados en la imagen actual se codifican y descodifican de acuerdo con el orden de codificación básico en el mismo nivel. Por lo tanto, los bloques inferiores del mismo nivel divididos a partir del bloque actual también se codifican y descodifican de acuerdo con el orden de codificación básico. Una forma de realización de la orden de codificación básica se ilustra en las FIGS. 18A a 18C, que se describirán más adelante.
Por lo tanto, cuando un par de bloques inferior se codifica de acuerdo con el orden de codificación básico, el par de bloques inferior se codifica en dirección de avance. A la inversa, cuando un par de bloques inferior se codifica en un orden inverso al orden de codificación básico, el par de bloques inferior se codifica en sentido inverso.
Por ejemplo, cuando dos bloques inferiores son horizontalmente adyacentes entre sí y se codifican en una dirección de avance, la información de orden de codificación puede determinarse de tal manera que un bloque de nivel inferior derecho se descodifique primero. A la inversa, cuando dos bloques inferiores adyacentes horizontalmente se codifican en sentido inverso, la información de orden de codificación puede determinarse de forma que primero se descodifique un bloque de nivel inferior derecho.
Del mismo modo, cuando dos bloques inferiores son verticalmente adyacentes entre sí y se codifican en una dirección hacia adelante, la información de orden de codificación puede determinarse de tal manera que un bloque inferior superior se descodifica primero. A la inversa, cuando dos bloques inferiores verticalmente adyacentes se codifican en sentido inverso, la información sobre el orden de codificación puede determinarse de modo que primero se descodifique un bloque inferior.
Cuando la información de orden de codificación indica sólo el orden de codificación de los pares de bloques inferiores, la información de orden de codificación tiene una cantidad de datos de 1 bit. La información de orden de codificación que tiene una cantidad de datos de 1 bit puede definirse como un indicador de orden de codificación.
El determinador 1620 de orden de descodificación puede obtener información del orden de codificación a partir del flujo de bits. La información de orden de codificación puede situarse después de la información de división en el flujo de bits.
El determinador 1620 de orden de descodificación puede determinar implícitamente la información de orden de codificación de acuerdo con un entorno circundante del bloque actual. La información sobre el orden de codificación puede determinarse de acuerdo con si se codifican bloques adyacentes al bloque actual. Por ejemplo, el determinador 1620 de orden de descodificación puede determinar que se descodifique primero un bloque inferior que tenga un gran número de bloques adyacentes que se descodifiquen primero de entre los bloques inferiores.
Con respecto al determinador 1620 de orden de descodificación, se describe un orden de codificación básico de acuerdo con una realización con referencia a las FIGS. 17A a 17C. El orden básico de codificación de las FIGS. 17A a 17C es una orden Z de codificación. De acuerdo con el orden Z de codificación, cuando las unidades de datos se codifican de izquierda a derecha y todas las unidades de datos de una fila actual están codificadas, las unidades de datos incluidas en una fila por debajo de la fila actual se codifican de izquierda a derecha. El orden Z de codificación descrito anteriormente se denomina orden de escaneado de trama.
La FIG: 17A ilustra los órdenes de codificación de las unidades de codificación más grandes incluidas en una imagen 1700 actual de acuerdo con el orden Z de codificación. Los índices de 0 a 15 se establecen en las unidades de codificación más grandes de acuerdo con el orden Z de codificación. Las unidades de codificación más grandes de una primera fila, en la que se establecen los índices de 0 a 3 de acuerdo con el orden Z de codificación, se codifican primero, y las unidades de codificación más grandes de una segunda fila, en la que se establecen los índices de 4 a 7, se codifican de izquierda a derecha. Las unidades de codificación más grandes también se codifican internamente de acuerdo con el orden Z de codificación.
La FIG: 17B ilustra un orden de codificación de una unidad 1710 de codificación más grande que tiene un índice de 6 de entre las unidades de codificación más grandes incluidas en la imagen 1700 actual. Los índices de 0 a 15 se fijan en unidades de codificación con una profundidad final, que se dividen completamente de acuerdo con el orden Z de codificación. El orden Z de codificación se aplica a las unidades de datos que tienen la misma profundidad. Además, una unidad de codificación posterior que tenga una profundidad de n no se codifica hasta que todas las unidades de codificación inferiores de una unidad de codificación que tenga la profundidad de n estén codificadas. Por ejemplo, una unidad de codificación con un índice de 15 no se codifica hasta que todas las unidades de codificación con índices de 5 a 14 están codificadas. Las unidades de codificación también se codifican internamente de acuerdo con el orden Z de codificación.
La FIG: 17C ilustra una muestra de referencia referenciada por una unidad 1724 de codificación que tiene un índice de 6 de entre las unidades de codificación incluidas en la unidad 1710 de codificación más grande. Sólo una unidad 1712 de codificación que tiene un índice de 0 y una unidad 1722 de codificación que tiene un índice de 5 se reconstruyen alrededor de la unidad 1724 de codificación que tiene el índice de 6 que se codifica actualmente. Por lo tanto, para la unidad 1724 de codificación, sólo un píxel 1750 de la unidad 1712 de codificación y un píxel 1760 de la unidad 1722 de codificación pueden utilizarse como muestras de referencia.
El orden Z de codificación de las FIGS. 17A a 17C pueden aplicarse en distintas direcciones con base en las unidades de datos. Por ejemplo, el orden Z de codificación puede cambiarse para codificar unidades de datos en la misma fila de derecha a izquierda. Además, el orden Z de codificación puede cambiarse de forma que se codifiquen todas las unidades de datos de la fila actual y, a continuación, se codifiquen las unidades de datos incluidas en una fila superior a la fila actual. El orden Z de codificación puede cambiarse de forma que las unidades de datos de la misma columna se codifiquen de arriba a abajo, se codifiquen todas las unidades de datos de la columna actual y, a continuación, se codifiquen las unidades de datos de una columna situada a la derecha de la columna actual.
Con respecto al determinador 1620 de orden de descodificación, las FIGS. 18A y 18B ilustran un caso 1800 en el que una unidad 1810 de codificación se codifica en dirección de avance y un caso 1802 en el que una unidad 1820 de codificación se codifica en dirección inversa, respectivamente. Ventajas obtenidas al cambiar el orden de codificación de acuerdo con las FIGS. 18A y 18B.
Las unidades 1810 y 1820 de codificación de las FIGS. 18A y 18B se predicen de acuerdo con un modo intra utilizando muestras vecinas en una dirección superior derecha. Una línea 1830 continua de las FIGS. 18A y 18B son píxeles que tienen un valor predeterminado dispuestos en línea recta en una imagen original. Por lo tanto, cuando la unidad de codificación actual se predice en una dirección de la línea 1830 continua, se puede mejorar la precisión de predicción de las unidades 1810 y 1820 de codificación.
En el caso 1800 en el que la unidad 1810 de codificación se codifica en una dirección de avance, una unidad de codificación izquierda, una unidad de codificación superior y una unidad de codificación superior derecha de la unidad 1810 de codificación actual se reconstruyen antes de la unidad 1810 de codificación actual. En consecuencia, la unidad 1810 de codificación actual se refiere a píxeles o información de codificación de la unidad de codificación izquierda, la unidad de codificación superior y la unidad de codificación superior derecha. Por ejemplo, los píxeles 1816 situados en una esquina inferior de la unidad de codificación superior derecha se utilizan para la predicción de la unidad 1810 de codificación actual. Debido a que los píxeles 1816 pueden estar espacialmente separados de la unidad 1810 de codificación actual, la precisión de predicción de una porción 1814 de la unidad 1810 de codificación actual puede ser baja.
Sin embargo, debido a que una unidad de codificación derecha, la unidad de codificación superior y una unidad de codificación superior izquierda de la unidad 1810 de codificación actual se reconstruyen antes de la unidad 1820 de codificación actual en el caso 1802 en el que la unidad 1820 de codificación actual se codifica en una dirección inversa, los píxeles 1826 situados en una esquina izquierda de la unidad de codificación derecha pueden usarse para la predicción de la unidad 1820 de codificación actual en la predicción intra. Debido a que los píxeles 1826 son adyacentes a la unidad 1820 de codificación actual, la precisión de predicción de una porción 1824 de la unidad 1820 de codificación actual puede mejorarse en comparación con la precisión de predicción de la porción 1814 de la unidad 1810 de codificación actual.
Como en la realización de predicción intra descrita con referencia a las FIGS. 18A y 18B, hay muchos casos que pueden mejorar la precisión de la predicción obteniendo información de codificación de un bloque situado en sentido inverso con respecto a la predicción inter. Cuando la unidad de codificación actual y la unidad de codificación derecha de la unidad de codificación actual son unidades de codificación para el mismo objeto, la información de movimiento de la unidad de codificación actual puede ser similar a la de la unidad de codificación derecha. Por consiguiente, al derivar la información de movimiento de la unidad de codificación actual de la información de movimiento de la unidad de codificación derecha, se puede aumentar la eficacia de la codificación.
La información de orden de codificación puede establecerse para que sea la misma que la información de orden de codificación aplicada a un bloque superior de un bloque actual. Por ejemplo, cuando el bloque actual es un bloque para predicción o un bloque para transformación, el determinador 1620 de orden de descodificación puede aplicar, al bloque actual, información de orden de codificación aplicada a una unidad de codificación que incluye el bloque actual.
Como otro ejemplo, cuando el bloque actual es una unidad de codificación, el determinador 1620 de orden de descodificación puede aplicar, al bloque actual, información de orden de codificación aplicada a una unidad de codificación de una profundidad mayor que la del bloque actual.
Cuando se requieren dos o más indicadores de orden de codificación para el bloque actual, el determinador 1620 de orden de descodificación puede obtener sólo un indicador de orden de codificación del flujo de bits y determinar los indicadores de orden de codificación restantes como un valor predeterminado basado en el indicador de orden de codificación obtenida del flujo de bits.
Con respecto a la determinación de un orden de codificación por el determinador 1620 de orden de descodificación, la FIG. 19 ilustra una estructura de árbol de una unidad de codificación mayor para describir un orden de codificación de la unidad de codificación mayor y las unidades de codificación incluidas en la unidad de codificación mayor.
Una unidad 1950de codificación mayor, se divide en una pluralidad de unidades 1956, 1958, 1960, 1962, 1968, 1970, 1972, 1974, 1980, 1982, 1984 y 1986 de codificación. La unidad 1950 de codificación más grande corresponde a un nodo 1900 superior que tiene una estructura de árbol. La pluralidad de unidades 1956, 1958, 1960, 1962, 1968, 1970, 1972, 1974, 1980, 1982, 1984 y 1986 de codificación corresponden a una pluralidad de nodos 1906, 1908, 1910, 1912, 1918, 1920, 1922, 1924, 1930, 1932, 1934 y 1936, respectivamente. En una estructura de árbol, los indicadores 1902, 1914 y 1926 de orden de codificación superior que indican un orden de codificación corresponden a las flechas 1952, 1964 y 1976, y los indicadores 1904, 1916 y 1928 de orden de codificación superior corresponden a las flechas 1954, 1966 y 1978.
El indicador de orden de codificación superior indica un orden de codificación de dos unidades de codificación situadas en la parte superior de entre cuatro unidades de codificación divididas a partir de una unidad de codificación. Cuando el indicador de orden de codificación superior es 0, la codificación se realiza en dirección de avance. Por el contrario, cuando el indicador de orden de codificación superior es 1, la codificación se realiza en sentido inverso.
Igualmente, un indicador de orden de codificación inferior indica un orden de codificación de dos unidades de codificación situadas en la parte inferior de entre las cuatro unidades de codificación divididas de una unidad de codificación. Cuando el indicador de orden de codificación inferior es 0, la codificación se realiza en dirección de avance. Por el contrario, cuando el indicador de orden de codificación inferior es 1, la codificación se realiza en sentido inverso.
Por ejemplo, debido a que el indicador 1914 de orden de codificación superior es 0, un orden de codificación entre las unidades 1968 y 1970 de codificación se determina de izquierda a derecha, que es una dirección hacia adelante.
Debido a que el indicador 1916 de orden de codificación inferior es 1, se determina un orden de codificación entre las unidades 1972 y 1974 de codificación de derecha a izquierda, que es una dirección inversa.
De acuerdo con una realización, el indicador de orden de codificación superior y el indicador de orden de codificación inferior pueden establecerse para tener el mismo valor. Por ejemplo, cuando el indicador 1902 de orden de codificación superior se determina como 1, el indicador 1904 de orden de codificación inferior correspondiente a el indicador 1902 de orden de codificación superior también puede determinarse como 1. Debido a que los valores del indicador de orden de codificación superior y el indicador de orden de codificación inferior se determinan como 1 bit, se reduce una cantidad de información de la información de orden de codificación.
De acuerdo con una realización, el indicador de orden de codificación superior y el indicador de orden de codificación inferior de la unidad de codificación actual pueden determinarse con referencia a al menos uno de un indicador de orden de codificación superior y un indicador de orden de codificación inferior aplicados a una unidad de codificación mayor que la unidad de codificación actual. Por ejemplo, un indicador 1926 de orden de codificación superior y un indicador 1928 de orden de codificación inferior aplicados a las unidades 1980, 1982, 1984 y 1986 de codificación pueden determinarse basándose en un indicador 1916 de orden de codificación inferior aplicado a las unidades 1972 y 1974 de codificación. En consecuencia, se puede determinar que el indicador 1926 de orden de codificación superior y el indicador 1928 de orden de codificación inferior tienen el mismo valor que el indicador 1916 de orden de codificación inferior. Dado que los valores del indicador de orden de codificación superior y el indicador de orden de codificación inferior se determinan a partir de una unidad de codificación superior de la unidad de codificación actual, la información de orden de codificación no se obtiene del flujo de bits. Por lo tanto, se reduce la cantidad de información de la orden de codificación.
De acuerdo con una realización, puede determinarse si un indicador de orden de codificación de un bloque se obtiene de acuerdo con una profundidad o de un tamaño del bloque. Por ejemplo, un indicador de orden de codificación puede obtenerse sólo para bloques que tengan un tamaño predeterminado, y un indicador de orden de codificación puede no obtenerse para bloques que tengan otros tamaños. Cuando el bloque actual es mayor que el bloque que tiene el tamaño predeterminado, el orden de codificación puede determinarse en una dirección de avance sin obtener el indicador de orden de codificación. Cuando el bloque actual es más pequeño que el bloque que tiene el tamaño predeterminado, el orden de codificación puede determinarse de acuerdo con un bloque superior del bloque actual sin obtener el indicador de orden de codificación. El tamaño del bloque del que se obtiene el indicador de orden de codificación puede determinarse arbitrariamente. Por ejemplo, el tamaño del bloque del que se obtiene el indicador de orden de codificación puede determinarse como 16x16 y 32x32.
Con respecto a la determinación de un orden de codificación por el determinador 1620 de orden de descodificación, la FIG. 20 ilustra cómo se determina un orden de codificación de dos o más bloques divididos de acuerdo con un indicador de orden de codificación. Un bloque 2000 superior situado en la parte superior en la FIG. 20 es rectangular. Se puede determinar si se obtiene un indicador de orden de codificación del bloque 2000 superior de acuerdo con una altura y una anchura del bloque 2000 superior.
Por ejemplo, cuando un valor mayor de un valor de altura y un valor de anchura del bloque 2000 superior es menor que un valor de tamaño máximo de orden de codificación de unidad dividida (SUCO), puede obtenerse el indicador de orden de codificación del bloque 2000 superior. Además, cuando un valor menor del valor de altura y del valor de anchura del bloque 2000 superior es mayor que un valor mínimo de tamaño SUCO, se puede obtener el indicador de orden de codificación del bloque 2000 superior. Cuando se cumplen las dos condiciones anteriores, se puede obtener el indicador de orden de codificación del bloque 2000 superior.
Una primera realización 2010 de la FIG. 20 ilustra un procedimiento para determinar un orden de codificación de dos bloques que se generan dividiéndose verticalmente. Cuando se determina que el orden de codificación de los bloques 2011 y 2012 izquierdo y derecho es hacia adelante, el bloque 2011 izquierdo se codifica antes que el bloque 2012 derecho. Por el contrario, cuando se determina que el orden de codificación de los bloques 2011 y 2012 izquierdo y derecho es inverso, el bloque 2012 derecho se codifica antes que el bloque 2011 izquierdo.
Una segunda realización 2020 de la FIG. 20 ilustra un procedimiento para determinar un orden de codificación de tres bloques generados por división vertical. Cuando se determina que un orden de codificación de los bloques 2021,2022 y 2023 izquierdo, central y derecho es hacia adelante, el bloque 2021 izquierdo, el bloque 2022 central y el bloque 2023 derecho se codifican en orden. A la inversa, cuando se determina que el orden de codificación de los bloques 2021,2022 y 2023 izquierdo, central y derecho es inverso, el bloque 2023 derecho, el bloque 2022 central y el bloque 2021 izquierdo se codifican en orden.
En una tercera realización 2030 y una cuarta realización 2040 de la FIG. 20, se ilustran dos bloques generados por división horizontal y tres bloques generados por división horizontal, respectivamente. En la tercera y cuarta realizaciones 2030 y 2040 en las que el bloque se divide horizontalmente, el orden de codificación siempre se determina hacia adelante.
Una quinta realización 2050 de la FIG. 20 ilustra un procedimiento para determinar un orden de codificación de cuatro bloques generados por división vertical y horizontal. De acuerdo con la quinta realización 2050, cuando se determina que un orden de codificación de los bloques 2051, 2052, 2053 y 2054 superior izquierdo, superior derecho, inferior derecho e inferior derecho es hacia adelante, el bloque 2051 superior izquierdo, el bloque 2052 superior derecho, el bloque 2053 inferior izquierdo y el bloque 2054 inferior derecho se codifican en orden. Por el contrario, cuando se determina que el orden de codificación de los bloques 2051, 2052, 2053 y 2054 superior izquierdo, superior derecho, inferior derecho e inferior derecho es inverso, el bloque 2052 superior derecho, el bloque 2051 superior izquierdo, el bloque 2054 inferior derecho y el bloque 2053 inferior izquierdo se codifican en orden. En la quinta realización 2050, los órdenes de codificación de los bloques 2051 y 2052 superiores y de los bloques 2053 y 2054 inferiores se muestran iguales, pero pueden establecerse de forma diferente.
La FIG: 21 ilustra un procedimiento en el que un orden de codificación de bloques inferiores se determina de acuerdo con un orden de codificación de bloques superiores. De acuerdo con una realización de la FIG. 21, puede obtenerse un indicador de orden de codificación sólo para bloques que tengan un tamaño predeterminado. Se determina que el orden de codificación de los bloques que tienen tamaños inferiores al tamaño predeterminado es el mismo que el orden de codificación de los bloques superiores.
En la realización de la FIG. 21, se establece un indicador de orden de codificación que se obtendrá para los bloques que tengan un tamaño de 32*32 o superior y un tamaño de 128*128 o inferior. En consecuencia, se obtiene un indicador de orden de codificación de un bloque 2100 con un tamaño de 128*128, que está dividido vertical y horizontalmente. En la FIG. 21, el indicador de orden de codificación del bloque 2100 indica un orden de codificación en dirección de avance. Por consiguiente, un bloque izquierdo se descodifica antes que un bloque derecho. Por lo tanto, los bloques 2101, 2102, 2103 y 2104 se descodifican en orden.
El bloque 2101 que tiene un tamaño de 64*64 se divide verticalmente para generar dos bloques 2111 y 2112 que tienen un tamaño de 64*32. Se obtiene un indicador de orden de codificación de los bloques 2111 y 2112. En la FIG.
21, debido a que un indicador de orden de codificación del bloque 2101 indica una dirección inversa, el bloque 2112 se descodifica antes que el bloque 2111.
El bloque 2111 que tiene un tamaño de 64*32 se divide horizontalmente en tres partes y, de este modo, se genera un bloque 2121 que tiene un tamaño de 16*32 en la parte superior, un bloque 2122 que tiene un tamaño de 32*32 en el centro y un bloque 2123 que tiene un tamaño de 16*32 en la parte inferior. En la FIG. 21, al no producirse una transición vertical de orden de descodificación, no se obtiene un indicador de orden de codificación del bloque 2111. En consecuencia, los bloques 2121, 2122 y 2123 se descodifican en orden de arriba hacia abajo.
El bloque 2123 que tiene un tamaño de 16*32 se divide verticalmente para generar dos bloques 2131 y 2132 que tienen un tamaño de 16*16. Debido a que el tamaño del bloque 2123 es menor que 32x32, que es el tamaño mínimo en el que se obtiene el indicador de orden de codificación, no se obtiene un indicador de orden de codificación del bloque 2123. En consecuencia, se determina que el orden de codificación del bloque 2123 es inverso de la misma manera que se descodifica el bloque 2101, que es un bloque superior del bloque 2123. Por lo tanto, el bloque 2132 se descodifica antes que el bloque 2131.
El bloque 2132 que tiene un tamaño de 16*16 se divide verticalmente para generar dos bloques 2141 y 2142 que tienen un tamaño de 16*8. Debido a que el tamaño del bloque 2132 es menor que 32x32, que es el tamaño mínimo en el que se obtiene el indicador de orden de codificación, no se obtiene un indicador de orden de codificación del bloque 2132, como en el bloque 2123. En consecuencia, se determina que el orden de codificación del bloque 2132 es inverso de la misma manera que el bloque 2123, que es un bloque superior del bloque 2132. Por lo tanto, el bloque 2142 se descodifica antes que el bloque 2141.
Un tamaño de bloque en el que se obtiene el indicador de orden de codificación, descrito en la FIG. 21, y se puede cambiar. Por ejemplo, el tamaño máximo de un bloque en el que se obtiene el indicador de orden de codificación puede cambiarse a 256x256 o 64x64, y el tamaño mínimo de un bloque en el que se obtiene el indicador de orden de codificación puede cambiarse a 64x64 o 16x16.
También, en la FIG. 21, el orden de codificación puede cambiarse sólo en dirección horizontal, pero en algunas realizaciones, el orden de codificación puede cambiarse en dirección vertical. Cuando el orden de descodificación puede conmutarse en dirección vertical, la conmutación del orden de descodificación también puede determinarse de acuerdo con el indicador de orden de codificación en el caso del bloque 2111.
El determinador 1620 de orden de descodificación puede determinar información de permiso de cambio de orden de codificación con respecto a una unidad de datos superior del bloque actual. La información de permiso de cambio de orden de codificación indica si se permite un cambio del orden de codificación para los bloques incluidos en la unidad de datos superior del bloque actual. Cuando la información de permiso de cambio de orden de codificación no permite el cambio del orden de codificación, todos los bloques de la unidad de datos superior se descodifican de acuerdo con el orden de codificación básico. Cuando la información de permiso de cambio de orden de codificación indica que la información de orden de codificación del bloque actual está codificada, el determinador 1620 de orden de descodificación puede obtener la información de orden de codificación.
La información de permiso de cambio de orden de codificación puede incluirse en una cabecera de secuencia, una cabecera de corte o similar. Cuando hay dos o más tipos de información de orden de codificación, la información de permiso de cambio de orden de codificación para cada información de orden de codificación puede dividirse y almacenarse en diferentes cabeceras.
La información de permiso de cambio de orden de codificación puede indicar una profundidad o un tamaño de bloque en el que se proporciona información de orden de codificación. Por ejemplo, el determinador 1620 de orden de descodificación puede obtener la información de orden de codificación sólo cuando una profundidad del bloque actual está incluida en profundidades indicadas por la información de permiso de cambio de orden de codificación. Como otro ejemplo, el determinador 1620 de orden de descodificación puede obtener la información de orden de codificación sólo cuando el tamaño de bloque del bloque actual es un tamaño de bloque indicado por la información de permiso de cambio de orden de codificación.
Cuando la información de división no indica dividir el bloque actual, el descodificador 1630 puede determinar un procedimiento de predicción del bloque actual basado en la información de codificación del bloque actual y si los bloques adyacentes del bloque actual son descodificados.
La información de codificación del bloque actual puede indicar cómo se predice el bloque actual. En detalle, la información de codificación puede indicar uno de una pluralidad de modos de predicción intra y una pluralidad de modos de predicción inter. Los modos de predicción intra que pueden aplicarse al bloque actual pueden incluir un modo direccional, un modo DC, un modo planar, un modo de predicción intra multiparámetro (MPI), un modo de croma de modelo lineal (LM), un modo de croma más probable (MPC), etc. Los modos de predicción inter que pueden aplicarse al bloque actual pueden incluir un modo de fusión, un modo de predicción avanzada de vector de movimiento (AMVP), un modo de salto inter, un modo de compensación de movimiento de bloque solapado (OBMC), un modo de predicción de vector de movimiento de subbloque (MVP), un modo de compensación de movimiento afín (MC), un modo de conversión de velocidad de cuadro (FRUC), etc. Por lo tanto, el descodificador 1630 puede determinar un modo de predicción a ser aplicado al bloque actual basado en la información de codificación del bloque actual.
Un bloque de referencia y una muestra de referencia referidos para la predicción del bloque actual pueden determinarse de acuerdo con si se descodifican bloques adyacentes del bloque actual. De acuerdo con el escaneo de trama descrito con referencia a las FIGS. 17A a 17C, sólo los bloques izquierdo, superior, superior izquierdo, superior derecho e inferior izquierdo del bloque actual pueden descodificarse antes del bloque actual. Sin embargo, cuando un bloque de árbol de codificación al que pertenece el bloque actual es codificado por el determinador 1620 de orden de descodificación basándose en un orden de codificación diferente al del escaneo de trama, un bloque derecho y un bloque inferior derecho del bloque actual pueden descodificarse antes que el bloque actual. Por lo tanto, el descodificador 1630 puede determinar el bloque de referencia y la muestra de referencia a la que se hace referencia para la predicción del bloque actual de acuerdo con si se descodifican los bloques izquierdo, superior, superior izquierdo, superior derecho, inferior izquierdo, derecho e inferior derecho del bloque actual.
Cuando el bloque actual es intra predicho, el descodificador 1630 puede determinar muestras de referencia a ser referenciadas por el bloque actual, de acuerdo con si los bloques adyacentes del bloque actual son descodificados. En el modo de predicción intra, los valores de predicción de las muestras de un bloque actual se determinan con referencia a los valores de muestra de las muestras adyacentes al bloque actual. Por lo tanto, sólo los bloques adyacentes, que han sido descodificados antes de los bloques actuales y pueden ser referenciados por el bloque actual, de entre los bloques adyacentes del bloque actual, pueden utilizarse para la predicción del bloque actual.
Por ejemplo, cuando los bloques se codifican de acuerdo con una dirección de avance del escaneo de trama descrita con referencia a las FIGS. 17A a 17C, las muestras de referencia de los bloques superior, izquierdo, superior izquierdo, inferior izquierdo y superior derecho del bloque actual pueden utilizarse para la predicción de una muestra actual. Por el contrario, cuando los bloques se codifican de acuerdo con una dirección inversa del escaneo de trama, las muestras de referencia de los bloques superior, derecho, superior derecho, inferior derecho y superior izquierdo del bloque actual pueden utilizarse para la predicción de la muestra actual.
El descodificador 1630 puede predecir el bloque actual basándose en el modo de predicción y puede descodificar el bloque actual basándose en un resultado de la predicción del bloque actual.
Cuando la información de división no indica dividir el bloque actual, el descodificador 1630 puede obtener, de un flujo de bits, un indicador de bloque final que indica si el bloque actual es el último bloque de un bloque de árbol de codificación que incluye el bloque actual.
El descodificador 1630 puede descodificar entrópicamente un elemento de sintaxis obtenido del flujo de bits de acuerdo con un contexto del bloque adyacente. Por ejemplo, un indicador de omisión que indica si el bloque actual está codificado en el modo de omisión puede codificarse con entropía de acuerdo con los contextos de los bloques adyacentes del bloque actual. Por lo tanto, el indicador de omisión puede codificarse con entropía considerando un contexto de si el bloque derecho del bloque actual es descodificado. En consecuencia, un elemento sintáctico que se codifica con entropía de acuerdo con los contextos de los bloques adyacentes del bloque actual como en el indicador de omisión puede codificarse con entropía considerando si se descodifica el bloque derecho del bloque actual.
Por lo tanto, el descodificador 1630 puede descodificar entrópicamente los elementos de sintaxis que están codificados entrópicamente de acuerdo con los contextos de los bloques adyacentes del bloque actual, considerando si el bloque derecho del bloque actual está descodificado. Otros elementos de sintaxis no descritos en el presente documento también pueden descodificarse mediante entropía basándose en el bloque derecho del bloque actual.
El descodificador 1630 puede cuantizar inversamente y transformar inversamente los datos residuales obtenidos del flujo de bits. El descodificador 1630 puede reconstruir el bloque actual utilizando los datos residuales cuantificados inversamente y transformados inversamente y el resultado de la predicción del bloque actual.
En las FIGS. 22 a 29B, se describirán diversas realizaciones de un procedimiento de predicción, un procedimiento de descodificación de entropía y un procedimiento de filtrado en bucle de acuerdo con un orden de codificación de un bloque actual realizado por el descodificador 1630 y si se reconstruye un bloque adyacente del bloque actual.
La FIG. 22 ilustra un procedimiento de generación de una lista de candidatos a predictor de vector de movimiento en predicción inter y un procedimiento de generación de una lista de modo más probable (MPM) en predicción intra.
En la predicción inter, se requiere un vector de movimiento que indique un desplazamiento espacial entre el bloque actual y el bloque de referencia. En consecuencia, el descodificador 1630 puede obtener un vector de movimiento aplicado a un bloque adyacente escaneando los bloques adyacentes. El descodificador 1630 obtiene una lista de candidatos a predictor de vector de movimiento que incluye candidatos a predictor de vector de movimiento determinados con base en el vector de movimiento aplicado al bloque adyacente. Cuando se permite cambiar el orden de descodificación, el bloque derecho del bloque actual puede reconstruirse primero, y así, el descodificador 1630 puede construir una lista de candidatos a predictor de vector de movimiento escaneando el bloque derecho del bloque actual. La siguiente realización se describirá teniendo en cuenta si se reconstruye el bloque derecho del bloque actual.
De acuerdo con una realización, una lista de candidatos a predictor de vector de movimiento puede construirse escaneando los bloques adyacentes del bloque actual de acuerdo con la distancia de una localización de referencia desde el centro del bloque actual. Por ejemplo, un bloque adyacente correspondiente a una ubicación de referencia de 102211, que es la más cercana al centro del bloque 2200 actual, y un bloque adyacente correspondiente a una ubicación de referencia de 11 2212 pueden escanearse primero. Además, se puede escanear un bloque adyacente correspondiente a una ubicación de referencia de 122213, que es la segunda más cercana al centro del bloque 2200 actual. Hasta que se complete la lista de candidatos a predictor de vector de movimiento, los bloques adyacentes pueden escanearse en el orden en que la ubicación de referencia esté cerca del centro del bloque 2200 actual.
De acuerdo con una realización, todos los bloques adyacentes del bloque actual son escaneados, y la lista de candidatos a predictor de vector de movimiento puede construirse de acuerdo con el resultado del escaneo.
De acuerdo con una realización, la lista de candidatos a predictor de vector de movimiento puede construirse escaneando los bloques adyacentes del bloque 2200 actual hasta que la lista de candidatos a predictor de vector de movimiento sea completada en el orden de los números de serie asignados a las localizaciones de referencia. Por ejemplo, la lista de candidatos a predictor de vector de movimiento puede construirse escaneando los bloques adyacentes en orden desde una ubicación de referencia de 02201 a la ubicación de referencia de 122213.
De acuerdo con una realización, puede determinarse un orden de escaneo de los bloques adyacentes en función de si los bloques adyacentes se reconstruyen basándose en el orden de descodificación. Por ejemplo, cuando no se reconstruye ni un bloque derecho ni un bloque izquierdo del bloque 2200 actual, los bloques adyacentes pueden escanearse en el orden de una ubicación de referencia de 2 2203, una ubicación de referencia de 3 2204, una ubicación de referencia de 42205, una ubicación de referencia de 52206 y la ubicación de referencia de 122213. Además, cuando sólo se reconstruye el bloque izquierdo del bloque 2200 actual de acuerdo con el orden de descodificación, los bloques adyacentes pueden escanearse en el orden de la ubicación de referencia de 02201, la ubicación de referencia de 2 2203, la ubicación de referencia de 52206, la ubicación de referencia de 6 2207, la ubicación de referencia de 82209, la ubicación de referencia de 4 2205 y la ubicación de referencia de 10 2211. Cuando sólo se reconstruye el bloque derecho del bloque 2200 actual de acuerdo con el orden de descodificación, los bloques adyacentes pueden escanearse en el orden de una ubicación de referencia de 1 2202, la ubicación de referencia de 32204, la ubicación de referencia de 42205, una ubicación de referencia de 72208, una ubicación de referencia de 92210, la ubicación de referencia de 52206 y la ubicación de referencia de 122213. Cuando los bloques izquierdo y derecho del bloque 2200 actual se reconstruyen de acuerdo con el orden de descodificación, los bloques adyacentes pueden escanearse en el orden de la ubicación de referencia 02201, la ubicación de referencia 12202, la ubicación de referencia 22203, la ubicación de referencia 32204, la ubicación de referencia 42205, la ubicación de referencia 52206, la ubicación de referencia 62207 o la ubicación de referencia 82209, y la ubicación de referencia 7 2208 o la ubicación de referencia 92210. Escaneando bloques adyacentes de acuerdo con el orden de escaneado, se pueden obtener los vectores de movimiento de los bloques adyacentes, y se puede construir una lista de candidatos a predictor de vector de movimiento de acuerdo con los vectores de movimiento de los bloques adyacentes.
De acuerdo con una realización, un bloque adyacente correspondiente a una ubicación de referencia específica basada en una forma del bloque actual puede no escanearse. Cuando la anchura del bloque actual es mayor que su altura, se escanea la ubicación de referencia 122213, pero no se escanean la ubicación de referencia 102211 ni la ubicación de referencia 2212 de 11. Por el contrario, cuando la altura del bloque actual es mayor que su anchura, se escanean la ubicación de referencia de 10 2211 y la ubicación de referencia de 11 2212, pero no se escanea la ubicación de referencia de 12 2213. Por ejemplo, debido a que la altura del bloque 2200 actual es mayor que su anchura, la ubicación de referencia de 102211 y la ubicación de referencia de 112212 pueden escanearse, mientras que la ubicación de referencia de 122213 puede no escanearse.
El tamaño de la lista de candidatos a predictor de vector de movimiento puede determinarse de acuerdo con si se reconstruyen los bloques adyacentes. Por ejemplo, puede determinarse el número de bloques adyacentes reconstruidos por predicción inter con respecto a todas las ubicaciones de referencia alrededor del bloque 2200 actual, y el tamaño de la lista de candidatos a predictor de vector de movimiento puede determinarse de acuerdo con el número de bloques adyacentes inter predichos. En la predicción intra, para reducir el tamaño de la información del modo de predicción intra que indica el modo de predicción intra del bloque actual, el descodificador 1630 puede determinar, como lista MPM, modos de predicción intra candidatos con alta probabilidad de seleccionarse como modo de predicción intra del bloque actual. El descodificador 1630 puede obtener un modo intra del bloque adyacente escaneando el bloque adyacente. El descodificador 1630 puede determinar los modos de predicción intra candidatos incluidos en la lista MPM a partir del modo de predicción intra del bloque adyacente del bloque actual. En consecuencia, el descodificador 1630 puede determinar la lista MPM escaneando los bloques adyacentes del bloque actual de acuerdo con un orden de escaneo predeterminado.
De acuerdo con una realización, la lista MPM puede construirse escaneando los bloques adyacentes del bloque actual de acuerdo con la distancia de la localización de referencia desde el centro del bloque actual. Por ejemplo, el bloque adyacente correspondiente a la ubicación de referencia de 102211, que es el más cercano al centro del bloque 2200 actual, y el bloque adyacente correspondiente a la ubicación de referencia de 11 2212 pueden escanearse primero. Además, se puede escanear el bloque adyacente correspondiente a la ubicación de referencia de 122213, que es la segunda más cercana al centro del bloque 2200 actual. Hasta que se complete la lista de candidatos a predictor de vector de movimiento, los bloques adyacentes pueden escanearse en el orden en que la ubicación de referencia esté cerca del centro del bloque 2200 actual.
de acuerdo con una realización, se escanean todos los bloques adyacentes del bloque actual, y la lista MPM puede construirse de acuerdo con el resultado del escaneo.
de acuerdo con una realización, la lista MPM puede construirse escaneando los bloques adyacentes del bloque 2200 actual hasta completar la lista MPM en el orden de los números de serie asignados a las ubicaciones de referencia. Por ejemplo, cuando hay dos modos de predicción intra candidatos incluidos en la lista MPM, los bloques adyacentes pueden escanearse en el orden de la ubicación de referencia de 0 2201, la ubicación de referencia de 12202, la ubicación de referencia de 22203, y la ubicación de referencia de 32204. Cuando hay tres o más modos de predicción intra candidatos incluidos en la lista MPM, la lista MPM puede construirse escaneando los bloques adyacentes en orden desde la ubicación de referencia de 02201 a la ubicación de referencia de 122213.
De acuerdo con una realización, cuando un bloque adyacente izquierdo o un bloque adyacente superior no es reconstruido o es reconstruido a través de predicción inter, un modo de predicción intra obtenido de un bloque adyacente derecho puede asumirse como un modo de predicción intra del bloque adyacente izquierdo o del bloque adyacente superior.
De acuerdo con una realización, el orden de escaneo de los bloques adyacentes puede determinarse de acuerdo con si los bloques adyacentes se reconstruyen basándose en el orden de descodificación. Por ejemplo, cuando ni un bloque derecho ni un bloque izquierdo del bloque 2200 actual se reconstruyen de acuerdo con el orden de descodificación, los bloques adyacentes pueden escanearse en el orden de la ubicación de referencia de 22203, la ubicación de referencia de 32204, la ubicación de referencia de 4 2205, la ubicación de referencia de 52206 y la ubicación de referencia de 122213. Además, cuando sólo se reconstruye el bloque izquierdo del bloque 2200 actual de acuerdo con el orden de descodificación, los bloques adyacentes pueden escanearse en el orden de la ubicación de referencia de 02201, la ubicación de referencia de 22203, la ubicación de referencia de 52206, la ubicación de referencia de 6 2207, la ubicación de referencia de 82209, la ubicación de referencia de 4 2205 y la ubicación de referencia de 102211. Cuando sólo se reconstruye el bloque derecho del bloque 2200 actual de acuerdo con el orden de descodificación, los bloques adyacentes pueden escanearse en el orden de la ubicación de referencia de 12202, la ubicación de referencia de 32204, la ubicación de referencia de 42205, la ubicación de referencia de 72208, la ubicación de referencia de 92210, la ubicación de referencia de 52206 y la ubicación de referencia de 12 2213. Cuando los bloques izquierdo y derecho del bloque 2200 actual se reconstruyen de acuerdo con el orden de descodificación, los bloques adyacentes pueden escanearse en el orden de la ubicación de referencia 0 2201, la ubicación de referencia 12202, la ubicación de referencia 22203, la ubicación de referencia 32204, la ubicación de referencia 42205, la ubicación de referencia 52206, la ubicación de referencia 62207 o la ubicación de referencia 8 2209, y la ubicación de referencia 72208 o la ubicación de referencia 92210. Escaneando bloques adyacentes de acuerdo con el orden de escaneado, se pueden obtener modos de predicción intra de los bloques adyacentes, y se puede construir una lista MPM de acuerdo con los modos de predicción intra de los bloques adyacentes.
De acuerdo con una realización, un bloque adyacente correspondiente a una ubicación de referencia específica basada en la forma del bloque actual puede no escanearse. Cuando la anchura del bloque actual es mayor que su altura, se escanea la ubicación de referencia de 122213, pero no se escanean las posiciones de referencia de 10 2211 y 112212. Por el contrario, cuando la altura del bloque actual es mayor que su anchura, se escanean la ubicación de referencia de 102211 y la ubicación de referencia de 112212, pero no se escanea la ubicación de referencia de 12 2213. Por ejemplo, debido a que la altura del bloque 2200 actual es mayor que su anchura, la ubicación de referencia de 10 2211 y la ubicación de referencia de 11 2212 pueden escanearse, mientras que la ubicación de referencia de 122213 puede no escanearse.
El tamaño de la lista MPM puede determinarse de acuerdo con si se reconstruyen los bloques adyacentes. Por ejemplo, puede determinarse el número de bloques adyacentes reconstruidos por la predicción intra con respecto a todas las ubicaciones de referencia alrededor del bloque 2200 actual, y el tamaño de la lista MPM puede determinarse de acuerdo con el número de bloques adyacentes reconstruidos por la predicción intra.
La FIG. 23 ilustra un rango de una dirección de predicción intra según se reconstruye un bloque adyacente.
Una primera realización 2310 muestra un rango de una dirección de predicción intra cuando se reconstruyen un bloque izquierdo y un bloque superior de un bloque 2312 actual. En la primera realización 2310, una muestra adyacente izquierda, una muestra adyacente superior, una muestra adyacente inferior izquierda y una muestra adyacente superior derecha del bloque 2312 actual se utilizan como muestras de referencia del bloque 2312 actual. Por lo tanto, un primer rango 2350 de dirección de predicción intra se determina de tal manera que una diferencia de ángulo entre la dirección de predicción intra y una dirección superior izquierda es de 90 grados o menos.
Una segunda realización 2320 muestra un rango de una dirección de predicción intra cuando se reconstruyen un bloque derecho y un bloque superior del bloque 2322 actual. En la segunda realización 2320, una muestra adyacente derecha, una muestra adyacente superior, una muestra adyacente inferior derecha y una muestra adyacente superior izquierda del bloque 2322 actual se utilizan como muestras de referencia del bloque 2322 actual. Por lo tanto, se determina un segundo rango 2360 de dirección de predicción intra tal que una diferencia de ángulo entre la dirección de predicción intra y una dirección superior derecha es de 90 grados o menos.
Una tercera realización 2330 muestra un rango de una dirección de predicción intra cuando se reconstruyen un bloque izquierdo, un bloque derecho y un bloque superior de un bloque 2332 actual. En la tercera realización 2330, una muestra adyacente izquierda, una muestra adyacente derecha y una muestra adyacente superior del bloque 2332 actual pueden utilizarse como muestras de referencia del bloque 2332 actual. Por lo tanto, un tercer rango 2370 de dirección de predicción intra puede determinarse de tal manera que una diferencia de ángulo entre la dirección de predicción intra y una dirección superior sea de 90 grados o menos. Además, dado que una muestra adyacente inferior izquierda y una muestra adyacente inferior derecha del bloque 2332 actual pueden utilizarse como muestras de referencia del bloque 2332 actual, puede aplicarse a la predicción del bloque 2332 actual un rango 2380 de dirección de predicción intra extendido en el que la diferencia de ángulo entre la dirección de predicción intra y la dirección superior es de 135 grados o menos.
Una cuarta realización 2340 muestra un rango de una dirección de predicción intra cuando sólo se reconstruye un bloque superior de un bloque 2342 actual. En la cuarta realización 2340, una muestra adyacente superior, una muestra adyacente superior izquierda y una muestra adyacente superior derecha del bloque 2342 actual pueden utilizarse como muestras de referencia del bloque 2342 actual. Por lo tanto, puede aplicarse a la predicción del bloque 2342 actual un rango 2390 de dirección de predicción intra reducido en el que la diferencia de ángulo entre la dirección de predicción intra y la dirección superior sea de 45 grados o menos. Sin embargo, cuando se rellenan una muestra adyacente izquierda y una muestra adyacente derecha del bloque 2342 actual, el tercer rango 2370 de dirección de predicción intra en el que la diferencia de ángulo entre la dirección de predicción intra y la dirección superior es de 90 grados o menos puede aplicarse a la predicción del bloque 2342 actual.
De acuerdo con una realización, pueden asignarse al rango 2380 de dirección de predicción intra ampliado aproximadamente 1,5 veces más modos de predicción intra que los rangos 2350, 2360 y 2370 de dirección de predicción intra primero a tercero. Cuando se define un modo de predicción intra adicional, existe la desventaja de que aumenta el tamaño de la información del modo de predicción intra que indica el modo de predicción intra.
De acuerdo con una realización, el mismo número de modos de predicción intra que los rangos 2350, 2360 y 2370 de dirección de predicción intra primero a tercero pueden asignarse al rango 2380 de dirección de predicción intra extendido. Los modos de predicción intra que tienen una diferencia de 45 grados o menos con respecto a un modo horizontal pueden configurarse para referirse a una de las muestras de referencia izquierda y derecha, o para referirse tanto a la muestra de referencia izquierda como a la derecha. Por lo tanto, el bloque actual puede predecirse con referencia a la muestra de referencia derecha de acuerdo con un modo de predicción intra existente sin aumentar el número de modos de predicción intra.
De acuerdo con una realización, un rango de una dirección de predicción intra que puede utilizarse para el bloque actual puede limitarse considerando el orden de descodificación. Por ejemplo, cuando el orden de descodificación del bloque actual es una dirección derecha, el tercer rango 2370 de dirección de predicción intra puede limitarse para incluir una dirección de predicción intra izquierda. Por el contrario, cuando el orden de descodificación del bloque actual es una dirección izquierda, el tercer rango 2370 de dirección de predicción intra puede limitarse para incluir una dirección de predicción intra derecha.
La FIG. 24 ilustra un procedimiento de determinación de una muestra de referencia a referenciar por una muestra actual en función de si se reconstruye un bloque adyacente y una dirección de predicción intra. En particular, se describirá un procedimiento de predicción intra cuando se hace referencia a una muestra de referencia correcta de acuerdo con un modo de predicción intra existente sin aumentar el número de modos de predicción intra.
En una primera realización 2400, se describirá un procedimiento de determinación de muestra de referencia en un caso en el que se reconstruyen un bloque izquierdo y un bloque superior de un bloque actual. El descodificador 1630 puede determinar una muestra p 2402 de referencia como una muestra de referencia de una muestra 2401 actual basada en una dirección de predicción intra del bloque actual.
Sin embargo, en una segunda realización 2410, se reconstruye un bloque derecho en lugar del bloque izquierdo del bloque actual, y por lo tanto, el descodificador 1630 puede no determinar una muestra p 2412 de referencia como una muestra de referencia de una muestra 2411 actual. Por lo tanto, el descodificador 1630 puede determinar una muestra q 2413 de referencia como una muestra de referencia de la muestra 2411 actual basada en una dirección opuesta a la dirección de predicción intra.
En una tercera realización 2420, tanto el bloque izquierdo como el derecho del bloque actual son reconstruidos, y por lo tanto, el descodificador 1630 puede predecir una muestra 2421 actual usando tanto una muestra p 2422 de referencia en la dirección de predicción intra como una muestra q 2423 de referencia en la dirección opuesta a la dirección de predicción intra. Alternativamente, el descodificador 1630 puede predecir la muestra 2421 actual usando una de la muestra p 2422 de referencia y la muestra q 2423 de referencia.
Las FIGS 25A a 25C ilustran un procedimiento de relleno de muestras de referencia a utilizar para la predicción intra. Para la predicción intra, se utilizan como muestras de referencia las muestras adyacentes de un bloque actual que tienen una alta probabilidad y que son más similares a las muestras del bloque actual. El descodificador 1630 determina un rango de una muestra de referencia de acuerdo con un orden de codificación del bloque actual. Por ejemplo, de acuerdo con un orden de codificación hacia delante, se determinan como muestras de referencia una muestra adyacente izquierda, una muestra adyacente superior, una muestra adyacente inferior izquierda y una muestra adyacente superior derecha del bloque actual. En este caso, se determina que un rango de la muestra adyacente inferior izquierda es el mismo que un ancho del bloque actual. Además, se determina que un rango de la muestra adyacente superior derecha es el mismo que una altura del bloque actual.
De acuerdo con un orden de codificación inverso, las muestras adyacentes derechas, las muestras adyacentes superiores, las muestras adyacentes inferiores derechas y las muestras adyacentes superiores izquierdas del bloque actual se determinan como muestras de referencia. En este caso, se determina un rango de la muestra adyacente inferior derecha igual a la anchura del bloque actual. Además, se determina que el rango de la muestra adyacente superior izquierda es el mismo que la altura del bloque actual.
Algunos de los bloques adyacentes del bloque actual pueden descodificarse más tarde que el bloque actual. Por lo tanto, cuando la muestra de referencia aún no se ha reconstruido, el descodificador 1630 puede necesitar rellenar una muestra no reconstruida utilizando una muestra de referencia que ya se ha reconstruido.
Por ejemplo, en la FIG. 25A, cuando se descodifica un bloque 2500 actual en un orden de descodificación hacia delante, el descodificador 1630 obtiene muestras de referencia de una región 2502 reconstruida adyacente que se encuentra en los lados izquierdo e inferior izquierdo del bloque 2500 actual y se descodifica antes del bloque 2500 actual. Además, debido a que puede no obtenerse una muestra de referencia de una región 2504 adyacente no reconstruida que está situada en el lado inferior izquierdo del bloque 2500 actual y se descodifica después del bloque 2500 actual, el descodificador 1630 rellena las muestras de referencia de la región 2504 adyacente no reconstruida utilizando la muestra de referencia de la región 2502 adyacente reconstruida. Por ejemplo, la muestra de referencia de la región 2504 adyacente no reconstruida puede rellenarse utilizando una muestra A 2506 de referencia en una ubicación más cercana a la región 2504 adyacente no reconstruida en la región 2502 adyacente reconstruida.
En la FIG. 25B, cuando un bloque 2510 actual se descodifica en un orden de descodificación inverso, el descodificador 1630 obtiene muestras de referencia de una región 2512 adyacente reconstruida que se encuentra en los lados superior y superior izquierdo del bloque 2500 actual y se descodifica antes del bloque 2510 actual. Además, debido a que puede no obtenerse una muestra de referencia de una región 2514 no reconstruida adyacente que se encuentra en el lado superior izquierda del bloque 2500 actual y se descodifica después del bloque 2510 actual, el descodificador 1630 rellena las muestras de referencia de la región 2514 no reconstruida adyacente utilizando la muestra de referencia de la región 2512 adyacente reconstruida. Por ejemplo, el descodificador 1630 puede rellenar la muestra de referencia de la región 2514 no reconstruida adyacente utilizando una muestra B 2516 de referencia en una ubicación más cercana a la región 2514 no reconstruida adyacente en la región 2512 adyacente reconstruida.
En la FIG. 25C, cuando un bloque 2520 actual se descodifica en un orden de descodificación hacia delante, el descodificador 1630 obtiene una muestra de referencia de una primera región 2522 reconstruida adyacente que está situada en un lado superior del bloque 2520 actual y se descodifica antes que el bloque 2520 actual. El descodificador 1630 obtiene una muestra de referencia de una segunda región 2524 reconstruida adyacente que se encuentra en un lado superior izquierdo del bloque 2520 actual y se descodifica antes del bloque 2520 actual. En la FIG. 25C, una región 2526 no reconstruida adyacente está situada entre la primera región 2522 reconstruida adyacente y la segunda región 2524 reconstruida adyacente.
En consecuencia, el descodificador 1630 puede rellenar muestras de referencia de la región 2526 no reconstruida adyacente interpolando linealmente una muestra C 2528 de referencia en una ubicación más cercana a la región 2526 no reconstruida adyacente en la primera región 2522 reconstruida adyacente y una muestra D 2530 de referencia en una ubicación más cercana a la región 2526 no reconstruida adyacente en la segunda región 2524 reconstruida adyacente.
Alternativamente, el descodificador 1630 puede rellenar las muestras de referencia de la región 2526 no reconstruida adyacente utilizando un valor medio de la muestra C 2528 de referencia y la muestra D 2530 de referencia. De acuerdo con otra realización, el descodificador 1630 puede rellenar las muestras de referencia de la región 2526 no reconstruida adyacente con un valor de la muestra C 2528 de referencia y la muestra D 2530 de referencia.
La FIG. 26 ilustra un procedimiento de predicción intra en función de si se reconstruye un bloque adyacente.
Una primera realización 2600 muestra un procedimiento de predicción intra cuando un bloque superior y un bloque izquierdo de un bloque 2601 actual se reconstruyen antes del bloque 2601 actual de acuerdo con el orden de descodificación. En la primera realización 2600, las muestras 2602 de referencia superior, las muestras 2603 de referencia superior derecha, las muestras 2604 de referencia izquierda y las muestras 2605 de referencia inferior izquierda pueden utilizarse para la predicción intra. La primera realización 2600 se produce en un procedimiento de descodificación de vídeo convencional en el que no se conmuta un orden de descodificación, y el bloque 2601 actual se predice de acuerdo con un procedimiento de predicción intra convencional.
Una segunda realización 2610 muestra un procedimiento de predicción intra cuando un bloque superior y un bloque derecho de un bloque 2611 actual se reconstruyen antes del bloque 2611 actual de acuerdo con el orden de descodificación. En la segunda realización 2610, las muestras 2612 de referencia superior, las muestras 2613 de referencia superior izquierda, las muestras 2614 de referencia derecha y las muestras 2615 de referencia inferior derecha pueden utilizarse para la predicción intra. Dado que la segunda realización 2610 es horizontalmente simétrica a la primera realización 2600, un procedimiento de predicción intra de acuerdo con la segunda realización 2610 es horizontalmente simétrico a un procedimiento de predicción intra de acuerdo con la primera realización 2600. Por ejemplo, cuando el modo horizontal se aplica al bloque actual, las muestras 2604 de referencia izquierda se refieren a la primera realización 2600, mientras que las muestras 2614 de referencia derecha se refieren a la segunda realización 2610. Igualmente, el procedimiento de predicción intra de acuerdo con otro modo intra direccional y un modo planar de la segunda realización 2610 también puede ser horizontalmente simétrico al procedimiento de predicción intra de acuerdo con otro modo intra direccional y un modo planar de la primera realización 2600.
Una tercera realización 2620 muestra un procedimiento de predicción intra cuando un bloque superior, un bloque izquierdo y un bloque derecho de un bloque 2621 actual se reconstruyen antes del bloque 2621 actual de acuerdo con el orden de descodificación. En la tercera realización 2620, las muestras 2622 de referencia superiores, las muestras 2623 de referencia izquierdas, las muestras 2624 de referencia derechas, las muestras 2625 de referencia inferiores izquierdas y las muestras 2626 de referencia inferiores derechas pueden utilizarse para la predicción intra. En la tercera realización 2620, las muestras 2623 de referencia izquierda y las muestras 2624 de referencia derecha pueden utilizarse juntas en la predicción del bloque 2621 actual. Por ejemplo, cuando el modo horizontal se aplica al bloque 2621 actual, el descodificador 1630 puede predecir el bloque 2621 actual utilizando un promedio o un promedio ponderado de un primer valor de referencia obtenido de las muestras 2623 de referencia izquierda y un segundo valor de referencia obtenido de las muestras 2624 de referencia derecha.
De acuerdo con otra realización, el descodificador 1630 puede predecir el bloque 2621 actual de la tercera realización 2620 usando un valor medio de un primer valor de predicción intermedio de acuerdo con el procedimiento de predicción intra de la primera realización 2600 y un segundo valor de predicción intermedio de acuerdo con el procedimiento de predicción intra de la segunda realización 2610. Por ejemplo, cuando se aplica el modo horizontal al bloque 2621 actual, el descodificador 1630 puede obtener un valor de predicción final del bloque 2621 actual de acuerdo con la tercera realización 2620 basándose en el primer valor de predicción intermedio obtenido de las muestras 2604 de referencia izquierdas de acuerdo con el procedimiento de predicción intra de la primera realización 2600 y el segundo valor de predicción intermedio obtenido de las muestras 2614 de referencia derechas de acuerdo con el procedimiento de predicción intra de la segunda realización 2610.
De acuerdo con otra realización, el descodificador 1630 puede predecir el bloque 2621 actual de la tercera realización 2620 usando uno de un primer valor de predicción de acuerdo con el procedimiento de predicción intra de la primera realización 2600 y un segundo valor de predicción de acuerdo con el procedimiento de predicción intra de la segunda realización 2610. Por ejemplo, cuando el modo horizontal se aplica al bloque 2621 actual, el descodificador 1630 puede obtener el valor de predicción final del bloque 2621 actual de acuerdo con la tercera realización 2620 usando uno seleccionado de entre el primer valor de predicción obtenido de las muestras 2604 de referencia izquierdas de acuerdo con el procedimiento de predicción intra de la primera realización 2600 y el segundo valor de predicción obtenido de las muestras 2614 de referencia derechas de acuerdo con el procedimiento de predicción intra de la segunda realización 2610.
Una cuarta realización 2630 muestra un procedimiento de predicción intra cuando sólo un bloque superior, un bloque superior izquierdo y un bloque superior derecho son reconstruidos antes del bloque 2631 actual. En la cuarta realización 2630, las muestras 2632 de referencia superior, las muestras 2633 de referencia superior izquierda y las muestras 2634 de referencia superior derecha pueden utilizarse para la predicción intra. Por lo tanto, el procedimiento de predicción intra, en el que se utilizan necesariamente las muestras 2635 de referencia izquierda, las muestras 2636 de referencia inferior izquierda, las muestras 2637 de referencia derecha y las muestras 2638 de referencia inferior derecha, puede no utilizarse en la cuarta realización 2630. Por ejemplo, el modo horizontal utiliza muestras de referencia izquierdas o muestras de referencia derechas y, por lo tanto, puede no utilizarse en la cuarta realización 2630.
En la cuarta realización 2630, las muestras 2632 de referencia superiores son las únicas muestras de referencia que son adyacentes a un bloque 2631 actual de acuerdo con el orden de descodificación. Además, las muestras 2633 de referencia superior izquierda y las muestras 2634 de referencia superior derecha están separadas espacialmente del bloque 2631 actual, y por lo tanto, la precisión de predicción de la cuarta realización 2630 puede ser menor que las de otras realizaciones 2600, 2610 y 2620. Por lo tanto, el procedimiento de predicción intra utilizado en la cuarta realización 2630 es preferiblemente un modo vertical que utiliza la muestra 2632 de referencia superior adyacente al bloque 2631 actual o un modo de predicción direccional adyacente al modo vertical.
Sin embargo, cuando las muestras 2635 de referencia izquierdas, las muestras 2636 de referencia inferiores izquierdas, las muestras 2637 de referencia derechas, y las muestras 2638 de referencia inferiores derechas se rellenan basándose en las muestras 2632 de referencia superiores, las muestras 2633de referencia superiores izquierdas, y las muestras de referencia superiores derechas 2634, el descodificador 1630 puede predecir el bloque 2631 actual de la cuarta realización 2630 de acuerdo con el procedimiento de predicción intra de la tercera realización 2620.
La FIG. 27 ilustra un procedimiento de filtrado de desbloqueo de acuerdo con si se reconstruye un bloque adyacente. Cuando una imagen se codifica en unidades de bloque de acuerdo con la transformación y la cuantización, se produce una discontinuidad entre las muestras en un límite de bloque de una imagen descodificada. Una degradación debida a la discontinuidad entre las muestras en el límite del bloque se denomina artefacto de bloqueo. A medida que aumenta la intensidad de la cuantización, aumenta la pérdida de datos de la imagen y, por tanto, también aumenta el artefacto de bloqueo. En consecuencia, se utiliza un filtro de desbloqueo para reducir la discontinuidad de las muestras en el límite del bloque.
Cuando un bloque 2710 izquierdo y un bloque 2720 superior de un bloque 2700 actual se descodifican antes que el bloque 2700 actual de acuerdo con el orden de descodificación, las muestras 2712 adyacentes situadas en un límite entre el bloque 2700 actual y el bloque 2710 izquierdo y las muestras 2722 adyacentes situadas en un límite entre el bloque 2700 actual y el bloque 2720 superior se filtran por desbloqueo. Sin embargo, cuando un bloque 2730 derecho del bloque 2700 actual se descodifica antes que el bloque 2700 actual debido a la conmutación del orden de codificación, las muestras 2732 adyacentes situadas en un límite entre el bloque 2700 actual y el bloque 2730 derecho también pueden filtrarse de desbloqueo.
Las FIGS. 28A y 28B ilustran un procedimiento de determinación de información de contexto para descodificación de entropía de información de modo de predicción de acuerdo con si se reconstruye o no un bloque adyacente. Sólo se aplica la predicción intra a los bloques de un corte I. Sin embargo, una de las predicciones intra e inter puede aplicarse a bloques de un corte P y un corte B. Por lo tanto, cuando se incluye una unidad de codificación en el corte P o en el corte B, se descodifica la información del modo de predicción que indica uno de los modos de predicción intra e inter aplicados a la unidad de codificación.
La información del modo de predicción de un bloque 2800 actual se descodifica entrópicamente de acuerdo con un contexto de bloques adyacentes. La FIG. 28A ilustra ubicaciones de bloques adyacentes del bloque 2800 actual para determinar un contexto de la información del modo de predicción. Cuando no se cambia el orden de codificación, el contexto de la información del modo de predicción se determina en función de un modo de predicción de un bloque en una ubicación A 2802 y un modo de predicción de un bloque en una ubicación B 2804. Por ejemplo, se puede utilizar un primer contexto cuando el modo intra se aplica tanto al bloque en la ubicación A 2802 como al bloque en la ubicación B 2804. Además, se puede utilizar un segundo contexto cuando el modo intra se aplica sólo a uno de los bloques en la ubicación A 2802 y el bloque en la ubicación B 2804. Además, el segundo contexto puede utilizarse cuando el modo inter se aplica tanto al bloque en la ubicación A 2802 como al bloque en la ubicación B 2804.
Cuando el orden de codificación es conmutable, el contexto de la información de modo de predicción se determina dependiendo del modo de predicción del bloque en la ubicación A 2802, el modo de predicción del bloque en la ubicación B 2804, y un modo de predicción de un bloque en una ubicación C 2806. En la ecuación 1 se describe un procedimiento para determinar el contexto de la información del modo de predicción de tres bloques adyacentes.
[Ecuación 1]
n u m jn tra = ¡slntra(L) islntra(A) islntra(R)
C tx jd x = min(num_intra, T)
En la Ecuación 1, isIntra(L) denota si el modo de predicción del bloque en la ubicación A 2802 es el modo intra. Además, isIntra(A) denota si el modo de predicción del bloque en la ubicación B 2804 es el modo intra. Además, islntra(R) denota si el modo de predicción del bloque en la ubicación C 2806 es el modo intra. En consecuencia, num_intra denota el número de modos intra aplicados a los bloques en la ubicación A 2802, la ubicación B 2804 y la ubicación C 2806. Por lo tanto, num_intra puede tener un valor de 0 a 3.
Ctx_idx es un índice que indica el contexto de la información del modo de predicción del bloque actual. Además, T denota un valor máximo de Ctx_idx. Ctx_idx se determina como un valor menor de num_intra y T. En consecuencia, el número de contextos se determina de acuerdo con un valor de T. Por ejemplo, cuando T es 2, Ctx_idx tiene un valor de 0 a 2. Por lo tanto, el contexto de la información del modo de predicción del bloque actual se determina en función del modo de predicción que se utilice para predecir un bloque derecho del bloque actual.
La FIG. 28B ilustra una realización de determinación de un contexto de información de modo de predicción de un bloque actual de acuerdo con un modo de predicción dominante aplicado a bloques adyacentes del bloque actual. En la FIG. 28A, el contexto de la información del modo de predicción del bloque actual se determina de acuerdo con los modos de predicción de los bloques en las ubicaciones A, B y C 2802, 2804 y 2806 predeterminadas. Sin embargo, con referencia a la FIG. 28B, el descodificador 1630 escanea qué modo de predicción se utiliza para cada unidad básica que tiene un tamaño de 4*4 alrededor del bloque actual, y compara el número de unidades básicas, en las que se utiliza el modo intra, con el número de unidades básicas, en las que se utiliza el modo inter, para determinar el contexto de la información del modo de predicción del bloque actual.
En la Ecuación 2 se describe un procedimiento para determinar el contexto de la información del modo de predicción a partir del modo de predicción dominante aplicado a los bloques adyacentes del bloque actual.
[Ecuación 2]
C tx jd x = if(num_intra < num jnter) 7 0 : 1 ;
En la Ecuación 2, num_intra denota el número de unidades básicas a las que se aplica el modo intra de entre las unidades básicas reconstruidas. Además, num_inter indica el número de unidades básicas a las que se aplica el modo inter de entre las unidades básicas reconstruidas. Ctx_idx es un índice que indica el contexto de la información del modo de predicción del bloque actual. Ctx_idx se determina como 0 cuando num_intra es mayor que num_inter, y se determina como 1 cuando num_intra es menor que num_inter.
Por ejemplo, se escanean los modos de predicción de 14 unidades básicas que tienen un tamaño de 4*4 en los lados superior, izquierdo y derecho de un bloque actual 2850 que tiene un tamaño de 16*16. En la FIG. 28B, como el modo intra se aplica a 4 unidades básicas y el modo inter se aplica a 10 unidades básicas, el modo de predicción dominante se determina como el modo inter. Además, Ctx_idx, que es el contexto de la información del modo de predicción, se determina como 1.
Cuando el orden de codificación no es conmutado, una unidad básica en un lado derecho puede no ser considerada en la determinación del contexto de la información del modo de predicción. Sin embargo, cuando se cambia el orden de codificación, la unidad básica del lado derecho puede ser considerada para determinar el contexto de la información del modo de predicción, como se muestra en la<f>I<g>.28B.
Las FIGS. 29A y 29B ilustran un procedimiento de aplicación de un filtro en bucle de acuerdo con un orden de descodificación.
La FIG. 29A ilustra un tipo de desplazamiento adaptativo de muestra (SAO) de un filtro SAO de acuerdo con un orden de descodificación. El filtro SAO se utiliza para minimizar un error entre una imagen reconstruida y una imagen original añadiendo un desplazamiento de forma adaptativa a una muestra. El filtro SAO se utiliza para una imagen de corriente filtrada con desbloqueo. El filtro SAO se clasifica en un tipo de banda y un tipo de borde. Un filtro SAO de tipo banda puede corregir eficazmente un error de una muestra reconstruida aplicando un desplazamiento a las muestras en una banda específica. Un filtro SAO de tipo borde puede corregir eficazmente un error de la muestra reconstruida de acuerdo con una dirección de borde del bloque actual.
La dirección de borde aplicada al filtro SAO de tipo borde incluye una dirección 2922 de borde horizontal, una dirección 2924 de borde vertical, una dirección 2926 de borde de 135 grados, y una dirección 2928 de borde de 45 grados. La dirección de los bordes aplicada al filtrado SAO del bloque actual se determina de acuerdo con la información sobre la dirección de los bordes. Al asignar una palabra clave corta a una dirección de borde que tiene una alta posibilidad de ser aplicada y asignar una palabra clave larga a una dirección de borde que tiene una baja posibilidad de aplicarse, se puede mejorar la tasa de codificación de la información de dirección de borde. Por lo tanto, la tasa de codificación de la información de dirección de borde puede mejorarse determinando la palabra de código asignada a cada dirección de borde de acuerdo con el orden de codificación.
La dirección 2922 de borde horizontal y la dirección 2924 de borde vertical pueden aplicarse al bloque actual independientemente del orden de descodificación. Sin embargo, en los casos de la dirección 2926 de borde de 135 grados y la dirección 2928 de borde de 45 grados, las posibilidades de aplicarse al bloque actual pueden diferir de acuerdo con el orden de descodificación.
Por ejemplo, como en una primera realización 2900, cuando el orden de descodificación aplicado al bloque actual es hacia adelante, una posibilidad de que la dirección 2926 de borde de 135 grados sea aplicada es mayor que una posibilidad de que la dirección 2928 de borde de 45 grados sea aplicada. En consecuencia, al asignar unacodewordcorta a la dirección 2926 de borde de 135 grados y asignar unacodewordlarga a la dirección 2928 de borde de 45 grados, se puede mejorar la tasa de codificación de la información de dirección de borde.
A la inversa, como se muestra en una segunda realización 2910, cuando el orden de descodificación aplicado al bloque actual es inverso, la posibilidad de que se aplique la dirección 2928 de borde de 45 grados es mayor que la posibilidad de que se aplique la dirección 2926 de borde de 135 grados. En consecuencia, al asignar unacodewordcorta a la dirección 2928 de borde de 45 grados y asignar unacodewordlarga a la dirección 2926 de borde de 135 grados, se puede mejorar la tasa de codificación de la información de dirección de borde.
La FIG. 29B ilustra una forma de filtro de un filtro de bucle adaptativo de acuerdo con un orden de descodificación.
El filtro de bucle adaptativo se utiliza para minimizar un error entre una imagen original y una imagen reconstruida basada en un filtro de Wiener. Un valor filtrado de la muestra actual se determina mediante una media ponderada de valores de muestra de muestras de referencia determinados de acuerdo con la forma de filtro del filtro de bucle adaptativo y un valor de muestra de la muestra actual. La forma del filtro de bucle adaptativo puede determinarse de forma diferente de acuerdo con el orden de descodificación.
Una forma de filtro básica del filtro de bucle adaptativo puede ser una forma 2950 de diamante. Sin embargo, el filtrado de bucle adaptativo de acuerdo con la forma 2950 de diamante requiere el almacenamiento de cinco líneas de muestra en una memoria de un dispositivo de descodificación de vídeo, y por lo tanto, puede haber una desventaja de una carga excesiva en la memoria del dispositivo de descodificación de vídeo. Por lo tanto, una forma 2960 de diamante cortado que requiere tres líneas de muestra tiene menos carga en la memoria el dispositivo de descodificación de vídeo en comparación con la forma 2950 de diamante.
Sin embargo, para la eficiencia del filtro de bucle adaptativo, puede utilizarse una forma 2970 de diamante cortado orientada a la izquierda o una forma 2980 de diamante cortado orientada a la derecha que tenga la misma área de una región de forma de filtro que la de la forma 2950 de diamante de acuerdo con el orden de descodificación del bloque actual. Por ejemplo, cuando el bloque actual se codifica en dirección de avance, se puede utilizar la forma 2970 de diamante cortado orientada hacia la izquierda. Por el contrario, cuando el bloque actual se codifica en sentido inverso, puede utilizarse la forma 2980 de diamante cortado orientada a la derecha.
La FIG. 30 ilustra un procedimiento 3000 de descodificación de vídeo relativo a la división de un bloque actual y la determinación de un orden de codificación de bloques inferiores divididos, de acuerdo con una realización.
En la operación 3010, la información dividida que indica si se debe dividir el bloque actual se obtiene de un flujo de bits.
En la operación 3020, cuando la información de división indica dividir el bloque actual, el bloque actual se divide en dos o más bloques inferiores.
Cuando la información de división indica la división del bloque actual, puede obtenerse información de forma de división del bloque actual. El bloque actual puede dividirse en dos o más bloques inferiores de acuerdo con la información de forma dividida. La información sobre la forma de la división indica una división binaria vertical, una división triple vertical, una división binaria horizontal, una división triple horizontal y una división cuádruple.
Cuando la información de división no indica dividir el bloque actual, el bloque actual puede reconstruirse mediante un valor de predicción y un valor residual del bloque actual.
En la operación 3030, la información del orden de codificación que indica un orden de codificación de los bloques inferiores del bloque actual se obtiene del flujo de bits. La obtención de la información del orden de codificación se puede determinar de acuerdo con al menos uno de entre un tamaño y una forma dividida del bloque actual. Además, cuando se determina que se debe obtener la información de orden de codificación para el bloque actual, se puede obtener la información de orden de codificación.
En la operación 3040, se determina un orden de descodificación de los bloques inferiores de acuerdo con la información de orden de codificación.
En la operación 3050, los bloques inferiores se descodifican de acuerdo con el orden de descodificación.
El bloque inferior puede dividirse de acuerdo con la información de división del bloque inferior. Cuando el bloque inferior ya no se divide de acuerdo con la información de división del bloque inferior, los bloques inferiores pueden reconstruirse mediante un valor de predicción y un valor residual del bloque inferior.
Cuando se inter predice el bloque inferior, una lista de vectores de movimiento usada para la predicción inter puede ser determinada de acuerdo con una distancia desde un centro del bloque inferior y si los bloques adyacentes del bloque inferior son descodificados.
Cuando se intra predice el bloque inferior, una lista MPM usada para predicción intra puede ser determinada de acuerdo con la distancia desde el centro del bloque inferior y si los bloques adyacentes del bloque inferior son descodificados. Un intervalo de una dirección de predicción intra utilizado para la predicción intra puede determinarse de acuerdo con si se descodifican los bloques adyacentes del bloque inferior.
Una muestra de referencia de región reconstruida del bloque inferior puede obtenerse a partir de una región reconstruida adyacente del bloque inferior. Además, pueden determinarse una o más muestras de referencia de la región reconstruida adyacente a una región adyacente no reconstruida del bloque inferior. Se puede generar una muestra de referencia de región no reconstruida mediante el uso de la una o más muestras de referencia de región reconstruida.
Cuando dos muestras de referencia de región reconstruida son adyacentes a los lados izquierdo y derecho de la región no reconstruida adyacente, las muestras de referencia de región no reconstruida pueden generarse interpolando linealmente las dos muestras de referencia de región reconstruida.
La dirección de predicción intra del bloque inferior puede determinarse de acuerdo con la información del modo de predicción intra. Pueden obtenerse muestras de referencia directa en la dirección de predicción intra y muestras de referencia inversa en una dirección opuesta a la dirección de predicción intra. El bloque inferior se puede intra predecir utilizando las muestras de referencia directa y las muestras de referencia inversa.
Además, cuando se descodifican un bloque izquierdo y un bloque derecho del bloque inferior, el bloque inferior puede predecirse basándose en una muestra de referencia izquierda y una muestra de referencia derecha obtenidas a través del bloque izquierdo y el bloque derecho.
Las muestras ubicadas en un límite de los bloques inferiores descodificados pueden ser filtradas por desbloqueo de acuerdo con si las muestras adyacentes del bloque inferior descodificado son descodificadas. En consecuencia, las muestras situadas en un límite derecho del bloque actual pueden filtrarse con desbloqueo de acuerdo con una realización.
La información de codificación del bloque inferior puede descodificarse entrópicamente de acuerdo con un contexto determinado en base a si los bloques adyacentes del bloque inferior son descodificados. Por lo tanto, el contexto puede determinarse de acuerdo con el bloque derecho del bloque actual.
Los bloques inferiores descodificados pueden filtrarse utilizando el filtro SAO determinado de acuerdo con el orden de descodificación.
Las funciones del dispositivo 1600 de descodificación de vídeo se describen con referencia a la FIG. 16 puede incluirse en el procedimiento 3000 de descodificación de vídeo.
La FIG. 31 ilustra un dispositivo 3100 de codificación de vídeo de acuerdo con una realización relativa a la división de un bloque actual y la determinación de un orden de codificación de bloques inferiores divididos.
El dispositivo 3100 de codificación de vídeo incluye un codificador 3110 y un generador 3120 de flujo de bits. En la FIG. 31, el codificador 3110 y el generador 3120 de flujo de bits se ilustran como unidades constituyentes separadas, pero de acuerdo con una realización, el codificador 3110 y el generador 3120 de flujo de bits pueden combinarse e implementarse como una unidad constituyente.
En la Figura 31, el codificador 3110 y el generador 3120 de flujo de bits se ilustran como incluidos en un único dispositivo, pero los dispositivos que realizan las funciones respectivas del codificador 3110 y del generador 3120 de flujo de bits pueden no estar necesariamente adyacentes físicamente entre sí. Por lo tanto, el codificador 3110 y el generador 3120 de flujo de bits pueden distribuirse de acuerdo con una realización.
El codificador 3110 y el generador 3120 de flujo de bits pueden ser implementados por un procesador de acuerdo con una realización. Además, el codificador 3110 y el generador 3120 de flujo de bits pueden ser implementados por una pluralidad de procesadores de acuerdo con una realización.
Funciones realizadas por el codificador 3110 y el generador 3120 de flujo de bits de la FIG. 31 puede ser realizado por el generador 120 de flujo de bits de la FIG. 1A.
El codificador 3110 puede dividir el bloque actual en al menos dos bloques inferiores, y puede determinar si dividir el bloque actual basándose en un resultado de la división del bloque actual. Por ejemplo, el codificador 3110 puede determinar dividir el bloque actual en caso de que la eficiencia de codificación sea buena al dividir el bloque actual, y puede determinar no dividir el bloque actual en caso de que la eficiencia de codificación sea buena al no dividir el bloque actual.
El codificador 3110 puede generar información de división indicando si dividir el bloque actual. El codificador 3110 puede determinar un procedimiento de división del bloque actual basado en la eficiencia de codificación, y puede generar información de forma de división indicando el procedimiento de división del bloque actual.
El codificador 3110 puede determinar un orden de codificación de los bloques inferiores incluidos en el bloque actual, y generar información de orden de codificación indicando el orden de codificación de los bloques inferiores, de acuerdo con la eficiencia de codificación basada en el orden de codificación. El codificador 3110 puede mejorar la eficiencia de codificación de una imagen comparando la eficiencia de codificación cuando la unidad de codificación actual se codifica en una dirección hacia adelante con la eficiencia de codificación cuando la unidad de codificación actual se codifica en una dirección inversa para determinar un orden de codificación.
Cuando se completa la división del bloque inferior, el codificador 3110 puede determinar un modo de predicción del bloque inferior. El codificador 3110 puede determinar el modo de predicción del bloque inferior de acuerdo con las eficiencias de codificación de los modos de predicción que pueden aplicarse al bloque inferior. Los modos de predicción que pueden aplicarse al bloque inferior incluyen un modo direccional, un modo DC, un modo planar, un modo MPI, un modo LM chroma, un modo MPC, un modo de fusión, un modo AMVP, un modo OBMC, un modo MVP de subbloque, un modo de fusión afín, un modo AMVP afín, un modo FRUC de coincidencia bidireccional, un modo FRUC de coincidencia de plantilla, un modo PDPC, etc.
El codificador 3110 puede determinar un procedimiento de predicción intra y un procedimiento de predicción inter considerando si el bloque derecho del bloque inferior es reconstruido. Además, el codificador 3110 puede aplicar el filtro de desbloqueo y el filtro SAO al bloque inferior teniendo en cuenta si se reconstruye el bloque derecho del bloque inferior. Además, el codificador 3110 puede descodificar por entropía la información de codificación del bloque inferior de acuerdo con el contexto determinado con base en sí, si se descodifican los bloques adyacentes del bloque inferior.
El generador 3120 de flujo de bits emite un flujo de bits que incluye información sobre la codificación del bloque actual generado por el codificador 3110. La información sobre la codificación del bloque actual puede incluir información sobre la división, información sobre la forma de la división, información sobre el orden de la división, información sobre el modo de predicción, etc.
0334, El dispositivo 3100 de codificación de vídeo de la FIG. 31 puede realizar un procedimiento de codificación de vídeo correspondiente a un procedimiento de descodificación de vídeo realizado por el dispositivo 1600 de descodificación de vídeo de la FIG. 16.
La FIG. 32 ilustra un procedimiento 3200 de codificación de vídeo de acuerdo con una realización relativa a la división de un bloque actual y la determinación de un orden de codificación de bloques inferiores divididos.
En la operación 3210, se determina la información de división que indica si se va a dividir el bloque actual.
En la operación 3220, cuando la información de división indica dividir el bloque actual, el bloque actual se divide en dos o más bloques inferiores.
En la operación 3230, se determina un orden de codificación de los bloques inferiores, y se determina información de orden de codificación que indica el orden de codificación de los bloques inferiores.
En la operación 3240, los bloques inferiores se codifican de acuerdo con la información de orden de codificación.
Funciones del dispositivo 3100 de codificación de vídeo descrito con referencia a la FIG. 31 puede incluirse en el procedimiento 3200 de codificación de vídeo.
La FIG. 33 es un diagrama para explicar un procedimiento de indicación de divisiones de una unidad de codificación de corriente.
split_unit() puede denotar la sintaxis para dividir la unidad de codificación actual. La información de división (split_mode) puede incluir al menos una de las siguientes informaciones: información que indica si se va a realizar la división, información sobre la dirección de la división e información sobre el tipo de división. La información que indica si se va a realizar la división indica si se va a dividir la unidad de codificación actual. La información de dirección de división indica que la unidad de codificación actual está dividida en una de las direcciones horizontal y vertical.
La información del tipo de división indica que la unidad de codificación está dividida en una de una división binaria, una división tri y una división cuádruple. La división binaria significa que una de las alturas y anchuras de la unidad de codificación se divide por 1/2. La división tri significa que una de las alturas y la anchura de la unidad de codificación se divide en 1:2:1. Además, la división cuádruple significa que la altura y la anchura de la unidad de codificación se dividen por 1/2.
Para facilitar la descripción, la presente divulgación describe la información de división (split_mode) como dividida en la información que indica si realizar la división, la información de dirección de división, y la información de tipo de división, pero la presente divulgación no se limita a ello. La información sobre un modo de forma de división puede expresarse combinando la información que indica si realizar la división, la información sobre la dirección de división o la información sobre el tipo de división. Por ejemplo, la información de división (split_mode) puede indicar que la unidad de codificación actual no está dividida (NO_SPLIT). Además, la información de división (split_mode) puede indicar una división cuádruple (QUAD_SPLIT). Además, la información de división (split_mode) puede indicar una división vertical binaria (BI_VER_SPLIT). Además, la información de división (split_mode) puede indicar una división horizontal binaria (BI_HOR_SPLIT). Además, la información de división (split_mode) puede indicar una división tri vertical (TRI_VER_SPLIT). La información de división (split_mode) puede indicar una división trihorizontal TRI_HOR_SPLIT.
El dispositivo 150 descodificador de imágenes puede obtener la información de división basándose en una cadena bin. El dispositivo 150 de descodificación de imágenes puede determinar si dividir la unidad de codificación, una dirección de división y un tipo de división, basándose en la cadena bin.
La cadena bin está representada sólo por bins que consisten en elementos de sintaxis de '0' o '1'. La cadena bin puede estar formada por al menos un bit. El dispositivo 150 de descodificación de imágenes puede determinar el número de bits de una cadena bin basándose en el número de modos de forma dividida permitidos por la unidad de codificación actual. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar que hay un modo en el que la unidad de codificación actual se divide de acuerdo con una dirección de división específica y un tipo de división específico, y un modo en el que la unidad de codificación actual no se divide. Es decir, puede haber dos modos de forma dividida permitidos desde la unidad de codificación actual. El dispositivo 150 de descodificación de imágenes puede determinar la información de división de una unidad de codificación basándose en una cadena bin para un modo de división que incluya un bin. El bin puede indicar si se debe realizar la división. El bin puede indicar que no hay división (NO_SPLIT). Cuando el bin indica división, el dispositivo 150 de descodificación de imágenes puede determinar la dirección de división o el tipo de división basándose en los modos de forma de división permitidos de la unidad de codificación actual.
Además, cuando hay tres modos de forma dividida permisibles desde la unidad de codificación actual, el dispositivo 150 de descodificación de imágenes puede obtener modos de forma dividida de la unidad de codificación basados en una cadena bin que incluye dos bins. Un primer bin de la cadena bin puede indicar si se va a realizar la división. El segundo bin de la cadena bin puede indicar un tipo de división o una dirección de división. El dispositivo 150 de descodificación de imágenes puede determinar la dirección de división o el tipo de división basándose en los modos de forma de división permitidos de la unidad de codificación actual.
Además, cuando hay cuatro o cinco modos de forma dividida permitidos de la unidad de codificación actual, el dispositivo 150 de descodificación de imágenes puede dividir la unidad de codificación basándose en una cadena bin que incluye tres bins. Un primer bin de la cadena bin puede indicar si se debe dividir. Un segundo bin de la cadena bin puede indicar un tipo de división o una dirección de división. Un tercer bin de la cadena bin puede indicar una dirección de división o un tipo de división. El dispositivo 150 de descodificación de imágenes puede determinar la dirección de división o el tipo de división basándose en los modos de forma de división permitidos de la unidad de codificación actual.
El dispositivo 150 de descodificación de imágenes puede obtener información sobre el modo de división a partir del flujo de bits, pero no está limitado a ello. El dispositivo 150 de descodificación de imágenes puede determinar la información sobre los modos de forma dividida basándose en una regla de división preestablecida con el dispositivo 100 de codificación de imágenes. El dispositivo 150 de descodificación de imágenes puede determinar información sobre un modo de división preestablecido basándose en un tamaño de la unidad de codificación actual. Por ejemplo, el dispositivo 150 de descodificación de imágenes puede determinar información sobre un modo de división de una unidad de codificación que tenga un tamaño máximo como QUAD_SPLIT. Además, el dispositivo 150 de descodificación de imágenes puede determinar información sobre un modo de división de una unidad de codificación que tenga un tamaño mínimo como NO_SPLIT.
De acuerdo con un procedimiento de binarización adaptativa del modo de forma dividida o un procedimiento de binarización inversa de una cadena bin con respecto al modo de forma dividida, cuando los tipos de modos de forma dividida permitidos para el bloque actual son diferentes, un modo dividido correspondiente a la cadena bin puede variar, aunque el número de modos de forma dividida permitidos sea el mismo.
De acuerdo con la técnica de codificación de vídeo basada en las unidades de codificación que tienen la estructura de árbol descrita anteriormente con referencia a las FIGS. 1 a 3, los datos de imagen en un dominio espacial se codifican para cada unidad de codificación que tiene la estructura de árbol, y mientras se realiza la descodificación en cada unidad de codificación mayor de acuerdo con la técnica de descodificación de vídeo basada en las unidades de codificación que tienen la estructura de árbol, se reconstruyen los datos de imagen en el dominio espacial. Por lo tanto, se puede reconstruir una imagen y un vídeo que sea una secuencia de imágenes. El vídeo reconstruido puede reproducirse mediante un dispositivo de reproducción, almacenarse en un medio de almacenamiento o transmitirse a través de una red.
Las realizaciones descritas anteriormente de la presente divulgación pueden escribirse como un programa ejecutable en un ordenador, y pueden implementarse en un ordenador digital de propósito general que opere el programa utilizando un medio de grabación legible por ordenador.
Aunque la presente divulgación se describe en relación con las mejores realizaciones específicas, otras sustituciones, modificaciones y revisiones de la presente divulgación serán evidentes para los expertos en la materia en vista de las descripciones descritas anteriormente. La invención se establece en el conjunto de reivindicaciones adjuntas.

Claims (4)

REIVINDICACIONES
1. Un procedimiento de descodificación de vídeo que comprende:
obtener, a partir de un flujo de bits, información de división que indique si un bloque actual debe dividirse en al menos dos bloques inferiores;
cuando la información de división indica que el bloque actual no se va a dividir en al menos dos bloques inferiores, descodificar el bloque actual basándose en la información de codificación sobre el bloque actual; cuando la información de división indica que el bloque actual debe dividirse en al menos dos bloques inferiores, dividir el bloque actual en al menos dos bloques inferiores, obtener, a partir del flujo de bits, información de orden de codificación que indique un orden de codificación de un bloque inferior izquierdo y un bloque inferior derecho entre bloques inferiores horizontalmente vecinos entre los al menos dos bloques inferiores, determinar, basándose en la información de orden de codificación, si un orden de descodificación del bloque inferior izquierdo y el bloque inferior derecho es un primer orden desde el bloque inferior izquierdo al bloque inferior derecho o un segundo orden desde el bloque inferior derecho al bloque inferior izquierdo; y descodificar el bloque inferior izquierdo y del bloque inferior derecho de acuerdo con el primer orden o el segundo orden,
caracterizado porquela descodificación del bloque inferior izquierdo y del bloque inferior derecho de acuerdo con el primer orden o el segundo orden comprende:
cuando el bloque inferior derecho se descodifica antes que el bloque inferior izquierdo de acuerdo con el segundo orden, determinar la información de contexto para la información del modo de predicción del bloque inferior izquierdo utilizando si un bloque adyacente a un lado izquierdo del bloque inferior izquierdo se predice en un modo intra, si el bloque inferior derecho adyacente a un lado derecho del bloque inferior izquierdo se predice en un modo intra, y si un bloque adyacente a un lado superior del bloque inferior izquierdo se predice en un modo intra;
realizar la descodificación de entropía utilizando la información de contexto para obtener la información de modo de predicción del bloque inferior izquierdo; y realizar la predicción en el bloque inferior izquierdo en un modo de predicción determinado con base en la información de modo de predicción, entre un modo intra o un modo inter.
2. Un dispositivo descodificador de vídeo que comprende:
un divisor de bloques configurado para obtener, a partir de un flujo de bits, información de división que indique si un bloque actual debe dividirse en al menos dos bloques inferiores y, cuando la información de división indique que el bloque actual debe dividirse en al menos dos bloques inferiores, dividir el bloque actual en los al menos dos bloques inferiores;
un determinador del orden de codificación configurado para obtener, a partir del flujo de bits, información del orden de codificación que indica un orden de codificación de un bloque inferior izquierdo y un bloque inferior derecho entre bloques inferiores horizontalmente vecinos entre los al menos dos bloques inferiores, determinando, basándose en la información del orden de codificación, si un orden de descodificación del bloque inferior izquierdo y el bloque inferior derecho es un primer orden del bloque inferior izquierdo al bloque inferior derecho o un segundo orden del bloque inferior derecho al bloque inferior izquierdo; y
un descodificador configurado para descodificar el bloque inferior izquierdo y el bloque inferior derecho de acuerdo con el primer orden o el segundo orden,
caracterizado porque: cuando el bloque inferior derecho se descodifica antes que el bloque inferior izquierdo de acuerdo con el segundo orden, el descodificador determina la información de contexto para la información de modo de predicción del bloque inferior izquierdo utilizando si un bloque adyacente a un lado izquierdo del bloque inferior izquierdo se predice en un modo intra, si el bloque inferior derecho adyacente a un lado derecho del bloque inferior izquierdo se predice en un modo intra, y si un bloque adyacente a un lado superior del bloque inferior izquierdo se predice en un modo intra, realiza la descodificación de entropía utilizando la información de contexto para obtener la información de modo de predicción del bloque inferior izquierdo, y realiza la predicción en el bloque inferior izquierdo en un modo de predicción determinado, basándose en la información de modo de predicción, entre un modo intra o un modo inter.
3. Un procedimiento de codificación de vídeo que comprende:
determinar información de división que indique si un bloque actual debe dividirse en al menos dos bloques inferiores;
cuando el bloque actual no vaya a dividirse en al menos dos bloques inferiores, codificar el bloque actual; cuando el bloque actual se va a dividir en al menos dos bloques inferiores, dividir el bloque actual en al menos dos bloques inferiores, determinando si un orden de codificación de un bloque inferior izquierdo y un bloque inferior derecho entre bloques inferiores horizontalmente vecinos entre las al menos dos unidades de codificación inferiores es un primer orden desde el bloque inferior izquierdo al bloque inferior derecho o un segundo orden desde el bloque inferior derecho al bloque inferior izquierdo;
generar información de orden de codificación que indique que el orden de codificación del bloque inferior izquierdo y del bloque inferior derecho es el primer orden o el segundo orden; y
codificar el bloque inferior izquierdo y el bloque inferior derecho de acuerdo con el primer orden o el segundo orden,
caracterizado porquela codificación del bloque inferior izquierdo y del bloque inferior derecho de acuerdo con el primer orden o el segundo orden comprende:
cuando el bloque inferior derecho se codifica antes que el bloque inferior izquierdo de acuerdo con el segundo orden, determinar información de modo de predicción del bloque inferior izquierdo indicando qué modo de predicción entre un modo intra o un modo inter es el modo de predicción utilizado para predecir el bloque inferior izquierdo, y determinar la información de contexto para la información de modo de predicción del bloque inferior izquierdo utilizando si un bloque adyacente a un lado izquierdo del bloque inferior izquierdo se predice en un modo intra, si el bloque inferior derecho adyacente a un lado derecho del bloque inferior izquierdo se predice en un modo intra, y si un bloque adyacente a un lado superior del bloque inferior izquierdo se predice en un modo intra; y
realizar la codificación de entropía para la información del modo de predicción del bloque inferior izquierdo utilizando la información de contexto.
4. Un medio de grabación legible por ordenador que tiene grabado allí un programa para ejecutar el procedimiento de descodificación de video de la reivindicación 1.
ES18863068T 2017-09-28 2018-03-30 Procedimiento y dispositivo de codificación, y procedimiento y dispositivo de descodificación Active ES2969557T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762564660P 2017-09-28 2017-09-28
PCT/KR2018/003824 WO2019066174A1 (ko) 2017-09-28 2018-03-30 부호화 방법 및 그 장치, 복호화 방법 및 그 장치

Publications (1)

Publication Number Publication Date
ES2969557T3 true ES2969557T3 (es) 2024-05-21

Family

ID=65903408

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18863068T Active ES2969557T3 (es) 2017-09-28 2018-03-30 Procedimiento y dispositivo de codificación, y procedimiento y dispositivo de descodificación

Country Status (6)

Country Link
US (3) US11616971B2 (es)
EP (3) EP4283992A3 (es)
KR (3) KR102487077B1 (es)
CN (3) CN116405680A (es)
ES (1) ES2969557T3 (es)
WO (1) WO2019066174A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11284076B2 (en) * 2017-03-22 2022-03-22 Electronics And Telecommunications Research Institute Block form-based prediction method and device
US11616971B2 (en) * 2017-09-28 2023-03-28 Samsung Electronics Co., Ltd. Encoding and decoding method and device for determining a decoding order between a left and a right lower blocks
US11611757B2 (en) * 2018-04-02 2023-03-21 Qualcomm Incorproated Position dependent intra prediction combination extended with angular modes
BR112020027043A2 (pt) * 2018-09-03 2021-03-30 Huawei Technologies Co., Ltd. Método e decodificador para interpredição
US11252442B2 (en) 2019-04-08 2022-02-15 Tencent America LLC Method and apparatus for video coding
US11363279B2 (en) * 2019-04-15 2022-06-14 Tencent America LLC Method and apparatus in video coding with flexible coding order
CN112437298A (zh) * 2019-08-26 2021-03-02 北京三星通信技术研究有限公司 编解码方法及装置
WO2022031018A1 (ko) * 2020-08-04 2022-02-10 현대자동차주식회사 임의 블록 분할을 이용한 비디오 부호화 및 복호화
WO2022268207A1 (en) * 2021-06-25 2022-12-29 FG Innovation Company Limited Device and method for partitioning blocks in video coding
WO2023049486A1 (en) * 2021-09-27 2023-03-30 Beijing Dajia Internet Information Technology Co., Ltd. Adaptive coding order for intra prediction in video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101379188B1 (ko) * 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
WO2011145819A2 (ko) 2010-05-19 2011-11-24 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
KR101427229B1 (ko) * 2011-09-20 2014-08-18 한양대학교 산학협력단 적응적인 부호화 순서를 이용한 영상 부호화/복호화 장치 및 방법
US9961343B2 (en) * 2011-10-24 2018-05-01 Infobridge Pte. Ltd. Method and apparatus for generating reconstructed block
WO2013109122A1 (ko) 2012-01-19 2013-07-25 삼성전자 주식회사 계층적 부호화 단위에 따라 스캔 순서를 변경하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10880548B2 (en) 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
KR102504876B1 (ko) 2016-11-01 2023-02-28 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11616971B2 (en) * 2017-09-28 2023-03-28 Samsung Electronics Co., Ltd. Encoding and decoding method and device for determining a decoding order between a left and a right lower blocks

Also Published As

Publication number Publication date
US11616971B2 (en) 2023-03-28
US20200260104A1 (en) 2020-08-13
KR20200038257A (ko) 2020-04-10
CN111149360B (zh) 2023-04-21
WO2019066174A1 (ko) 2019-04-04
EP3691265B1 (en) 2023-11-29
EP3691265A4 (en) 2021-02-17
KR102487077B1 (ko) 2023-01-10
US20230188747A1 (en) 2023-06-15
CN111149360A (zh) 2020-05-12
EP4283992A3 (en) 2024-02-28
EP3691265A1 (en) 2020-08-05
EP4283991A2 (en) 2023-11-29
EP4283992A2 (en) 2023-11-29
US11924462B2 (en) 2024-03-05
KR20240045374A (ko) 2024-04-05
KR20230010063A (ko) 2023-01-17
EP3691265C0 (en) 2023-11-29
KR102652812B1 (ko) 2024-04-01
CN116405681A (zh) 2023-07-07
EP4283991A3 (en) 2024-02-28
US20240171768A1 (en) 2024-05-23
CN116405680A (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
ES2969557T3 (es) Procedimiento y dispositivo de codificación, y procedimiento y dispositivo de descodificación
JP7288111B2 (ja) 符号化方法及びその装置、復号方法及びその装置
KR102504876B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
ES2892473T3 (es) Método y dispositivo para realizar descodificación de imágenes sobre la base de la intrapredicción en sistemas de codificación de imágenes
KR102524588B1 (ko) 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
ES2765023T3 (es) Método para señalizar información de imagen y método para decodificar información de imagen usándolo
ES2737845B2 (es) Metodo y aparato para procesar senal de video
ES2703607A2 (es) Método y aparato para procesar señales de vídeo
ES2972076T3 (es) Procedimiento de codificación/decodificación de señales de imagen y dispositivo para lo mismo
KR102504877B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
ES2705331A2 (es) Método para inducir un bloque candidato de fusión y dispositivo que usa el mismo
KR102380233B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR20220017004A (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR20200120605A (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN113574872A (zh) 编码方法及其装置以及解码方法及其装置
CN111567050A (zh) 编码方法及其设备以及解码方法及其设备
KR102699070B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치