Nothing Special   »   [go: up one dir, main page]

ES2863416T3 - Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo - Google Patents

Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo Download PDF

Info

Publication number
ES2863416T3
ES2863416T3 ES20150492T ES20150492T ES2863416T3 ES 2863416 T3 ES2863416 T3 ES 2863416T3 ES 20150492 T ES20150492 T ES 20150492T ES 20150492 T ES20150492 T ES 20150492T ES 2863416 T3 ES2863416 T3 ES 2863416T3
Authority
ES
Spain
Prior art keywords
unit
depth
information
current
coding
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
ES20150492T
Other languages
English (en)
Inventor
Hak-Sup Song
Jung-Hye Min
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 ES2863416T3 publication Critical patent/ES2863416T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un procedimiento de decodificación de una imagen, comprendiendo el procedimiento: extraer información sobre un modo de intrapredicción aplicado a un bloque actual, información sobre el tamaño máximo de una unidad de codificación, información sobre una profundidad máxima que indica el número total de veces posibles que se divide una unidad de codificación máxima, e información sobre una profundidad codificada, de un flujo de bits; y realizar intrapredicción en el bloque actual de acuerdo con el modo de intrapredicción, en el que el modo de predicción intra indica una dirección particular entre una pluralidad de direcciones, la dirección particular se indica mediante un número dx en una dirección horizontal y un número dy en una dirección vertical, siendo el número dx y el número dy números enteros, en el que una imagen se divide en una pluralidad de unidades de codificación máximas cuadradas usando la información sobre el tamaño máximo de la unidad de codificación, y cada una de la pluralidad de las unidades de codificación máxima cuadrada se divide en unidades de codificación cuadradas del mismo tamaño de una estructura jerárquica, y usando la información sobre una profundidad codificada, en el que: la información sobre la profundidad codificada comprende información dividida que indica si una unidad de codificación de una profundidad actual, entre las unidades de codificación, se divide en unidades de codificación de menor profundidad, cuando la información dividida indica una división para la unidad de codificación de la profundidad actual, entre las unidades de codificación de al menos una profundidad, las unidades de codificación de la profundidad inferior se determinan dividiendo la altura y el ancho de la unidad de codificación de la profundidad actual por dos, cuando la información dividida indica que la unidad de codificación de la profundidad actual ya no está dividida, se obtienen una o varias unidades de predicción de la unidad de codificación de la profundidad actual dividiendo por igual un ancho o una altura de la unidad de codificación actual por dos, o dividiendo por igual tanto la altura como el ancho de la unidad de codificación actual por dos, o determinando la unidad de codificación actual como la unidad de predicción basada en la información sobre un tipo de partición, y una o varias unidades de transformación cuadradas del mismo tamaño se obtienen de la unidad de codificación de la profundidad actual para realizar la transformación inversa en la unidad de codificación de la profundidad actual mediante el uso de información sobre un tamaño de la unidad de transformación, en el que la información sobre un tipo de partición y la información sobre un tamaño de la unidad de transformación se extraen del flujo de bits, en el que el bloque actual es una unidad de predicción obtenida de la unidad de codificación de la profundidad actual, en el que el realizar la intrapredicción comprende obtener un valor de predicción de un píxel actual del bloque actual usando un píxel vecino obtenido de acuerdo con una posición del píxel actual del bloque actual, y la dirección particular indicada por el número dx en la dirección horizontal y el número dy en la dirección vertical.

Description

DESCRIPCIÓN
Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo
rCampo técnico!
Las realizaciones de ejemplo se refieren a la codificación y decodificación de un vídeo, y más particularmente, con un procedimiento de decodificación de una imagen, un aparato de codificación de una imagen y un medio legible por ordenador para almacenar datos que comprenden un flujo de bits.
Antecedentes de la técnica!
De acuerdo con una norma de compresión de imagen, tal como el grupo de expertos de imágenes en movimiento (MPEG)-1, MPEG-2, MPEG- 4, o H.264/MPEG-4 codificación de vídeo avanzada (AVC), una instantánea se divide en macrobloques para codificación de vídeo. Después de que cada uno de los macrobloques se codifica en cualquiera de modos de codificación de inter predicción e intra predicción, se selecciona un modo de codificación apropiado de acuerdo con una tasa de bits requerida para codificar el macrobloque y una distorsión permisible entre el macrobloque original y el macrobloque decodificado. A continuación se codifica el macrobloque en el modo de codificación seleccionado.
A medida que se está desarrollando y suministrando hardware para reproducir y almacenar contenido de vídeo de alta resolución o alta calidad, aumenta una necesidad de un códec de vídeo para codificación o decodificación de manera eficaz del contenido de vídeo de alta resolución o alta calidad. En un códec de vídeo convencional, un vídeo se codifica de acuerdo con un procedimiento de codificación limitado basado en un macrobloque que tiene un tamaño predeterminado.
El documento EP2081386 A1 describe una invención para codificación y decodificación de una imagen y datos de vídeo, en particular para un nuevo modo de predicción espacial para predecir un bloque de datos de imagen a partir de datos de imagen de bloques previamente codificados/decodificados. De acuerdo con este modo de predicción, los bloques que contienen bordes agudos pueden predecirse de manera más fiel teniendo en cuenta la dirección precisa del borde. Además, el nuevo modo de predicción no requiere sobrecarga de señalización adicional alguna, puesto que (i) la dirección del borde se estima desde bloques previamente codificados y (ii) el nuevo modo de predicción sustituye el modo de CC convencional para bloques que contienen borde agudos.
El documento KIM J Y COL: “Enlarging MB size for high fidelity video coding beyond HD”, 36. VCEG MEETING; 8-10­ 2008 -10-10-2008; SAN DIEGO, ESTADOS UNIDOS; (VIDEO CODINGEXPERTS GROUP OF ITU-T SG.16), n.° VCEG-AJ21, 5 de octubre de 2008 (05-10-2008), XP30003643A describe ampliar la arquitectura del códec H.264 con tamaños de MB ampliados. La mayoría de los códecs de vídeo han vivido mucho tiempo con codificación basada en MB, que está limitando ahora la eficacia de codificación hacia la codificación de vídeo de resoluciones por encima de la Alta Definición (HD). Incluso aunque se haya desarrollado el perfil Alto de H.264 denominado herramientas FRExt, para contenidos de alta tasa de bits, aún mantiene el tamaño del MB para que sea 16x16 para codificación predictiva basada en ME y MC así como intra codificación 16x16. Limitar el tamaño de MB en 16x16 puede ser uno de los factores para restringir el rendimiento de RD en el vídeo de alta resolución. Por lo tanto, ha habido un intento para hacer mejorar la eficacia de codificación de H.264 ampliando el tamaño de MB al máximo 128x128. Este intento se ha realizado con la extensión al software de referencia JM. Para esto, ha de definirse, redefinirse o ampliarse nuevamente lo siguiente: nuevos tipos de modo de MB para MB ampliados, CBVP para nuevos MB o indexación de bloque, etc. En esta propuesta, la arquitectura ampliada con la estructura de MB ampliada se propone en primer lugar para ME y MC pero aún no se han tratado nuevos diseños de núcleos de transformada, intra predicción, transformadas de c C de luma/crominancia, modelos de contexto de CABAC y filtros de desbloqueo para el MB ampliado.
[Divulgación!
rProblema técnico!
En un códec de vídeo convencional, se codifica un vídeo de acuerdo con un procedimiento de codificación limitado basándose en un macrobloque que tiene un tamaño predeterminado.
rSolución técnica!
La presente invención se define en las reivindicaciones independientes adjuntas. La divulgación habilitante para la invención se encuentra en las realizaciones de las Figuras 1, 6-12, 17a-c, 24, 25. Las otras realizaciones de ejemplo no son de acuerdo con la invención y están presentes únicamente con fines ilustrativos. La presente invención proporciona un procedimiento de decodificación y un aparato para codificar un vídeo que utiliza un procedimiento de intra predicción que tiene diversas directividades basadas en unidades jerárquicas de codificación que tienen diversos tamaños.
rEfectos ventajosos!
De acuerdo con la presente invención, se mejora eficacia de codificación para codificación de vídeo.
rDescripción de los dibujos!
La Figura 1 es un diagrama de bloques de un aparato para codificar un vídeo, de acuerdo con una realización ejemplar;
La Figura 2 es un diagrama de bloques de un aparato para decodificar un vídeo, de acuerdo con una realización ejemplar;
La Figura 3 es un diagrama para explicar un concepto de unidades de codificación de acuerdo con una realización ejemplar;
La Figura 4 es un diagrama de bloques de un codificador de imagen basado en unidades de codificación de acuerdo con una realización ejemplar;
La Figura 5 es un diagrama de bloques de un decodificador de imagen basado en unidades de codificación de acuerdo con una realización ejemplar;
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones de acuerdo con una realización ejemplar;
La Figura 7 es un diagrama para explicar una relación entre una unidad de codificación y unidades de transformada, de acuerdo con una realización ejemplar;
La Figura 8 es un diagrama para explicar información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización ejemplar;
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización ejemplar;
Las Figuras 10 a 12 son diagramas para explicar una relación entre unidades de codificación, unidades de predicción, y unidades de transformada, de acuerdo con una realización ejemplar;
La Figura 13 es un diagrama para explicar una relación entre una unidad de codificación, una unidad de predicción o una partición, y una unidad de transformada, de acuerdo con información de modo de codificación de la Tabla 1; La Figura 14 ilustra un número de los modos de intra predicción de acuerdo con un tamaño de una unidad de codificación, de acuerdo con una realización ejemplar;
Las Figuras 15A a 15C son diagramas para explicar un modo de intra predicción aplicado a una unidad de codificación que tiene un tamaño predeterminado, de acuerdo con una realización ejemplar;
La Figura 16 es un diagrama para explicar un modo de intra predicción aplicado a una unidad de codificación que tiene un tamaño predeterminado, de acuerdo con otra realización ejemplar;
La Figura 17 es un diagrama de referencia para explicar modos de intra predicción que tienen diversas direccionalidades, de acuerdo con una realización ejemplar;
La Figura 18 es un diagrama de referencia para explicar un modo bilineal de acuerdo con una realización ejemplar; La Figura 19 es un diagrama para explicar un procedimiento de generación de un valor de predicción de un modo de intra predicción de una unidad de codificación actual, de acuerdo con una realización ejemplar;
La Figura 20 es un diagrama de referencia para explicar un procedimiento de mapeo de unificación de modos de intra predicción de unidades de codificación que tienen diferentes tamaños, de acuerdo con una realización ejemplar;
La Figura 21 es un diagrama de referencia para explicar un procedimiento de mapeo de modos de intra predicción de unidades de codificación vecinas a uno representativo de los modos de intra predicción, de acuerdo con una realización ejemplar;
La Figura 22 es un diagrama de bloques de un aparato de intra predicción de acuerdo con una realización ejemplar; La Figura 23 es un diagrama de flujo que ilustra un procedimiento de codificación de una imagen, de acuerdo con una realización ejemplar;
La Figura 24 es un diagrama de flujo que ilustra un procedimiento de decodificación de una imagen, de acuerdo con una realización ejemplar;
La Figura 25 es un diagrama para explicar una relación entre un píxel actual y píxeles vecinos localizados en una línea extendida que tiene una direccionalidad de (dx, dy);
La Figura 26 es un diagrama para explicar un cambio en un píxel vecino localizado en una línea extendida que tiene una direccionalidad de (dx, dy) de acuerdo con una localización de un píxel actual, de acuerdo con una realización ejemplar;
Las Figuras 27 y 28 son diagramas para explicar un procedimiento de determinación de una dirección de modo de intra predicción, de acuerdo con las realizaciones ejemplares; y
La Figura 29 es un diagrama que ilustra una unidad de codificación actual y píxeles vecinos a usarse para intra predicción, de acuerdo con una realización ejemplar.
rMeior modo!
De acuerdo con una realización de ejemplo, se proporciona un procedimiento de decodificación de una imagen, un aparato de codificación de una imagen y un medio legible por ordenador para almacenar datos que comprenden un flujo de bits como se establece en las reivindicaciones independientes adjuntas.
rModo para la invención!
En lo sucesivo, las realizaciones ejemplares se describirán más completamente con referencia a los dibujos adjuntos, en los que se muestran realizaciones ejemplares.
En la presente memoria descriptiva, una 'unidad de codificación' es una unidad de datos de codificación en la que se codifican datos de imagen en un lado de codificador y una unidad de datos codificados en la que se decodifican los datos de imagen codificados en un lado de decodificador, de acuerdo con las realizaciones ejemplares. También, una 'profundidad codificada' significa una profundidad donde se codifica una unidad de codificación. También, el vídeo comprende una imagen fija e instantánea en movimiento. En las realizaciones ejemplares, 'unidad' puede hacer referencia o no a una unidad de tamaño, dependiendo de su contexto.
En primer lugar, se describirá un procedimiento y aparato para codificación de vídeo y un procedimiento y aparato para decodificación de vídeo, de acuerdo con una realización ejemplar, con referencia a las Figuras 1 a 13.
La Figura 1 es un diagrama de bloques de un aparato 100 para codificar un vídeo, de acuerdo con una realización ejemplar.
El aparato 100 incluye un divisor 110 de unidad de codificación máxima, un determinador 120 de unidad de codificación, y una unidad 130 de salida.
El divisor 110 de unidad de codificación máxima puede dividir una instantánea actual basándose en una unidad de codificación máxima para la instantánea actual de una imagen. Si la instantánea actual es mayor que la unidad de codificación máxima, pueden dividirse datos de imagen de la instantánea actual en la al menos una unidad de codificación máxima. La unidad de codificación máxima de acuerdo con una realización ejemplar puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en la que una forma de la unidad de datos es un cuadrado que tiene una anchura y altura en cuadrados de 2. Los datos de imagen pueden emitirse al determinador 120 de unidad de codificación de acuerdo con la al menos una unidad de codificación máxima.
Una unidad de codificación de acuerdo con una realización ejemplar puede estar caracterizada por un tamaño máximo y una profundidad. La profundidad indica un número de veces que la unidad de codificación se divide espacialmente desde la unidad de codificación máxima, y a medida que la profundidad se hace profunda o aumenta, pueden dividirse unidades de codificación más profundas de acuerdo con las profundidades desde la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad más superior y una profundidad de la unidad de codificación mínima es una profundidad más inferior. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad se reduce a medida que la profundidad de la unidad de codificación máxima se hace profunda, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la instantánea actual se dividen en las unidades de codificación máxima de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máxima puede incluir unidades de codificación más profundas que se dividen de acuerdo con las profundidades. Puesto que la unidad de codificación máxima de acuerdo con una realización ejemplar se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación máxima pueden clasificarse jerárquicamente de acuerdo con las profundidades.
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limita el número total de veces que se divide jerárquicamente una altura y una anchura de la unidad de codificación máxima puede predeterminarse.
El determinador 120 de unidad de codificación codifica al menos una región de división obtenida dividiendo una región de la unidad de codificación máxima de acuerdo con las profundidades, y determina una profundidad para emitir unos datos de imagen finalmente codificados de acuerdo con la al menos una región de división. En otras palabras, el determinador 120 de unidad de codificación determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con la unidad de codificación máxima de la instantánea actual, y selecciona una profundidad que tiene el mínimo error de codificación. Por lo tanto, se emiten finalmente los datos de imagen codificados de la unidad de codificación que corresponden a la profundidad codificada determinada. También, las unidades de codificación que corresponden a la profundidad codificada pueden considerare como unidades de codificación codificadas.
La profundidad codificada determinada y los datos de imagen codificados de acuerdo con la profundidad codificada determinada se emiten a la unidad 130 de salida.
Los datos de imagen en la unidad de codificación máxima se codifican basándose en las unidades de codificación más profundas que corresponden a al menos una profundidad igual o por debajo de la profundidad máxima, y los resultados de la codificación de los datos de imagen se comparan basándose en cada una de las unidades de codificación más profundas. Una profundidad que tiene el mínimo error de codificación puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide jerárquicamente de acuerdo con las profundidades, y a medida que el número de unidades de codificación aumenta.
También, incluso si las unidades de codificación corresponden a la misma profundidad en una unidad de codificación máxima, cada una de las unidades de codificación que corresponden a la misma profundidad puede dividirse a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, de manera separada. Por consiguiente, incluso cuando los datos de imagen se incluyen en una unidad de codificación máxima, los datos de imagen se dividen a regiones de acuerdo con las profundidades, los errores de codificación pueden diferir de acuerdo con las regiones en la unidad de codificación máxima, y por lo tanto las profundidades codificadas pueden diferir de acuerdo con las regiones en los datos de imagen. Por lo tanto, puede determinarse una o más profundidades codificadas en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima pueden dividirse de acuerdo con las unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador 120 de unidad de codificación puede determinar unidades de codificación que tienen una estructura de árbol incluidas en la unidad de codificación máxima. Las unidades de codificación que tienen una estructura de árbol de acuerdo con una realización ejemplar incluyen unidades de codificación que corresponden a una profundidad determinada para que sea la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente de acuerdo con las profundidades en la misma región de la unidad de codificación máxima, y puede determinarse independientemente en regiones diferentes. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente desde una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una realización ejemplar es un índice relacionado con el número de veces de división de una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima de acuerdo con una realización ejemplar puede indicar el número total de veces de división desde la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima de acuerdo con una realización ejemplar puede indicar el número total de niveles de profundidad desde la unidad de codificación máxima a la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide dos veces, puede establecerse a 2. En este punto, si la unidad de codificación mínima es una unidad de codificación en la que la unidad de codificación máxima se divide cuatro veces, existen 5 niveles de profundidad de profundidades 0, 1, 2, 3 y 4, y por lo tanto la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
Puede realizarse codificación por predicción y transformación de acuerdo con la unidad de codificación máxima. La codificación por predicción y la transformación también se realizan basándose en las unidades de codificación más profundas de acuerdo con una profundidad igual a, o profundidades menores que la profundidad máxima, de acuerdo con la unidad de codificación máxima. La transformación puede realizarse de acuerdo con el procedimiento de transformación ortogonal o transformación de números enteros.
Puesto que el número de unidades de codificación más profundas aumenta siempre que la unidad de codificación máxima se divide de acuerdo con las profundidades, la codificación que incluye la codificación por predicción y la transformación se realiza en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace más profunda. Por conveniencia de descripción, la codificación por predicción y la transformación se describirán ahora basándose en una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato 100 puede seleccionar de manera variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, se realizan operaciones, tales como codificación por predicción, transformación, y codificación por entropía, y en este momento, la misma unidad de datos puede usarse para todas las operaciones o pueden usarse diferentes unidades de datos para cada operación.
Por ejemplo, el aparato 100 puede seleccionar no únicamente una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción en los datos de imagen en la unidad de codificación.
Para realizar codificación por predicción en la unidad de codificación máxima, la codificación por predicción puede realizarse basándose en una unidad de codificación que corresponde a una profundidad codificada, es decir, basándose en una unidad de codificación que ya no se divide más a unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no se divide más y se vuelve una unidad de base para codificación por predicción se denominará ahora como una unidad de predicción. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (donde N es un número entero positivo) ya no se divide más y se vuelve una unidad de predicción de 2Nx2N, y un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N o NxN. Ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen dividiendo simétricamente una altura o anchura de la unidad de predicción, particiones obtenidas dividiendo asimétricamente la altura o anchura de la unidad de predicción, tal como 1:n o n:1, particiones que se obtienen dividiendo geométricamente la unidad de predicción, y particiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un intra modo, un inter modo, y un modo de salto. Por ejemplo, el intra modo o el inter modo pueden realizarse en la partición de 2Nx2N, 2NxN, Nx2N o NxN. También, el modo de salto puede realizarse únicamente en la partición de 2Nx2N. La codificación se realiza independientemente en una unidad de predicción en una unidad de codificación, seleccionado de esta manera un modo de predicción que tiene un mínimo error de codificación.
El aparato 100 puede realizar también la transformación en los datos de imagen en una unidad de codificación basándose no únicamente en la unidad de codificación para codificar los datos de imagen, sino también basándose en una unidad de datos que es diferente de la unidad de codificación.
Para realizar la transformación en la unidad de codificación, la transformación puede realizarse basándose en una unidad de datos que tiene un tamaño menor o igual que la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un intra modo y una unidad de datos para un inter modo.
Una unidad de datos usada como una base de la transformación se denominará ahora como una unidad de transformada. Una profundidad de transformación que indica el número de veces de división para alcanzar la unidad de transformada dividiendo la altura y anchura de la unidad de codificación puede establecerse también en la unidad de transformada. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformada es también 2Nx2N, puede ser 1 cuando cada una de la altura y anchura de la unidad de codificación actual se divide en dos partes iguales, divididas totalmente en 4A1 unidades de transformada, y el tamaño de la unidad de transformada es por lo tanto NxN, y puede ser 2 cuando cada una de la altura y anchura de la unidad de codificación actual se divide en cuatro partes iguales, dividida totalmente en 4A2 unidades de transformada y el tamaño de la unidad de transformada es por lo tanto N/2xN/2. Por ejemplo, la unidad de transformada puede establecerse de acuerdo con una estructura de árbol jerárquico, en la que una unidad de transformada de una profundidad de transformación superior se divide en cuatro unidades de transformada de una profundidad de transformación inferior de acuerdo con las características jerárquicas de una profundidad de transformación.
De manera similar a la unidad de codificación, la unidad de transformada en la unidad de codificación puede dividirse de manera recursiva en regiones con tamaño menor, de modo que la unidad de transformada puede determinarse de manera independiente en unidades de regiones. Por lo tanto, pueden dividirse datos residuales en la unidad de codificación de acuerdo con la transformación que tiene la estructura de árbol de acuerdo con profundidades de transformación.
La información de codificación de acuerdo con las unidades de codificación que corresponden a una profundidad codificada requiere no únicamente información acerca de la profundidad codificada, sino también información relacionada con codificación por predicción y transformación. Por consiguiente, el determinador 120 de unidad de codificación no únicamente determina una profundidad codificada que tiene un mínimo error de codificación, sino que también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción, y un tamaño de una unidad de transformada para transformación.
Las unidades de codificación de acuerdo con una estructura de árbol en una unidad de codificación máxima y un procedimiento de determinación de una partición, de acuerdo con las realizaciones ejemplares, se describirán en detalle más adelante con referencia a las Figuras 3 a 12.
El determinador 120 de unidad de codificación puede medir un error de codificación de unidades de codificación más profundas de acuerdo con las profundidades usando Optimización de Tasa-Distorsión basándose en multiplicadores de Lagrange.
La unidad 130 de salida emite los datos de imagen de la unidad de codificación máxima, que se codifican basándose en la al menos una profundidad codificada determinada por el determinador 120 de unidad de codificación, y la información acerca del modo de codificación de acuerdo con la profundidad codificada, en secuencias de bits.
Los datos de imagen codificados pueden obtenerse codificando datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de partición en la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformada.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con las profundidades, que indica si se realiza codificación en unidades de codificación de una profundidad inferior en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, se codifican y emiten los datos de imagen en la unidad de codificación actual, y por lo tanto la información de división puede definirse para no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad inferior, y por lo tanto la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Puesto que al menos existe una unidad de codificación de la profundidad inferior en una unidad de codificación de la profundidad actual, la codificación se realiza de manera repetitiva en cada unidad de codificación de la profundidad inferior, y por lo tanto la codificación puede realizarse de manera recursiva para las unidades de codificación que tienen la misma profundidad.
Puesto que las unidades de codificación que tienen una estructura de árbol se determinan para una unidad de codificación máxima, y se determina información acerca de al menos un modo de codificación para una unidad de codificación de una profundidad codificada, puede determinarse información acerca de al menos un modo de codificación para una unidad de codificación máxima. También, una profundidad codificada de los datos de imagen de la unidad de codificación máxima puede ser diferente de acuerdo con las localizaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con las profundidades, y por lo tanto la información acerca de la profundidad codificada y el modo de codificación puede establecerse para los datos de imagen.
Por consiguiente, la unidad 130 de salida puede asignar información de codificación después de una correspondiente profundidad codificada y un modo de codificación a al menos una de la unidad de codificación, la unidad de predicción, y una unidad mínima incluida en la unidad de codificación máxima.
La unidad mínima de acuerdo con una realización ejemplar es una unidad de datos rectangular obtenida dividiendo por 4 la unidad de codificación mínima que constituye la profundidad más inferior. Como alternativa, la unidad mínima puede ser una unidad de datos rectangular máxima que puede estar incluida en todas las unidades de codificación, unidades de predicción, unidades de partición, y unidades de transformada incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación emitida a través de la unidad 130 de salida puede clasificarse en información de codificación de acuerdo con unidades de codificación, e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un inter modo, acerca de un índice de imagen de referencia del inter modo, acerca de un vector de movimiento, acerca de un componente de crominancia de un intra modo, y acerca de un procedimiento de interpolación del intra modo. También, puede insertarse información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con instantáneas, cortes, o GOP, y la información acerca de una profundidad máxima en el SPS (Conjunto de Parámetros de Secuencia) o en un encabezamiento de una secuencia de bits.
En el aparato 100, la unidad de codificación más profunda puede ser una unidad de codificación obtenida dividiendo por dos una altura o anchura de una unidad de codificación de una profundidad superior. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación de la profundidad actual que tiene el tamaño de 2Nx2N puede incluir el máximo de 4 de la unidad de codificación de la profundidad inferior.
Por consiguiente, el aparato 100 puede formar las unidades de codificación que tienen la estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, basándose en el tamaño de la unidad de codificación máxima y la profundidad máxima determinadas considerando características de la instantánea actual. También, puesto que puede realizarse codificación en cada unidad de codificación máxima usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptimo considerando características de la unidad de codificación de diversos tamaños de imagen.
Por lo tanto, si una imagen que tiene alta resolución o gran cantidad datos se codifica en un macrobloque convencional, un número de macrobloques por instantánea aumenta excesivamente. Por consiguiente, un número de piezas de información comprimida generadas para cada macrobloque aumenta, y por lo tanto es difícil transmitir la información comprimida y se reduce la eficacia de compresión de datos. Sin embargo, usando el aparato 100, la eficacia de compresión de imagen puede aumentarse puesto que se ajusta una unidad de codificación mientras se consideran características de una imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
La Figura 2 es un diagrama de bloques de un aparato 200 para decodificar un vídeo, de acuerdo con una realización ejemplar.
El aparato 200 incluye un receptor 210, un extractor 220 de datos de imagen e información de codificación, y un decodificador 230 de datos de imagen. Las definiciones de diversos términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformada, e información acerca de diversos modos de codificación, para diversas operaciones del aparato 200 son idénticas a aquellas descritas con referencia a la Figura 1 y al aparato 100.
El receptor 210 recibe y analiza una secuencia de bits de un vídeo codificado. El extractor 220 de datos de imagen e información de codificación extrae datos de imagen codificados para cada unidad de codificación desde la secuencia de bits analizada, en la que las unidades de codificación tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, y emite los datos de imagen extraídos al decodificador 230 de datos de imagen. El extractor 220 de datos de imagen e información de codificación puede extraer información acerca de un tamaño máximo de una unidad de codificación de una instantánea actual, desde un encabezamiento acerca de la instantánea actual o SPS.
También, el extractor 220 de datos de imagen e información de codificación extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, desde la secuencia de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al decodificador 230 de datos de imagen. En otras palabras, los datos de imagen en una secuencia de bits se dividen en la unidad de codificación máxima de modo que el decodificador 230 de datos de imagen decodifica los datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación máxima puede establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada, y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformada. También, la información de división de acuerdo con las profundidades puede extraerse como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación máxima extraída por el extractor 220 de datos de imagen e información de codificación es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato 100, realiza de manera repetitiva codificación para cada unidad de codificación más profunda de acuerdo con las profundidades de acuerdo con cada unidad de codificación máxima. Por consiguiente, el aparato 200 puede restaurar una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Puesto que la información de codificación acerca de la profundidad codificada y el modo de codificación puede asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción, y una unidad mínima, el extractor 220 de datos de imagen e información de codificación puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación pueden inferirse para que sean las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador 230 de datos de imagen restaura la instantánea actual decodificando los datos de imagen en cada unidad de codificación máxima basándose en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máxima. En otras palabras, el decodificador 230 de datos de imagen puede decodificar los datos de imagen codificados basándose en la información extraída acerca del tipo de partición, el modo de predicción, y la unidad de transformada para cada unidad de codificación de entre las unidades de codificación que tienen la estructura de árbol incluidas en cada unidad de codificación máxima. Un procedimiento de decodificación puede incluir una predicción que incluye intra predicción y compensación de movimiento, y una transformación inversa. La transformación inversa puede realizarse de acuerdo con el procedimiento de transformación ortogonal inversa o transformación de números enteros inversa.
El decodificador 230 de datos de imagen puede realizar intra predicción o compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, basándose en la información acerca del tipo de partición y el modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo con las profundidades codificadas.
También, el decodificador 230 de datos de imagen puede realizar transformación inversa de acuerdo con cada unidad de transformada en la unidad de codificación, basándose en la información acerca del tamaño de la unidad de transformada de la unidad de codificación de acuerdo con las profundidades codificadas, para realizar la transformación inversa de acuerdo con unidades de codificación máxima.
El decodificador 230 de datos de imagen puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual usando información de división de acuerdo con las profundidades. Si la información de división indica que los datos de imagen ya no se dividen en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 de datos de imagen puede decodificar datos codificados de al menos una unidad de codificación que corresponde a cada profundidad codificada en la unidad de codificación máxima actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformada para cada unidad de codificación que corresponde a la profundidad codificada, y emitir los datos de imagen de la unidad de codificación máxima actual.
En otras palabras, las unidades de datos que contienen la información de codificación que incluye la misma información de división pueden recopilarse observando la información de codificación establecida asignada para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción, y la unidad mínima, y las unidades de datos recopiladas puede considerase que son una unidad de datos a decodificarse por el decodificador 230 de datos de imagen en el mismo modo de codificación.
El aparato 200 puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando se realiza de manera recursiva codificación para cada unidad de codificación máxima, y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden codificarse las unidades de codificación que tienen la estructura de árbol determinada para que sean las unidades de codificación óptimas en cada unidad de codificación máxima. También, se determina el tamaño máximo de la unidad de codificación considerando la resolución y una cantidad de datos de imagen.
Por consiguiente, incluso si los datos de imagen tienen una alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse y restaurarse de manera eficaz usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptativa de acuerdo con características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido desde un codificador.
Un procedimiento de determinación de unidades de codificación que tienen una estructura de árbol, una unidad de predicción, y una unidad de transformada, de acuerdo con una realización ejemplar, se describirán ahora con referencia a las Figuras 3 a 13.
La Figura 3 es un diagrama para explicar un concepto de unidades de codificación de acuerdo con una realización ejemplar.
Un tamaño de una unidad de codificación puede expresarse en anchura x altura, y puede ser 64x64, 32x32, 16x16 y 8x8. Una unidad de codificación de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64 o 32x32, y una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32 o 16x16, una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16 u 8x8, y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8 o 4x4.
En los datos 310 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos 320 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos 330 de vídeo, una resolución es 352x288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 3 indica un número total de divisiones desde una unidad de codificación máxima a una unidad de decodificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser tan grande para no aumentar únicamente la eficacia de codificación sino también para reflejar de manera precisa las características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de vídeo que tienen la resolución más alta que los datos 330 de vídeo puede ser 64.
Puesto que la profundidad máxima de los datos 310 de vídeo es 2, las unidades 315 de codificación de los datos 310 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32 y 16 puesto que las profundidades se hacen profundas dos capas dividiendo la unidad de codificación máxima dos veces. Mientras tanto, puesto que la profundidad máxima de los datos 330 de vídeo es 1, las unidades de codificación 335 de los datos 330 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 16, y unidades de codificación que tienen un tamaño de eje largo de 8 puesto que las profundidades se hacen profundas una capa dividiendo la unidad de codificación máxima una vez.
Puesto que la profundidad máxima de los datos 320 de vídeo es 3, las unidades 325 de codificación de los datos 320 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32, 16, y 8 puesto que las profundidades se hacen profundas a 3 capas dividiendo la unidad de codificación máxima tres veces. A medida que una profundidad se hace profunda, puede expresarse de manera precisa información detallada.
La Figura 4 es un diagrama de bloques de un codificador 400 de imagen basándose en unidades de codificación, de acuerdo con una realización ejemplar.
El codificador 400 de imagen realiza operaciones del determinador 120 de unidad de codificación del aparato 100 para codificar datos de imagen. En otras palabras, un intra predictor410 realiza intra predicción en unidades de codificación en un intra modo, de entre un fotograma 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento realizan inter estimación y compensación de movimiento en unidades de codificación en un inter modo de entre el fotograma 405 actual usando el fotograma 405 actual, y un fotograma 495 de referencia.
Los datos emitidos desde el intra predictor410, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restaura como datos en un dominio espacial a través de un cuantificador 460 inverso y un transformador 470 inverso, y los datos restaurados en el dominio espacial se emiten como el fotograma 495 de referencia después de post-procesarse a través de una unidad 480 de desbloqueo y una unidad 490 de filtración en bucle. El coeficiente de transformación cuantificado puede emitirse como una secuencia 455 de bits a través de un codificador 450 por entropía.
Para que el codificador 400 de imagen se aplique en el aparato 100, todos los elementos del codificador 400 de imagen, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 por entropía, el cuantificador 460 inverso, el transformador 470 inverso, la unidad 480 de desbloqueo, y la unidad 490 de filtración en bucle realizan operaciones basándose en cada unidad de codificación de entre unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento determinan particiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras se considera el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual, y el transformador 430 determina el tamaño de la unidad de transformada en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
La Figura 5 es un diagrama de bloques de un decodificador 500 de imagen basándose en unidades de codificación, de acuerdo con una realización ejemplar.
Un analizador 510 analiza datos de imagen codificados a decodificarse e información acerca de codificación requerida para decodificar desde una secuencia de bits 505. Los datos de imagen codificados se emiten como datos cuantificados inversos a través de un decodificador 520 por entropía y un cuantificador 530 inverso, y los datos cuantificados inversos se restauran a datos de imagen en un dominio espacial a través de un transformador 540 inverso.
Un intra predictor 550 realiza intra predicción en unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador 560 de movimiento realiza compensación de movimiento en unidades de codificación en un inter modo usando un fotograma 585 de referencia.
Los datos de imagen en el dominio espacial, que se pasan a través del intra predictor 550 y el compensador 560 de movimiento, pueden emitirse como un fotograma 595 restaurado después de post-procesarse a través de una unidad 570 de desbloqueo y una unidad 580 de filtración en bucle. También, los datos de imagen que se post-procesan a través de la unidad 570 de desbloqueo y la unidad 580 de filtración en bucle pueden emitirse como el fotograma 585 de referencia.
Para decodificar los datos de imagen en el decodificador 230 de datos de imagen del aparato 200, el decodificador 500 de imagen puede realizar operaciones que se realizan después del analizador 510.
Para que el decodificador 500 de imagen se aplique en el aparato 200, todos los elementos del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador 530 inverso, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, la unidad 570 de desbloqueo, y la unidad 580 de filtración en bucle realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
Específicamente, la intra predicción 550 y el compensador 560 de movimiento realizan operaciones basándose en particiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol, y el transformador 540 inverso realiza operaciones basándose en un tamaño de una unidad de transformada para cada unidad de codificación.
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización ejemplar.
El aparato 100 y el aparato 200 usan unidades de codificación jerárquica para considerar características de una imagen. Una altura máxima, una anchura máxima y una profundidad máxima de unidades de codificación pueden determinarse de manera adaptativa de acuerdo con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Los tamaños de unidades de codificación más profundas de acuerdo con las profundidades pueden determinarse de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura 600 jerárquica de unidades de codificación, de acuerdo con una realización ejemplar, la altura máxima y la anchura máxima de las unidades de codificación son cada una 64, y la profundidad máxima es 4. Puesto que una profundidad se hace profunda a lo largo de un eje vertical de la estructura 600 jerárquica, se divide cada una de una altura y una anchura de la unidad de codificación más profunda. También, una unidad de predicción y particiones, que son las bases para codificación por predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una unidad de codificación máxima en la estructura 600 jerárquica, en la que una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad se hace profunda a lo largo del eje vertical, y existe una unidad 620 de codificación que tiene un tamaño de 32x32 y una profundidad de 1, una unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2, una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y una unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es una unidad de codificación mínima.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene el tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad más inferior. Una unidad de predicción de la unidad 650 de codificación se asigna únicamente una partición que tiene un tamaño de 4x4.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la unidad 610 de codificación máxima, el determinador 120 de unidad de codificación del aparato 100 realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la unidad 610 de codificación máxima.
Un número de unidades de codificación más profundas de acuerdo con las profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que la profundidad se hace más profunda. Por ejemplo, se requieren cuatro unidades de codificación que corresponden a una profundidad de 2 para cubrir datos que están incluidos en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, para comparar resultados de codificación de los mismos datos de acuerdo con las profundidades, se codifica cada una de la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2.
Para realizar la codificación para una profundidad actual de entre la profundidad, puede seleccionarse un mínimo error de codificación para la profundidad actual realizado codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica. Como alternativa, puede buscarse el error de codificación mínimo comparando los mínimos errores de codificación de acuerdo con las profundidades, realizando codificación para cada profundidad a medida que la profundidad se hace más profunda a lo largo del eje vertical de la estructura 600 jerárquica. Puede seleccionarse una profundidad y una partición que tienen el error de codificación mínimo en la unidad 610 de codificación como la profundidad codificada y un tipo de partición de la unidad 610 de codificación.
La Figura 7 es un diagrama para explicar una relación entre una unidad 710 de codificación y unidades 720 de transformada, de acuerdo con una realización ejemplar.
El aparato 100 o 200 codifica o decodifica una imagen de acuerdo con unidades de codificación que tienen tamaños menores o iguales que una unidad de codificación máxima para cada unidad de codificación máxima. Pueden seleccionarse tamaños de unidades de transformada para transformación durante la codificación basándose en unidades de datos que no son mayores que la unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 o 200, si un tamaño de la unidad 710 de codificación es 64x64, puede realizarse transformación usando las unidades de transformada 720 que tienen un tamaño de 32x32.
También, los datos de la unidad 710 de codificación que tienen el tamaño de 64x64 pueden codificarse realizando la transformación en cada una de las unidades de transformada que tienen el tamaño de 32x32, 16x16, 8x8 y 4x4, que son menores que 64x64, y a continuación puede seleccionarse una unidad de transformada que tiene el mínimo error de codificación.
La Figura 8 es un diagrama para explicar información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización ejemplar.
La unidad 130 de salida del aparato 100 puede codificar y transmitir información 800 acerca de un tipo de partición, información 810 acerca de un modo de predicción, e información 820 acerca de un tamaño de una unidad de transformada para cada unidad de codificación que corresponde a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una forma de una partición obtenida dividiendo una unidad de predicción de una unidad de codificación actual, en la que la partición es una unidad de datos para codificación por predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene un tamaño de 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N, y una partición 808 que tiene un tamaño de NxN. En este punto, la información 800 acerca de un tipo de partición se establece para indicar una de la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N, y la partición 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación por predicción realizada en una partición indicada por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo de salto 816.
La información 820 indica una unidad de transformada en la que ha de basarse cuando se realiza transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformada puede ser una primera unidad 822 de intra transformada, una segunda unidad 824 de intra transformada, una primera unidad 826 de inter transformada, o una segunda unidad 828 de intra transformada.
El extractor 220 de datos de imagen e información de codificación del aparato 200 puede extraer y usar la información 800, 810, y 820 para decodificación.
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización ejemplar.
Puede usarse información de división para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide en unidades de codificación de una profundidad inferior.
Una unidad 910 de predicción para codificar por predicción una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir particiones de un tipo 912 de partición que tiene un tamaño de 2N_0x2N_0, un tipo 914 de partición que tiene un tamaño de 2N_0xN_0, un tipo 916 de partición que tiene un tamaño de N_0x2N_0, y un tipo 918 de partición que tiene un tamaño de N_0xN_0. La Figura 9 únicamente ilustra los tipos 912 a 918 de partición que se obtienen dividiendo simétricamente la unidad 910 de predicción, aunque un tipo de partición no está limitada a lo mismo, y las particiones de la unidad 910 de predicción pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada, y particiones que tienen una forma geométrica.
La codificación por predicción se realiza de manera repetitiva en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0xN_0, dos particiones que tienen un tamaño de N_0x2N_0, y cuatro particiones que tienen un tamaño de N_0xN_0, de acuerdo con cada tipo de partición. La codificación por predicción en un intra modo y un inter modo pueden realizarse en las particiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0, y N_0xN_0. La codificación por predicción en un modo de salto se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Se comparan los errores de codificación que incluyen la codificación por predicción en los tipos 912 a 918 de partición, y se determina el mínimo error de codificación entre los tipos de partición. Si un error de codificación es más pequeño en uno de los tipos 912 a 916 de partición, la unidad 910 de predicción puede no dividirse en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo 918 de partición, una profundidad se cambia de 0 a 1 para dividir el tipo 918 de partición en la operación 920, y se realiza de manera repetitiva la codificación en unidades 930 de codificación que tienen una profundidad de 2 y un tamaño de N_0xN_0 para buscar un error de codificación mínimo.
Una unidad 940 de predicción para codificación por predicción la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1(=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición, una profundidad se cambia de 1 a 2 para dividir el tipo 948 de partición en la operación 950, y se realiza de manera repetitiva la codificación en unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2xN_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, puede realizarse la operación de división de acuerdo con cada profundidad hasta cuando una profundidad se vuelve d-1, y la información de división puede codificarse como hasta cuando una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después de que se divide una unidad de codificación que corresponde a una profundidad de d-2 en la operación 970, una unidad 990 de predicción para codificación por predicción una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1)x2N_(d-1) puede incluir particiones de un tipo 992 de partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)xN_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)x2N_(d-1), y un tipo 998 de partición que tiene un tamaño de N_(d-1)xN_(d-1).
La codificación por predicción puede realizarse de manera repetitiva en una partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamaño de N_(d-1)x2N_(d-1), cuatro particiones que tienen un tamaño de N_(d-1)xN_(d-1) de entre los tipos 992 a 998 de partición para buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición tiene el error de codificación mínimo, puesto que una profundidad máxima es d, una unidad de codificación CU_(d-1) que tiene una profundidad de d-1 ya no se divide más a una profundidad inferior, y una profundidad codificada para las unidades de codificación que constituyen una unidad 900 de codificación máxima actual se determina que es d-1 y un tipo de partición de la unidad 900 de codificación puede determinarse que es N_(d-1)xN_(d-1). También, puesto que la profundidad máxima es d y una unidad 980 de codificación mínima que tiene una profundidad más inferior de d-1 ya no se divide más a una profundidad inferior, no se establece información de división para una unidad 980 de codificación.
Una unidad 999 de datos puede ser una unidad mínima para la unidad de codificación máxima actual. Una unidad mínima de acuerdo con una realización ejemplar puede ser una unidad de datos rectangular obtenida dividiendo por 4 una unidad 980 de codificación mínima. Realizando la codificación de manera repetitiva, el aparato 100 puede seleccionar una profundidad que tiene el mínimo error de codificación comparando errores de codificación de acuerdo con las profundidades de la unidad 900 de codificación para determinar una profundidad codificada, y establecer un tipo de partición correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, se comparan los errores de codificación mínimos de acuerdo con las profundidades en todas las profundidades de 1 a d, y puede determinarse una profundidad que tiene el mínimo error de codificación como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción, y el modo de predicción pueden codificarse y transmitirse como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide desde una profundidad de 0 a una profundidad codificada, únicamente la información de división de la profundidad codificada se establece a 0, y la información de división de profundidades excluyendo la profundidad codificada se establece a 1.
El extractor 220 de datos de imagen e información de codificación del aparato 200 puede extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la partición 912. El aparato 200 puede determinar una profundidad, en la que la información de división es 0, como una profundidad codificada usando información de división de acuerdo con las profundidades, y usar información acerca de un modo de codificación de la correspondiente profundidad para decodificación.
Las Figuras 10 a 12 son diagramas para explicar una relación entre unidades 1010 de codificación, unidades 1060 de predicción, y unidades 1070 de transformada, de acuerdo con una realización ejemplar.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, que corresponden a profundidades codificadas determinadas por el aparato 100, en una unidad de codificación máxima. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación, y las unidades 1070 de transformada son unidades de transformada de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades 1010 de codificación, las profundidades de las unidades 1012 y 1054 de codificación son 1, las profundidades de las unidades 1014, 1016, 1018, 1028, 1050 y 1052 de codificación son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032, y 1048 de codificación son 3, y las profundidades de las unidades 1040, 1042, 1044, y 1046 de codificación son 4.
En las unidades 1060 de predicción, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 de codificación se dividen en particiones para codificación por predicción. En otras palabras, los tipos de partición en las unidades 1014, 1022, 1050 y 1054 de codificación tienen un tamaño de 2NxN, los tipos de partición en las unidades 1016, 1048 y 1052 de codificación tienen un tamaño de Nx2N, y un tipo de partición de la unidad 1032 de codificación tiene un tamaño de NxN. Las unidades de predicción y las particiones de las unidades 1010 de codificación son menores o iguales que cada unidad de codificación.
La transformación o transformación inversa se realiza en datos de imagen de la unidad 1052 de codificación en las unidades 1070 de transformada en una unidad de datos que es menor que la unidad 1052 de codificación. También, las unidades 1014, 1016, 1022, 1032, 1048, 1050, y 1052 de codificación en las unidades 1070 de transformada son diferentes de aquellas en las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, los aparatos 100 y 200 pueden realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación, y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación.
Por consiguiente, la codificación que se realiza de manera recursiva en cada una de las unidades de codificación que tiene una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima, y por lo tanto pueden obtenerse unidades de codificación que tienen una estructura de árbol recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción, e información acerca de un tamaño de una unidad de transformada. La tabla 1 muestra la información de codificación que puede establecerse por los aparatos 100 y 200.
Figure imgf000014_0001
La unidad 130 de salida del aparato 100 puede emitir la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol, y el extractor 220 de datos de imagen e información de codificación del aparato 200 puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol de una secuencia de bits recibido.
La información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad inferior. Si la información de división de una profundidad actual d es 0, una profundidad, en la que una unidad de codificación actual ya no se divide más en una profundidad inferior, es una profundidad codificada, y por lo tanto puede definirse la información acerca de un tipo de partición, modo de predicción, y un tamaño de una unidad de transformada para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, se realiza de manera independiente la codificación en cuatro unidades de codificación de división de una profundidad inferior.
Un modo de predicción puede ser uno de un intra modo, un inter modo, y un modo de salto. El intra modo y el inter modo puede definirse en todos los tipos de partición, y el modo de salto se define únicamente en un tipo de partición que tiene un tamaño de 2Nx2N.
La información acerca del tipo de partición puede indicar tipos de partición simétricas que tienen tamaños de 2Nx2N, 2NxN, Nx2N, y NxN, que se obtienen dividiendo simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétricas que tienen tamaños de 2NxnU, 2NxnD, nLx2N, y nRx2N, que se obtienen dividiendo asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétricas que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1:3 y 3:1, y los tipos de partición asimétricas que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:3 y 3:1.
El tamaño de la unidad de transformada puede establecerse para que sean dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si la información de división de la unidad de transformada es 0, el tamaño de la unidad de transformada puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si la información de división de la unidad de transformada es 1, las unidades de transformada pueden obtenerse dividiendo la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de partición simétrica, un tamaño de una unidad de transformada puede ser NxN, y si el tipo de partición de la unidad de codificación actual es un tipo de partición asimétrica, el tamaño de la unidad de transformada puede ser N/2xN/2.
La información de codificación acerca de unidades de codificación que tienen una estructura de árbol puede incluir al menos una de una unidad de codificación que corresponde a una profundidad codificada, una unidad de predicción, y una unidad mínima. La unidad de codificación que corresponde a la profundidad codificada puede incluir al menos una de una unidad de predicción y una unidad mínima que contiene la misma información de codificación.
Por consiguiente, se determina si las unidades de datos adyacentes están incluidas en la misma unidad de codificación que corresponde a la profundidad codificada comparando información de codificación de unidades de datos adyacentes. También, se determina una unidad de codificación correspondiente que corresponde a una profundidad codificada usando información de codificación de una unidad de datos, y por lo tanto puede determinarse una distribución de profundidades codificadas en una unidad de codificación máxima.
Por consiguiente, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, puede hacerse referencia directamente y usarse información de codificación de unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual.
Como alternativa, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, las unidades de datos adyacentes a la unidad de codificación actual se buscan usando información de codificación de las unidades de datos, y puede hacerse referencia a las unidades de codificación adyacentes buscadas para predecir la unidad de codificación actual.
La Figura 13 es un diagrama para explicar una relación entre una unidad de codificación, una unidad de predicción o una partición, y una unidad de transformada, de acuerdo con información de modo de codificación de la Tabla 1.
Una unidad 1300 de codificación máxima incluye las unidades 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de codificación de profundidades codificadas. En este punto, puesto que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división puede establecerse a 0. La información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2Nx2N puede establecerse para que sea una de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
Cuando el tipo de partición se establece para que sea simétrica, es decir el tipo 1322, 1324, 1326, o 1328 de partición, se establece una unidad 1342 de transformada que tiene un tamaño de 2Nx2N si la información de división (bandera de tamaño TU) de una unidad de transformada es 0, y se establece una unidad 1344 de transformada que tiene un tamaño de NxN si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para que sea asimétrica, es decir, el tipo 1332, 1334, 1336, o 1338 de partición, se establece una unidad de transformada 1352 que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU es 0, y se establece una unidad 1354 de transformada que tiene un tamaño de N/2xN/2 si una bandera de tamaño de TU es 1.
Haciendo referencia a la Figura 13, la bandera de tamaño de TU es una bandera que tiene un valor o 0 o 1, pero la bandera de tamaño de TU no está limitada a 1 bit, y una unidad de transformada puede dividirse jerárquicamente teniendo una estructura de árbol mientras la bandera de tamaño de TU aumenta de 0.
En este caso, el tamaño de una unidad de transformada que se ha usado realmente puede expresarse usando una bandera de tamaño de TU de una unidad de transformada, de acuerdo con una realización ejemplar, junto con un tamaño máximo y tamaño mínimo de la unidad de transformada. De acuerdo con una realización ejemplar, el aparato 100 puede realizar codificación de la información de tamaño de unidad de transformada máxima, información de tamaño de unidad de transformada mínima, y una bandera de tamaño de TU máxima. El resultado de codificación de la información de tamaño de unidad de transformada máxima, la información de tamaño de unidad de transformada mínima, y la bandera de tamaño de TU máxima puede insertarse en un SPS. De acuerdo con una realización ejemplar, el aparato 200 puede decodificar vídeo usando la información de tamaño de unidad de transformada máxima, la información de tamaño de unidad de transformada mínima, y la bandera de tamaño de TU máxima.
La intra predicción realizada por la unidad 410 de intra predicción del aparato 100 de codificación de vídeo ilustrado en la Figura 4 y la unidad 550 de intra predicción del aparato 200 de decodificación de vídeo ilustrada en la Figura 5 se describirá ahora en detalle. En la siguiente descripción, una unidad de codificación indica un bloque codificado actual en un procedimiento de codificación de una imagen, y una unidad de decodificación indica un bloque decodificado actual en un procedimiento de decodificación de una imagen. La unidad de codificación y la unidad de decodificación son diferentes únicamente en que la unidad de codificación se usa en el procedimiento de codificación y la unidad de decodificación se usa en la decodificación. Para la consistencia de términos, excepto para un caso particular, la unidad de codificación y la unidad de decodificación se denominan como una unidad de codificación en ambos de los procedimientos de codificación y decodificación. También, un experto en la materia entendería por la presente memoria descriptiva que un procedimiento y aparato de intra predicción de acuerdo con una realización ejemplar pueden aplicarse también para realizar intra predicción en un códec de vídeo general.
La Figura 14 ilustra un número de los modos de intra predicción de acuerdo con un tamaño de una unidad de codificación, de acuerdo con una realización ejemplar.
En la Figura 14, un número de los modos de intra predicción a aplicarse a una unidad de codificación (una unidad de decodificación en una etapa de decodificación) puede variar de acuerdo con un tamaño de la unidad de codificación.
Por ejemplo, haciendo referencia a la Figura 14, cuando un tamaño de una unidad de codificación a intra-predecirse es NxN, los números de los modos de intra predicción a realizarse realmente en unidades de codificación que tienen tamaños de 2x2, 4x4, 16x16, 32x32, 64x64, y 128x128 pueden establecerse para que sean 5, 9, 9, 17, 33, 5, y 5 (en el caso de Ejemplo 2). Para otro ejemplo, cuando un tamaño de una unidad de codificación a intra-predecirse es NxN, los números de los modos de intra predicción a realizarse realmente en unidades de codificación que tienen tamaños de 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, y 128x128 pueden establecerse para que sean 3, 17, 34, 34, 34, 5, y 5. La razón por la que un número de los modos de intra predicción a realizarse varía de acuerdo con un tamaño de una unidad de codificación es que la sobrecarga para codificar información de modo de predicción varía de acuerdo con el tamaño de la unidad de codificación. En otras palabras, en el caso de una unidad de codificación que tiene un tamaño pequeño, aunque ocupa una pequeña parte de una imagen entera, la sobrecarga para transmitir información adicional tal como un modo de predicción de la unidad de codificación que tiene el tamaño pequeño puede ser alta. Por consiguiente, si la unidad de codificación que tiene el tamaño pequeño se codifica usando demasiados modos de predicción, la cantidad de bits puede aumentarse y la eficacia de compresión puede reducirse. Una unidad de codificación que tiene un tamaño grande, por ejemplo, una unidad de codificación que tiene un tamaño mayor que 64x64, a menudo se selecciona como una unidad de codificación para un área plana. Si la unidad de codificación que tiene el tamaño grande se codifica usando demasiados modos de predicción, sin embargo, eficacia de compresión puede reducirse también.
Por consiguiente, en la Figura 14, si los tamaños de unidades de codificación se clasifican aproximadamente en al menos tres tamaños N1xN1 (2=N1=4, N1 es un número entero), N2xN2 (8=N2=32, N2 es un número entero), y N3xN3 (64=N3, N3 es un número entero), un número de los modos de intra predicción a realizarse en la unidad de codificación que tiene el tamaño de N1xN1 es A1 (A1 es un número entero positivo), un número de los modos de intra predicción a realizarse en la unidad de codificación que tiene el tamaño de N2xN2 es A2 (A2 es un número entero positivo), y un número de los modos de intra predicción a realizarse en la unidad de codificación que tiene el tamaño de N3xN3 es A3 (A3 es un número entero positivo), un número de los modos de intra predicción a realizarse de acuerdo con un tamaño de cada unidad de codificación puede establecerse para satisfacer una relación de A3=A1=A2. Es decir, cuando una instantánea actual se divide aproximadamente en una unidad de codificación que tiene un tamaño pequeño, una unidad de codificación que tiene un tamaño intermedio, y una unidad de codificación que tiene un tamaño grande, la unidad de codificación que tiene el tamaño intermedio puede establecerse para tener un mayor número de modos de predicción, y la unidad de codificación que tiene el tamaño pequeño y la unidad de codificación que tiene el tamaño grande pueden establecerse para tener un número relativamente pequeño de modos de predicción. Sin embargo, la presente realización ejemplar no está limitada a lo mismo, y la unidad de codificación que tiene el tamaño pequeño y la unidad de codificación que tiene el tamaño grande pueden establecerse para que tengan un mayor número de modos de predicción. Un número de modos de predicción que varía de acuerdo con un tamaño de cada unidad de codificación ilustrada en la Figura 14 es un ejemplo, y puede cambiarse.
La Figura 15A es un diagrama para explicar un modo de intra predicción aplicado a una unidad de codificación que tiene un tamaño predeterminado, de acuerdo con una realización ejemplar.
Haciendo referencia a las Figuras 14 y 15A, por ejemplo, cuando se realiza intra predicción en una unidad de codificación que tiene un tamaño de 4x4, la unidad de codificación que tiene el tamaño de 4x4 puede tener un modo vertical (modo 0), un modo horizontal (modo 1), un modo de corriente continua (CC) (modo 2), un modo diagonal izquierda abajo (modo 3), un modo diagonal derecha abajo (modo 4), un modo vertical derecho (modo 5), un modo horizontal abajo (modo 6), un modo vertical izquierdo (modo 7), y un modo horizontal arriba (modo 8).
La Figura 15B ilustra direcciones de los modos de intra predicción de la Figura 15A. En la Figura 15B, un número muestra mostrado en un extremo de una flecha indica un correspondiente valor de modo cuando se realiza predicción en una dirección marcada por la flecha. En este punto, el modo 2 es un modo de predicción de CC sin direccionalidad y por lo tanto no se muestra.
La Figura 15C ilustra un procedimiento de intra predicción realizado en la unidad de codificación de la Figura 15A.
Haciendo referencia a la Figura 15C, se genera una unidad de codificación por predicción usando píxeles vecinos A-M de una unidad de codificación actual en un modo de intra predicción disponible determinado por un tamaño de una unidad de codificación. Por ejemplo, se explicará una operación de codificación por predicción de una unidad de codificación actual que tiene un tamaño de 4x4 en el modo 0, es decir, el modo vertical. En primer lugar, se predicen valores de píxel de píxeles A a D adyacentes por encima de la unidad de codificación actual que tiene el tamaño de 4x4 para que sean valores de píxel de la unidad de codificación actual que tiene el tamaño de 4x4. Es decir, un valor de píxel del píxel A se prevé para que sea valores de píxel de cuatro píxeles de una primera columna de la unidad de codificación actual que tiene el tamaño de 4x4, un valor del píxel B se prevé para que sea valores de píxel de cuatro píxeles de una segunda columna de la unidad de codificación actual que tiene el tamaño de 4x4, un valor del píxel C se prevé para que sea valores de píxel de cuatro píxeles de una tercera columna de la unidad de codificación actual que tiene el tamaño de 4x4, y un valor del píxel D se prevé para que sea valores de píxel de cuatro píxeles de una cuarta columna de la unidad de codificación actual que tiene el tamaño de 4x4. A continuación, se obtiene y codifica un valor de error entre valores de píxel reales de píxeles incluidos en la unidad de codificación actual de 4x4 original y valores de píxel de píxeles incluidos en la unidad de codificación actual de 4x4 prevista usando los píxeles A a D.
La Figura 16 es un diagrama para explicar un modo de intra predicción aplicado a una unidad de codificación que tiene un tamaño predeterminado, de acuerdo con otra realización ejemplar.
Haciendo referencia a las Figuras 14 y 16, cuando se realiza intra predicción en una unidad de codificación que tiene un tamaño de 2x2, la unidad de codificación que tiene el tamaño de 2x2 puede tener 5 modos, es decir, un modo vertical, un modo horizontal, un modo de CC, un modo de plano, y un modo diagonal derecha abajo.
Si una unidad de codificación que tiene un tamaño de 32x32 tiene 33 modos de intra predicción como se muestra en la Figura 14, es necesario establecer direcciones de los 33 modos de intra predicción. Para establecer modos de intra predicción que tienen diversas direcciones distintas de los modos de intra predicción ilustrados en las Figuras 15 y 16, se establece una dirección de predicción para seleccionar un píxel vecino a usarse como un píxel de referencia alrededor de un píxel en una unidad de codificación usando parámetros dx y dy. Por ejemplo, cuando cada uno de los 33 modos de predicción se representa como un modo N (N es un número entero de 0 a 32), un modo 0 puede establecerse para que sea un modo vertical, se establece un modo 1 para que sea un modo horizontal, un modo 2 se establece para que sea un modo de CC, y un modo 3 se establece para que sea un modo de plano y cada uno de un modo 4 a un modo 31 pueden establecerse para que sean un modo de predicción que tiene una direccionalidad de tan-1(dy/dx) usando (dx, dy) representados como uno de (1,-1), (1,1), (1,2), (2,1), (1,-2), (2,1), (1,-2), (2,-1), (2,-11), (5,­ 7), (10,-7), (11,3), (4,3), (1,11), (1,-1), (12,-3), (1,-11), (1,-7), (3,-10), (5,-6), (7,-6), (7,-4), (11,1), (6,1), (8,3), (5,3), (5,7), (2,7), (5,-7) y (4,-3) como se muestra en la Tabla 2.
T l 21
Figure imgf000017_0001
Un último modo 32 puede establecerse para que sea un modo bilineal usando interpolación bilineal como se describirá con referencia a la Figura 18.
Las Figuras 17A a 17C son diagramas de referencia para explicar modos de intra predicción que tienen diversas direccionalidades, de acuerdo con una realización ejemplar.
Como se ha descrito con referencia a la Tabla 2, los modos de intra predicción puede tener diversas direccionalidades de tan_1(dy/dx) usando una pluralidad de parámetros (dx, dy).
Haciendo referencia a la Figura 17A, los píxeles vecinos A y B localizados en una línea 150 extendida que tiene un ángulo de tan_1(dy/dx) determinado de acuerdo con (dx, dy) de cada modo mostrado en la Tabla 2 acerca de un píxel actual P a predecirse en una unidad de codificación actual pueden usarse como un predictor para el píxel actual P. En este caso, los píxeles vecinos usados como un predictor pueden ser píxeles de unidades de codificación anteriores en lados arriba, izquierdo, arriba derecho y abajo izquierdo de una unidad de codificación actual, que se codificaron y restauraron previamente. También, si la línea 150 extendida pasa entre, no a través de, píxeles vecinos de localizaciones de números enteros, los píxeles vecinos cerca de la línea 150 extendida pueden usarse como un predictor. Por ejemplo, un píxel vecino más cerca de la línea 150 extendida puede usarse como un predictor. También, un valor promedio entre píxeles vecinos más cerca de la línea 150 extendida de entre los píxeles vecinos puede usarse como un predictor, o un valor de media ponderada considerando una distancia entre una intersección de la línea 150 extendida y los píxeles vecinos cerca de la línea 150 extendida puede usarse como un predictor para el píxel actual P. También, puede señalizarse qué píxel vecino entre el píxel vecino en el eje X y el píxel vecino eje Y, como píxeles vecinos A y B, se usa como un predictor para el píxel actual P en cada unidad de predicción.
Las Figuras 17B y 17C son diagramas de referencia para explicar un procedimiento de generación de un predictor cuando la línea 150 extendida de la Figura 17A pasa entre, no a través de, píxeles vecinos de localizaciones de números enteros.
Haciendo referencia a la Figura 17B, si la línea 150 extendida que tiene un ángulo de tan_1(dy/dx) que se determina de acuerdo con (dx, dy) de cada modo pasa entre un píxel vecino A 151 y un píxel vecino B 152 de localizaciones de números enteros, un valor de media ponderada considerando una distancia entre una intersección de la línea 150 extendida y los píxeles vecinos A 151 y B 152 cerca de la línea 150 extendida puede usarse como un predictor como se ha descrito anteriormente. Por ejemplo, si una distancia entre el píxel vecino A 151 y la intersección de la línea 150 extendida que tiene el ángulo de tan-1(dy/dx) es f, y una distancia entre el píxel vecino B 152 y la intersección de la línea 150 extendida es g, puede obtenerse un predictor para el píxel actual P como (A*g+B*f)/(f+g). En este punto, f y g puede cada uno ser una distancia normalizada usando un número entero. Si se usa software o hardware, el predictor para el píxel actual P puede obtenerse por la operación de desplazamiento como (g*A+f*B+2)>>2. Como se muestra en la Figura 17B, si la línea 150 extendida pasa a través de un primer cuarto cerca del píxel vecino A 151 de entre cuatro partes obtenidas dividiendo en cuartos una distancia entre el píxel vecino A 151 y el píxel vecino B 152 de las localizaciones de números enteros, el predictor para el píxel actual P puede obtenerse como (3*A+B)/4. Tal operación puede realizarse por la operación de desplazamiento considerando el redondeo a un número entero más cerca como (3*A+B+2)>>2.
Mientras tanto, si la línea 150 extendida que tiene el ángulo de tan-1(dy/dx) que se determina de acuerdo con (dx, dy) de cada modo pasa entre el píxel vecino A 151 y el píxel vecino B 152 de las localizaciones de números enteros, una sección entre el píxel vecino A 151 y el píxel vecino B 152 puede dividirse en un número predeterminado de áreas, y un valor de media ponderada considerando una distancia entre una intersección y el píxel vecino A 151 y el píxel vecino B 152 en cada área dividida puede usarse como un valor de predicción. Por ejemplo, haciendo referencia a la Figura 17C, una sección entre el píxel vecino A 151 y el píxel vecino B 152 puede dividirse en cinco secciones P1 a P5 como se muestra en la Figura 17C, puede determinarse un valor de media ponderada representativo considerando una distancia entre una intersección y el píxel vecino A 151 y el píxel vecino B 152 en cada sección, y el valor de media ponderada representativo puede usarse como un predictor para el píxel actual P. En detalle, si la línea 150 extendida pasa a través de la sección P1, un valor del píxel vecino A puede determinarse como un predictor para el píxel actual P. Si la línea 150 extendida pasa a través de la sección P2, un valor de media ponderada (3*A+1*B+2)>>2 considerando una distancia entre los píxeles vecinos A y B y un punto medio de la sección P2 puede determinarse como un predictor para el píxel actual P. Si la línea 150 extendida pasa a través de la sección P3, un valor de media ponderada (2*A+2*B+2)>>2 considerando una distancia entre los píxeles vecinos A y B y un punto medio de la sección P3 puede determinarse como un predictor para el píxel actual P. Si la línea 150 extendida pasa a través de la sección P4, un valor de media ponderada (1*A+3*B+2)>>2 considerando una distancia entre los píxeles vecinos A y B y un punto medio de la sección P4 puede determinarse como un predictor para el píxel actual P. Si la línea 150 extendida pasa a través de la sección P5, un valor del píxel vecino B puede determinarse como un predictor para el píxel actual P.
También, si dos píxeles vecinos, es decir, el píxel vecino A en el lado arriba y el píxel vecino B en el lado izquierdo cumplen la línea 150 extendida como se muestra en la Figura 17A, un valor promedio del píxel vecino A y el píxel vecino B puede usarse como un predictor para el píxel actual P, o si (dx*dy) es un valor positivo, puede usarse el píxel vecino A en el lado arriba, y si (dx*dy) es un valor negativo, puede usarse el píxel vecino B en el lado izquierdo.
Los modos de intra predicción que tienen diversas direccionalidades como se muestra en la Tabla 2 pueden estar presentes en un extremo de codificación y un extremo de decodificación, y únicamente puede transmitirse un índice correspondiente de un modo de intra predicción establecido para cada unidad de codificación.
La Figura 29 es un diagrama que ilustra una unidad 2900 de codificación actual y píxeles 2910 y 2920 vecinos a usarse para intra predicción, de acuerdo con una realización ejemplar.
Haciendo referencia a la Figura 29, los píxeles 2910 vecinos en el lado superior de la unidad 2900 de codificación actual y los píxeles 2920 vecinos en el lado izquierdo de la unidad 2900 de codificación actual pueden usarse para intra predicción de la unidad 2900 de codificación actual. Como se muestra en la Figura 29, como la porción inferior de los píxeles 2920 vecinos, los píxeles abajo izquierdos incluidos en el bloque vecino no codificados aún pueden usarse también para intra predicción de la unidad 2900 de codificación actual. El número de los píxeles 2910 y 2920 vecinos usados para intra predicción de la unidad 2900 de codificación actual no están limitados a lo mismo y pueden cambiarse teniendo en cuenta la direccionalidad de un modo de intra predicción aplicado a la unidad 2900 de codificación actual. Por lo tanto, de acuerdo con una realización ejemplar, los píxeles vecinos usados para intra predicción de la unidad de codificación actual pueden incluir píxeles vecinos abajo izquierdos y el píxel vecino arriba derecho alrededor de la unidad de codificación actual así como píxeles vecinos izquierdos y píxeles vecinos arriba.
La Figura 18 es un diagrama de referencia para explicar un modo bilineal de acuerdo con una realización ejemplar.
Haciendo referencia a la Figura 18, en un modo bilineal, se calcula un valor promedio geométrico considerando distancias a los bordes arriba, abajo, izquierdo y derecho del píxel actual P y píxeles localizados en los bordes arriba, abajo, izquierdo y derecho alrededor del píxel actual P a predecirse en una unidad de codificación actual y se usa un resultado del cálculo como un predictor para el píxel actual P. Es decir, en un modo bilineal, se usa un valor promedio geométrico de unas distancias a bordes arriba, abajo, izquierdo y derecho del píxel actual P y un píxel A 161, un píxel B 162, un píxel D 166, y un píxel E 167 que están localizados en los bordes arriba, abajo, izquierdo y derecho del píxel actual P como un predictor para el píxel actual P. Puesto que el modo bilineal es uno de los modos de intra predicción, los píxeles vecinos en lados arriba e izquierdo que se codificaron previamente y a continuación se restauraron deberían usarse también como píxeles de referencia durante la predicción. Por consiguiente, no se usan correspondientes valores de píxel en la unidad de codificación actual como el píxel A 161 y el píxel B, sino que se usan valores de píxel virtuales generados usando píxeles vecinos en lados arriba e izquierdo.
Por ejemplo, en primer lugar, un píxel virtual C 163 en un lado abajo derecho de una unidad de codificación actual puede calcularse usando un valor promedio de un píxel vecino píxel abajo izquierdo 165 en un lado abajo izquierdo y un píxel vecino píxel arriba derecho 164 en un lado arriba derecho adyacente a la unidad de codificación actual como se muestra en la Ecuación 1.
[Ecuación 1]
C=0,5(píxel abajo izquierdo+píxel arriba derecho)
El píxel virtual C 163 puede obtenerse mediante la operación de desplazamiento como La ecuación 1 puede ser el predictor para el píxel actual P que puede obtenerse mediante la operación de desplazamiento como C=0,5(píxel abajo izquierdo+píxel arriba derecho+1)>>1.
A continuación, un valor de un píxel virtual A 161 localizado en el borde abajo cuando el píxel actual P se extiende hacia abajo considerando una distancia W2 al borde derecho y una distancia W1 al borde izquierdo del píxel actual P puede obtenerse usando un valor promedio del píxel vecino píxel abajo izquierdo 165 y el píxel virtual C 163 considerando la distancia W1 y W2. Por ejemplo, el valor del píxel virtual A 161 puede calcularse usando una ecuación mostrada en la Ecuación 2.
[Ecuación 2]
A=(C*W1+píxel abajo izquierdo*W2)/(W1+W2);
A=(C*W1+píxel abajo izquierdo*W2+((W1+W2)/2))/(W1+W2)
Cuando un valor de W1+W2 en la Ecuación 2 es una potencia de 2, como 2An, A=(C*W1+píxel abajo izquierdo* W2+((W1+W2)/2))/(W1+W2) puede calcularse por la operación de desplazamiento como A=(C*W1+píxel abajo izquierdo*W2+2A(n-1))>>n sin división.
Análogamente, un valor de un píxel virtual B 162 localizado en el borde derecho cuando el píxel actual P se extiende hacia la derecha considerando una distancia h2 al borde abajo y una distancia h1 al borde arriba del píxel actual P puede obtenerse usando un valor promedio del píxel vecino píxel arriba derecho 164 considerando la distancia h1 y h2. Por ejemplo, el valor del píxel virtual B 162 puede calcularse usando una ecuación mostrada en la Ecuación 3.
[Ecuación 3]
B=(C*h1+píxel arriba derecho+h2)/(h1+h2);
B=(C*h1+píxel arriba derecho+h2+((h1+h2)/2))/(h1+h2)
Cuando un valor de h1+h2 en la Ecuación 3 es una potencia de 2, como 2Am, B=(C*h1+píxel arriba derecho*h2+((h1+h2)/2))/(h1+h2) puede calcularse mediante la operación de desplazamiento como B=(C*h1+píxel arriba derecho*h2+2A(m-1))>>m sin división.
Una vez que se determinan los valores del píxel virtual B 162 en el borde derecho y el píxel virtual A 161 en el borde abajo del píxel actual P 160 usando las ecuaciones 1 a 3, puede determinarse un predictor para el píxel actual P 160 usando un valor promedio de A+B+D+E. En detalle, puede usarse un valor de media ponderada considerando una distancia entre el píxel actual P 160 y el píxel virtual A 161, el píxel virtual B 162, el píxel D 166, y el píxel E 167 o un valor promedio de A+B+D+E como un predictor para el píxel actual P 160. Por ejemplo, si se usa un valor de media ponderada y el tamaño del bloque es 16x16, puede obtenerse un predictor para el píxel actual P como (h1*A+h2*D+W1*B+W2*E+16)>>5. Tal predicción bilineal se aplica a todos los píxeles en la unidad de codificación actual, y se genera una unidad de codificación por predicción de la unidad de codificación actual en un modo de predicción bilineal.
Puesto que se realiza codificación por predicción de acuerdo con modos de intra predicción que varían de acuerdo con un tamaño de una unidad de codificación, puede conseguirse compresión más eficaz de acuerdo con las características de una imagen.
Puesto que se usa un número mayor de los modos de intra predicción que los modos de intra predicción usados en un códec convencional de acuerdo con un tamaño de una unidad de codificación de acuerdo con una realización ejemplar, la compatibilidad con el códec convencional puede convertirse en un problema. En la técnica convencional, pueden usarse 9 modos de intra predicción como máximo como se muestra en la Figuras 13A y 13B. Por consiguiente, es necesario mapear modos de intra predicción que tienen diversas direcciones seleccionadas de acuerdo con una realización ejemplar a uno de un número menor de los modos de intra predicción. Es decir, cuando un número de modos de intra predicción disponibles de una unidad de codificación actual es N1 (N1 es un número entero), para hacer los modos de intra predicción de la unidad de codificación actual disponibles compatibles con una unidad de codificación de un tamaño predeterminado que incluye N2 (N2 es un número entero diferente de N1) modos de intra predicción, los modos de intra predicción de la unidad de codificación actual pueden mapearse a un modo de intra predicción que tiene una dirección más similar de entre los N2 modos de intra predicción. Por ejemplo, está disponible un total de 33 modos de intra predicción como se muestra en la Tabla 2 en la unidad de codificación actual, y se supone que un modo de intra predicción finalmente aplicado a la unidad de codificación actual es el modo 14, es decir, (dx,dy)=(4,3), que tiene una direccionalidad de tan-1(3/4)?36,87 (grados). En este caso, para adaptar el modo de intra predicción aplicado al bloque actual a uno de 9 modos de intra predicción como se muestra en la Figuras 15A y 15B, puede seleccionarse el modo del modo 4 (abajo_derecha) que tiene una direccionalidad más similar a la direccionalidad de 36,87 (grados). Es decir, el modo 14 de la Tabla 2 puede mapearse al modo 4 mostrado en la Figura 15A. Análogamente, si se selecciona un modo de intra predicción aplicado a la unidad de codificación actual para que sea el modo 15, es decir, (dx,dy)=(1,11), de entre los 33 modos de intra predicción de la Tabla 2 disponibles, puesto que una direccionalidad del modo de intra predicción aplicado a la unidad de codificación actual es tan-1(11)?84,80 (grados), el modo 0 (vertical) de la Figura 13 que tiene una direccionalidad más similar a la direccionalidad 84,80 (grados) puede mapearse al modo 15.
Mientras tanto, para decodificar una unidad de codificación codificada a través de intra predicción, se requiere información de modo de predicción a través de la cual se codifica el modo de intra predicción de una unidad de codificación actual. Por consiguiente, cuando se codifica una imagen, se añade información acerca de un modo de intra predicción de la unidad de codificación actual a una secuencia de bits, y en este momento, si la información acerca del modo de intra predicción se añade tal como está a la secuencia de bits para cada unidad de codificación, se aumenta la sobrecarga, reduciendo de esta manera la eficacia de compresión. Por consiguiente, la información acerca del modo de intra predicción de la unidad de codificación actual determinada como resultado de la codificación de la unidad de codificación actual no se transmite como está, sino únicamente se transmite un valor de diferencia entre un valor de un modo de intra predicción real y un valor de predicción de un modo de intra predicción previsto desde unidades de codificación vecinas.
Si se usan modos de intra predicción que tienen diversas direcciones seleccionadas de acuerdo con una realización ejemplar, un número de modos de intra predicción disponible puede variar de acuerdo con un tamaño de una unidad de codificación. Por consiguiente, para predecir un modo de intra predicción de una unidad de codificación actual, es necesario mapear modos de intra predicción de unidades de codificación vecinas a modos de intra predicción representativos. En este punto, los modos de intra predicción representativos pueden ser un número menor de los modos de intra predicción de entre modos de intra predicción de unidades de codificación vecinas disponibles, o 9 modos de intra predicción como se muestra en la Figura 19.
La Figura 19 es un diagrama para explicar un procedimiento de generación de un valor de predicción de un modo de intra predicción de una unidad de codificación actual, de acuerdo con una realización ejemplar.
Haciendo referencia a la Figura 19, cuando la unidad de codificación actual es A 170, un modo de intra predicción de la unidad de codificación actual A 170 puede predecirse desde los modos de intra predicción determinados desde unidades de codificación vecinas. Por ejemplo, si un modo de intra predicción determinado desde una unidad de codificación izquierda B 171 de la unidad de codificación actual A 170 es un modo 3 y un modo de intra predicción de una unidad de codificación arriba C 172 es un modo 4, puede predecirse un modo de intra predicción de la unidad de codificación actual A 170 que es un modo 3 que tiene un valor menor de entre los modos de predicción de la unidad de codificación arriba C 172 y la unidad de codificación izquierda B 171. Si un modo de intra predicción determinado como resultado de codificación por intra predicción real realizada en la unidad de codificación actual A 170 es un modo 4, únicamente se transmite una diferencia 1 desde el modo 3 que es un valor del modo de intra predicción previsto desde las unidades de codificación vecinas como información de modo de intra predicción para la unidad de codificación actual A 170. Cuando se decodifica una imagen, de la misma manera, se genera un valor de predicción de un modo de intra predicción de una unidad de decodificación actual, se añade un valor de diferencia de modo transmitido a través de una secuencia de bits al valor de predicción del modo de intra predicción, y se obtiene información de modo de intra predicción realmente aplicada a la unidad de decodificación actual. Aunque únicamente se usan las unidades de codificación vecinas localizadas en los lados arriba e izquierdo de la unidad de codificación actual en la descripción anterior, puede predecirse un modo de intra predicción de la unidad de codificación actual A 170 usando otras unidades de codificación vecinas tales como E y D de la Figura 19.
Puesto que los modos de intra predicción realmente realizados varían de acuerdo con tamaños de unidades de codificación, un modo de intra predicción previsto desde unidades de codificación vecinas puede no adaptarse con un modo de intra predicción de la unidad de codificación actual. Por consiguiente, para predecir un modo de intra predicción de una unidad de codificación actual desde unidades de codificación vecinas que tienen diferentes tamaños, se requiere un procedimiento de mapeo para unificar modos de intra predicción de las unidades de codificación que tienen diferentes modos de intra predicción.
Las Figuras 20A y 20B son diagramas de referencia para explicar un procedimiento de mapeo para unificar modos de intra predicción de unidades de codificación que tienen diferentes tamaños, de acuerdo con una realización ejemplar.
Haciendo referencia a la Figura 20A, se supone que una unidad de codificación actual A 180 tiene un tamaño de 16x16, una unidad de codificación izquierda B 181 tiene un tamaño de 8x8, y una unidad de codificación arriba C 182 tiene un tamaño de 4x4. También, como se muestra en la Figura 14, se supone que los números de modos de intra predicción disponibles de las unidades de codificación que tienen los tamaños de 4x4, 8x8, y 16x16 son respectivamente 9, 9, y 33. En este caso, puesto que los números de los modos de intra predicción disponibles de la unidad de codificación izquierda B 181 y la unidad de codificación arriba C 182 son diferentes del número de los modos de intra predicción disponibles de la unidad de codificación actual A 180, un modo de intra predicción previsto desde la unidad de codificación izquierda B 181 y la unidad de codificación arriba C 182 no es adecuado para usarse como un valor de predicción de un modo de intra predicción de la unidad de codificación actual A 180. Por consiguiente, en la Figura 20A, los modos de intra predicción de las unidades de codificación vecinas B y C 181 y 182 se cambian respectivamente al primer y segundo modos de intra predicción representativos que tienen una dirección más similar de entre un número predeterminado de modos de intra predicción representativos, y un modo con un valor menor de entre el primer y segundo modos de intra predicción representativo se selecciona como un modo de intra predicción representativo final. Y, un modo de intra predicción que tiene una dirección más similar al modo de intra predicción representativo seleccionado de entre los modos de intra predicción disponibles de acuerdo con un tamaño de la unidad 1080 de codificación actual se predice que es un modo de intra predicción de la unidad 1080 de codificación actual.
Como alternativa, haciendo referencia a la Figura 20B, se supone que una unidad de codificación actual A tiene un tamaño de 16x16, una unidad de codificación izquierda B tiene un tamaño de 32x32, y una unidad de codificación arriba C tiene un tamaño de 8x8. También, como se muestra en la Figura 14, se supone que los números de modos de intra predicción disponibles de las unidades de codificación que tienen los tamaños de 8x8, 16x16, y 32x32 son respectivamente 9, 9, y 33. También, se supone que un modo de intra predicción de la unidad de codificación izquierda B es un modo 4, y un modo de intra predicción de la unidad de codificación arriba C es un modo 31. En este caso, puesto que los modos de intra predicción de la unidad de codificación izquierda B y la unidad de codificación arriba C no son compatibles entre sí, cada uno de los modos de intra predicción de la unidad de codificación izquierda B y la unidad de codificación arriba C se mapea a uno de modos de intra predicción representativos mostrados en la Figura 21. Puesto que el modo 31 que es el modo de intra predicción de la unidad de codificación izquierda B tiene una direccionalidad de (dx,dy)=(4, -3) como se muestra en la Tabla 2, se mapea un modo 5 que tiene una direccionalidad más similar a tan-1(-3/4) de entre los modos de intra predicción representativos de la Figura 21, y puesto que el modo de intra predicción modo 4 de la unidad de codificación arriba C tiene la misma direccionalidad que la del modo 4 de entre los modos de intra predicción representativos de la Figura 21, se mapea el modo 4.
El modo 4 que tiene un valor de modo menor de entre el modo 5 que es el modo de intra predicción mapeado de la unidad de codificación izquierda B y el modo 4 que es el modo de intra predicción mapeado de la unidad de codificación arriba C puede determinarse que es un valor de predicción de un modo de intra predicción de la unidad de codificación actual, y únicamente puede codificarse un valor de diferencia de modo entre un modo de intra predicción real y un modo de intra predicción previsto de la unidad de codificación actual como información de modo de predicción de la unidad de codificación actual.
La Figura 21 es un diagrama de referencia para explicar un procedimiento de mapeo de modos de intra predicción de unidades de codificación vecinas a uno de modos de intra predicción representativos, de acuerdo con una realización ejemplar. En la Figura 21, como modos de intra predicción representativos, se establecen un modo vertical, un modo horizontal, un modo de CC, un modo diagonal izquierda, un modo diagonal derecha, un modo vertical derecho, un modo vertical izquierdo, un modo horizontal arriba, y un modo horizontal abajo. Sin embargo, los modos de intra predicción representativos no están limitados a estos, y puede establecerse que tengan diverso número de direccionalidades.
Haciendo referencia a la Figura 21, se establece previamente un número predeterminado de modos de intra predicción representativos, y se mapean modos de intra predicción de unidades de codificación vecinas a un modo de intra predicción representativo que tiene una dirección más similar. Por ejemplo, si un modo de intra predicción determinado de la unidad de codificación arriba A es un modo de intra predicción MODO_A(190) que tiene una direccionalidad, el modo de intra predicción MODO_A(190) de la unidad de codificación arriba A se mapea a MODO 1 que tiene una dirección más similar de entre 9 modos de intra predicción representativos prestablecidos 1 a 9. Análogamente, si un modo de intra predicción determinado de la unidad de codificación izquierda B es un modo de intra predicción MOD_B(191) que tiene una direccionalidad, el modo de intra predicción MODO_B(191) de la unidad de codificación izquierda B se mapea a MODO 5 que tiene una dirección más similar de entre los 9 modos de intra predicción representativos prestablecidos 1 a 9.
A continuación, un modo que tiene un valor menor de entre un primer modo de intra predicción representativo y un segundo modo de intra predicción representativo se selecciona como un modo de intra predicción representativo final de una unidad de codificación vecina. La razón por la que se selecciona un modo de intra predicción representativo que tiene un valor de modo menor es que se establece un valor de modo menor a modos de intra predicción generados más a menudo. Es decir, si se predicen diferentes modos de intra predicción de unidades de codificación vecinas, puesto que un modo de intra predicción que tiene un valor de modo menor tiene una posibilidad de aparición superior, se prefiere seleccionar un modo de predicción que tiene un valor menor que un predictor para un modo de predicción de la unidad de codificación actual cuando hay diferentes modos de predicción.
Aunque se selecciona un modo de intra predicción representativo de unidades de codificación vecinas, el modo de intra predicción representativo puede no usarse ya que en ocasiones es un predictor de un modo de intra predicción de una unidad de codificación actual. Si la unidad de codificación actual A 180 tiene 33 modos de intra predicción y un modo de intra predicción representativo tiene 9 modos de intra predicción como se describe con referencia a la Figura 20, un modo de intra predicción de la unidad de codificación actual A 180 que corresponde a un modo de intra predicción representativo no existe. En este caso, de una manera similar a la usada para mapear modos de intra predicción de unidades de codificación vecinas a un modo de intra predicción representativo como se ha descrito anteriormente, puede seleccionarse un modo de intra predicción que tiene una dirección más similar a un modo de intra predicción representativo seleccionado de modos de intra predicción de acuerdo con un tamaño de una unidad de codificación actual como un predictor final de un modo de intra predicción de la unidad de codificación actual. Por ejemplo, si un modo de intra predicción representativo finalmente seleccionado de unidades de codificación vecinas en la Figura 21 es MODO 1, puede seleccionarse finalmente un modo de intra predicción que tiene una direccionalidad más similar a MODO 1 de entre modos de intra predicción disponibles de acuerdo con el tamaño de la unidad de codificación actual como un predictor del modo de intra predicción de la unidad de codificación actual.
Mientras tanto, como se describe con referencia a las Figuras 15A a 15C, si se genera un predictor para el píxel actual P usando píxeles vecinos en o cerca de la línea 150 extendida, la línea 150 extendida tiene realmente una direccionalidad de tan-1(dy/dx). Para calcular la direccionalidad, puesto que es necesaria la división (dy/dx), se realiza el cálculo hasta los lugares decimales cuando se usa hardware o software, aumentando de esta manera la cantidad de cálculo. Por consiguiente, se usa un procedimiento de establecimiento de dx y dy para reducir la cantidad de cálculo cuando se establece una dirección de predicción para seleccionar píxeles vecinos a usarse como píxeles de referencia alrededor de un píxel en una unidad de codificación usando parámetros dx, y dy de una manera similar a la descrita con referencia a la Tabla 2.
La Figura 25 es un diagrama para explicar una relación entre un píxel actual y píxeles vecinos localizados en una línea extendida que tiene una direccionalidad de (dy/dx), de acuerdo con una realización ejemplar.
Haciendo referencia a la Figura 25, se supone que una localización del píxel actual P es P(j,i), y un píxel vecino arriba y un píxel vecino izquierdo B localizado en una línea 2510 extendida que tiene una direccionalidad, es decir, un gradiente, de tan-1(dy/dx) y que pasa a través del píxel actual P son respectivamente A y B. Cuando se supone que las localizaciones de píxeles vecinos arriba corresponden a un eje X en un plano de coordenadas, y las localizaciones de píxeles vecinos izquierdos corresponden a un eje y en el plano de coordenadas, el píxel vecino arriba A está localizado en (j+i*dx/dy,0), y el píxel vecino izquierdo B está localizado en (0,i+j*dy/dx). Por consiguiente, para determinar uno cualquiera del píxel vecino arriba A y el píxel vecino izquierdo B para predecir el píxel actual P, se requiere división, tal como dx/dy o dy/dx. Tal división es muy compleja como se ha descrito anteriormente, reduciendo de esta manera una velocidad de cálculo de software o hardware.
Por consiguiente, puede determinarse un valor de uno cualquiera de dx y dy que representa una direccionalidad de un modo de predicción para determinar píxeles vecinos que es una potencia de 2. Es decir, cuando n y m son números enteros, dx y dy pueden ser 2An y 2Am, respectivamente.
Haciendo referencia a la Figura 25, si se usa el píxel vecino izquierdo B como un predictor para el píxel actual P y dx tiene un valor de 2An, j*dy/dx necesario para determinar (0,i+j*dy/dx) que es una localización del píxel vecino izquierdo B se vuelve (j*dy/(2An)), y la división usando una potencia de 2 de este tipo se obtiene fácilmente a través de la operación de desplazamiento como (j*dy)>>n, reduciendo de esta manera la cantidad de cálculo.
Análogamente, si se usa el píxel vecino arriba A como un predictor para el píxel actual P y dy tiene un valor de 2Am, i*dx/dy necesario para determinar (j+i*dx/dy,0) que es una localización del píxel vecino arriba A se vuelve (i*dx)/(2Am), y la división usando una potencia de 2 de este tipo se obtiene fácilmente a través de la operación de desplazamiento como (i*dx)>>m.
La Figura 26 es un diagrama para explicar un cambio en un píxel vecino localizado en una línea extendida que tiene una direccionalidad de (dx,dy) de acuerdo con una localización de un píxel actual, de acuerdo con una realización ejemplar.
Como un píxel vecino necesario para predicción de acuerdo con una localización de un píxel actual, se selecciona uno cualquiera de un píxel vecino arriba y un píxel vecino izquierdo.
Haciendo referencia a la Figura 26, cuando un píxel 2610 actual es P(j,i) y se predice usando un píxel vecino localizado en una dirección de predicción, se usa un píxel arriba A para predecir el píxel actual P 2610. Cuando el píxel 2610 actual es Q(b,a), se usa un píxel izquierdo B para predecir el píxel actual Q 2620.
Si únicamente un componente dy de una dirección de eje y de entre (dx, dy) que representa una dirección de predicción tiene una potencia de 2 como 2Am, mientras que el píxel arriba A en la Figura 24 puede determinarse a través de la operación de desplazamiento sin división tal como (j+(i*dx)>>m, 0), el píxel izquierdo B requiere división tal como (0, a+b*2Am/dx). Por consiguiente, para excluir la división cuando se genera un predictor para todos los píxeles de un bloque actual, todo dx y dy puede tener un tipo de potencia de 2.
Las Figuras 27 y 28 son diagramas para explicar un procedimiento de determinación de una dirección de modo de intra predicción, de acuerdo con las realizaciones ejemplares.
En general, hay muchos casos donde los patrones lineales mostrados en una imagen o una señal de vídeo son verticales u horizontales. Por consiguiente, cuando se definen modos de intra predicción que tienen diversas direccionalidades usando los parámetros dx y dy, puede mejorarse la eficacia de codificación de imagen definiendo los valores dx y dy como sigue.
En detalle, si dy tiene un valor fijo de 2Am, un valor absoluto de dx puede establecerse de modo que una distancia entre direcciones de predicción cerca de una dirección vertical es estrecha, y una distancia entre modos de predicción más cerca de una dirección horizontal es más ancha. Por ejemplo, haciendo referencia a la Figura 27, si dy tiene un valor de 2A4, es decir, 16, un valor de dx puede establecerse para que sea 1,2,3,4,6,9,12, 16,0,-1,-2,-3,-4,-6,-9,-12, y -16 de modo que una distancia entre direcciones de predicción cerca de una dirección vertical es estrecha y una distancia entre modos de predicción más cerca de una dirección horizontal es más ancha.
Análogamente, si dx tiene un valor fijo de 2An, un valor absoluto de dy puede establecerse de modo que una distancia entre direcciones de predicción cerca de una dirección horizontal es estrecha y una distancia entre modos de predicción cerca de una dirección vertical es más ancha. Por ejemplo, haciendo referencia a la Figura 28, si dx tiene un valor de 2A4, es decir, 16, un valor de dy puede establecerse para que sea 1,2,3,4,6,9,12, 16,0,-1,-2,-3,-4,-6,-9,-12, y -16 de modo que una distancia entre direcciones de predicción cerca de una dirección horizontal es estrecha y una distancia entre modos de predicción más cerca de una dirección vertical es más ancha.
También, cuando uno de los valores de dx y dy está fijado, el valor restante puede establecerse para que se aumente de acuerdo con un modo de predicción. Por ejemplo, si dy está fijado, una distancia entre dx puede establecerse para que se aumente en un valor predeterminado. También, un ángulo de una dirección horizontal y una dirección vertical pueden dividirse en unidades predeterminadas, y una cantidad aumentada de este tipo puede establecerse en cada uno de los ángulos divididos. Por ejemplo, si dy está fijado, un valor de dx puede establecerse para que tenga una cantidad aumentada de a en una sección menor que 15 grados, una cantidad aumentada de b en una sección entre 15 grados y 30 grados, y una anchura aumentada de c en una sección mayor que 30 grados. En este caso, para tener una forma de este tipo como se muestra en la Figura 25, el valor de dx puede establecerse para satisfacer una relación de a<b<c.
Por ejemplo, los modos de predicción descritos con referencia a las Figuras 25 a 28 pueden definirse como un modo de predicción que tiene una direccionalidad de tan_1(dy/dx) usando (dx, dy) como se muestra en las tablas 3 a 5.
T l 1
Figure imgf000023_0001
T l 41
Figure imgf000023_0002
Figure imgf000024_0001
La Figura 22 es un diagrama de bloques de un aparato 200 de intra predicción de acuerdo con una realización ejemplar. El aparato 200 de intra predicción puede operar como el intra predictor410 del aparato 400 de la Figura 4 y el intra predictor 550 del aparato 500 de la Figura 5.
Haciendo referencia a la Figura 22, un determinador 2010 de modo de intra predicción determina un modo de intra predicción a aplicarse a una unidad de codificación actual de acuerdo con un tamaño de cada una de unidades de codificación divididas basándose en una unidad de codificación máxima y profundidad como se ha descrito anteriormente. Es decir, el determinador 2010 de modo de intra predicción determina modos de intra predicción a aplicarse de acuerdo con un tamaño de una unidad de codificación actual de entre modos de intra predicción que tienen diversas direcciones.
Un realizador 2020 de intra predicción realiza intra predicción en cada unidad de codificación usando los modos de intra predicción determinados. Un modo de intra predicción óptimo que tiene un mínimo valor de error de entre valores de error entre una unidad de codificación original y una unidad de codificación de predicción generada como resultado de la intra predicción realizada por el realizador 2020 de intra predicción se determina como un modo de intra predicción final de la unidad de codificación.
Mientras tanto, si el aparato 2000 de intra predicción ilustrado en la Figura 22 se aplica a un aparato de decodificación, el determinador 2010 de modo de intra predicción determina un tamaño de una unidad de decodificación actual usando una unidad de codificación máxima extraída desde una secuencia de bits codificada por el decodificador 520 por entropía de la Figura 5 y la información de profundidad que se obtiene dividiendo jerárquicamente la unidad de codificación máxima. También, el realizador 2020 de intra predicción genera una unidad de decodificación por predicción realizando intra predicción en una unidad de decodificación de acuerdo con un modo de intra predicción extraído. La unidad de decodificación por predicción se añade a datos residuales restaurados desde la secuencia de bits para realizar la decodificación en la unidad de decodificación.
La Figura 23 es un diagrama de flujo que ilustra un procedimiento de codificación de una imagen, de acuerdo con una realización ejemplar.
Haciendo referencia a la Figura 23, en la operación 2110, una instantánea actual se divide en al menos un bloque. Como se ha descrito anteriormente, la instantánea actual puede dividirse basándose en una unidad de codificación máxima que es una unidad de codificación que tiene un tamaño máximo y una profundidad que se obtiene dividiendo jerárquicamente la unidad de codificación máxima.
En la operación 2120, se determina un modo de intra predicción a realizarse para un bloque actual de acuerdo con un tamaño del bloque actual. Como se ha descrito anteriormente, el modo de intra predicción incluye un modo de predicción para realizar predicción usando píxeles de bloques vecinos en o cerca de una línea extendida que tiene un ángulo de tan-1(dy/dx) alrededor de cada píxel dentro del bloque actual.
En la operación 2130, se realiza intra predicción en el bloque actual de acuerdo con el modo de intra predicción determinado. Un modo de intra predicción que tiene un mínimo valor de error de predicción de entre modos de intra predicción se selecciona como un modo de intra predicción final del bloque actual.
La Figura 24 es un diagrama de flujo que ilustra un procedimiento de decodificación de una imagen, de acuerdo con una realización ejemplar.
Haciendo referencia a la Figura 24, en la operación 2210, una instantánea actual se divide en al menos un bloque que tiene un tamaño predeterminado. En este punto, la instantánea actual puede dividirse basándose en una unidad de decodificación máxima que es una unidad de decodificación que tiene un tamaño máximo extraído desde una secuencia de bits y la información de profundidad que se obtiene dividiendo jerárquicamente la unidad de decodificación máxima.
En la operación 2220, se extrae información acerca de un modo de intra predicción aplicado a un bloque actual desde la secuencia de bits. El modo de intra predicción incluye un modo de predicción para realizar predicción usando píxeles de bloques vecinos en o cerca de una línea extendida que tiene un ángulo de tan-1(dy/dx) (dx y dy son números enteros) alrededor de cada píxel dentro del bloque actual. Como se ha descrito con referencia a las Figuras 19 a 21, si se usa un predictor de un modo de intra predicción previsto desde modos de intra predicción de las unidades de decodificación vecinas, se mapean modos de intra predicción de las unidades de decodificación vecinas de una unidad de decodificación actual a modos de intra predicción representativos, y se selecciona un modo de intra predicción representativo que tiene un valor de modo menor de entre los modos de intra predicción representativos como un modo de intra predicción representativo final. Y, un modo de intra predicción que tiene una dirección más similar al modo de intra predicción representativo final de entre modos de intra predicción disponibles determinados de acuerdo con un tamaño de la unidad de decodificación actual se selecciona como un predictor del modo de intra predicción de la unidad de decodificación actual, se extrae un valor de diferencia entre los predictores del modo de intra predicción y un modo de intra predicción real incluido en la secuencia de bits, y el valor de diferencia se añade al predictor del modo de intra predicción, determinando de esta manera el modo de intra predicción de la unidad de decodificación actual.
En la operación 2230, una unidad de decodificación se decodifica realizando intra predicción en la unidad de decodificación de acuerdo con el modo de intra predicción extraído.
Las realizaciones ejemplares pueden escribirse como programas informáticos y pueden implementarse en ordenadores digitales de uso general que ejecutan los programas usando un medio de grabación legible por ordenador. Ejemplos del medio de grabación legible por ordenador incluyen medios de almacenamiento magnético (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medio de grabación óptico (por ejemplo, CD-ROM o DVD).
El alcance de la invención se define no por la descripción detallada de la invención sino por las reivindicaciones adjuntas.

Claims (3)

REIVINDICACIONES
1. Un procedimiento de decodificación de una imagen, comprendiendo el procedimiento:
extraer información sobre un modo de intrapredicción aplicado a un bloque actual, información sobre el tamaño máximo de una unidad de codificación, información sobre una profundidad máxima que indica el número total de veces posibles que se divide una unidad de codificación máxima, e información sobre una profundidad codificada, de un flujo de bits; y realizar intrapredicción en el bloque actual de acuerdo con el modo de intrapredicción, en el que el modo de predicción intra indica una dirección particular entre una pluralidad de direcciones, la dirección particular se indica mediante un número dx en una dirección horizontal y un número dy en una dirección vertical, siendo el número dx y el número dy números enteros,
en el que una imagen se divide en una pluralidad de unidades de codificación máximas cuadradas usando la información sobre el tamaño máximo de la unidad de codificación, y cada una de la pluralidad de las unidades de codificación máxima cuadrada se divide en unidades de codificación cuadradas del mismo tamaño de una estructura jerárquica, y usando la información sobre una profundidad codificada,
en el que:
la información sobre la profundidad codificada comprende información dividida que indica si una unidad de codificación de una profundidad actual, entre las unidades de codificación, se divide en unidades de codificación de menor profundidad,
cuando la información dividida indica una división para la unidad de codificación de la profundidad actual, entre las unidades de codificación de al menos una profundidad, las unidades de codificación de la profundidad inferior se determinan dividiendo la altura y el ancho de la unidad de codificación de la profundidad actual por dos,
cuando la información dividida indica que la unidad de codificación de la profundidad actual ya no está dividida, se obtienen una o varias unidades de predicción de la unidad de codificación de la profundidad actual dividiendo por igual un ancho o una altura de la unidad de codificación actual por dos, o dividiendo por igual tanto la altura como el ancho de la unidad de codificación actual por dos, o determinando la unidad de codificación actual como la unidad de predicción basada en la información sobre un tipo de partición, y una o varias unidades de transformación cuadradas del mismo tamaño se obtienen de la unidad de codificación de la profundidad actual para realizar la transformación inversa en la unidad de codificación de la profundidad actual mediante el uso de información sobre un tamaño de la unidad de transformación,
en el que la información sobre un tipo de partición y la información sobre un tamaño de la unidad de transformación se extraen del flujo de bits,
en el que el bloque actual es una unidad de predicción obtenida de la unidad de codificación de la profundidad actual,
en el que el realizar la intrapredicción comprende obtener un valor de predicción de un píxel actual del bloque actual usando un píxel vecino obtenido de acuerdo con una posición del píxel actual del bloque actual, y la dirección particular indicada por el número dx en la dirección horizontal y el número dy en la dirección vertical.
2. Un aparato para codificar una imagen, comprendiendo el aparato:
Un divisor que divide una imagen actual en bloques;
Un intrapredictor que realiza intrapredicción en un bloque actual y determina un modo de predicción intra del bloque actual; y
Un generador que genera un flujo de bits que incluye información sobre el modo de intrapredicción, un tamaño máximo de una unidad de codificación, información sobre una profundidad máxima que indica el número total de veces posibles que se divide una unidad de codificación máxima, e información sobre una profundidad codificada, información sobre un tipo de partición, e información sobre el tamaño de una unidad de transformación, en el que el modo de predicción intra indica una dirección particular entre una pluralidad de direcciones, la dirección particular se indica mediante un número dx en una dirección horizontal y un número dy en una dirección vertical, siendo el número dx y el número dy números enteros,
en el que la imagen actual se divide en una pluralidad de unidades de codificación máximas cuadradas de acuerdo con la información sobre el tamaño máximo de la unidad de codificación, y cada una de la pluralidad de las unidades de codificación máxima cuadrada se divide en unidades de codificación cuadradas del mismo tamaño de una estructura jerárquica,
en el que:
la información sobre la profundidad codificada comprende información dividida que indica si una unidad de codificación de una profundidad actual, entre las unidades de codificación, se divide en unidades de codificación de menor profundidad,
cuando la información dividida indica una división para la unidad de codificación de la profundidad actual, entre las unidades de codificación de al menos una profundidad, las unidades de codificación de la profundidad inferior se determinan dividiendo la altura y el ancho de la unidad de codificación de la profundidad actual por dos,
cuando la información dividida indica que la unidad de codificación de la profundidad actual ya no está dividida, se obtienen una o varias unidades de predicción de la unidad de codificación de la profundidad actual dividiendo por igual un ancho o una altura de la unidad de codificación actual por dos, o dividiendo por igual tanto la altura como el ancho de la unidad de codificación actual por dos, o determinando la unidad de codificación actual como la unidad de predicción de acuerdo con la información sobre un tipo de partición, y una o varias unidades de transformación cuadradas del mismo tamaño se obtienen de la unidad de codificación de la profundidad actual para realizar la transformación en la unidad de codificación de la profundidad actual mediante el uso de la información sobre un tamaño de la unidad de transformación,
en el que el bloque actual es una unidad de predicción obtenida de la unidad de codificación de la profundidad actual,
en donde el intrapredictor obtiene un valor de predicción de un píxel actual del bloque actual usando un píxel vecino obtenido de acuerdo con una posición de un píxel actual del bloque actual, y la dirección particular indicada por el número dx en la dirección horizontal y el número dy en la dirección vertical.
3. Un medio legible por ordenador para almacenar datos asociados con un vídeo, que comprende un flujo de bits almacenado en un medio legible por ordenador no transitorio, incluyendo el flujo de bits que información generada por un aparato de codificación de acuerdo con la reivindicación 2 o para su uso en un procedimiento de decodificación de una imagen de acuerdo con la reivindicación 1 caracterizado porque:
la información comprende:
información sobre un tamaño máximo de una unidad de codificación para dividir una imagen en una pluralidad de unidades de codificación máximas cuadradas de acuerdo con el tamaño máximo de la unidad de codificación; información sobre el modo de intrapredicción de un bloque actual;
información sobre una profundidad máxima que indica el número total de veces posibles que se divide una unidad de codificación máxima, información dividida que indica si una unidad de codificación de profundidad actual está dividida,
información sobre una profundidad codificada,
información sobre un tipo de partición, e
información sobre el tamaño de una unidad de transformación.
ES20150492T 2009-08-17 2010-08-17 Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo Active ES2863416T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090075854A KR101452860B1 (ko) 2009-08-17 2009-08-17 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2863416T3 true ES2863416T3 (es) 2021-10-11

Family

ID=43588577

Family Applications (4)

Application Number Title Priority Date Filing Date
ES20218006T Active ES2952572T3 (es) 2009-08-17 2010-08-17 Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo
ES20150492T Active ES2863416T3 (es) 2009-08-17 2010-08-17 Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo
ES18204758T Active ES2782101T3 (es) 2009-08-17 2010-08-17 Aparato de decodificación de una imagen, procedimiento de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo
ES17190565T Active ES2706573T3 (es) 2009-08-17 2010-08-17 Procedimiento de decodificación de vídeo

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES20218006T Active ES2952572T3 (es) 2009-08-17 2010-08-17 Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES18204758T Active ES2782101T3 (es) 2009-08-17 2010-08-17 Aparato de decodificación de una imagen, procedimiento de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo
ES17190565T Active ES2706573T3 (es) 2009-08-17 2010-08-17 Procedimiento de decodificación de vídeo

Country Status (23)

Country Link
US (8) US9313502B2 (es)
EP (10) EP2928188A1 (es)
JP (11) JP5770185B2 (es)
KR (1) KR101452860B1 (es)
CN (6) CN103179403B (es)
AU (1) AU2010285491B2 (es)
BR (3) BR122013020184A2 (es)
CA (6) CA2823882C (es)
CY (1) CY1121266T1 (es)
DK (2) DK3461130T3 (es)
ES (4) ES2952572T3 (es)
HR (1) HRP20190020T1 (es)
HU (4) HUE062768T2 (es)
LT (1) LT3288262T (es)
MX (1) MX2011013033A (es)
MY (5) MY174665A (es)
PL (4) PL3654652T3 (es)
PT (1) PT3288262T (es)
RU (7) RU2493671C1 (es)
SI (1) SI3288262T1 (es)
TR (1) TR201900025T4 (es)
WO (1) WO2011021838A2 (es)
ZA (5) ZA201201156B (es)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452860B1 (ko) * 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101700358B1 (ko) * 2009-12-09 2017-01-26 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
USRE47243E1 (en) * 2009-12-09 2019-02-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
KR101495724B1 (ko) * 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101503269B1 (ko) * 2010-04-05 2015-03-17 삼성전자주식회사 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치
CN105472386B (zh) 2010-04-09 2018-09-18 Lg电子株式会社 处理视频数据的方法和装置
WO2011128365A1 (en) 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inheritance in sample array multitree subdivision
PT2559246T (pt) 2010-04-13 2016-09-14 Ge Video Compression Llc Regiões de fusão de amostras
CN106231328B (zh) 2010-04-13 2020-06-12 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
CN106067983B (zh) 2010-04-13 2019-07-12 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及解码器
KR101530284B1 (ko) 2010-07-16 2015-06-19 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
HUE059881T2 (hu) * 2010-09-27 2023-01-28 Lg Electronics Inc Blokkfelosztási eljárás és dekódoló eszköz
US8923395B2 (en) * 2010-10-01 2014-12-30 Qualcomm Incorporated Video coding using intra-prediction
CN103262542A (zh) * 2010-10-26 2013-08-21 数码士有限公司 自适应帧内预测编码和解码方法
EP2661080A4 (en) * 2010-12-31 2016-06-29 Korea Electronics Telecomm METHOD FOR CODING VIDEO INFORMATION AND METHOD FOR DECODING VIDEO INFORMATION AND DEVICE THEREFOR
AU2011354441B2 (en) * 2011-01-07 2014-07-17 Hfi Innovation Inc. Method and apparatus of improved intra luma prediction mode coding
KR20120103517A (ko) * 2011-03-10 2012-09-19 한국전자통신연구원 인트라 예측 방법 및 그 장치
WO2012122495A1 (en) * 2011-03-10 2012-09-13 Huawei Technologies Co., Ltd. Using multiple prediction sets to encode extended unified directional intra mode numbers for robustness
ES2459890B2 (es) * 2011-04-25 2015-06-05 Lg Electronics Inc. Método de predicción intra, y codificador y descodificador que lo usan
KR102081350B1 (ko) 2011-04-25 2020-02-25 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화기 및 복호화기
US8494290B2 (en) * 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
WO2012161445A2 (ko) * 2011-05-20 2012-11-29 주식회사 케이티 단거리 인트라 예측 단위 복호화 방법 및 복호화 장치
KR101383775B1 (ko) 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
US20140185948A1 (en) * 2011-05-31 2014-07-03 Humax Co., Ltd. Method for storing motion prediction-related information in inter prediction method, and method for obtaining motion prediction-related information in inter prediction method
CA3101406C (en) 2011-06-14 2023-05-09 Tammy Lee Method and apparatus for encoding motion information and method and apparatus for decoding same
BR122020013891B1 (pt) * 2011-06-17 2022-09-13 JVC Kenwood Corporation Dispositivo e método para decodificação de imagem, dispositivo e método para transmissão, e dispositivo e método para recepção
EP3678373A1 (en) * 2011-06-20 2020-07-08 HFI Innovation Inc. Method and apparatus of directional intra prediction
CA3208227A1 (en) * 2011-06-24 2012-12-27 Mitsubishi Electric Corporation Intra prediction of a processing block using a predicted value which is proportional to the amount of change in the horizontal direction of the signal value of a pixel adjacent to the left of the processing block
KR101654673B1 (ko) * 2011-06-28 2016-09-22 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
CN102857764B (zh) 2011-07-01 2016-03-09 华为技术有限公司 帧内预测模式处理的方法和装置
EP2742690B1 (en) * 2011-08-08 2016-07-27 Google Technology Holdings LLC Residual tree structure of transform unit partitioning
US8965062B2 (en) * 2011-09-16 2015-02-24 The Invention Science Fund I, Llc Reporting imaged portions of a patient's body part
JP5972888B2 (ja) * 2011-09-29 2016-08-17 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
EP2763414B1 (en) 2011-09-29 2020-09-23 Sharp Kabushiki Kaisha Image decoding device and image decoding method for performing bi-prediction to uni-prediction conversion
EP4231639A3 (en) * 2011-10-28 2023-08-30 Samsung Electronics Co., Ltd. Method and apparatus for intra prediction of video
KR20130049525A (ko) * 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
WO2013067942A1 (zh) * 2011-11-08 2013-05-16 华为技术有限公司 一种帧内预测方法和装置
DK3249926T3 (en) * 2011-12-13 2019-03-25 Jvc Kenwood Corp VIDEO DECODING DEVICE, VIDEO DECODING METHOD, AND VIDEO DECODING PROGRAM
CN103220506B (zh) * 2012-01-19 2015-11-25 华为技术有限公司 一种编解码方法和设备
US9491477B2 (en) * 2012-03-30 2016-11-08 Hitachi, Ltd. Image decoding method and image decoding apparatus
US9930362B2 (en) * 2012-04-20 2018-03-27 Futurewei Technologies, Inc. Intra prediction in lossless coding in HEVC
WO2014014276A1 (ko) * 2012-07-17 2014-01-23 한국전자통신연구원 인루프 필터링 방법 및 이를 이용하는 장치
CN102984523B (zh) * 2012-12-14 2015-12-09 北京大学 一种多方向的帧内预测编解码方法及装置
CN104104959B (zh) * 2013-04-10 2018-11-20 乐金电子(中国)研究开发中心有限公司 深度图像帧内预测方法及装置
US9497485B2 (en) 2013-04-12 2016-11-15 Intel Corporation Coding unit size dependent simplified depth coding for 3D video coding
US20150016516A1 (en) * 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
CN110740320B (zh) * 2013-12-19 2022-07-05 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
KR101737861B1 (ko) * 2014-01-20 2017-05-19 한국전자통신연구원 변환 깊이 기반 dct 사이즈 결정 장치 및 방법
US20180035123A1 (en) * 2015-02-25 2018-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and Decoding of Inter Pictures in a Video
WO2016140090A1 (ja) * 2015-03-04 2016-09-09 ソニー株式会社 画像符号化装置および方法
KR20170135847A (ko) * 2015-04-08 2017-12-08 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
CN106604028A (zh) * 2015-10-16 2017-04-26 中兴通讯股份有限公司 编码处理、解码处理方法及装置、编码器及解码器
EP3367688A4 (en) * 2015-10-21 2018-10-24 Sharp Kabushiki Kaisha Predictive image generation device, image decoding device, and image encoding device
CN105472389B (zh) * 2015-12-01 2018-11-16 上海交通大学 一种用于超高清视频处理系统的片外缓存压缩方法
KR102345475B1 (ko) * 2016-01-05 2022-01-03 한국전자통신연구원 잔차 신호에 대한 예측 방법 및 장치
EP3393126A4 (en) * 2016-02-16 2019-04-17 Samsung Electronics Co., Ltd. INTRA PREDICTION METHOD FOR REDUCING INTRA PREDICTION ERRORS AND DEVICE THEREFOR
CN105791868B (zh) * 2016-04-07 2019-03-12 中星技术股份有限公司 视频编码的方法和设备
WO2017188652A1 (ko) 2016-04-26 2017-11-02 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
CN117499647A (zh) * 2016-04-29 2024-02-02 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
US20170347094A1 (en) * 2016-05-31 2017-11-30 Google Inc. Block size adaptive directional intra prediction
EP3499884B1 (en) * 2016-08-08 2022-12-14 LG Electronics Inc. Intra-prediction mode-based video coding methods and video processing apparatus thereof
CN109792521A (zh) * 2016-10-04 2019-05-21 韩国电子通信研究院 用于对图像进行编码/解码的方法和设备以及存储比特流的记录介质
CN116668728A (zh) * 2016-11-08 2023-08-29 株式会社Kt 对视频进行解码和编码的方法、发送压缩数据的方法
FI3552393T3 (fi) * 2016-12-23 2023-05-19 Huawei Tech Co Ltd Koodauslaite laajennussuunnatun intra-ennustustilan signaloimiseksi suunnattujen intra-ennustustilojen joukossa
US11184639B2 (en) 2017-05-17 2021-11-23 Kt Corporation Method and device for video signal processing
CN118413665A (zh) * 2017-11-28 2024-07-30 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
EP3496401A1 (en) * 2017-12-05 2019-06-12 Thomson Licensing Method and apparatus for video encoding and decoding based on block shape
CN110278443B (zh) * 2018-03-16 2022-02-11 华为技术有限公司 划分标志位的上下文建模方法及装置
WO2019174567A1 (zh) 2018-03-16 2019-09-19 华为技术有限公司 划分标志位的上下文建模方法及装置
CN118018723A (zh) * 2018-05-10 2024-05-10 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
KR20210007987A (ko) * 2018-05-14 2021-01-20 인터디지털 브이씨 홀딩스 인코포레이티드 쿼드트리-이진 트리에 대한 블록 형상 적응적 인트라 예측 방향들
CN116456095A (zh) 2018-06-25 2023-07-18 Oppo广东移动通信有限公司 帧内预测方法和装置
CN115379211B (zh) * 2018-09-02 2024-06-04 Lg电子株式会社 对视频信号进行解码/编码的方法和计算机可读存储介质
BR112021004890A2 (pt) * 2018-09-13 2021-06-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. intrapredições ponderadas lineares afins
JP7243732B2 (ja) * 2018-09-14 2023-03-22 株式会社ソシオネクスト 動画像符号化方法及び動画像符号化装置
CN109040754A (zh) * 2018-11-06 2018-12-18 深圳市网心科技有限公司 一种hevc的帧内预测模式确定方法、设备、系统及介质
CN115714861A (zh) 2018-12-16 2023-02-24 华为技术有限公司 视频译码器及相应方法
EP3941048B1 (en) * 2019-03-13 2024-09-25 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image encoding/decoding method and device, and method for transmitting bitstream
CN111770337B (zh) * 2019-03-30 2022-08-19 华为技术有限公司 视频编码方法、视频解码方法及相关设备
CN110446049A (zh) * 2019-07-26 2019-11-12 苏州浪潮智能科技有限公司 帧内预测的方法及装置
US11638081B2 (en) 2021-09-04 2023-04-25 Bose Corporation Earphone port

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1003336A1 (en) 1998-11-17 2000-05-24 STMicroelectronics S.r.l. Video pictures compression and coding with decision step for field/frame and motion vectors DCT
JP2001204024A (ja) * 2000-01-18 2001-07-27 Tadahiro Omi データ圧縮方法、データ圧縮装置及び記憶媒体
US7386048B2 (en) 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
RU2314656C2 (ru) * 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
MXPA06002210A (es) 2003-08-26 2006-05-19 Thomson Licensing Metodo y aparato para la decodificacion de bloques intra-inter codificados hibridos.
US7369707B2 (en) 2003-10-28 2008-05-06 Matsushita Electric Industrial Co., Ltd. Intra-picture prediction coding method
CA2547891C (en) * 2003-12-01 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus for scalable video encoding and decoding
CN100536573C (zh) * 2004-01-16 2009-09-02 北京工业大学 基于方向的dc预测方法及用于视频编码的帧内预测方法
KR100813958B1 (ko) 2004-06-07 2008-03-14 세종대학교산학협력단 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치
US8085846B2 (en) 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
US7725721B2 (en) * 2004-11-18 2010-05-25 Cisco Technology, Inc. Method and system for transferring software and hardware feature licenses between devices
KR100657919B1 (ko) * 2004-12-13 2006-12-14 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
CN1819657A (zh) 2005-02-07 2006-08-16 松下电器产业株式会社 图像编码装置和图像编码方法
JP2006246431A (ja) * 2005-02-07 2006-09-14 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
CN1658673A (zh) * 2005-03-23 2005-08-24 南京大学 视频压缩编解码方法
TWI301723B (en) 2005-05-17 2008-10-01 Novatek Microelectronics Corp Method and apparatus for selecting prediction mode of intra coding
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
KR100739714B1 (ko) 2005-07-06 2007-07-13 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
KR100725407B1 (ko) 2005-07-21 2007-06-07 삼성전자주식회사 방향적 인트라 잔차 예측에 따라 비디오 신호를 인코딩하고디코딩하는 방법 및 장치
KR100678911B1 (ko) 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
JP4650173B2 (ja) 2005-09-05 2011-03-16 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
CN100484249C (zh) * 2005-09-25 2009-04-29 海信集团有限公司 视频帧间编码基于边缘方向的帧内预测方法
EP2720467B1 (en) 2005-09-26 2017-03-29 Mitsubishi Electric Corporation Moving image decoding apparatus
US7782955B2 (en) 2005-09-28 2010-08-24 Avisonic Technology Corporation Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels
KR100750145B1 (ko) * 2005-12-12 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
CN101001383A (zh) 2006-01-12 2007-07-18 三星电子株式会社 基于多层的视频编码/解码方法和编码器/解码器
KR100772873B1 (ko) 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100772390B1 (ko) * 2006-01-23 2007-11-01 삼성전자주식회사 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치
JP2007228096A (ja) 2006-02-21 2007-09-06 Victor Co Of Japan Ltd デジタル動画像記録装置及びデジタル動画像記録方法
KR20060027842A (ko) 2006-02-24 2006-03-28 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
JP4763549B2 (ja) 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
US7912302B2 (en) 2006-09-21 2011-03-22 Analog Devices, Inc. Multiprocessor decoder system and method
FR2908949A1 (fr) 2006-11-16 2008-05-23 Thomson Licensing Sas Procede de transcodage de donnees du standard mpeg2 a un standard mpeg4.
CN101193305B (zh) * 2006-11-21 2010-05-12 安凯(广州)微电子技术有限公司 用于视频编解码芯片中帧内预测的数据存储和交换方法
US8233537B2 (en) 2007-03-19 2012-07-31 Texas Instruments Incorporated Efficient implementation of H.264 4 by 4 intra prediction on a VLIW processor
KR101362757B1 (ko) * 2007-06-11 2014-02-14 삼성전자주식회사 인터 컬러 보상을 이용한 영상의 부호화 방법 및 장치,복호화 방법 및 장치
KR101579394B1 (ko) * 2007-10-16 2015-12-21 톰슨 라이센싱 기하학적으로 분할된 수퍼 블록들의 비디오 인코딩 및 디코딩 방법 및 장치
CN101217669A (zh) * 2008-01-15 2008-07-09 北京中星微电子有限公司 帧内预测方法及装置
EP2081386A1 (en) 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
JP5111127B2 (ja) 2008-01-22 2012-12-26 キヤノン株式会社 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム
CN101500161B (zh) 2008-01-31 2012-03-21 华为技术有限公司 基于自适应块变换的帧内预测方法及装置
KR101394209B1 (ko) 2008-02-13 2014-05-15 삼성전자주식회사 영상의 인트라 예측 부호화 방법
TWI359617B (en) * 2008-07-03 2012-03-01 Univ Nat Taiwan Low-complexity and high-quality error concealment
US8666189B2 (en) * 2008-08-05 2014-03-04 Aptina Imaging Corporation Methods and apparatus for flat region image filtering
KR20110017719A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
EP2747436A1 (en) 2010-07-15 2014-06-25 Kabushiki Kaisha Toshiba Image decoding method using transform matrices
KR101530284B1 (ko) 2010-07-16 2015-06-19 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US20120236936A1 (en) * 2011-03-14 2012-09-20 Segall Christopher A Video coding based on edge determination
TWI516994B (zh) 2011-03-15 2016-01-11 晨星半導體股份有限公司 多指觸控方法與相關裝置

Also Published As

Publication number Publication date
JP2013502807A (ja) 2013-01-24
JP2014180027A (ja) 2014-09-25
PL3654652T3 (pl) 2021-06-14
RU2514927C1 (ru) 2014-05-10
MX2011013033A (es) 2012-02-21
BR122013020184A2 (pt) 2020-10-27
MY174666A (en) 2020-05-06
WO2011021838A2 (en) 2011-02-24
RU2603541C2 (ru) 2016-11-27
US9319686B2 (en) 2016-04-19
JP6276335B2 (ja) 2018-02-07
RU2603543C2 (ru) 2016-11-27
EP4080881A1 (en) 2022-10-26
CN103179403A (zh) 2013-06-26
PL3288262T3 (pl) 2019-05-31
LT3288262T (lt) 2019-01-25
MY157778A (en) 2016-07-29
CN104702949A (zh) 2015-06-10
EP2928187A1 (en) 2015-10-07
MY155173A (en) 2015-09-15
EP2454882A4 (en) 2014-07-30
EP2928188A1 (en) 2015-10-07
US20140079121A1 (en) 2014-03-20
RU2014100169A (ru) 2015-07-20
JP2014195290A (ja) 2014-10-09
EP3823279A1 (en) 2021-05-19
ZA201304972B (en) 2013-09-25
RU2014100177A (ru) 2015-07-20
CN104683799A (zh) 2015-06-03
ES2782101T3 (es) 2020-09-10
JP2014042321A (ja) 2014-03-06
EP3288262A1 (en) 2018-02-28
EP3461130B1 (en) 2020-03-18
CN104683799B (zh) 2019-06-14
JP2014180026A (ja) 2014-09-25
JP5969066B2 (ja) 2016-08-10
US9369715B2 (en) 2016-06-14
JP2018093508A (ja) 2018-06-14
RU2012105475A (ru) 2013-08-27
HRP20190020T1 (hr) 2019-02-22
JP2014042320A (ja) 2014-03-06
EP2677747A2 (en) 2013-12-25
EP2454882A2 (en) 2012-05-23
CA2857392A1 (en) 2011-02-24
CN104702948B (zh) 2018-07-20
JP2015111908A (ja) 2015-06-18
JP2016195444A (ja) 2016-11-17
HUE043983T2 (hu) 2019-09-30
PL3461130T3 (pl) 2020-07-27
US20140286394A1 (en) 2014-09-25
PL3823279T3 (pl) 2023-09-18
CA2857370C (en) 2018-04-17
RU2603542C2 (ru) 2016-11-27
JP2016195445A (ja) 2016-11-17
US9392283B2 (en) 2016-07-12
EP3654652B1 (en) 2021-02-17
JP2015111907A (ja) 2015-06-18
US8270486B2 (en) 2012-09-18
US9313502B2 (en) 2016-04-12
ZA201201156B (en) 2015-08-26
BR112012003430A2 (pt) 2020-10-13
SI3288262T1 (sl) 2019-02-28
CA2857392C (en) 2018-05-01
DK3461130T3 (da) 2020-03-30
JP6276336B2 (ja) 2018-02-07
ES2706573T3 (es) 2019-03-29
ZA201503355B (en) 2017-11-29
ES2952572T3 (es) 2023-11-02
RU2013113952A (ru) 2014-04-27
US20110038414A1 (en) 2011-02-17
CN104702948A (zh) 2015-06-10
RU2014100179A (ru) 2015-07-20
JP5770185B2 (ja) 2015-08-26
CA2823808A1 (en) 2011-02-24
HUE051089T2 (hu) 2021-03-01
BR122013020185A2 (pt) 2020-10-27
RU2603539C2 (ru) 2016-11-27
CN102484704B (zh) 2015-04-01
ZA201304971B (en) 2013-09-25
DK3288262T3 (en) 2019-01-28
AU2010285491B2 (en) 2014-05-22
US9277224B2 (en) 2016-03-01
CN103152577B (zh) 2016-05-25
AU2010285491A1 (en) 2012-01-12
EP3654652A1 (en) 2020-05-20
CA2857370A1 (en) 2011-02-24
CA2857365C (en) 2018-03-20
CA2823882A1 (en) 2011-02-24
EP2677748A3 (en) 2014-07-30
CN104702949B (zh) 2016-08-24
EP2677747A3 (en) 2014-07-30
WO2011021838A3 (en) 2011-04-21
US9313503B2 (en) 2016-04-12
RU2513708C1 (ru) 2014-04-20
MY159946A (en) 2017-02-15
RU2014100181A (ru) 2015-07-20
EP3823279B1 (en) 2023-07-12
US20130329788A1 (en) 2013-12-12
CN103152577A (zh) 2013-06-12
EP2677748A2 (en) 2013-12-25
TR201900025T4 (tr) 2019-01-21
MY174665A (en) 2020-05-06
CA2770995A1 (en) 2011-02-24
HUE053969T2 (hu) 2021-08-30
PT3288262T (pt) 2019-04-11
EP3823279C0 (en) 2023-07-12
RU2493671C1 (ru) 2013-09-20
CA2823882C (en) 2016-04-26
CA2857365A1 (en) 2011-02-24
US8446953B2 (en) 2013-05-21
CY1121266T1 (el) 2020-05-29
KR20110018188A (ko) 2011-02-23
US20120281755A1 (en) 2012-11-08
HUE062768T2 (hu) 2023-12-28
ZA201503434B (en) 2022-11-30
KR101452860B1 (ko) 2014-10-23
US20140079127A1 (en) 2014-03-20
EP3288262B1 (en) 2019-01-02
CA2823808C (en) 2015-03-24
US20120140823A1 (en) 2012-06-07
EP3461130A1 (en) 2019-03-27
US20140044187A1 (en) 2014-02-13
JP6646078B2 (ja) 2020-02-14
CA2770995C (en) 2016-05-10
CN103179403B (zh) 2016-05-04
JP5972411B2 (ja) 2016-08-17
CN102484704A (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
ES2863416T3 (es) Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo
ES2791705T3 (es) Procedimiento de decodificación de una imagen
ES2739668B1 (es) Metodo y aparato para procesar senales de video
ES2793600T3 (es) Codificación de vídeo teniendo en cuenta la orden de exploración de unidades de codificación que tienen estructura jerárquica
ES2778655T3 (es) Procedimiento para decodificar vídeo considerando un orden de omisión y de división
ES2800551B2 (es) Método y aparato para tratar una señal de vídeo
ES2636757T3 (es) Procedimiento y aparato de codificación de vídeo y procedimiento y aparato de decodificación de vídeo, basándose en estructura jerárquica de unidad de codificación
ES2780126T3 (es) Procedimiento de decodificación de una imagen, aparato de codificación de una imagen y medio legible por ordenador para almacenar datos asociados con un vídeo
BR112013016095B1 (pt) Método de decodificar uma imagem, e método de codificar uma imagem