[go: up one dir, main page]

MX2014005114A - Metodo y aparato para intra-prediccion de video. - Google Patents

Metodo y aparato para intra-prediccion de video.

Info

Publication number
MX2014005114A
MX2014005114A MX2014005114A MX2014005114A MX2014005114A MX 2014005114 A MX2014005114 A MX 2014005114A MX 2014005114 A MX2014005114 A MX 2014005114A MX 2014005114 A MX2014005114 A MX 2014005114A MX 2014005114 A MX2014005114 A MX 2014005114A
Authority
MX
Mexico
Prior art keywords
adjacent
pixel
adjacent pixel
current block
pixels
Prior art date
Application number
MX2014005114A
Other languages
English (en)
Inventor
Tammy Lee
Jianle Chen
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
Publication of MX2014005114A publication Critical patent/MX2014005114A/es

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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Landscapes

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

Abstract

La presente invención se refiere a un método y un aparato para intra-predecir un video. El método incluye: determinar la disponibilidad de un número predeterminado de pixeles adyacentes utilizados para la intra-predicción de un bloque actual; si un primer pixel adyacente no está disponible, buscar un segundo pixel adyacente que esté disponible al buscar el número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el primer pixel adyacente; y remplazar un valor de pixel del primer pixel adyacente por un valor de pixel de un segundo pixel adyacente encontrado. Por lo menos un tercer pixel adyacente en otra ubicación, el cual no está disponible y excluye el primer pixel adyacente en una ubicación predeterminada, es reemplazado secuencialmente mediante el uso de un pixel directamente adyacente en una dirección predeterminada.

Description

METODO Y APARATO PARA I TRA-PREDICCION DE VIDEO Campo de la Invención La presente invención se refiere a la intra-predicción de un video, y más particularmente, a un método y un aparato para la intra-predicción de un video, el cual implica reemplazar un pixel adyacente no disponible en un modo de intra-predicción limitado que limita un uso de un pixel adyacente y utilizar el pixel adyacente reemplazado como un pixel de referencia.
Antecedentes de la Invención En un método de compresión de imágenes, tal como el Grupo de Expertos de imágenes en Movimiento (MPEG, por sus siglas en inglés) -1, MPEG- 2, MPEG-4 o la Codificación Avanzada de Video H.264 /MPEG-4 (AVC, por sus siglas en inglés) , una imagen se divide en macrobloques con el propósito de codificar una imagen. Cada uno de los macrobloques se codifica en todos los modos de codificación que se pueden utilizar en la inter-predicción o la intra-predicción y luego se codifica en un modo de codificación que se selecciona de acuerdo con la tasa de bits utilizada para codificar el macrobloque y un grado de distorsión entre un macrobloque decodificado y el macrobloque original.
Como el hardware (componentes físicos) para reproducir y almacenar contenido de video de alta resolución REF: 248352 o alta calidad está siendo desarrollado y suministrado, existe una necesidad creciente por un códec de video capaz de codificar o decodificar de manera efectiva el contenido de video de alta resolución o alta calidad. En un códec de video convencional, un video se codifica en unidades de macrobloques cada uno que tiene un tamaño predeterminado .
Breve Descripción de la Invención PROBLEMA TECNICO La presente invención proporciona un método para reemplazar un pixel adyacente no disponible en un modo de intra-predicción limitado que limita un uso de un pixel adyacente utilizado en la intra-predicción.
SOLUCION TECNICA El método para la intra-predicción de video determina la disponibilidad de un número predeterminado de pixeles adyacentes utilizados para la intra-predicción, si existe un primer pixel adyacente no disponible, busca un segundo pixel adyacente que esté disponible al buscar un número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el primer pixel adyacente y reemplaza un valor de pixel del primer pixel adyacente por un valor de pixel de un segundo pixel adyacente encontrado. Para un tercer pixel adyacente no disponible, se realiza un proceso de reemplazo mediante el uso de un pixel adyacente en una dirección predeterminada.
EFECTOS VENTAJOSOS De acuerdo con una o más modalidades de la presente invención, la complejidad de un proceso para determinar un pixel de referencia utilizado para la intra-predicción se puede reducir al buscar y reemplazar un pixel adyacente disponible, con base en una dirección de búsqueda predeterminada, por un pixel adyacente no disponible.
Breve Descripción de las Figuras La FIGURA 1 es un diagrama de bloques de un aparato para codificar un video, de acuerdo con una modalidad de la presente invención; la FIGURA 2 es un diagrama de bloques de un aparato para decodificar un video, de acuerdo con una modalidad de la presente invención; la FIGURA 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una modalidad de la presente invención; la FIGURA 4 es un diagrama de bloques de un codificador de imágenes basado en unidades de codificación de acuerdo con una modalidad de la presente invención; la FIGURA 5 es un diagrama de bloques de un decodificador de imágenes basado en unidades de codificación de acuerdo con una modalidad de la presente invención; la FIGURA 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con profundidades y particiones de acuerdo con una modalidad de la presente invención; la FIGURA 7 es un diagrama para describir una relación entre una unidad de codificación y unidades de transformación, de acuerdo con una modalidad de la presente invención; la FIGURA 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una modalidad de la presente invención; la FIGURA 9 es un diagrama de unidades de codificación más profundas de acuerdo con profundidades, de acuerdo con una modalidad de la presente invención; las FIGURAS 10 a 12 son diagramas para describir una relación entre unidades de codificación, unidades de predicción y unidades de transformación, de acuerdo con una modalidad de la presente invención; la FIGURA 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una partición, y una unidad de transformación, de acuerdo con información de modo de codificación de la Tabla 1; la FIGURA 14 es una tabla que muestra una variedad de modos de intra-predicción de acuerdo con un tamaño de una unidad de predicción, de acuerdo con una modalidad de la presente invención; la FIGURA 15 es un diagrama de referencia para describir modos de intra-predicción que tienen varias directividades , de acuerdo con una modalidad de la presente invención; la FIGURA 16 es un diagrama para describir una relación entre un pixel actual y pixeles adyacentes dispuestos en una línea de extensión que tiene una directividad de (dx, dy) , de acuerdo con una modalidad de la presente invención; las FIGURAS 17 y 18 son diagramas que muestran direcciones de un modo de intra-predicción, de acuerdo con modalidades de la presente invención; la FIGURA 19 es un diagrama que muestra direcciones de un modo de intra-predicción que tiene 33 directividades, de acuerdo con una modalidad de la presente invención; la FIGURA 20 es un diagrama de un pixel adyacente que no está disponible durante la intra-predicción de un bloque actual de acuerdo con un tipo de un bloque adyacente, de acuerdo con una modalidad de la presente invención; la FIGURA 21 es un diagrama para describir un proceso para reemplazar un pixel adyacente no disponible, de acuerdo con una modalidad de la presente invención; la FIGURA 22 es un diagrama para describir un proceso para reemplazar un pixel adyacente no disponible, de acuerdo con otra modalidad de la presente invención; la FIGURA 23 es un diagrama para describir un proceso para reemplazar un pixel adyacente no disponible, de acuerdo con otra modalidad de la presente invención; la FIGURA 24 es un diagrama de bloques de un aparato de intra-predicción de acuerdo con una modalidad de la presente invención; la FIGURA 25A es un diagrama de un pixel adyacente filtrado de un bloque actuarla FIGURA 25B es un diagrama de referencia para describir un proceso de filtración de un pixel adyacente de un bloque actual; la FIGURA 26 es un diagrama de flujo que ilustra un método para intra-predecir un video, de acuerdo con una modalidad de la presente invención; la FIGURA 27A ilustra una estructura física de un disco que almacena un programa, de acuerdo con una modalidad de la presente invención; la FIGURA 27B ilustra una unidad de discos que graba y lee un programa mediante el uso de un disco; la FIGURA 28 ilustra una estructura completa de un sistema de suministro de contenido que proporciona un servicio de distribución de contenido; las FIGURAS 29 y 30 ilustran estructuras externas e internas de un teléfono móvil al cual se aplican un método de codificación de video y un método de decodificación de video, de acuerdo con una modalidad de la presente invención; la FIGURA 31 ilustra un sistema de radiodifusión digital que emplea un sistema de comunicación, de acuerdo con una modalidad de la presente invención; y la FIGURA 32 ilustra una estructura de red de un sistema de computación en nube que utiliza un aparato de codificación de video y un aparato de decodificación de video, de acuerdo con una modalidad de la presente invención.
Descripción Detallada de la Invención Mejor Modo De acuerdo con un aspecto de la presente invención, se proporciona un método para intra-predecir un video, el método comprende: determinar la disponibilidad de un número predeterminado de pixeles adyacentes que se utilizan para la intra-predicción de un bloque actual de entre bloques obtenidos al dividir una imagen que forma el video de acuerdo con una estructura jerárquica; si un primer pixel adyacente no está disponible en el número predeterminado de pixeles adyacentes, buscar un segundo pixel adyacente que esté disponible al buscar el número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el primer pixel adyacente; reemplazar un valor de pixel del primer pixel adyacente por un valor de pixel de un segundo pixel adyacente encontrado; y realizar la intra-predicción en el bloque actual mediante el uso del número predeterminado de pixeles adyacentes que comprenden el primer pixel adyacente reemplazado .
La determinación de la disponibilidad comprende determinar pixeles adyacentes, los cuales están incluidos en un bloque adyacente que es inter-predicho o que pertenece a un corte diferente de un corte al cual pertenece el bloque actual, que no están disponibles.
El primer pixel adyacente puede ser un pixel en una ubicación predeterminada de entre el número predeterminado de pixeles adyacentes y la búsqueda del segundo pixel adyacente puede comprender determinar un pixel adyacente disponible, el cual se encontró inicialmente al buscar el número predeterminado de pixeles adyacentes en la dirección predeterminada con base en el primer pixel adyacente, que es el segundo pixel adyacente.
El primer pixel adyacente puede ser un pixel adyacente localizado en una esquina izquierda más alta del bloque actual y la búsqueda del segundo pixel adyacente puede comprender buscar el segundo pixel adyacente al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente, y si un segundo pixel adyacente no está disponible en los pixeles adyacentes superior y derecho más alto del bloque actual, buscar los pixeles adyacentes izquierdo e inferior más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente.
El primer pixel adyacente puede ser un pixel adyacente localizado en una esquina izquierda más alta del bloque actual y la búsqueda del segundo pixel adyacente puede comprender buscar el segundo pixel adyacente al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente, y si un segundo pixel adyacente no está disponible en los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual, buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente.
El primer pixel adyacente puede ser un pixel adyacente localizado en una esquina izquierda más alta del bloque actual y la búsqueda del segundo pixel adyacente puede comprender determinar un pixel adyacente, izquierdo, disponible al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente y determinar un pixel adyacente, superior, disponible al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente; y reemplazar el valor de pixel del primer pixel adyacente mediante el uso de un valor promedio del pixel adyacente, izquierdo, disponible y el pixel adyacente, superior, disponible .
El primer pixel adyacente puede ser un pixel adyacente localizado en una esquina izquierda más alta del 5 bloque actual y la búsqueda del segundo pixel adyacente puede comprender determinar un pixel adyacente, izquierdo, disponible al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente, determinar un ]_Q pixel adyacente, superior, disponible al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente y determinar un pixel adyacente, el cual está más cerca del primer pixel adyacente de entre los pixeles adyacentes 15 izquierdo y superior, buscados, que es el segundo pixel adyacente .
El primer pixel adyacente puede ser un pixel adyacente izquierdo en el extremo inferior de entre los pixeles adyacentes izquierdo e izquierdo más bajo del bloque 20 actual, y la búsqueda del segundo pixel adyacente puede comprender buscar el segundo pixel adyacente al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual del fondo a la parte superior con base en el primer pixel adyacente y si un segundo pixel adyacente no está 25 disponible en los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual, buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha .
El primer pixel adyacente puede ser un pixel 5 adyacente más alto a la extrema derecha de entre los pixeles adyacentes superior y derecho más alto del bloque actual y la búsqueda del segundo pixel adyacente puede comprender buscar el segundo pixel adyacente al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de derecha a ]_0 izquierda con base en el primer pixel adyacente y si un segundo pixel adyacente no está disponible en los pixeles adyacentes superior y derecho más alto del bloque actual, buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo. ]_5 El método puede comprender además, si por lo menos un tercer pixel adyacente no está disponible, reemplazar un valor de pixel de por lo menos el tercer pixel adyacente por un valor de pixel de un pixel adyacente buscado previamente con base en la dirección predeterminada. 20 El primer pixel adyacente puede ser un pixel adyacente localizado en una esquina izquierda más alta del bloque actual y si por lo menos el tercer pixel adyacente está localizado en una parte superior del bloque actual, el método puede comprender además reemplazar secuencialmente por 25 lo menos el tercer pixel adyacente de un tercer pixel adyacente a la extrema izquierda por un pixel adyacente a la izquierda de por lo menos el tercer pixel adyacente y si por lo menos el tercer pixel adyacente se localiza a la izquierda del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente en el extremo superior por un pixel adyacente arriba de por lo menos el tercer pixel adyacente.
El primer pixel adyacente puede ser un pixel adyacente localizado en una esquina izquierda en el extremo inferior del bloque actual y si por lo menos el tercer pixel adyacente está localizado a la izquierda del bloque actual, el método puede comprender además reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente en el extremo de fondo por un pixel adyacente debajo de por lo menos el tercer pixel adyacente y si por lo menos el tercer pixel adyacente está localizado en una parte superior del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente a la extrema izquierda por un pixel adyacente a la izquierda de por lo menos el tercer pixel adyacente.
El primer pixel adyacente puede ser un pixel adyacente localizado en una esquina más alta a la extrema derecha del bloque actual y si por lo menos el tercer pixel adyacente está localizado en una parte superior del bloque actual, el método puede comprender además reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente a la extrema derecha por un pixel adyacente a la derecha de por lo menos el tercer pixel adyacente y si por lo menos el tercer pixel adyacente está localizado a la izquierda del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente en el extremo superior por un pixel adyacente arriba de por lo menos el tercer pixel adyacente.
El método puede comprender además reemplazar el valor de pixel del primer pixel adyacente por un valor predeterminado si el segundo pixel adyacente no existe en el número predeterminado de pixeles adyacentes.
El valor predeterminado se puede determinar con base en la profundidad de bits de un pixel.
De acuerdo con otro aspecto de la presente invención, se proporciona un aparato para intra-predecir un video, el aparato comprende: un determinador de disponibilidad para determinar la disponibilidad de un número predeterminado de pixeles adyacentes que se utilizan para la intra-predicción de un bloque actual de entre bloques obtenidos al dividir una imagen que forma el video de acuerdo con una estructura jerárquica; un reemplazador para, si un primer pixel adyacente no está disponible en el número predeterminado de pixeles adyacentes, buscar un segundo pixel adyacente que esté disponible al buscar el número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el primer pixel adyacente y reemplazar un valor de pixel del primer pixel adyacente por un valor de pixel de un segundo pixel adyacente encontrado; y un realizador de intra-predicción para llevar a cabo la intra-predicción en el bloque actual mediante el uso del número predeterminado de pixeles adyacentes que comprenden el primer pixel adyacente reemplazado.
En lo sucesivo, la presente invención se describirá con mayor detalle con referencia a las figuras asociadas, en los cuales se muestran las modalidades ejemplares de la invención.
La FIGURA 1 es un diagrama de bloques de un aparato de codificación de video 100, de acuerdo con una modalidad de la presente invención.
El aparato de codificación de video 100 incluye un divisor de unidades de codificación máximas 110, un determinador de unidades de codificación 120 y una unidad de salida 130.
El divisor de unidades de codificación máximas 110 puede dividir una imagen actual con base en una unidad de codificación máxima para la imagen actual de una imagen. Si la imagen actual es más grande que la unidad de codificación máxima, los datos de imagen de la imagen actual pueden ser divididos en por lo menos la unidad de codificación máxima.
La unidad de codificación máxima de acuerdo con una modalidad de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etcétera, en donde una forma de la unidad de datos es un cuadro que tiene una anchura y una longitud en cuadros de 2. Los datos de imagen pueden ser enviados al determinador de unidades de codificación 120 de acuerdo con por lo menos la unidad de codificación máxima.
Una unidad de codificación de acuerdo con una modalidad de la presente invención se puede caracterizar por un tamaño y una profundidad máximos. La profundidad indica un número de veces que la unidad de codificación es dividida espacialmente de la unidad de codificación máxima y conforme la profundidad incrementa, las unidades de codificación más profundas de acuerdo con profundidades se pueden dividir de 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 alta y una profundidad de la unidad de codificación mínima es una profundidad más baja. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad disminuye conforme la profundidad de la unidad de codificación máxima aumenta, una unidad de codificación que corresponde a una profundidad más alta puede incluir una pluralidad de unidades de codificación que corresponden a profundidades más bajas.
Como se describiera anteriormente, los datos de imagen de la imagen actual se dividen en unidades de codificación máximas de acuerdo con un tamaño máximo de la unidad de codificación y cada una de las unidades de 5 codificación máximas puede incluir unidades de codificación más profundas que son divididas de acuerdo con las profundidades. Puesto que la unidad de codificación máxima de acuerdo con una modalidad de la presente invención se divide de acuerdo con las profundidades, los datos de imagen de un ]_Q dominio espacial incluido en la unidad de codificación máxima se pueden clasificar erárquicamente de acuerdo con profundidades .
Una profundidad máxima y un tamaño máximo de una unidad de codificación, los cuales limitan el número total de 15 veces que una altura y una anchura de la unidad de codificación máxima se dividen jerárquicamente se pueden predeterminar .
El determinador de unidades de codificación 120 codifica por lo menos una región dividida que se obtiene al 20 dividir una región de la unidad de codificación máxima de acuerdo con profundidades y determina una profundidad para enviar un dato de imagen codificado finalmente de acuerdo con por lo menos la región dividida. En otras palabras, el determinador de unidades de codificación 120 determina una 25 profundidad codificada al codificar los datos de imagen en las unidades de codificación más profundas de acuerdo con profundidades, de acuerdo con la unidad de codificación máxima de la imagen actual y seleccionar una profundidad que tiene el error de codificación mínimo. La profundidad codificada, determinada y los datos de imagen codificados de acuerdo con la profundidad codificada, determinada son enviados a la unidad de salida 130.
Los datos de imagen en la unidad de codificación máxima se codifican con base en las unidades de codificación más profundas que corresponden a por lo menos una profundidad igual a o inferior a la profundidad máxima y los resultados de la codificación de los datos de imagen se comparan con base en cada una de las unidades de codificación más profundas. Una profundidad que tiene el error de codificación mínimo se puede seleccionar después de comparar errores de codificación de las unidades de codificación más profundas. Por lo menos una profundidad codificada se puede seleccionar para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide conforme una unidad de codificación es dividida jerárquicamente de acuerdo con profundidades y conforme incrementa el número de unidades de codificación. También, incluso si las unidades de codificación corresponden a la misma profundidad en una unidad de codificación máxima, se determina si se dividen cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad más baja al medir un error de codificación de los datos de imagen de cada unidad de codificación, por separado. En consecuencia, incluso cuando se incluyen datos de imagen en una unidad de codificación máxima, los errores de codificación pueden diferir de acuerdo con regiones en la unidad de codificación máxima y de esta manera las profundidades codificadas pueden diferir de acuerdo con regiones en los datos de imagen. De esta manera, una o más profundidades codificadas se pueden determinar en una unidad de codificación máxima y los datos de imagen de la unidad de codificación máxima se pueden dividir de acuerdo con unidades de codificación de por lo menos una profundidad codificada.
En consecuencia, el determinador de unidades de codificación 120 puede determinar unidades de codificación que tienen una estructura arbórea incluida en la unidad de codificación máxima. Las "unidades de codificación que tienen una estructura arbórea" de acuerdo con una modalidad de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada que es la profundidad codificada, de entre todas las unidades de codificación más profundas que están incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada se puede determinar jerárquicamente de acuerdo con profundidades en la misma región de la unidad de codificación máxima y se puede determinar independientemente en diferentes regiones. Similarmente, una profundidad codificada en una región actual se puede determinar independientemente de una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una modalidad de la presente invención 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 modalidad de la presente invención puede indicar el número total de veces de división de la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima de acuerdo con una modalidad de la presente invención puede indicar el número total de niveles de profundidad de 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 cual la unidad de codificación máxima se divide una vez, se puede establecer en 1 y una profundidad de una unidad de codificación, en la cual la unidad de codificación máxima se divide dos veces, se puede establecer en 2. En este documento, si la unidad de codificación mínima es una unidad de codificación en la cual la unidad de codificación máxima se divide cuatro veces, existen 5 niveles de profundidad de O, 1, 2 , 3 y 4 y de esta manera la primera profundidad máxima se puede establecer en 4 y la segunda profundidad máxima se puede establecer en 5.
La codificación predictiva y la transformación se pueden realizar de acuerdo con la unidad de codificación máxima. La codificación predictiva y la transformación también se realizan con base 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.
Puesto que el número de unidades de codificación más profundas incrementa siempre que la unidad de codificación máxima se divide de acuerdo con profundidades, la codificación que incluye la codificación predictiva y la transformación se realiza en todas las unidades de codificación más profundas que se generan conforme la profundidad aumenta. Por conveniencia de la descripción, la codificación predictiva y la transformación ahora se describirán con base en una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato de codificación de video 100 puede seleccionar diversamente un tamaño o forma de una unidad de datos para codificar los datos de imagen. Con el propósito de codificar los datos de imagen, las operaciones tal como la codificación predictiva, la transformación y la codificación entrópica, se realizan, y al mismo tiempo, la misma unidad de datos se puede utilizar para todas las operaciones o diferentes unidades de datos se pueden utilizar para cada operación .
Por ejemplo, el aparato de codificación de video 100 puede seleccionar no solo una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación con el fin de realizar la codificación predictiva en los datos de imagen en la unidad de codificación.
Con el propósito de realizar una codificación predictiva en la unidad de codificación máxima, la codificación predictiva se puede realizar con base en una unidad de codificación que corresponde a una profundidad codificada, es decir, con base en una unidad de codificación que ya no es dividida a unidades de codificación que corresponden a una profundidad más baja. En lo sucesivo, la unidad de codificación que ya no es dividida y se vuelve una unidad base para la codificación predictiva ahora será referida como una "unidad de predicción". Una partición obtenida al dividir la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida al dividir por lo menos uno 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 es dividida y se vuelve una unidad de predicción de 2Nx2N y un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N y NxN. Los ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen al dividir simétricamente una altura o anchura de la unidad de predicción, particiones obtenidas al dividir asimétricamente la altura o anchura de la unidad de predicción, tal como l:n o n:l, particiones que se obtienen al dividir 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 por lo menos uno de un modo intra, un modo inter y un modo de omisión. Por ejemplo, el modo intra o el modo inter se pueden realizar en la partición de 2Nx2N, 2NxN, Nx2N o NxN. También, el modo de omisión se puede realizar únicamente en la partición 2Nx2N. La codificación se realiza independientemente de la unidad de predicción en una unidad de codificación, seleccionando por esa razón un modo de predicción que tiene un error de codificación mínimo.
El aparato de codificación de video 100 también puede realizar la transformación en los datos de imagen en una unidad de codificación con base no únicamente en la unidad de codificación para codificar los datos de imagen, sino también con base en una unidad de datos que es diferente de la unidad de codificación.
Con el propósito de realizar la transformación en la unidad de codificación, la transformación se puede realizar con base en una unidad de datos que tiene un tamaño más pequeño que o igual a la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un modo intra y una unidad de datos para un modo inter.
Una unidad de datos utilizada como una base de la transformación ahora será referida como una "unidad de transformación". Similarmente a la unidad de codificación, la unidad de transformación en la unidad de codificación se puede dividir recursivamente en regiones de dimensiones más pequeñas, de modo que la unidad de transformación se puede determinar independientemente en unidades de regiones . De esta manera, los datos residuales en la unidad de codificación se pueden dividir de acuerdo con la unidad de transformación que tiene la estructura arbórea de acuerdo con profundidades de transformación.
Una profundidad de transformación que indica el número de veces de división para alcanzar la unidad de transformación al dividir la altura y la anchura de la unidad de codificación también se puede establecer en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de la unidad de transformación es de esta manera Nx y puede ser 2 cuando el tamaño de la unidad de transformación es de esta manera N/2x /2. En otras palabras, la unidad de transformación que tiene la estructura 5 arbórea se puede establecer de acuerdo con las profundidades de transformación.
La información de codificación de acuerdo con unidades de codificación que corresponden a una profundidad codificada requiere no únicamente información acerca de la ]_o profundidad codificada, sino también acerca de información relacionada con la codificación predictiva y la transformación. Por consiguiente, el determinador de unidades de codificación 120 no solo determina una profundidad codificada que tiene un error de codificación mínimo, sino 15 que también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción y un tamaño de una unidad de transformación para la transformación.
Las unidades de codificación de acuerdo con una 20 estructura arbórea en una unidad de codificación máxima y un método para determinar una partición, de acuerdo con modalidades de la presente invención, se describirán en detalle posteriormente con referencia a las FIGURAS 3 hasta 12.
TC El determinador de unidades de codificación 120 puede medir un error de codificación de unidades de codificación más profundas de acuerdo con profundidades mediante el uso de una Optimización de Tasa-Distorsión basada en multiplicadores Lagrangianos .
La unidad de salida 130 envía los datos de imagen de la unidad de codificación máxima, la cual se codifica con base en por lo menos la profundidad codificada que es determinada por el determinador de unidades de codificación 120 e información acerca del modo de codificación de acuerdo con la profundidad codificada, en corrientes de bits.
Los datos de imagen codificados se pueden obtener al codificar datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con la profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de partición en la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación.
La información acerca de la profundidad codificada se puede definir mediante el uso de información de división de acuerdo con profundidades, la cual indica si la codificación se realiza en unidades de codificación de una profundidad más baja en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, los datos de imagen en la unidad de codificación actual se codifican y se envían, y de esta manera la información de división se puede definir no para dividir la unidad de codificación actual a una profundidad más baja. Alternativamente, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad más baja y de esta manera la información de división puede ser definida para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad más baja.
Si la profundidad actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación que es dividida en la unidad de codificación de la profundidad más baja. Puesto que por lo menos una unidad de codificación de la profundidad más baja existe en una unidad de codificación de la profundidad actual, la codificación se realiza repetidamente en cada unidad de codificación de la profundidad más baja y de esta manera la codificación se puede realizar recursivamente para las unidades de codificación que tienen la misma profundidad.
Puesto que las unidades de codificación que tienen una estructura arbórea se determinan para una unidad de codificación máxima y la información acerca de por lo menos un modo de codificación se determina para una unidad de codificación de una profundidad codificada, la información acerca de por lo menos un modo de codificación se puede determinar 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 ubicaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con profundidades y de esta manera la información acerca de la profundidad codificada y el modo de codificación se puede establecer para los datos de imagen.
Por consiguiente, la unidad de salida 130 puede asignar información de codificación acerca de una profundidad codificada, correspondiente y un modo de codificación a por lo 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 modalidad de la presente invención es una unidad de datos cuadrada obtenida al dividir la unidad de codificación mínima que constituye la profundidad más baja por 4. Alternativamente, la unidad mínima puede ser una unidad de datos cuadrada máxima que se puede incluir en todas las unidades de codificación, unidades de predicción, unidades de partición y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación enviada a través de la unidad de salida 130 se puede clasificar en información de codificación de acuerdo con unidades de codificación y la 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 5 con las unidades de predicción puede incluir información acerca de una dirección calculada de un modo inter, acerca de un índice de imagen de referencia del modo inter, acerca de un vector de movimiento, acerca de un componente croma de un modo intra y acerca de un método de interpolación del modo ]_Q intra. También, la información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con imágenes, cortes o GOPs y la información acerca de una profundidad máxima se pueden insertar en un encabezado de una corriente de bits . 15 En el aparato de codificación de video 100, la unidad de codificación más profunda puede ser una unidad de codificación obtenida al dividir por dos una altura o anchura de una unidad de codificación de una profundidad más alta, la cual es una capa arriba. En otras palabras, cuando el tamaño 20 de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad más baja es NxN. También, la unidad de codificación con la profundidad actual que tiene un tamaño de 2Nx2N puede incluir un máximo de 4 de la unidad de 25 codificación con la profundidad más baja.
Por consiguiente, el aparato de codificación de video 100 puede formar las unidades de codificación que tienen la estructura arbórea al determinar unidades de codificación que tienen una forma óptima y un tamaño óptimo 5 para cada unidad de codificación máxima, con base en el tamaño de la unidad de codificación máxima y la profundidad máxima determinada considerando características de la imagen actual. También, puesto que la codificación se puede realizar en cada unidad de codificación máxima mediante el uso de ]_o cualquiera de los diversos modos de predicción y transformaciones, un modo de codificación óptimo se puede determinar considerando características de la unidad de codificación de varios tamaños de imagen.
De esta manera, si una imagen que tiene una 15 resolución alta o una gran cantidad de datos se codifica en un macrobloque convencional, un número de macrobloques por imagen incrementa excesivamente. Por consiguiente, un número de piezas de información comprimida generada para cada macrobloque incrementa y de esta manera es difícil transmitir 20 la información comprimida y la eficiencia de compresión de datos disminuye. Sin embargo, mediante el uso del aparato de codificación de video 100, la eficiencia de compresión de imágenes se puede incrementar puesto que una unidad de codificación se ajusta mientras se consideran las 25 características de una imagen mientras se incrementa 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 de decodificación de video 200, de acuerdo con una modalidad de la presente invención.
El aparato de decodificación de video 200 incluye un receptor 210, un extractor de datos de imagen e información de codificación 220 y un decodificador de datos de imagen 230. Las definiciones de varios términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación e información acerca de varios modos de codificación, para varias operaciones del aparato de decodificación de video 200 son idénticas a aquellas descritas con referencia a la FIGURA 1 y el aparato de codificación de video 100.
El receptor 210 recibe y analiza una corriente de bits de un video codificado. El extractor de datos de imagen e información de codificación 220 extrae datos de imagen codificados para cada unidad de codificación de la corriente de bits analizada, en donde las unidades de codificación tienen una estructura arbórea de acuerdo con cada unidad de codificación máxima y envía los datos de imagen extraídos al decodificador de datos de imagen 230. El extractor de datos de imagen e información de codificación 220 puede extraer información acerca de un tamaño máximo de una unidad de codificación de una imagen actual, de un encabezado acerca de la imagen actual .
También, el extractor de datos de imagen e información de codificación 220 extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura arbórea de acuerdo con cada unidad de codificación máxima, de la corriente de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se envía al decodificador de datos de imagen 230. En otras palabras, los datos de imagen en una corriente de bits se dividen en la unidad de codificación máxima de modo que el decodificador de datos de imagen 230 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 se puede establecer para la información acerca de por lo menos una unidad de codificación que corresponde a la profundidad codificada y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción y un tamaño de una unidad de transformación. También, la información de división de acuerdo con profundidades se puede extraer como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación máxima extraída por el extractor de datos de imagen e información de codificación 220 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 de codificación de video 100, realiza repetidamente la codificación para cada unidad de codificación más profunda de acuerdo con profundidades de acuerdo con cada unidad de codificación máxima. Por consiguiente, el aparato de decodificación de video 200 puede restaurar una imagen al decodificar 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 se puede asignar 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 de datos de imagen e información de codificación 220 puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Si la información acerca de una profundidad codificada y un modo de codificación de una unidad de codificación máxima, correspondiente se registra de acuerdo con las unidades de datos predeterminadas, se puede deducir que las unidades de datos predeterminadas a las cuales se asigna la misma información acerca de la profundidad codificada y el modo de codificación son las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador de datos de imagen 230 restaura la imagen actual al decodificar los datos de imagen en cada unidad de codificación máxima con base en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máximas . En otras palabras, el decodificador de datos de imagen 230 puede decodificar los datos de imagen codificados con base en la información extraída cerca del tipo de partición, el modo de predicción y la unidad de transformación para cada unidad de codificación de entre las unidades de codificación que tienen la estructura arbórea incluida en cada unidad de codificación máxima. Un proceso de decodificación puede incluir una predicción que incluye una intra-predicción y compensación de movimiento y una transformación inversa.
El decodificador de datos de imagen 230 puede realizar una intra-predicción o una compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, con base 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 profundidades codificadas.
También, el decodificador de datos de imagen 230 puede realizar una transformación inversa de acuerdo con cada unidad de transformación en la unidad de codificación, con base en la información acerca del tamaño de la unidad de transformación de la unidad de codificación de acuerdo con profundidades codificadas, con el fin de realizar la transformación inversa de acuerdo con unidades de codificación máximas.
El decodificador de datos de imagen 230 puede determinar por lo menos una profundidad codificada de una unidad de codificación máxima actual mediante el uso de información de división de acuerdo con profundidades. Si la información de división indica que los datos de imagen ya no son divididos en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador de datos de imagen 230 puede decodificar datos codificados de por lo menos una unidad de codificación que corresponde a cada profundidad codificada en la unidad de codificación máxima actual mediante el uso de la información acerca del tipo de partición de la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación para cada unidad de codificación que corresponde a la profundidad codificada.
En otras palabras, las unidades de datos que contienen la información de codificación que incluye la misma información de división se pueden reunir al observar el 5 conjunto de información de codificación asignado a la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción y la unidad mínima y se puede considerar que las unidades de datos reunidas son una unidad de datos que es decodificada por el decodificador de datos de ]_Q imagen 230 en el mismo modo de codificación.
El aparato de decodificación de video 200 puede obtener información acerca de por lo menos una unidad de codificación que genera el error de codificación mínimo cuando la codificación se realiza recursivamente para cada 15 unidad de codificación máxima y puede utilizar la información para decodificar la imagen actual. En otras palabras, las unidades de codificación que tienen la estructura arbórea determinadas que son las unidades de codificación óptimas en cada unidad de codificación máxima se pueden decodificar. 20 Por consiguiente, incluso si los datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de imagen se pueden decodificar eficientemente y se pueden restaurar mediante el uso de un tamaño de una unidad de codificación y un modo de codificación, los cuales se 25 determinan de manera adaptable de acuerdo con las características de los datos de imagen, mediante el uso de información acerca de un modo de codificación óptimo recibido de un codificador.
Un método para determinar unidades de codificación que tienen una estructura arbórea, una unidad de predicción y una unidad de transformación, de acuerdo con una modalidad de la presente invención, ahora se describirá con referencia a las FIGURAS 3 hasta 13.
La FIGURA 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una modalidad de la presente invención.
Un tamaño de una unidad de codificación se puede expresar en anchura x altura y puede ser 64x64, 32x32, 16x16 y 8x8. Una unidad de codificación de 64x64 se puede dividir en particiones de 64x64, 64x32, 32x64 o 32x32 y una unidad de codificación de 32x32 se puede dividir en particiones de 32x32, 32x16, 16x32 o 16x16, una unidad de codificación de 16x16 se puede dividir en particiones de 16x16, 16x8, 8x16 u 8x8 y una unidad de codificación de 8x8 se puede dividir en particiones de 8x8, 8x4, 4x8 o 4x4.
En los datos de video 310, 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 de video 320, 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 de video 330, 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 de 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 grande con el fin de no solo incrementar la eficiencia de codificación sino también de reflejar de manera exacta las características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos de video 310 y 320 que tienen una resolución más alta que los datos de video 330 puede ser 64.
Puesto que la profundidad máxima de los datos de video 310 es 2, las unidades de codificación 315 de los datos de video 310 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 son mayores a dos capas al dividir dos veces la unidad de codificación máxima. Mientras tanto, puesto que la profundidad máxima de los datos de video 330 es 1, las unidades de codificación 335 de los datos de video 330 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 son mayores a una capa al dividir una vez la unidad de codificación máxima.
Puesto que la profundidad máxima de los datos de video 320 es 3, las unidades de codificación 325 de los datos de video 320 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 son mayores a 3 capas al dividir tres veces la unidad de codificación máxima. Conforme una profundidad incrementa, la información detallada se puede expresar de manera precisa.
La FIGURA 4 es un diagrama de bloques de un codificador de imágenes 400 basado en unidades de codificación, de acuerdo con una modalidad de la presente invención.
El codificador de imágenes 400 realiza operaciones del determinador de unidades de codificación 120 del aparato de codificación de video 100 para codificar datos de imagen. En otras palabras, un intra-predictor 410 realiza una intra-predicción en unidades de codificación en un modo intra, de entre una trama actual 405 y un estimador de movimiento 420 y un compensador de movimiento 425 realiza una inter-estimación y una compensación de movimiento sobre unidades de codificación en un modo inter de entre la trama actual 405 mediante el uso de la trama actual 405 y una trama de referencia 495.
Los datos enviados desde el intra-predictor 410, el estimador de movimiento 420 y el compensador de movimiento 425 son enviados como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restaura como datos en un dominio espacial a través de un cuantificador inverso 460 y un transformador inverso 470 y los datos restaurados en el dominio espacial son enviados como la trama de referencia 495 después de ser pos-procesados a través de una unidad de desbloqueo 480 y una unidad de filtración de bucle 490. El coeficiente de transformación cuantificado puede ser enviado como una corriente de bits 455 a través de un codificador entrópico 450.
Con el propósito de que el codificador de imágenes 400 sea aplicado en el aparato de codificación de video 100, todos los elementos del codificador de imágenes 400, es decir, el intra-predictor 410, el estimador de movimiento 420, el compensador de movimiento 425, el transformador 430, el cuantificador 440, el codificador entrópico 450, el cuantificador inverso 460, el transformador inverso 470, la unidad de desbloqueo 480 y la unidad de filtración de bucle 490 realizan operaciones con base en cada unidad de codificación de entre unidades de codificación que tienen una estructura arbórea mientras que se considera la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el intra-predictor 410, el estimador de movimiento 420 y el compensador de movimiento 425 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 arbórea mientras que se considera el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura arbórea.
La FIGURA 5 es un diagrama de bloques de un decodificador de imágenes 500 basado en unidades de codificación, de acuerdo con una modalidad de la presente invención.
Un analizador 510 analiza datos de imagen codificados que son decodificados e información acerca de la codificación requerida para la decodificación de una corriente de bits 505. Los datos de imagen codificados son enviados como datos cuantificados inversos a través de un decodificador entrópico 520 y un cuantificador inverso 530 y los datos cuantificados inversos se restauran a datos de imagen en un dominio espacial a través de un transformador inverso 540.
Un intra-predictor 550 realiza una intra-predicción en unidades de codificación en un modo intra con respecto a los datos de imagen en el dominio espacial y un compensador de movimiento 560 realiza una compensación de movimiento en unidades de codificación en un modo ínter mediante el uso de una trama de referencia 585.
Los datos de imagen en el dominio espacial, los cuales pasaron a través del intra-predictor 550 y el compensador de movimiento 560, pueden ser enviados como una trama restaurada 595 después de ser pos-procesados a través de una unidad de desbloqueo 570 y una unidad de filtración de bucle 580. También, los datos de imagen que son posprocesados a través de la unidad de desbloqueo 570 y la unidad de filtración de bucle 580 pueden ser enviados como la trama de referencia 585.
Con el propósito de decodificar los datos de imagen en el decodificador de datos de imagen 230 del aparato de decodificación de video 200, el decodificador de imágenes 500 puede realizar operaciones que son realizadas después del analizador 510.
Con el propósito de que el decodificador de imágenes 500 sea aplicado en el aparato de decodificación de video 200, todos los elementos del decodificador de imágenes 500, es decir, el analizador 510, el decodificador entrópico 520, el cuantificador inverso 530, el transformador inverso 540, el intra-predictor 550, el compensador de movimiento 560, la unidad de desbloqueo 570 y la unidad de filtración de bucle 580 realizan operaciones con base en unidades de codificación que tienen una estructura arbórea para cada unidad de codificación máxima.
Específicamente, la intra-predicción 550 y el compensador de movimiento 560 realizan operaciones con base en particiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura arbórea y el transformador inverso 540 realiza operaciones con base en un tamaño de una unidad de transformación para cada unidad de codificación .
La FIGURA 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con profundidades y particiones, de acuerdo con una modalidad de la presente invención.
El aparato de codificación de video 100 y el aparato de decodificación de video 200 utilizan unidades de codificación jerárquica con el fin de considerar características de una imagen. Una altura máxima, una anchura máxima y una profundidad máxima de las unidades de codificación se pueden determinar de manera adaptable de acuerdo con las características de la imagen o pueden ser ajustadas de manera diferente por un usuario. Los tamaños de las unidades de codificación más profundas de acuerdo con las profundidades se pueden determinar de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura jerárquica 600 de unidades de codificación, de acuerdo con una modalidad de la presente invención, 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 incrementa a lo largo de un eje vertical de la estructura jerárquica 600, una altura y una anchura de la unidad de codificación más profunda se dividen cada una. También, una unidad de predicción y particiones, las cuales son bases para la codificación de predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura jerárquica 600.
En otras palabras, una unidad de codificación 610 es una unidad de codificación máxima en la estructura jerárquica 600, en donde una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad incrementa a lo largo del eje vertical y existe una unidad de codificación 620 que tiene un tamaño de 32x32 y una profundidad de 1, y una unidad de codificación 630 que tiene un tamaño de 16x16 y una profundidad de 2, una unidad de codificación 640 que tiene un tamaño de 8x8 y una profundidad de 3 y una unidad de codificación 650 que tiene un tamaño de 4x4 y una profundidad de 4. La unidad de codificación 650 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 se disponen a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad de codificación 610 que tiene un tamaño de 64x64 y una profundidad de 0 es una unidad de predicción, la unidad de predicción se puede dividir en particiones incluidas en la unidad de codificación 610, 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.
Similarmente, una unidad de predicción de la unidad de codificación 620 que tiene el tamaño de 32x32 y la profundidad de 1 se puede dividir en particiones incluidas en la unidad de codificación 620, 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.
Similarmente, una unidad de predicción de la unidad de codificación 630 que tiene el tamaño de 16x16 y la profundidad de 2 se puede dividir en particiones incluidas en la unidad de codificación 630, es decir una partición que tiene un tamaño de 16x16 incluida en la unidad de codificación 630, 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.
Similarmente, una unidad de predicción de la unidad de codificación 640 que tiene el tamaño de 8x8 y la profundidad de 3 se puede dividir en particiones incluidas en la unidad de codificación 640, es decir una partición que tiene un tamaño de 8x8 incluida en la unidad de codificación 640, 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 de codificación 650 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 baja. Una unidad de predicción de la unidad de codificación 650 solo es asignada a una partición que tiene un tamaño de 4x4.
Con el propósito de determinar por lo menos la profundidad codificada de las unidades de codificación que constituyen la unidad de codificación máxima 610, el determinador de unidades de codificación 120 del aparato de codificación de video 100 realiza la codificación de unidades de codificación que corresponden a cada profundidad incluida en la unidad de codificación máxima 610.
Un número de unidades de codificación más profundas de acuerdo con profundidades que incluyen datos en el mismo rango y el mismo tamaño incrementa conforme la profundidad incrementa. Por ejemplo, cuatro unidades de codificación que corresponden a una profundidad de 2 se requieren para cubrir datos que están incluidos en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, con el propósito de comparar resultados de codificación de los mismos datos de acuerdo con profundidades, la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2 se codifican cada una.
Con el propósito de realizar la codificación de una profundidad actual de entre las profundidades, por lo menos un error de codificación se puede seleccionar para la profundidad actual al realizar la codificación de 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 jerárquica 600. Alternativamente, el error de codificación mínimo se puede buscar al comparar los errores de codificación mínimos de acuerdo con profundidades, al realizar la codificación de cada profundidad conforme la profundidad incrementa a lo largo del eje vertical de la estructura jerárquica 600. Una profundidad y una partición que tienen el error de codificación mínimo en la unidad de codificación 610 se pueden seleccionar como la profundidad codificada y un tipo de partición de la unidad de codificación 610.
La FIGURA 7 es un diagrama para describir una relación entre una unidad de codificación 710 y unidades de transformación 720, de acuerdo con una modalidad de la presente invención.
El aparato de codificación de video 100 o el aparato de decodificación de video 200 codifica o decodifica una imagen de acuerdo con unidades de codificación que tienen tamaños más pequeños que o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. Los tamaños de las unidades de transformación para la transformación durante la codificación se pueden seleccionar con base en unidades de datos que no son más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato de codificación de video 100 o el aparato de decodificación de video 200, si un tamaño de la unidad de codificación 710 es 64x64, la transformación se puede realizar mediante el uso de las unidades de transformación 720 que tienen un tamaño de 32x32.
También, los datos de la unidad de codificación 710 que tienen el tamaño de 64x64 se pueden codificar al realizar la transformación en cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8 y 4x4, los cuales son más pequeños que 64x64 y entonces se puede seleccionar una unidad de transformación que tiene el error de codificación mínimo.
La FIGURA 8 es un diagrama para describir información de codificación de unidades de codificación que 5 corresponden a una profundidad codificada, de acuerdo con una modalidad de la presente invención.
La unidad de salida 130 del aparato de codificación de video 100 puede codificar y transmitir información 800 acerca de un tipo de partición, información 810 acerca de un ]_Q modo de predicción e información 820 acerca de un tamaño de una unidad de transformación para cada unidad de codificación que corresponde a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una ]_5 forma de una partición obtenida al dividir una unidad de predicción de una unidad de codificación actual, en donde la partición es una unidad de datos para codificar por predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene un tamaño de 20 2Nx2N se puede dividir en cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2Nx , 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 documento, la información 800 acerca de un tipo de partición 25 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 de predicción realizada en una partición indicada por la información 800, es decir, un modo intra 812, un modo ínter 814 o un modo de omisión 816.
La información 820 indica una unidad de transformación en la cual se basa cuando la transformación se realiza en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad de intra-transformación 822, una segunda unidad de intra-transformación 824, una primera unidad de inter-transformación 826 o una segunda unidad de intra-transformación 828.
El extractor de datos de imagen e información de codificación 220 del aparato de decodificación de video 200 puede extraer y utilizar la información 800, 810 y 820 para la decodificación, de acuerdo con cada unidad de codificación más profunda.
La FIGURA 9 es un diagrama de unidades de codificación más profundas de acuerdo con profundidades, de acuerdo con una modalidad de la presente invención.
La información de división se puede utilizar 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 más baja.
Una unidad de predicción 910 para codificar por predicción una unidad de codificación 900 que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir particiones de un tipo de partición 912 que tiene un tamaño de 2N_0x2N_0, un tipo de partición 914 que tiene un tamaño de 2N_0xN_0, un tipo de partición 916 que tiene un tamaño de N_0x2N_0 y un tipo de partición 918 que tiene un tamaño de N_0xN_0. La FIGURA 9 ilustra únicamente los tipos de partición 912 hasta 918 los cuales se obtienen al dividir simétricamente la unidad de predicción 910, pero un tipo de partición no está limitado a los mismos, y las particiones de la unidad de predicción 910 pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada y particiones que tienen una forma geométrica.
La codificación predictiva se realiza repetidamente en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0x _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 predictiva en un modo intra y un modo inter se pueden realizar 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 predictiva en un modo de omisión se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es el más pequeño en uno de los tipos de partición 912 hasta 916, la unidad de predicción 910 puede no ser dividida en una profundidad más baja .
Si el error de codificación es el más pequeño en el tipo de partición 918, una profundidad se cambia de 0 a 1 para dividir el tipo de partición 918 en la operación 920 y la codificación se realiza repetidamente en unidades de codificación 930 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 de predicción 940 para codificar de manera predictiva la unidad de codificación 930 que tiene una profundidad de 1 y un tamaño de 2N_lx2N_l (=N_0x _0) puede incluir particiones de un tipo de partición 942 que tiene un tamaño de 2N_lx2N_l, un tipo de partición 944 que tiene un tamaño de 2N_lx _l, un tipo de partición 946 que tiene un tamaño de N_lx2N_l y un tipo de partición 948 que tiene un tamaño de N_lx _l .
Si un error de codificación es el más pequeño en el tipo de partición 948, una profundidad se cambia de 1 a 2 para dividir el tipo de partición 948 en la operación 950 y la codificación se realiza repetidamente en las unidades de codificación 960, las cuales tienen una profundidad de 2 y un tamaño de N_2x _2 para buscar un error de codificación mínimo .
Cuando una profundidad máxima es d, la operación de división de acuerdo con cada profundidad se puede realizar 5 hasta cuando una profundidad se vuelve d-1 y la información de división se puede codificar hasta cuando una profundidad es uno de 0 a d-2. En otras palabras, cuando la codificación se realiza hasta cuando la profundidad es d-1 después de que una unidad de codificación que corresponde a una profundidad ]_0 de d-2 se divide en la operación 970, una unidad de predicción 990 para codificar de manera predictiva una unidad de codificación 980 que tiene una profundidad de d-1 y un tamaño de 2N_(d-l)x2N_(d-l) puede incluir particiones de un tipo de partición 992 que tiene un tamaño de 2N_ (d-1 ) x2N_ (d- ]_5 1) , un tipo de partición 994 que tiene un tamaño de 2N_(d- l)xN_(d-l), un tipo de partición 996 que tiene un tamaño de N_(d-l)x2N_(d-l) y un tipo de partición 998 que tiene un tamaño de N_(d-l)x _(d-l) .
La codificación predictiva se puede realizar 20 repetidamente en una partición que tiene un tamaño de 2N_(d- l)x2N_(d-l), dos particiones que tienen un tamaño de 2N_(d- l)xN_(d-l), dos particiones que tienen un tamaño de N_(d- 1) 2N_(d-l) , cuatro particiones que tienen un tamaño de N_(d- l)xN_(d-l) de entre los tipos de partición 992 hasta 998 para 25 buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo de partición 998 tiene el error de codificación mínimo, puesto que una profundidad máxima es d, una unidad de codificación CU_(d-l) que tiene una profundidad de d-1 ya no se divide a una profundidad más baja y una profundidad codificada para las unidades de codificación que constituyen una unidad de codificación máxima, actual 900 se determina que es d-1 y un tipo de partición de la unidad de codificación máxima, actual 900 se puede determinar que es N_ (d-1 ) N_ (d-1 ) . También, puesto que la profundidad máxima es d y una unidad de codificación mínima 980 que tiene una profundidad más baja de d-1 ya no se divide a una profundidad más baja, la información de división para la unidad de codificación mínima 980 no se establece.
Una unidad de datos 999 puede ser una "unidad mínima" para la unidad de codificación máxima, actual. Una unidad mínima de acuerdo con una modalidad de la presente invención puede ser una unidad de datos cuadrada que se obtiene al dividir una unidad de codificación mínima 980 por 4. Al realizar la codificación repetidamente, el aparato de codificación de video 100 puede seleccionar una profundidad que tiene el error de codificación mínimo al comparar errores de codificación de acuerdo con profundidades de la unidad de codificación 900 para determinar una profundidad codificada, Y puede establecer un tipo de partición correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con profundidades se comparan en todas las profundidades de 1 hasta d y una profundidad que tiene el error de codificación mínimo se puede determinar como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción y el modo de predicción se pueden codificar y transmitir como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide de una profundidad de 0 a una profundidad codificada, solo la información de división de la profundidad codificada se establece en 0 y la información de división de profundidades excluyendo la profundidad codificada se establece en 1.
El extractor de datos de imagen e información de codificación 220 del aparato de decodificación de video 200 puede extraer y utilizar la información acerca de la profundidad codificada y la unidad de predicción de la unidad de codificación 900 para decodificar la partición 912. El aparato de decodificación de video 200 puede determinar una profundidad, en la cual la información de división es 0, como una profundidad codificada mediante el uso de información de división de acuerdo con profundidades y puede utilizar información acerca de un modo de codificación de la profundidad correspondiente para la decodificación.
Las FIGURAS 10 hasta 12 son diagramas para describir una relación entre unidades de codificación 1010, unidades de predicción 1060 y unidades de transformación 1070, de acuerdo con una modalidad de la presente invención.
Las unidades de codificación 1010 son unidades de codificación que tienen una estructura arbórea, que corresponde a profundidades codificadas que son determinadas por el aparato de codificación de video 100, en una unidad de codificación máxima. Las unidades de predicción 1060 son particiones de unidades de predicción de cada una de las unidades de codificación 1010 y las unidades de transformación 1070 son unidades de transformación de cada una de las unidades de codificación 1010.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades de codificación 1010, las profundidades de las unidades de codificación 1012 y 1054 son 1, las profundidades de las unidades de codificación 1014, 1016, 1018, 1028, 1050 y 1052 son 2, las profundidades de las unidades de codificación 1020, 1022, 1024, 1026, 1030, 1032 y 1048 son 3 y las profundidades de las unidades de codificación 1040, 1042, 1044 y 1046 son 4.
En las unidades de predicción 1060, algunas unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 se obtienen al dividir las unidades de codificación en las unidades de codificación 1010. En otras palabras, los tipos de partición en las unidades de codificación 1014, 1022, 1050 y 1054 tienen un tamaño de 2Nx , los tipos de partición en las unidades de codificación 1016, 1048 y 1052 tienen un tamaño de Nx2N y un tipo de partición de la unidad de codificación 1032 tiene un tamaño de Nx . Las unidades de predicción y particiones de las unidades de codificación 1010 son más pequeñas que o iguales a cada unidad de codificación.
La transformación o la transformación inversa se realiza en datos de imagen de la unidad de codificación 1052 en las unidades de transformación 1070 en una unidad de datos que es más pequeña que la unidad de codificación 1052. También, las unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050 y 1052 en las unidades de transformación 1070 son diferentes de aquellas en las unidades de predicción 1060 en términos de tamaños y formas. En otras palabras, los aparatos de codificación y decodificación de video 100 y 200 pueden realizar la 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 se realiza de manera recursiva en cada una de las unidades de codificación que tienen una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima y de esta manera se pueden obtener unidades de codificación que tienen una estructura arbórea recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción e información acerca de un tamaño de una unidad de transformación. La Tabla 1 muestra la información de codificación que puede ser establecida por los aparatos de codificación y decodificación de video 100 y 200.
Tabla 1 La unidad de salida 130 del aparato de codificación de video 100 puede enviar la información de codificación acerca de las unidades de codificación que tienen una estructura arbórea y el extractor de datos de imagen e información de codificación 220 del aparato de decodificación de video 200 puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura arbórea de una corriente de bits recibida.
La información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad más baja. Si la información de división de una profundidad actual d es 0, una profundidad, en la cual una unidad de codificación actual ya no se divide en una profundidad más baja, es una profundidad codificada y de esta manera la información acerca de un tipo de partición, modo de predicción y un tamaño de una unidad de transformación se puede definir para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, la codificación se realiza independientemente en cuatro unidades de codificación divididas de una profundidad más baja.
Un modo de predicción puede ser uno de un modo intra, un modo ínter y un modo de omisión. El modo intra y el modo inter se pueden definir en todos los tipos de partición y el modo de omisión 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étrica que tienen tamaños de 2Nx2N, 2NXN, NX2N y NxN, los cuales se obtienen al dividir simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétrica que tienen tamaños de 2NxnU, 2NxnD, nLx2N y nRx2N, los cuales se obtienen al dividir asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétrica que tienen los tamaños de 2NxnU y 2NxnD se pueden obtener respectivamente al dividir la altura de la unidad de predicción en 1:3 y 3:1 y los tipos de partición asimétrica que tienen los tamaños de nLx2N y nRx2N se pueden obtener respectivamente al dividir la anchura de la unidad de predicción en 1:3 y 3:1.
El tamaño de la unidad de transformación se puede establecer para que sea dos tipos en el modo intra y dos tipos en el modo ínter. En otras palabras, si la información de división de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, el cual es el tamaño de la unidad de codificación actual. Si la información de división de la unidad de transformación es 1, las unidades de transformación se pueden obtener al dividir la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de partición simétrica, un tamaño de una unidad de transformación puede ser NxN y si el tipo de partición de la unidad de codificación actual es un tipo de partición asimétrica, el tamaño de la unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de unidades de codificación que tienen una estructura arbórea puede incluir por lo 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 por lo 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 unidades de datos adyacentes están incluidas en la misma unidad de codificación que corresponde a la profundidad codificada al comparar la información de codificación de las unidades de datos adyacentes. También, una unidad de codificación respectiva que corresponde a una profundidad codificada se determina al utilizar información de codificación de una unidad de datos y de esta manera se puede determinar 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 con base en información de codificación de unidades de datos adyacentes, la información de codificación de unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual puede ser referida directamente y utilizada, Alternativamente, si una unidad de codificación actual se predice con base 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 utilizando información codificada de las unidades de datos y las unidades de codificación adyacentes, buscadas pueden ser referidas para la predicción de la unidad de codificación actual .
La FIGURA 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una partición y una unidad de transformación, de acuerdo con la información de modo de codificación de la Tabla 1.
Una unidad de codificación máxima 1300 incluye las unidades de codificación 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de profundidades codificadas. En este documento, puesto que la unidad de codificación 1318 es una unidad de codificación de una profundidad codificada, la información de división puede establecerse en 0. La información acerca de un tipo de partición de la unidad de codificación 1318 que tiene un tamaño de 2Nx2N se puede establecer para que sea uno de un tipo de partición 1322 que tiene un tamaño de 2Nx2N, un tipo de partición 1324 que tiene un tamaño de 2Nx , un tipo de partición 1326 que tiene un tamaño de Nx2N, un tipo de partición 1328 que tiene un tamaño de NxN, un tipo de partición 1332 que tiene un tamaño de 2NxnU, un tipo de partición 1334 que tiene un tamaño de 2NxnD, un tipo de partición 1336 que tiene un tamaño de nLx2N y un tipo de partición 1338 que tiene un tamaño de nRx2N.
Cuando el tipo de partición se establece para que sea simétrico, es decir el tipo de partición 1322, 1324, 1326 o 1328, una unidad de transformación 1342 que tiene un tamaño de 2Nx2N se establece si la información de división (indicador de tamaño de TU) de una unidad de transformación es 0 y una unidad de transformación 1344 que tiene un tamaño de NxN se establece si un indicador de tamaño de TU es 1.
Cuando el tipo de partición se establece para que sea asimétrico, es decir el tipo de partición 1332, 1334, 1336 o 1338, una unidad de transformación 1352 que tiene un tamaño de 2Nx2N se establece si un indicador de tamaño de TU es 0 y una unidad de transformación 1354 que tiene un tamaño de N/2xN/2 se establece si un indicador de tamaño de TU es 1.
En lo sucesivo, la intra-predicción realizada en una unidad de predicción por el intra-predictor 410 del aparato de codificación de video 100 de la FIGURA 4 y el intra-predictor 550 del aparato de decodificación de video 200 de la FIGURA 5 se describirán en detalle.
Los intra-predictores 410 y 550 realizan una intra-predicción para obtener un valor de predicción de una unidad de predicción actual mediante el uso de pixeles adyacentes de la unidad de predicción actual. Considerando que una unidad de predicción tiene un tamaño igual a o más alto que 16x16, los intra-predictores 410 y 550 realizan adicionalmente un modo de intra-predicción que tiene varias directividades que utilizan un parámetro (dx, dy) así como también un modo de intra-predicción que tiene una directividad limitada de acuerdo con una técnica relacionada. El modo de intra-predicción que tiene varias directividades de acuerdo con una modalidad de la presente invención se describirá en detalle posteriormente .
La FIGURA 14 es una tabla que muestra un número de modos de intra-predicción de acuerdo con un tamaño de una unidad de predicción, de acuerdo con una modalidad de la presente invención.
Los intra-predictores 410 y 550 pueden establecer de manera diversa el número de los modos de intra-predicción que se aplican a la unidad de predicción de acuerdo con el tamaño de la unidad de predicción. Por ejemplo, con referencia a la FIGURA 14, cuando el tamaño de la unidad de predicción que es intra-predicha es Nx , los números de modos de intra-predicción realizados realmente en las unidades de predicción que tienen los tamaños de 2x2, 4x4, 8x8, 16x16, 32x32, 64x64 y 128x128 se pueden establecer respectivamente en 5, 9, 9, 17, 33, 5 y 5 en el Ejemplo 2. El número de modos de intra-predicción realizados realmente difiere de acuerdo con el tamaño de la unidad de predicción debido a que la información adjunta para la información de modo de predicción de codificación difiere de acuerdo con el tamaño de la unidad de predicción. En otras palabras, aunque una porción de una unidad de predicción que ocupa una imagen completa es 5 pequeña, la información adjunta para transmitir información adicional, tal como un modo de predicción de esta unidad de predicción pequeña puede ser grande. Por consiguiente, cuando una unidad de predicción que tiene un tamaño pequeño se codifica en muchos modos de predicción, una cantidad de bits ]_g puede incrementar y de esta manera la eficiencia de compresión puede disminuir. También, puesto que una unidad de predicción que tiene un tamaño grande, por ejemplo, una unidad de predicción que tiene un tamaño igual a o mayor que 64x64, se selecciona generalmente en la mayoría de los casos 15 como una unidad de predicción de una región plana de una imagen, puede ser insuficiente en términos de eficiencia de compresión para codificar la unidad de predicción que tiene un gran tamaño, el cual se selecciona en la mayoría de los casos para codificar una región plana, en muchos modos de 20 predicción. Por consiguiente, cuando un tamaño de unidad de predicción es muy grande o muy pequeño en comparación con un tamaño predeterminado, se puede aplicar un número relativamente pequeño de modos de intra-predicción. Sin embargo, el número de modos de intra-predicción aplicados de 25 acuerdo con el tamaño de una unidad de predicción no está limitado a la FIGURA 14 y puede variar. El número de modos de intra-predicción aplicados de acuerdo con el tamaño de una unidad de predicción, como se muestra en la FIGURA 14, solo es un ejemplo y puede variar. Alternativamente, el número de modos de intra-predicción aplicados a la unidad de predicción puede ser siempre uniforme independientemente del tamaño de una unidad de predicción.
Los intra-predictores 410 y 550 pueden incluir, como un modo de intra-predicción aplicado a una unidad de predicción, un modo de intra-predicción que determina un pixel de referencia adyacente mediante el uso de una línea que tiene un ángulo predeterminado con base en un pixel en una unidad de predicción y el uso del pixel de referencia, adyacente, determinado como un predictor del pixel. El ángulo de esta línea se puede establecer mediante el uso de un parámetro (dx, dy) , en donde cada uno de dx y dy son un número entero. Por ejemplo, cuando 33 modos de predicción se definen respectivamente que son los modos N, en donde N es un número entero de 0 a 32, un modo 0 se establece en un modo vertical, un modo 1 se establece en un modo horizontal, un modo 2 se establece en un modo DC, un modo 3 se establece en un modo plano y un modo 32 se establece en un modo planar. También, los modos 4 hasta 31 se pueden definir para que sean modos de intra-predicción que determinan un pixel de referencia adyacente mediante el uso de una línea que tiene una directividad de tan-1 (dy/dx) que utiliza (dx, dy) expresados respectivamente por (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) de la Tabla 1, y el uso del pixel de referencia adyacente, determinado para la intra-predicción.
Tabla 2 El número de modos de intra-predicción utilizados por los intra-predictores 410 y 550 no está limitado a la Tabla 2 y puede variar en función de si una unidad de predicción actual es un componente de crominancia o un componente de luminancia o en función de un tamaño de la unidad de predicción actual. También, cada modo N puede indicar un modo de intra-predicción diferente del anterior. 5 Por ejemplo, el número de modos de intra-predicción puede ser 36, en donde un modo 0 es un modo planar descrito posteriormente, un modo 1 es un modo DC, los modos 2 hasta 34 son modos de intra-predicción que tienen 33 directividades como se describe posteriormente y un modo 35 es un modo de ]_0 intra-predicción lntra_FromLuma que utiliza una unidad de predicción en un componente de luminancia que corresponde a una unidad de predicción en un componente de crominancia. El modo 35, es decir, el modo de intra-predicción Intra_FromLuma que utiliza la unidad de predicción en el componente de ]_5 luminancia que corresponde a la unidad de predicción en el componente de crominancia solo se aplica a la unidad de predicción en el componente de crominancia y no se utiliza para la intra-predicción de la unidad de predicción en el componente de luminancia. 20 La FIGURA 15 es un diagrama de referencia para describir los modos de intra-predicción que tienen varias directividades, de acuerdo con una modalidad de la presente invención.
Como se describiera anteriormente, los intra-25 predictores 410 y 550 pueden determinar un pixel de referencia adyacente mediante el uso de una linea que tiene un ángulo de tan"1 (dy/dx) determinado por una pluralidad de parámetros (dx, dy) y puede realizar una intra-predicción mediante el uso del pixel de referencia, adyacente, determinado .
Con referencia a la FIGURA 15, los pixeles adyacentes A y B localizados en una línea de extensión 150 que tiene un ángulo de tan"1 (dy/dx) determinado de acuerdo con un valor de (dx, dy) de acuerdo con los modos de intra-predicción de la Tabla 2 basados en un pixel actual P que se predice en una unidad de predicción actual se pueden utilizar como predictores del pixel actual P. En este documento, un pixel adyacente utilizado como un predictor puede ser un pixel de una unidad de predicción previa que es pre-codificada y pre-restaurada y se localiza ya sea arriba, a la izquierda, más alto a la derecha o más abajo a la izquierda de una unidad de predicción actual. Como tal, al realizar la codificación predictiva de acuerdo con los modos de intra-predicción que tienen varias directividades , la compresión se puede realizar de manera efectiva de acuerdo con características de una imagen.
En la FIGURA 15, cuando un predictor del pixel actual P se genera mediante el uso de un pixel adyacente localizado en o cerca de la línea de extensión 150, la línea de extensión 150 tiene realmente una directividad de tan"1 (dy/dx) y una división de (dy/dx) se requiere para determinar el pixel adyacente utilizando la línea de extensión 150, y de esta manera el hardware o software puede incluir una operación de punto decimal, incrementando de ese modo un rendimiento. Por consiguiente, cuando una dirección de predicción para seleccionar un pixel de referencia se establece mediante el uso de parámetros (dx, dy) , dx y dy se pueden establecer para disminuir un rendimiento.
La FIGURA 16 es un diagrama para describir una relación entre un pixel actual y pixeles adyacentes dispuestos sobre una línea de extensión que tiene una directividad de (dx, dy) , de acuerdo con una modalidad de la presente invención.
Con referencia a la FIGURA 16, P 1610 indica el pixel actual localizado en (j, i) y A 1611 y B 1612 indican respectivamente un pixel más alto adyacente y un pixel a la izquierda adyacente localizados sobre una línea de extensión que tiene una directividad, es decir, un ángulo de tan"1 (dy/dx) , que pasa a través del pixel actual P 1610. Se asume que un tamaño de una unidad de predicción que incluye el pixel actual P 1610 es nSxnS en donde nS es un número entero positivo, una ubicación de pixel de la unidad de predicción es una de (0, 0) a (nS-1, nS-1), una ubicación de un pixel más alto adyacente A 1611 sobre un eje x es (m,-l) en donde m es un número entero y una ubicación del pixel a la izquierda adyacente B 1612 sobre un eje y es (-1, n) en donde n es un número entero. La ubicación del pixel más alto adyacente A 1611 que encuentra la línea de extensión que pasa a través del pixel actual P1610 es ( j+i*dx/dy, -1) y la ubicación del pixel a la izquierda adyacente B 1612 es (-1, i+j*dy/dx) . Por consiguiente, con el propósito de determinar el pixel más alto adyacente A 1611 o el pixel a la izquierda adyacente B 1612 para predecir el pixel actual P1610, se requiere una operación de división, tal como dx/dy o dy/dx. Como se describiera anteriormente, puesto que la complejidad de operación de la operación de división es alta, una velocidad de operación en el software o hardware puede ser baja. Por consiguiente, por lo menos uno de dx y dy que indica una directividad de un modo de predicción para determinar un pixel adyacente puede ser una potencia de 2. En otras palabras, cuando cada uno de n y m es un número entero, dx y dy pueden ser respectivamente 2?? y 2Am.
Cuando el pixel a la izquierda adyacente B 1612 se utiliza como un predictor del pixel actual P 1610 y dx tiene un valor de 2??, una operación j*dy/dx requerida para determinar (-1, i+j*dy/dx), es decir, una ubicación del pixel izquierdo adyacente B 1612, puede ser (i*dy)/(2An) y una operación de división utilizando una potencia de 2 se puede realizar por vía de una operación de desplazamiento, tal como (i*dy)>>n y de esta manera el rendimiento se disminuye.
Similarmente, cuando el pixel más alto adyacente A 1611 se utiliza como un predictor del pixel actual P 1610 y dy tiene un valor de 2 m, una operación i*dx/dy requerida para determinar (j+i*dx/dy, -1) , es decir, una ubicación del 5 pixel más alto adyacente A 1611 puede ser (i*dx)/(2Am) y una operación de división utilizando una potencia de 2 se puede realizar por vía de una operación de desplazamiento, tal como (i*dx) »m.
Las FIGURAS 17 y 18 son diagramas que muestran ]_Q direcciones de un modo de intra-predicción, de acuerdo con modalidades de la presente invención.
Generalmente, los patrones de línea recta mostrados en una imagen o señal de video son en la mayoría de los casos verticales u horizontales. De esta manera, cuando un modo de 15 intra-predicción que tiene varias directividades se define mediante el uso de un parámetro (dx, dy) , los valores de dx y dy se pueden definir como sigue para mejorar la eficiencia de codificación de una imagen.
En detalle, cuando dy tiene un valor fijo de 2 m, 20 un valor absoluto de dx se puede establecer de tal manera que un intervalo entre direcciones de predicción cerca de una dirección vertical es angosto y un intervalo entre modos de predicción incrementa hacia una dirección de predicción cerca de una dirección horizontal. Por ejemplo, con referencia a la 25 FIGURA 17, cuando dy es 2 5, es decir, 32, dx puede establecerse en 2, 5, 9, 13, 17, 21, 26, 32, -2, -5, -9, -13, -17, -21, -26 y -32 de tal manera que un intervalo entre direcciones de predicción cerca de una dirección vertical es relativamente angosto y un intervalo entre modos de predicción incrementa hacia una dirección de predicción cerca de una dirección horizontal.
Similarmente, cuando dx tiene un valor fijo de 2??, un valor absoluto de dy puede establecerse de tal manera que un intervalo entre direcciones de predicción cerca de una dirección horizontal sea angosto y un intervalo entre modos de predicción incremente hacia una dirección de predicción cerca de una dirección horizontal. Por ejemplo, con referencia a la FIGURA 18, cuando dx es 2?5, es decir, 32, dy se puede establecer en 2, 5, 9, 13, 17, 21, 26, 32, -2, -5, -9, -13, -17, -21, -26 y -32 de tal manera que un intervalo entre direcciones de predicción cerca de una dirección horizontal sea relativamente agosto y un intervalo entre modos de predicción incremente hacia una dirección de predicción cerca de una dirección vertical .
También, cuando uno de los valores de dx y dy es fijo, el otro valor se puede establecer tal como para incrementar de acuerdo con los modos de predicción. Por ejemplo, cuando el valor de dy es fijo, un intervalo entre valores de dx se puede establecer para incrementar por un valor predeterminado. Este incremento se puede establecer de acuerdo con ángulos divididos entre una dirección horizontal y una dirección vertical. Por ejemplo, cuando dy es fijo, dx puede tener un incremento a en una sección donde un ángulo con un eje vertical es más pequeño que 15°, un incremento b en una sección donde el ángulo está entre 15° y 30° y un incremento c en una sección donde el ángulo es más alto que 30°.
Por ejemplo, los modos de predicción que tienen directividades de tan_1(dy/dx) que utilizan (dx, dy) pueden ser definidos por los parámetros (dx, dy) mostrados en las Tablas 3 hasta 5.
Tabla 3 Tabla 4 Tabla 5 Como se describiera anteriormente, los modos de intra-predicción que utilizan los parámetros (dx, dy) utilizan el pixel izquierdo adyacente (-1, i+j*dy/dx) o el pixel más alto adyacente ( j +i*dx/dy, -1 ) como un predictor de un pixel localizado en (j,i) . Cuando por lo menos uno de dx y dy tiene una potencia de 2 como se muestra en la Tabla 2, las ubicaciones del pixel izquierdo adyacente (-1, i+j *dy/dx) y el pixel más alto adyacente ( j+i*dx/dy, -1) se pueden obtener por vía de únicamente operaciones de multiplicación y cambio sin una operación de división. Cuando dx es 2??, es decir, 32, en (dx, dy) como se muestra en la Tabla 2, una operación de división que utiliza dx puede ser reemplazada por una operación de desplazamiento a la derecha y de esta manera una ubicación de un pixel izquierdo adyacente se puede obtener sin una operación de división basada en (i*dy)»n. Similarmente, cuando dy es 2Am, es decir, 32, en (dx, dy) como se muestra en la Tabla 2, una operación de división que utiliza dx puede ser reemplazada por una operación de desplazamiento a la derecha y de esta manera una ubicación de un pixel más alto adyacente se puede obtener sin una operación de división basada en (i*dx)»m.
La FIGURA 19 es un diagrama que muestra direcciones de un modo de intra-predicción que tiene 33 directividades, de acuerdo con una modalidad de la presente invención.
Los intra-predictores 410 y 550 pueden determinar un pixel adyacente que se utiliza como un predictor de un pixel actual de acuerdo con modos de intra-predicción que tienen 33 directividades mostradas en la FIGURA 19. Como se describiera anteriormente, las direcciones de modos de intra- 5 predicción se pueden establecer de tal manera que un intervalo entre modos de predicción disminuya hacia una dirección horizontal o vertical e incremente más lejos de una dirección vertical u horizontal.
Mientras tanto, el uso de pixeles adyacentes ]_0 utilizados como pixeles de referencia de un bloque actual puede ser limitado de acuerdo con los modos de intra- predicción que tienen varias directividades como se describe con referencia a la FIGURA 19. Por ejemplo, el uso de un pixel adyacente incluido en un bloque inter-predicho por vía ]_5 de la ínter-predicción puede ser limitado durante la intra- predicción del bloque actual. Como tal, el uso del pixel adyacente incluido en el bloque ínter se limita con el fin de impedir la propagación de un error incluido en el bloque ínter. También, el uso de un bloque adyacente incluido en un 20 corte diferente de aquel del bloque actual que es intra- predicho puede ser limitado durante la intra-predicción del bloque actual. El uso del bloque adyacente incluido en el corte diferente se limita debido a que el uso de datos del bloque adyacente incluido en el corte diferente se puede 25 limitar como datos de referencia del bloque actual puesto que los datos de imagen se encapsulan y procesan independientemente en una unidad de corte de acuerdo con un proceso de imagen general. Por consiguiente, los intra-predictores 410 y 550 pueden determinar si se utiliza un pixel adyacente para la intra-predicción del bloque actual con base en un modo de predicción de un bloque adyacente que incluye el pixel adyacente o con base en si un corte que incluye el bloque adyacente es el mismo que un corte que incluye el bloque actual. El intra-predictor 410 del codificador de imágenes 400 puede establecer un valor de un indicador (constrained_intra_pred_flag) que señala si se utiliza un pixel adyacente incluido en un bloque inter para la intra-predicción de un bloque actual y luego agregar el constrained_intra_pred_flag a una corriente de bits codificada con el fin de señalar una limitación de un uso del pixel adyacente incluido en el bloque inter. Por ejemplo, cuando el valor de constrained_intra_pred_flag es 0, el pixel adyacente se utiliza para la intra-predicción del bloque actual independientemente de un modo de predicción de un bloque adyacente. Cuando el valor de constrained_intra_pred_ flag es 1, el uso del pixel adyacente incluido en el bloque inter se puede limitar durante la intra-predicción del bloque actual. Alternativamente, los intra-predictores 410 y 550 pueden limitar un pixel de un bloque adyacente incluido en un corte diferente de aquel del bloque actual para nunca ser utilizado para la intra-predicción del bloque actual.
En lo sucesivo, asumiendo que el valor de constrained_intra_pred_flag sea 1, es decir, el uso del bloque adyacente incluido en el bloque inter, como un pixel de referencia, se limite durante la intra-predicción del bloque actual, un proceso de los intra-predictores 410 y 550 que reemplaza un pixel adyacente que tiene uso limitado como pixel de referencia por otro pixel adyacente se describe en detalle con referencia a las FIGURAS 20 hasta 26. También, se asume que el uso del pixel del bloque adyacente incluido en el corte diferente de aquel del bloque actual siempre es limitado durante la intra-predicción del bloque actual.
La FIGURA 24 es un diagrama de bloques de un aparato de intra-predicción 2400 de acuerdo con una modalidad de la presente invención. El aparato de intra-predicción 2400 de la FIGURA 24 corresponde a los intra-predictores 410 y 550 de las FIGURAS 4 y 5.
Con referencia a la FIGURA 24, el aparato de intra-predicción 2400 incluye un determinador de disponibilidad 2410, un reemplazador 2420 y un realizador de intra-predicción 2430.
El determinador de disponibilidad 2410 determina la disponibilidad de un número predeterminado de pixeles adyacentes que se utilizan para la intra-predicción de un bloque actual. En este documento, la disponibilidad indica si un pixel adyacente es utilizable para la intra-predicción como un pixel de referencia del bloque actual. Como se describiera anteriormente, puesto que el valor de constrained_intra_pred_flag se asume que es 1, se determina que un pixel adyacente incluido en un bloque adyacente incluido en un corte diferente de un corte que incluye el bloque actual o un bloque adyacente inter-predicho no está disponible. Por consiguiente, el determinador de disponibilidad 2410 determina si el número predeterminado de pixeles adyacentes del bloque actual incluye el pixel adyacente incluido en el bloque adyacente incluido en el corte diferente del corte que incluye el bloque actual o si el número predeterminado de pixeles adyacentes del bloque actual incluye el pixel adyacente incluido en el bloque adyacente inter-predicho. El número predeterminado de pixeles adyacentes se puede establecer de acuerdo con cualquier estándar. Por ejemplo, cuando un tamaño del bloque actual es nTxnT, en donde nT es un número entero, la disponibilidad se puede determinar en un total de 4nT+l pixeles adyacentes que incluyen 2nT pixeles adyacentes más altos que están localizados en la parte superior y más alto a la derecha del bloque actual, 2nT pixeles adyacentes izquierdos localizados a la izquierda y más abajo a la izquierda del bloque actual y un pixel adyacente localizado en una esquina izquierda más alta del bloque actual. Sin embargo, un número y las ubicaciones de los pixeles adyacentes cuya disponibilidad se determina pueden variar.
Si se determina que todos los pixeles adyacentes están disponibles, el realizador de la intra-predicción 2430 de un codificador utiliza el pixel adyacente como un pixel de referencia con el fin de generar un bloque de predicción del bloque actual al realizar la intra-predicción de acuerdo con el modo de intra-predicción que tiene las diversas directividades como se muestra en la FIGURA 19. El realizador de la intra-predicción 2430 de un decodificador genera el bloque de predicción del bloque actual al realizar la intra-predicción en el bloque actual mediante el uso del pixel adyacente con base en un modo de intra-predicción del bloque actual extraído de una corriente de bits .
Si se determina que todos los pixeles adyacentes no están disponibles, el reemplazador 2420 puede reemplazar un valor de pixel de un pixel adyacente no disponible por un valor predeterminado. En este documento, el valor predeterminado puede ser un valor determinado con base en una profundidad de bits de un pixel. La profundidad de bits del pixel es un número de bits utilizado para expresar un valor de pixel de un pixel y puede ser de 8 a 14 bits. Como tal, una profundidad de bits variable BitDepth puede ser representada por una ecuación; BitDepth=BaseBitDepth+Increased_bit_depth, a través de una profundidad de bits base BaseBitDepth y un incremento variable de profundidad de bits increased_bit_depth. Si la profundidad de bits está en el rango de 8 a 14 bits como se describiera anteriormente, la profundidad de bits base BaseBitDepth tiene un valor de 8 y el incremento de la profundidad de bits increased_bit_depth tiene un valor de 0 a 6. Si todos los pixeles adyacentes no están disponibles, el reemplazador 2420 puede reemplazar todos los valores de los pixeles adyacentes por un valor de 1« ( (BitDepth) -1 ) . Por ejemplo, cuando la profundidad de bits BitDepth es 8, el reemplazador 2420 puede reemplazar todos los valores de los pixeles adyacentes para tener un valor de pixel de 1<<(8-1), es decir, 128, es decir 1?2?7, si todos los pixeles adyacentes no están disponibles.
Si el determinador de disponibilidad 2410 determina que no todo el número predeterminado de pixeles adyacentes no están disponibles sino que por lo menos un pixel adyacente no está disponible, el reemplazador 2420 busca un pixel adyacente disponible al buscar el número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el pixel adyacente no disponible y reemplaza un valor de pixel del pixel adyacente no disponible por un valor de pixel de un pixel adyacente, disponible, encontrado. Un proceso para reemplazar el pixel adyacente no disponible se describirá posteriormente con referencia a las FIGURAS 20 hasta 23.
Cuando el pixel adyacente no disponible es reemplazado por el pixel adyacente disponible, el realizador de la intra-predicción 2430 lleva a cabo la intra-predicción 5 en el bloque actual por medio del uso del pixel adyacente reemplazado y los pixeles adyacentes disponibles y genera un bloque de predicción del bloque actual.
En lo sucesivo, un proceso para reemplazar un pixel adyacente no disponible durante la intra-predicción de un ]_Q bloque actual se describirá en detalle con referencia a las FIGURAS 20 hasta 23.
La FIGURA 20 es un diagrama de un pixel adyacente que no está disponible durante la intra-predicción de un bloque actual 2000 de acuerdo con un tipo de un bloque ]_5 adyacente, de acuerdo con una modalidad de la presente invención.
Con referencia a la FIGURA 20, cuando un tamaño del bloque actual 2000 es nTxnT, el determinador de disponibilidad 2410 determina si los bloques adyacentes A, B, 20 C, D y E que incluyen los pixeles adyacentes superiores 2nT localizados en la parte superior y más alto a la derecha del bloque actual 2000 son bloques inter o son bloques incluidos en un corte diferente de un corte que incluye el bloque actual 2000. También, el determinador de disponibilidad 2410 25 determina si los bloques adyacentes G, H, I, J y K que incluyen los pixeles adyacentes izquierdos 2nT localizados a la izquierda y más abajo a la izquierda del bloque actual 2000 y un bloque adyacente F que incluye un pixel adyacente localizado en una esquina izquierda más alta del bloque 5 actual 2000 son bloques ínter o bloques incluidos en un corte diferente del corte que incluye el bloque actual 2000.
El determinador de disponibilidad 2410 determina un pixel adyacente incluido en un bloque inter o un bloque incluido en el corte diferente de entre los bloques ]_Q adyacentes A hasta K que son un pixel adyacente no disponible. En la FIGURA 20, puesto que los bloques adyacentes A, B, D, E, F, H e I son bloques inter inter- predichos, el determinador de disponibilidad 2410 determina los pixeles adyacentes 2011, 2012 y 2013 incluidos en los 15 bloques adyacentes A, B, D, E, F, H e I que son pixeles adyacentes no disponibles. Como se describiera anteriormente, el reemplazador 2420 busca un pixel adyacente disponible en una dirección predeterminada con base en el pixel adyacente no disponible y reemplaza un valor de pixel del pixel 20 adyacente no disponible por un valor de pixel del pixel adyacente, disponible, encontrado.
En detalle, el determinador de disponibilidad 2410 de acuerdo con una modalidad determina primero la disponibilidad de un pixel adyacente (en lo sucesivo, 25 referido como un primer pixel adyacente) en una ubicación predeterminada de entre pixeles adyacentes . Si el primer pixel adyacente no está disponible, el reemplazador 2420 busca un segundo pixel adyacente que esté disponible al buscar pixeles adyacentes en una dirección predeterminada. También, el reemplazador 2420 reemplaza el primer pixel adyacente por el segundo pixel adyacente encontrado.
Un pixel adyacente, no disponible, restante (en lo sucesivo, referido como un tercer pixel adyacente) excluyendo el primer pixel adyacente se procesa previamente y se reemplaza con base en una dirección predeterminada o se reemplaza por un pixel adyacente, disponible, original. Los terceros pixeles adyacentes no disponibles son reemplazados secuencialmente de acuerdo con un orden de búsqueda utilizado para buscar el segundo pixel adyacente. Cuando el primer pixel adyacente está disponible, un proceso para reemplazar el primer pixel adyacente se omite y solo se realiza un proceso para reemplazar el tercer pixel adyacente.
En lo sucesivo, se asume que los tamaños de los bloques actuales 2100, 2200 y 2300 de las FIGURAS 21 hasta 23 son nTxnT y P(x,y) indica un pixel adyacente cuya disponibilidad se determina para la intra-predicción de los bloques actuales 2100, 2200 y 2300, en donde x=-l, y=-l, ... ,2nT-l y x=0, ... ,2nT-l, y=l.
La FIGURA 21 es un diagrama para describir un proceso para reemplazar un pixel adyacente no disponible, de acuerdo con una modalidad de la presente invención.
Con referencia a la FIGURA 21, un primer pixel adyacente cuya disponibilidad se determina primero de entre pixeles adyacentes se asume que es un pixel adyacente 5 P(-l,-l) 2110 localizado en una esquina izquierda más alta del bloque actual 2100. El determinador de disponibilidad 2410 determina primero la disponibilidad del primer pixel adyacente P(-l,-l) 2110. Si se determina que el primer pixel adyacente P(-l,-l) 2110 no está disponible, el reemplazador ]_o 2420 busca un pixel adyacente disponible en los pixeles adyacentes secuencialmente de acuerdo con una dirección predeterminada con base en el primer pixel adyacente P(-l,-l) 2110 y reemplaza el primer pixel adyacente P(-l,-l) 2110 por un pixel adyacente, disponible, encontrado inicialmente (en 15 lo sucesivo, referido como un segundo pixel adyacente) . Por ejemplo, el reemplazador 2420 busca los pixeles adyacentes superior y derecho más alto del bloque actual 2100 de acuerdo con una primera dirección de búsqueda de izquierda a derecha con base en el primer pixel adyacente P(-l,-l) 2110 y si el 20 segundo pixel adyacente no existe en los pixeles adyacentes superior y derecho más alto del bloque actual 2100, busca el segundo bloque adyacente al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual 2100 de la parte superior al fondo con base en el primer pixel adyacente 25 P(-l,-l) 2110. El reemplazador 2420 reemplaza el primer pixel adyacente P(-l,-l) 2110 por el segundo pixel adyacente que se encuentra inicialmente de acuerdo con esta dirección y orden de búsqueda. Por ejemplo, si un pixel adyacente P(nT-2,-l) 2120 es el segundo pixel adyacente que se encuentra 5 inicialmente en los pixeles adyacentes superior y derecho más alto, el reemplazador 2420 reemplaza un valor de pixel del primer pixel adyacente P(-l,-l) 2110 por un valor de pixel del segundo pixel adyacente P(nT-2,-l) 2120.
El reemplazador 2420 reemplaza el tercer pixel ]_o adyacente, no disponible, restante excluyendo el primer pixel adyacente P(-l,-l) 2110, por un pixel adyacente que se procesa previamente y se reemplaza con base en una dirección de búsqueda predeterminada o un pixel adyacente disponible originalmente. Por ejemplo, el reemplazador 2420 reemplaza el 15 primer pixel adyacente P(-l,-l) 2110 por el segundo pixel adyacente P(nT-2,-l) 2120 y luego reemplaza un siguiente pixel adyacente no disponible P(0,-1) por el primer pixel adyacente P(-l,-l) 2110. Puesto que el primer pixel adyacente P(-l,-l) 2110 se reemplaza por el segundo pixel adyacente 20 P(nT-2,-l) 2120, el pixel adyacente P(0,-1) tiene el mismo valor que el segundo pixel adyacente P(nT-2,-l) 2120. Si el primer pixel adyacente P(-l,-l) 2110 está disponible originalmente, se omite un proceso para reemplazar el primer pixel adyacente P(-l,-l) 2110 y de esta manera el 25 reemplazador 2420 reemplaza el valor de pixel del pixel adyacente P(0,-1) por el valor de pixel del primer pixel adyacente P(-l,-l) 2110. Un valor de pixel de un pixel adyacente P(l,-1) se reemplaza por un valor de pixel pre- procesado del pixel adyacente P(0,-1). 5 Este proceso de reemplazo se repite para todos los terceros pixeles adyacentes no disponibles. En la FIGURA 21, el segundo pixel adyacente P(nT-2,-l) 2120 que está disponible de entre los pixeles adyacentes superiores no es reemplazado y mantiene su valor de pixel original. Como tal, ]_Q el reemplazador 2420 reemplaza un pixel adyacente, superior, no disponible por un pixel adyacente que es pre-reemplazado o un pixel adyacente originalmente disponible de acuerdo con una dirección de búsqueda predeterminada. En otras palabras, excluyendo el primer pixel adyacente P(-l,-l) 2110 y el pixel 15 adyacente originalmente disponible, el reemplazador 2420 reemplaza el tercer pixel adyacente por un pixel adyacente inmediatamente a la izquierda si una dirección de búsqueda es de izquierda a derecha. Como tal, cuando existe una pluralidad de terceros pixeles adyacentes en la parte 20 superior del bloque actual 2100, el reemplazador 2420 reemplaza secuencialmente los terceros pixeles adyacentes de izquierda a derecha por un pixel adyacente, izquierdo, respectivo. En este documento, el pixel adyacente izquierdo utilizado para reemplazar el tercer pixel adyacente puede ser 25 un pixel adyacente reemplazado previamente o disponible originalmente. De manera similar, el reemplazador 2420 reemplaza el tercer pixel adyacente que no está disponible de entre los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual 2100 por un pixel adyacente inmediatamente arriba. Por ejemplo, el reemplazador 2420 reemplaza un pixel adyacente no disponible P(-1,0) por el primer pixel adyacente P(-l,-l) 2110. Como se describiera anteriormente, si el primer pixel adyacente P(-l,-l) 2110 está disponible originalmente, se omite el proceso para reemplazar el primer pixel adyacente P(-l,-l) 2110 y de esta manera el reemplazador 2420 reemplaza el pixel adyacente P(-1,0) por el primer pixel adyacente P(-l,-l) 2110. Un valor de pixel de un pixel adyacente P(-l,l) se reemplaza por un valor de pixel pre-procesado del pixel adyacente P(-1,0). Al igual que el proceso para reemplazar los terceros pixeles adyacentes superiores descritos anteriormente, si existe una pluralidad de terceros pixeles adyacentes a la izquierda del bloque actual 2100, el reemplazador 2420 reemplaza secuencialmente los terceros pixeles adyacentes de la parte superior al fondo por un pixel adyacente, superior, respectivo. En este documento, el pixel adyacente superior utilizado para reemplazar el tercer pixel adyacente puede ser un pixel adyacente pre-reemplazado o disponible originalmente.
Este proceso de reemplazo se repite para todos los terceros pixeles adyacentes izquierdo e izquierdo más bajo que no están disponibles. Un pixel adyacente P(-l,nT+l) 2130 disponible de entre los pixeles adyacentes izquierdos no es reemplazado sino que mantiene su valor de pixel original. Como tal, el reemplazador 2420 reemplaza el pixel adyacente 5 izquierdo que no está disponible por un pixel adyacente pre- reemplazado o disponible originalmente de acuerdo con una dirección de búsqueda predeterminada. En otras palabras, si una dirección de búsqueda es de la parte superior al fondo, el reemplazador 2420 reemplaza el tercer pixel adyacente por Q un pixel adyacente inmediatamente arriba. Alternativamente, si todos los pixeles adyacentes disponibles en la parte superior y la izquierda del bloque actual 2100 se buscan, el reemplazador 2420 puede reemplazar el primer pixel adyacente P(-l,-l) por un valor promedio de los pixeles adyacentes ]_5 encontrados. Por ejemplo, en la FIGURA 21, un valor de pixel del primer pixel adyacente P(-l,-l) puede ser reemplazado por un valor promedio del segundo pixel adyacente P(nT-2,-l) 2120 encontrado inicialmente que está disponible de entre los pixeles adyacente superiores y el pixel adyacente P(-l,nT+l) 20 2130 encontrado inicialmente que está disponible de entre los pixeles adyacentes izquierdos. En otras palabras, cuando PRA indica un valor de pixel del segundo pixel adyacente P(nT-2,-l) 2120 y PLB indica un valor de pixel del pixel adyacente P(-l,nT+l) 2130, un valor promedio PT obtenido por 25 vía de una ecuación; PT=(PRA + PLB +1)»1 puede reemplazar el valor de pixel del primer pixel adyacente P(-l,-l) 2110.
Alternativamente, si todos los pixeles adyacentes disponibles en la parte superior y a la izquierda del bloque actual 2100 se buscan, el reemplazador 2420 puede reemplazar 5 el primer pixel adyacente P(-l,-l) 2110 al determinar un pixel adyacente disponible más cercano al primer pixel adyacente P(-l,-l) 2110 con base en una distancia desde el primer pixel adyacente P(-l,-l) 2110 como el segundo pixel adyacente, en lugar de solo utilizar el pixel adyacente ]_Q encontrado inicialmente de acuerdo con la dirección de búsqueda predeterminada. En la FIGURA 21, puesto que una distancia entre el primer pixel adyacente P(-l,-l) 2110 y el segundo pixel adyacente P(nT-2,-l) 2120 encontrado inicialmente que está disponible en la parte superior del 15 bloque actual 2100 es (nT-2) - (-1) , es decir, nT-1 y una distancia entre el primer pixel adyacente P(-l,-l) 2110 y el pixel adyacente P(-l,nT+l) 2130 encontrado inicialmente que está disponible a la izquierda del bloque actual 2100 es (nT+l)-(-l), es decir, nT+2, el reemplazador 2420 puede 20 reemplazar el primer pixel adyacente P(-l,-l) 2110 por el segundo pixel adyacente P(nT-2,-l) 2120.
Alternativamente, con el propósito de reducir la complejidad de un proceso para buscar un segundo pixel adyacente para reemplazar el primer pixel adyacente P(-l,-l) 25 2110, el reemplazador 2420 puede solo buscar los pixeles P(-1,0) y P(0,-1) inmediatamente adyacentes al primer pixel adyacente P(-l,-l) 2110 en lugar de buscar todos los pixeles adyacentes en la parte superior y a la izquierda del bloque actual 2110 y puede reemplazar el primer pixel adyacente P(-l,-l) 2110 por un pixel adyacente disponible de entre los pixeles P(-1,0) y P(0,-1) . Por ejemplo, el reemplazador 2420 puede buscar pixeles adyacentes en un orden de los pixeles P(-1,0) y P(0,-1) o viceversa y puede reemplazar el primer pixel adyacente P(-l,-l) 2110 por un valor de pixel de un pixel adyacente disponible que se encuentra primero. Si un pixel adyacente disponible no se encuentra en los pixeles P(-1,0) y P(0,-1), el reemplazador 2420 puede reemplazar el primer pixel adyacente P(-l,-l) 2110 por un valor predeterminado con base en una profundidad de bits como se describiera anteriormente. Si ambos pixeles P(-1,0) y P(0,-1) están disponibles, el reemplazador 2420 puede reemplazar el primer pixel adyacente P(-l,-l) 2110 con el uso de un valor promedio de los pixeles P(-1,0) y P(0,-1) .
Mientras tanto, un orden de búsqueda y una dirección de búsqueda de los pixeles adyacentes superior e izquierdo se pueden cambiar. En otras palabras, el reemplazador 2420 puede buscar primero los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual 2100 y si no se encuentra un pixel adyacente disponible, entonces puede buscar los pixeles adyacentes superior y derecho más alto.
También, en lugar de buscar un pixel adyacente disponible al buscar los pixeles adyacentes izquierdo e izquierdo más bajo de la parte superior al fondo, el reemplazador 2420 puede buscar los pixeles adyacentes izquierdo e izquierdo más bajo del fondo a la parte superior. También, en lugar de buscar un pixel adyacente disponible al buscar los pixeles adyacentes superior y derecho más alto de izquierda a derecha, el reemplazador 2420 puede buscar los pixeles adyacentes superior y derecho más alto de derecha a izquierda.
Alternativamente, el reemplazador 2420 puede reemplazar un valor de pixel del primer pixel adyacente P(-l,-l) 2110 por un valor promedio de todos los pixeles adyacentes disponibles de entre los pixeles adyacentes superior, derecho más alto, izquierdo e izquierdo más alto del bloque actual 2100, en lugar de utilizar el pixel adyacente encontrado inicialmente disponible de entre los pixeles adyacentes superior o izquierdo con el propósito de reemplazar el primer pixel adyacente P(-l,-l) 2110.
La FIGURA 22 es un diagrama para describir un proceso para reemplazar un pixel adyacente no disponible, de acuerdo con otra modalidad de la presente invención.
Con referencia a la FIGURA 22, se asume que un primer pixel adyacente cuya disponibilidad se determina primero de entre pixeles adyacentes es un pixel adyacente P(-l,2nT-l) 2210 localizado en la parte más baja a la izquierda del bloque actual 2200. En otras palabras, el determinador de disponibilidad 2410 determina primero la disponibilidad del primer pixel adyacente P(-l,2nT-l) 2210. Si se determina que el primer pixel adyacente P(-l,2nT-l) 2210 no está disponible, el reemplazador 2420 busca un pixel adyacente disponible de entre los pixeles adyacentes secuencialmente de acuerdo con un orden predeterminado con base en el primer pixel adyacente P(l,2nT-l) 2210 y reemplaza el primer pixel adyacente P(-l,2nT-l) 2210 por un segundo pixel adyacente disponible que se encuentra inicialmente . Por ejemplo, el reemplazador 2420 busca pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual 2200 de acuerdo con una primera dirección de búsqueda del fondo a la parte superior con base en el primer pixel adyacente P(-l,2nT-l) 2210 y si el segundo pixel adyacente disponible no se encuentra en los pixeles adyacentes izquierdo e izquierdo más bajo, busca el segundo pixel adyacente disponible al buscar los pixeles adyacentes superior y derecho más alto del bloque actual 2200 de acuerdo con una segunda dirección de búsqueda de izquierda a derecha. El reemplazador 2420 reemplaza el primer pixel adyacente P(-l,2nT-l) 2210 por el segundo pixel adyacente disponible encontrado inicialmente de acuerdo con esta dirección de búsqueda y un orden de búsqueda. Por ejemplo, si un pixel adyacente P(-l,nT-2) 2220 de entre los pixeles adyacentes izquierdos es el segundo pixel adyacente disponible que se encuentra inicialmente de acuerdo con el orden de búsqueda, el reemplazador 2420 reemplaza un valor de pixel del primer pixel adyacente P(-l,2nT-l) 2210 por un valor de pixel del segundo pixel adyacente P(-l,nT-2) 2220.
Similarmente a la modalidad descrita anteriormente, el reemplazador 2420 reemplaza un tercer pixel adyacente, no disponible, restante excluyendo el primer pixel adyacente P(-l,2nT-l) 2210 por un pixel adyacente procesado previamente y reemplazado o un pixel adyacente disponible originalmente con base en una dirección de búsqueda predeterminada. Por ejemplo, el reemplazador 2420 reemplaza el primer pixel adyacente P(-l,2nT-l) 2210 por el segundo pixel adyacente P(-l,nT-2) 2220 y luego reemplaza un siguiente pixel adyacente no disponible P(-l,2nT-2) por el primer pixel adyacente P(-l,2nT-l) 2210. Si el primer pixel adyacente P(-l,2nT-l) 2210 está disponible originalmente, se omite un proceso para reemplazar el primer pixel adyacente P(-l,2nT-l) 2210 y de esta manera el reemplazador 2420 reemplaza un valor de pixel del pixel adyacente P(-l,2nT-2) por el valor de pixel del primer pixel adyacente P(-l,2nT-l) 2210.
Este proceso de reemplazo se repite para todos los terceros pixeles adyacentes no disponibles. En la FIGURA 22, el segundo pixel adyacente P(-l,nT-2) 2220 y un pixel adyacente P(nT+l,-l) 2230 que están disponibles de entre los pixeles adyacentes izquierdo y superior no se reemplazan y mantienen sus valores de pixel originales. Como tal, el reemplazador 2420 busca los pixeles adyacentes izquierdo y superior del bloque actual 2200 respectivamente de la parte' superior al fondo y de izquierda a derecha con base en el primer pixel adyacente P(-l,2nT-l) 2210 y reemplaza el tercer pixel adyacente por un pixel adyacente inmediatamente debajo o izquierdo. En otras palabras, el reemplazador 2420 reemplaza los terceros pixeles adyacentes no disponibles que están localizados a la izquierda y a la izquierda más abajo del bloque actual 2200, excluyendo el primer pixel adyacente P(-l,2nT-l) 2210 y el pixel adyacente disponible originalmente, por el pixel adyacente, inmediatamente abajo, respectivo y reemplaza los terceros pixeles adyacentes no disponibles localizados en la parte superior y a la derecha más alto del bloque actual 2200 por un pixel adyacente, inmediatamente a la izquierda, respectivo. Como tal, el reemplazador 2420 reemplaza respectivamente una pluralidad de terceros pixeles adyacentes que están localizados a la izquierda del bloque actual 2200 del fondo a la parte superior por un pixel adyacente, inferior, respectivo y reemplaza respectivamente una pluralidad de terceros pixeles adyacentes que están localizados en la parte superior del bloque actual 2200 de izquierda a derecha por un pixel adyacente, izquierdo, respectivo. Como se describiera anteriormente, el pixel adyacente, del fondo o izquierdo, respectivo que se utiliza para el reemplazo puede ser un pixel adyacente pre-reemplazado o disponible originalmente.
Como se describiera anteriormente, un orden de 5 búsqueda o una dirección de búsqueda de los pixeles adyacentes superior e izquierdo se puede cambiar. En otras palabras, el reemplazador 2420 puede buscar primero los pixeles adyacentes superior y derecho más alto del bloque actual 2200 de derecha a izquierda y si un pixel adyacente no ]_Q está disponible, entonces puede buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual 2200 de la parte superior al fondo para buscar un segundo pixel adyacente para reemplazar el primer pixel adyacente P(-l,2nT- 1) 2210. 15 La FIGURA 23 es un diagrama para describir un proceso para reemplazar un pixel adyacente no disponible, de acuerdo con otra modalidad de la presente invención.
Con referencia a la FIGURA 23, se asume que un primer pixel adyacente cuya disponibilidad se determina 20 inicialmente de entre pixeles adyacentes es un pixel adyacente P(2nT-l,-l) 2310 localizado a la extrema derecha más alto del bloque actual 2300. En otras palabras, el determinador de disponibilidad 2410 determina primero la disponibilidad del primer pixel adyacente P(2nT-l,-l) 2310. 25 Si se determina que el primer pixel adyacente P(2nT-l,-l) 2310 no está disponible, el reemplazador 2420 busca un pixel adyacente disponible al buscar secuencialmente los pixeles adyacentes de acuerdo con una dirección predeterminada con base en el primer pixel adyacente P(2nT-l,-l) 2310 y reemplaza el primer pixel adyacente P(2nT-l,-l) 2310 por un segundo pixel adyacente disponible encontrado inicialmente. Por ejemplo, el reemplazador 2420 busca los pixeles adyacentes, derechos, superior y más alto del bloque actual 2300 de acuerdo con una primera dirección de búsqueda de derecha a izquierda con base en el primer pixel adyacente P(2nT-l,-l) 2310 y si el segundo pixel adyacente no está disponible en los pixeles adyacentes derechos superior y más alto, busca el segundo pixel adyacente disponible al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual 2300 de la parte superior al fondo. El reemplazador 2420 reemplaza el primer pixel adyacente P(2nT-1,-1) 2310 por el segundo pixel adyacente disponible encontrado inicialmente de acuerdo con esta dirección de búsqueda y orden de búsqueda. Por ejemplo, cuando un pixel adyacente P(nT+l,-l) 2320 de entre los pixeles adyacentes superiores es un segundo pixel adyacente disponible que se encuentra inicialmente de acuerdo con un orden de búsqueda, el reemplazador 2420 reemplaza un valor de pixel del primer pixel adyacente P(2nT-l,-l) 2310 por un valor de pixel del segundo pixel adyacente P(nT+l,-l) 2320.
También, el reemplazador 2420 reemplaza un tercer pixel adyacente, no disponible, restante excluyendo el primer pixel adyacente P(2nT-l,-l) 2310, por un pixel adyacente pre-procesado y reemplazado o disponible originalmente con base en una dirección de búsqueda predeterminada. Por ejemplo, el reemplazador 2420 reemplaza el primer pixel adyacente P(2nT- 1, -1) 2310 por el segundo pixel adyacente P(nT+l,-l) y luego reemplaza un siguiente pixel adyacente no disponible P(2nT- 2, -1) por el primer pixel adyacente P(2nT-l,-l) 2310.
Si el primer pixel adyacente P(2nT-l,-l) 2310 está disponible originalmente, se omite un proceso para reemplazar el primer pixel adyacente P(2nT-l,-l) 2310 y de esta manera el reemplazador 2420 reemplaza un valor de pixel del pixel adyacente P(2nT-2,-l) por un valor de pixel original del primer pixel adyacente P(2nT-l,-l) 2310.
Este proceso de reemplazo se repite en todos los terceros pixeles adyacentes no disponibles. En la FIGURA 23, el segundo pixel adyacente disponible P(nT+l,-l) 2320 y un pixel adyacente disponible P(-l,nT-l) 2330 de entre los pixeles adyacentes izquierdo y superior no se reemplazan y mantienen sus valores de pixel originales. Como tal, el reemplazador 2420 busca los pixeles adyacentes superior e izquierdo del bloque actual 2300 respectivamente de derecha a izquierda y de la parte superior al fondo con base en el primer pixel adyacente P(2nT-l,-l) 2310 y reemplaza secuencialmente los terceros pixeles adyacentes no disponibles por un pixel adyacente izquierdo o superior respectivo. En otras palabras, el reemplazador 2420 reemplaza secuencialmente los terceros pixeles adyacentes no disponibles que están localizados en la parte superior y a la derecha más alto del bloque actual 2300 por un pixel adyacente, inmediatamente izquierdo, respectivo y los terceros pixeles adyacentes no disponibles que están localizados a la izquierda y a la izquierda más abajo del bloque actual 2300 por un pixel adyacente, inmediatamente arriba, respectivo, excluyendo el primer pixel adyacente P(2nT-l,-l) 2310 y un pixel adyacente disponible originalmente .
Como se describiera anteriormente, un orden de búsqueda y una dirección de búsqueda de los pixeles adyacentes superior e izquierdo se pueden cambiar. En otras palabras, el reemplazador 2420 busca primero los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual 2300 del fondo a la parte superior y si un pixel adyacente no está disponible, entonces busca los pixeles adyacentes superior y derecho más alto del bloque actual 2300 de izquierda a derecha con el fin de buscar un segundo pixel adyacente para reemplazar el primer pixel adyacente P(2nT-l,-l) 2310.
Mientras tanto, si se completa un proceso para reemplazar pixeles adyacentes no disponibles de entre pixeles adyacentes, se puede realizar un proceso para filtrar los pixeles adyacentes. Si se utiliza un pixel adyacente filtrado se puede determinar con base en un tamaño de un bloque actual. Por ejemplo, el pixel adyacente filtrado se puede utilizar únicamente cuando el tamaño del bloque actual es 16x16.
La FIGURA 25A es un diagrama de los pixeles adyacentes filtrados 2510 y 2520 de un bloque actual 2500.
Con referencia a la FIGURA 25A, los pixeles adyacentes X 2510 en la parte superior del bloque actual 2500 y los pixeles adyacentes Y 2520 a la izquierda del bloque actual 2500 se pueden filtrar por lo menos una vez y un pixel adyacente filtrado se puede utilizar para la intra-predicción del bloque actual 2500. En este documento, cuando un tamaño del bloque actual 2500 es nTxnT, X puede ser 2nT e Y puede ser 2nT.
Cuando ContextOrg [n] indica los pixeles adyacentes originales X+Y en la parte superior y a la izquierda del bloque actual 2500 que tienen el tamaño de nTxnT, en donde n es un número entero de 0 a X+Y-l, n es 0 en el pixel adyacente más bajo de entre los pixeles adyacentes izquierdos, es decir, ContextOrg[0] y n es X+Y-l en un pixel adyacente a la extrema derecha de entre los pixeles adyacentes superiores, es decir, ContextOrg [X+Y-l ] .
La FIGURA 25B es un diagrama de referencia para describir un proceso de filtrado de un pixel adyacente de un bloque actual.
Con referencia a la FIGURA 25B, cuando ContextOrg [n] indica pixeles adyacentes en la parte superior y a la izquierda de un bloque actual, en donde n es un número entero de 0 a 4nT-l, los pixeles adyacentes se pueden filtrar por vía de un valor promedio, ponderado entre los pixeles adyacentes. Cuando, ContextFilteredl [n] indica un pixel adyacente filtrado una vez, los pixeles adyacentes filtrados por la aplicación de un filtro de 3 salidas a los pixeles adyacentes ContextOrg [n] se pueden obtener de acuerdo con una ecuación ContextFilteredl [n] = (ContextOrg [n- 1] +2*Context0rg[n] +ContextOrg[n+l] ) /4. Similarmente, un pixel adyacente filtrado dos veces ContextFiltered2 [n] se puede generar al calcular nuevamente un valor promedio ponderado entre los pixeles adyacentes filtrados una vez ContextFilteredl [n] . Por ejemplo, los pixeles adyacentes filtrados al aplicar un filtro de 3 salidas a los pixeles adyacentes filtrados ContextFilteredl [n] se pueden generar de acuerdo con una ecuación ContextFiltered2 [n] = (ContextFilteredl [n- 1] +2*ContextFilteredl [n] +ContextFilteredl [n+1] ) /4. Un filtro utilizado para la filtración y un número de veces que se realiza la filtración pueden variar.
La FIGURA 26 es un diagrama de flujo que ilustra un método para intra-predecir un video, de acuerdo con una modalidad de la presente invención.
En la operación 2610, el determinador de disponibilidad 2410 determina la disponibilidad de un número predeterminado de pixeles adyacentes utilizados para la intra-predicción de un bloque actual de entre bloques obtenidos al dividir una imagen que forma un video en una estructura jerárquica. Como se describiera anteriormente, si un pixel adyacente incluido en un bloque adyacente de un corte diferente de un corte que incluye un bloque adyacente inter-predicho o el bloque actual existe de entre el número predeterminado de pixeles adyacentes, el determinador de disponibilidad 2410 determina el pixel adyacente correspondiente como un pixel adyacente no disponible.
En la operación 2620, si un primer pixel adyacente no está disponible en el número predeterminado de pixeles adyacentes, el reemplazador 2420 busca un segundo pixel adyacente disponible al buscar el número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el primer pixel adyacente. En la operación 2630, el reemplazador 2420 reemplaza un valor de pixel del primer pixel adyacente por un valor de pixel del segundo pixel adyacente. Si el primer pixel adyacente en una ubicación predeterminada está disponible, el primer pixel adyacente se utiliza como un pixel de referencia para la intra-predicción del bloque actual y se omite un proceso para reemplazar el primer pixel adyacente. Como tal, cuando el primer pixel adyacente no está disponible y de esta manera es reemplazado 5 por el segundo pixel adyacente o está disponible y de esta manera se omite el proceso de reemplazo, se realiza un proceso para reemplazar un tercer pixel adyacente no disponible de entre los pixeles adyacentes .
Como se describiera anteriormente, el reemplazador ]_Q 2420 de acuerdo con una modalidad determina la disponibilidad de un primer pixel adyacente localizado en la esquina izquierda más alta del bloque actual, si el primer pixel adyacente no está disponible, busca el segundo pixel adyacente disponible al buscar los pixeles adyacentes 15 superior y derecho más alto de izquierda a derecha con base en el primer pixel adyacente y si el segundo pixel adyacente no está disponible en los pixeles adyacentes superior y derecho más alto, busca el segundo pixel adyacente disponible al buscar los pixeles adyacentes izquierdo e izquierdo más 20 bajo de la parte superior al fondo con base en el primer pixel adyacente. El reemplazador 2420 determina un pixel adyacente disponible encontrado inicialmente de acuerdo con esta dirección de búsqueda y un orden de búsqueda como el segundo pixel adyacente. Luego, el reemplazador 2420 25 reemplaza el valor de pixel del primer pixel adyacente por el valor de pixel del segundo pixel adyacente. También, el reemplazador 2420 reemplaza por lo menos un tercer pixel adyacente no disponible que está localizado a la izquierda y a la izquierda más bajo del bloque actual por un pixel adyacente inmediatamente arriba, excluyendo el primer pixel adyacente y un pixel adyacente disponible originalmente, y reemplaza por lo menos un tercer pixel adyacente no disponible que está localizado en la parte superior y a la derecha más alto del bloque actual por un pixel adyacente inmediatamente a la izquierda. En otras palabras, el reemplazador 2420 realiza un proceso para reemplazar los terceros pixeles adyacentes no disponibles en otras ubicaciones, excluyendo el primer pixel adyacente en una ubicación predeterminada, mediante el uso de un pixel inmediatamente adyacente en una dirección predeterminada.
El reemplazador 2420 de acuerdo con otra modalidad determina la disponibilidad de un primer pixel adyacente que está localizado a la izquierda al extremo inferior del bloque actual y si el primer pixel adyacente no está disponible, determina un pixel adyacente, disponible, encontrado inicialmente como el segundo pixel adyacente al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del fondo a la parte superior con base en el primer pixel adyacente. Si el segundo pixel adyacente no está disponible en los pixeles adyacentes izquierdo e izquierdo más bajo, el reemplazador 2420 determina un pixel adyacente, disponible, encontrado inicialmente como el segundo pixel adyacente al buscar los pixeles adyacentes superior y derecho más alto de izquierda a derecha. También, el reemplazador 2420 reemplaza el valor de pixel del primer pixel adyacente por el valor de pixel del segundo pixel adyacente. También, el reemplazador 2420 reemplaza secuencialmente los terceros pixeles adyacentes no disponibles a la izquierda e izquierda más bajo por el pixel adyacente inmediatamente debajo respectivo y los terceros pixeles adyacentes no disponibles en la parte superior y a la derecha más alto por el pixel adyacente inmediatamente a la izquierda respectivo, excluyendo el primer pixel adyacente y el pixel adyacente disponibles originalmente. En otras palabras, el reemplazador 2420 realiza un proceso para reemplazar los terceros pixeles adyacentes no disponibles en otras ubicaciones por un pixel inmediatamente adyacente en una dirección predeterminada, excluyendo el primer pixel adyacente en la ubicación predeterminada.
El reemplazador 2420 de acuerdo con otra modalidad determina la disponibilidad de un primer pixel adyacente localizado a la extrema derecha más alto del bloque actual y si el primer pixel adyacente no está disponible, determina un pixel adyacente, disponible, encontrado inicialmente como el segundo pixel adyacente al buscar los pixeles adyacentes superior y derecho más alto de derecha a izquierda con base en el primer pixel adyacente. Si el segundo pixel adyacente no está disponible en los pixeles adyacentes superior y derecho más alto, el reemplazador 2420 determina un pixel adyacente, disponible, encontrado inicialmente como el 5 segundo pixel adyacente al buscar los pixeles adyacentes izquierdo e izquierdo más bajo de la parte superior al fondo. Luego, el reemplazador 2420 reemplaza un valor de pixel del primer pixel adyacente por un valor de pixel del segundo pixel adyacente. También, el reemplazador 2420 reemplaza por J_Q lo menos un tercer pixel adyacente no disponible que está localizado en la parte superior y a la derecha más alto del bloque actual por un pixel adyacente inmediatamente a la derecha y reemplaza por lo menos un tercer pixel adyacente no disponible que está localizado a la izquierda e izquierda más ]_5 bajo del bloque actual por un pixel adyacente inmediatamente arriba, excluyendo el primer pixel adyacente y un pixel adyacente disponible originalmente. En otras palabras, el reemplazador 2420 realiza un proceso para reemplazar los terceros pixeles adyacentes no disponibles en otras 20 ubicaciones, excluyendo el primer pixel adyacente en una ubicación predeterminada, por un pixel inmediatamente adyacente en una dirección predeterminada. En la operación 2640, el realizador de la intra-predicción 2430 lleva a cabo la intra-predicción en el bloque actual mediante el uso de 25 los pixeles adyacentes originales y los pixeles adyacentes reemplazados de acuerdo con la disponibilidad.
Como se describiera anteriormente, la complejidad de un proceso para determinar un pixel de referencia utilizado para la intra-predicción se puede reducir al buscar y reemplazar un pixel adyacente disponible, con base en una dirección de búsqueda predeterminada, por un pixel adyacente no disponible.
Como los programas para realizar el método de inter-predicción descrito con referencia a las FIGURAS 1 hasta 26 se almacenan en medios de grabación legibles por computadora, un sistema de cómputo independiente puede realizar fácilmente operaciones de acuerdo con los programas almacenados en los medios de grabación legibles por computadora .
Un medio de grabación legible por computadora que almacena un programa, por ejemplo, un disco 26000, de acuerdo con una modalidad de la presente invención ahora se describirá en detalle.
La FIGURA 27A es un diagrama de una estructura física del disco 26000 en el cual se almacena un programa, de acuerdo con una modalidad de la presente invención. El disco 26000, el cual es un medio de almacenamiento, puede ser un disco duro, un disco compacto-disco de memoria solo de lectura (CD-ROM, por sus siglas en inglés), un disco de Blu-ra "1* o un disco versátil digital (DVD, por sus siglas en inglés) . El disco 26000 incluye una pluralidad de pistas concéntricas Tr que están divididas cada una en un número específico de sectores Se en una dirección circunferencial del disco 26000. En una región específica del disco 26000, un programa que ejecuta el método de inter-predicción descrito anteriormente se puede asignar y almacenar.
Un sistema de cómputo incorporado utilizando un medio de almacenamiento que guarda un programa para la ejecución del método de intra-predicción como se describiera anteriormente ahora se describirá con referencia a la FIGURA 27B.
La FIGURA 27B es un diagrama de una unidad de disco 26800 para grabar y leer un programa mediante el uso del disco 26000. Un sistema de cómputo 27000 puede almacenar un programa que ejecuta un método de intra-predicción de acuerdo con una modalidad de la presente invención, en el disco 26000 por vía de la unidad de disco 26800. Para ejecutar el programa almacenado en el disco 26000 en el sistema de cómputo 27000, el programa puede ser leído desde el disco 26000 y puede ser transmitido al sistema de cómputo 26700 mediante el uso de la unidad de disco 27000.
El programa que ejecuta un método de intra-predicción de acuerdo con una modalidad de la presente invención se puede almacenar no únicamente en el disco 26000 ilustrado en la FIGURA 27A o 27B sino también en una tarjeta de memoria, un cásete de ROM o una unidad en estado sólido ( SSD, por sus siglas en inglés) .
Un sistema al cual se aplica el método de intra-predicción descrito anteriormente se describirá a continuación.
La FIGURA 28 es un diagrama de una estructura completa de un sistema de suministro de contenido 11000 para proporcionar un servicio de distribución de contenido. Un área de servicio de un sistema de comunicación se divide en celdas de dimensiones predeterminadas y las estaciones base inalámbricas 11700, 11800, 11900 y 12000 se instalan en esas celdas, respectivamente.
El sistema de suministro de contenido 11000 incluye una pluralidad de dispositivos independientes. Por ejemplo, la pluralidad de dispositivos independientes, tal como una computadora 12100, un asistente digital personal (PDA, por sus siglas en inglés) 12200, una cámara de video 12300 y un teléfono móvil 12500, se conectan a la Internet 11100 por vía de un proveedor de servicio de Internet 11200, una red de comunicación 11400 y las estaciones base inalámbricas 11700, 11800, 11900 y 12000.
Sin embargo, el sistema de suministro de contenido 11000 no está limitado a aquellos ilustrados en la FIGURA 28 y los dispositivos se pueden conectar selectivamente al mismo. La pluralidad de dispositivos independientes pueden estar conectados directamente a la red de comunicación 11400, no por vía de las estaciones base inalámbricas 11700, 11800, 11900 y 12000.
La cámara de video 12300 es un dispositivo de formación de imágenes, por ejemplo, una cámara digital de video, el cual es capaz de capturar imágenes de video. El teléfono móvil 12500 puede emplear por lo menos un método de comunicación de entre varios protocolos, por ejemplo, Comunicaciones Digitales Personales (PDC, por sus siglas en inglés) , Acceso Múltiple por División de Código (CDMA, por sus siglas en inglés) , Acceso Múltiple por División de Código de Banda Ancha (W-CDMA, por sus siglas en inglés), Sistema Global para Comunicaciones Móviles (GSM, por sus siglas en inglés) y Sistema de Teléfonos Personales (PHS, por sus siglas en inglés) .
La cámara de video 12300 puede ser conectada a un servidor de transmisión ininterrumpida 11300 por vía de la estación base inalámbrica 11900 y la red de comunicación 11400. El servidor de transmisión ininterrumpida 11300 permite que el contenido recibido de un usuario por vía de la cámara de video 12300 sea transmitido ininterrumpidamente por vía de una radiodifusión en tiempo real. El contenido recibido de la cámara de video 12300 puede ser codificado utilizando la cámara de video 12300 o el servidor de transmisión ininterrumpida 11300. Los datos de video capturados por la cámara de video 12300 pueden ser transmitidos al servidor de transmisión ininterrumpida 11300 por vía de la computadora 12100.
Los datos de video capturados por una cámara 12600 también pueden ser transmitidos al servidor de transmisión ininterrumpida 11300 por vía de la computadora 12100. La cámara 12600 es un dispositivo de formación de imágenes capaz de capturar tanto imágenes fijas como imágenes de video, de manera similar a una cámara digital. Los datos de video capturados por la cámara 12600 pueden ser codificados utilizando la cámara 12600 o la computadora 12100. El software que realiza la codificación y decodificación de video se puede almacenar en un medio de grabación legible por computadora, por ejemplo, un disco CD-ROM, un disco flexible, una unidad de disco duro, una SSD o una tarjeta de memoria, la cual puede ser accesible por la computadora 12100.
Si los datos de video son capturados por una cámara integrada en el teléfono móvil 12500, los datos de video pueden ser recibidos desde el teléfono móvil 12500.
Los datos de video también pueden ser codificados por un sistema de circuito integrado a gran escala (LSI) instalado en la cámara de video 12300, el teléfono móvil 12500 o la cámara 12600.
El sistema de suministro de contenido 11000 puede codificar datos de contenido grabados por un usuario utilizando la cámara de video 12300, la cámara 12600, el teléfono móvil 12500 u otro dispositivo de formación de imágenes, por ejemplo, contenido grabado durante un concierto, y puede transmitir los datos de contenido 5 codificados al servidor de transmisión ininterrumpida 11300.
El servidor de transmisión ininterrumpida 11300 puede transmitir los datos de contenido codificados en un tipo de un contenido de transmisión ininterrumpida a otros clientes que solicitan los datos de contenido. 3_0 Los clientes son dispositivos capaces de decodificar los datos de contenido codificados, por ejemplo, la computadora 12100, el PDA 12200, la cámara de video 12300 o el teléfono móvil 12500. De esta manera, el sistema de suministro de contenido 11000 permite que los clientes ]_ 5 reciban y reproduzcan los datos de contenido codificados.
También, el sistema de suministro de contenido 11000 permite que los clientes reciban los datos de contenido codificados y decodifiquen y reproduzcan los datos de contenido codificados en tiempo real, haciendo posible de este modo una 20 radiodifusión personal.
Las operaciones de codificación y decodificación de la pluralidad de dispositivos independientes que están incluidos en el sistema de suministro de contenido 11000 pueden ser similares a un método de intra-predicción de 25 acuerdo con una modalidad de la presente invención.
El teléfono móvil 12500 incluido en el sistema de suministro de contenido 11000 de acuerdo con una modalidad de la presente invención ahora se describirá con mayor detalle con referencia a las FIGURAS 29 y 30.
La FIGURA 29 ilustra una estructura externa del teléfono móvil 12500 al cual se aplica un método de intra-predicción, de acuerdo con una modalidad de la presente invención. El teléfono móvil 12500 puede ser un teléfono inteligente, las funciones del cual no están limitadas y un gran número de funciones del cual pueden ser cambiadas o expandidas .
El teléfono móvil 12500 incluye una antena interna 12510 por vía de la cual una señal de radiofrecuencia (RF, por sus siglas en inglés) puede ser intercambiada con la estación base inalámbrica 12000 de la FIGURA 21 e incluye una pantalla de visualizacion 12520 para exhibir imágenes capturadas por una cámara 12530 o imágenes que son recibidas por vía de la antena 12510 y decodificadas, por ejemplo, una pantalla de cristal líquido (LCD, por sus siglas en inglés) o una pantalla de diodos emisores de luz orgánica (OLED, por sus siglas en inglés) . El teléfono móvil 12500 incluye un panel de operaciones 12540 que incluye un botón de control y un panel táctil. Si la pantalla de visualizacion 12520 es una pantalla táctil, el panel de operaciones 12540 incluye además un panel sensible al tacto de la pantalla de visualizacion 12520. El teléfono móvil 12500 incluye un altavoz 12580 para la salida de una unidad de salida de voz y sonido u otro tipo de sonido y un micrófono 12550 para la entrada de una unidad de entrada de voz y sonido u otro tipo de sonido. El teléfono móvil 12500 incluye además la cámara 12530, tal como una cámara de un dispositivo de carga acoplada (CCD, por sus siglas en inglés), para capturar video e imágenes fijas. El teléfono móvil 12500 puede incluir además un medio de almacenamiento 12570 para almacenar datos codificados/decodificados , por ejemplo, video o imágenes fijas capturados por la cámara 12530, recibidos por vía de correo electrónico u obtenidos de acuerdo con varias formas; y una ranura 12560 por vía de la cual el medio de almacenamiento 12570 se carga en el teléfono móvil 12500. El medio de almacenamiento 12570 puede ser una memoria no volátil, por ejemplo, una tarjeta digital segura (SD, por sus siglas en inglés) o una memoria solo de lectura borrable eléctricamente y programable (EEPRO , por sus siglas en inglés) incluida en un estuche de plástico.
La FIGURA 30 ilustra una estructura interna del teléfono móvil 12500, de acuerdo con una modalidad de la presente invención. Para controlar sistemáticamente partes del teléfono móvil 12500 que incluyen la pantalla de visualización 12520 y el panel de operaciones 12540, un circuito de suministro de energía 12700, un controlador de entrada de operaciones 12640, una unidad de codificación de imágenes 12720, una interfaz de cámara 12630, un controlador de LCD 12620, una unidad de decodificación de imágenes 12690, un multiplexor/desmultiplexor 12680, una unidad de grabación/lectura 12670, una unidad de modulación/desmodulación 12660 y un procesador de sonido 12650 se conectan a un controlador central 12710 por vía de un enlace común de sincronización 12730.
Si un usuario opera un botón de encendido y dispone de un estado "apagado" a un estado "encendido", el circuito de suministro de energía 12700 suministra energía a todas las partes del teléfono móvil 12500 desde un empaque de baterías, disponiendo de ese modo el teléfono móvil 12500 en un modo de operación.
El controlador central 12710 incluye una unidad de procesamiento central (CPU, por sus siglas en inglés) , una ROM y una RAM.
Mientras que el teléfono móvil 12500 transmite datos de comunicación hacia el exterior, una señal digital es generada por el teléfono móvil 12500 bajo el dominio del controlador central 12710. Por ejemplo, el procesador de sonido 12650 puede generar una señal de sonido digital, la unidad de codificación de imágenes 12720 puede generar una señal de imagen digital y los datos de texto de un mensaje pueden ser generados por vía del panel de operaciones 12540 y el controlador de entrada de operaciones 12640. Cuando una señal digital es trasmitida a la unidad de modulación/desmodulación 12660 bajo el dominio del controlador central 12710, la unidad de modulación/desmodulación 12660 modula una banda de frecuencia de la señal digital y un circuito de comunicación 12610 realiza una conversión de digital a analógico (DAC, por sus siglas en inglés) y una conversión de frecuencia en la señal de sonido digital modulada por banda de frecuencia. Una señal de transmisión enviada desde el circuito de comunicación 12610 puede ser transmitida a una estación base de comunicación de voz o la estación base inalámbrica 12000 por vía de la antena 12510.
Por ejemplo, cuando el teléfono móvil 12500 está en un modo de conversación, una señal de sonido obtenida por vía del micrófono 12550 es transformada en una señal de sonido digital por el procesador de sonido 12650, bajo el dominio del controlador central 12710. La señal de sonido digital puede ser transformada en una señal de transformación por vía de la unidad de modulación/desmodulación 12660 y el circuito de comunicación 12610 y puede ser transmitida por vía de la antena 12510.
Cuando un mensaje de texto, por ejemplo, un correo electrónico, es transmitido en un modo de comunicación de datos, los datos de texto del mensaje de texto se introducen por vía del panel de operaciones 12540 y se transmiten al controlador central 12610 por vía del controlador de entrada de operación 12640. Bajo el dominio del controlador central 12610, los datos de texto se transforman en una señal de transmisión por vía de la unidad de modulación/desmodulación 12660 y el circuito de comunicación 12610 y se transmiten a la estación base inalámbrica 12000 por vía de la antena 12510.
Para transmitir datos de imágenes en el modo de comunicación de datos, los datos de imágenes capturados por la cámara 12530 se proporcionan a la unidad de codificación de imágenes 12720 por vía de la interfaz de la cámara 12630. Los datos de imágenes capturados pueden ser exhibidos directamente en la pantalla de visualización 12520 por vía de la interfaz de la cámara 12630 y el controlador de LCD 12620.
Una estructura de la unidad de codificación de imágenes 12720 puede corresponder a aquella del aparato de codificación de video 100 descrito anteriormente. La unidad de codificación de imágenes 12720 puede transformar los datos de imagen recibidos de la cámara 12530 en datos de imagen comprimidos y codificados de acuerdo con un método de codificación de video empleado por el aparato de codificación de video 100 o el codificador de imágenes 400 descritos anteriormente y luego puede enviar los datos de imagen codificados al multiplexor/desmultiplexor 12680. Durante una operación de grabación de la cámara 12530 , una señal de sonido obtenida por el micrófono 12550 del teléfono móvil 12500 se puede transformar en datos de sonido digital por vía del procesador de sonido 12650 y los datos de sonido digital pueden ser transmitidos al multiplexor/desmultiplexor 12680 .
El multiplexor/desmultiplexor 12680 multiplexa los datos de imagen codificados que son recibidos de la unidad de codificación de imágenes 12720 , junto con los datos de sonido recibidos del procesador de sonido 12650 . Un resultado de la multiplexión de los datos puede ser transformado en una señal de transmisión por vía de la unidad de modulación/desmodulación 12660 y el circuito de comunicación 12610 y luego puede ser trasmitido por vía de la antena 12510 .
Mientras que el teléfono móvil 12500 recibe datos de comunicación desde el exterior, la recuperación de frecuencia y ADC se realizan en una señal recibida por vía de la antena 12510 para transformar la señal en una señal digital. La unidad de modulación/desmodulación 12660 modula una banda de frecuencia de la señal digital. La señal digital modulada por banda de frecuencia se transmite a la unidad de decodificación de video 12690 , el procesador de sonido 12650 o el controlador de LCD 12620 , de acuerdo con el tipo de la señal digital.
En el modo de conversación, el teléfono móvil 12500 amplifica una señal recibida por vía de la antena 12510 y obtiene una señal de sonido digital al realizar una conversión de frecuencia y ADC en la señal amplificada. Una señal de sonido digital recibida es transformada en una señal de sonido analógico por vía de la unidad de modulación/desmodulación 12660 y el procesador de sonido 12650 y la señal de sonido analógico es enviada por vía del altavoz 12580, bajo el dominio del controlador central 12710.
Cuando se encuentra en el modo de comunicación de datos, los datos de un archivo de video accedidos en un sitio web de Internet se reciben, una señal recibida de la estación base inalámbrica 12000 por vía de la antena 12510 es enviada como datos multiplexados por vía de la unidad de modulación/desmodulación 12660 y los datos multiplexados se transmiten al multiplexor/desmul tiplexor 12680.
Para decodificar los datos multiplexados que son recibidos por vía de la antena 12510, el multiplexor/desmultiplexor 12680 desmultiplexa los datos multiplexados en una corriente de datos de video codificados y una corriente de datos de audio codificados. Por vía del enlace común de sincronización 12730, la corriente de datos de video codificados y la corriente de datos de audio codificados se proporcionan a la unidad de decodificación de video 12690 y al procesador de sonido 12650, respectivamente.
Una estructura de la unidad de decodificación de imágenes 12690 puede corresponder a aquella del aparato de decodificación de video 200 descrito anteriormente. La unidad de decodificación de imágenes 12690 puede decodificar los datos de video codificados para obtener datos de video restaurados y puede proporcionar los datos de video restaurados a la pantalla de visualizacion 12520 por vía del controlador de LCD 12620, de acuerdo con un método de decodificación de video empleado por el aparato de decodificación de video 200 o el decodificador de imágenes 500 descritos anteriormente.
De esta manera, los datos del archivo de video accedidos en el sitio web de Internet se pueden exhibir en la pantalla de visualizacion 12520. Al mismo tiempo, el procesador de sonido 12650 puede transformar datos de audio en una señal de sonido analógico y puede proporcionar la señal de sonido analógico al altavoz 12580. De esta manera, los datos de audio contenidos en el archivo de video accedido en el sitio web de Internet también pueden ser reproducidos por vía del altavoz 12580.
El teléfono móvil 12500 u otro tipo de terminal de comunicación puede ser una terminal transceptora que incluye tanto un aparato de codificación de video como un aparato de decodificación de video de acuerdo con una modalidad de la presente invención, puede ser una terminal transceptora que incluye solo el aparato de codificación de video o puede ser una terminal transceptora que incluye solo el aparato de decodificación de video.
Un sistema de comunicación de acuerdo con la presente invención no está limitado al sistema de comunicación descrito anteriormente con referencia a la FIGURA 28. Por ejemplo, la FIGURA 31 ilustra un sistema de radiodifusión digital que emplea un sistema de comunicación de acuerdo con una modalidad de la presente invención. El sistema de radiodifusión digital de la FIGURA 31 puede recibir una radiodifusión digital transmitida por vía de un satélite o una red terrestre mediante el uso de un aparato de codificación de video y un aparato de decodificación de video de acuerdo con una modalidad de la presente invención.
Específicamente, una estación de radiodifusión 12890 transmite una corriente de datos de video a un satélite de comunicación o un satélite de radiodifusión 12900 mediante el uso de ondas de radio. El satélite de radiodifusión 12900 transmite una señal de radiodifusión y la señal de radiodifusión es transmitida al receptor de radiodifusión satelital por vía de una antena casera 12860. En cada casa, una corriente de video codificada puede ser decodificada y reproducida por un receptor de TV 12810, un sintonizador externo 12870 u otro dispositivo.
Cuando un aparato de decodificación de video de acuerdo con una modalidad de la presente invención se implementa en un aparato de reproducción 12830, el aparato de reproducción 12830 puede analizar y decodificar una corriente de video codificada que está grabada en un medio de almacenamiento 12820, tal como un disco o una tarjeta de memoria para restaurar las señales digitales. De esta manera, la señal de video restaurada puede ser reproducida, por ejemplo, en un monitor 12840.
En el sintonizador externo 12870 conectado a la antena 12860 para la radiodifusión satelital/terrestre o una antena de cable 12850 para recibir una radiodifusión de televisión de cable (TV) , se puede instalar un aparato de decodificación de video de acuerdo con una modalidad de la presente invención. Los datos enviados desde el sintonizador externo 12870 también pueden ser reproducidos en un monitor de TV 12880.
Como otro ejemplo, un aparato de decodificación de video de acuerdo con una modalidad de la presente invención se puede instalar en el receptor de TV 12810 en lugar del sintonizador externo 12870.
Un automóvil 12920 que tiene una antena apropiada 12910 puede recibir una señal transmitida desde el satélite 12900 o la estación base inalámbrica 11700 de la FIGURA 21. Un video decodificado puede ser reproducido en una pantalla de visualización de un sistema de navegación de automóvil 12930 instalado en el automóvil 12920.
Una señal de video puede ser codificada por un aparato de codificación de video de acuerdo con una modalidad de la presente invención y luego puede ser almacenada en un medio de almacenamiento. Específicamente, una señal de imagen puede ser almacenada en un disco DVD 12960 por una grabadora de DVD o puede ser almacenada en un disco duro por una grabadora de disco duro 12950. Como otro ejemplo, la señal de video puede ser almacenada en una tarjeta SD 12970. Si la grabadora de disco duro 12950 incluye un aparato de decodificación de video de acuerdo con una modalidad de la presente invención, una señal de video grabada en un disco DVD 12960, la tarjeta SD 12970 u otro medio de almacenamiento puede ser reproducida en el monitor de TV 12880.
El sistema de navegación del automóvil 12930 puede no incluir la cámara 12530, la interfaz de la cámara 12630 y la unidad de codificación de imágenes 12720 de la FIGURA 30. Por ejemplo, la computadora 12100 y el receptor de TV 12810 pueden no estar incluidos en la cámara 12530, la interfaz de la cámara 12630 y la unidad de codificación de imágenes 12720 de la FIGURA 30.
La FIGURA 32 es un diagrama que ilustra una estructura de red de un sistema de computación en nube que utiliza un aparato de codificación de video y un aparato de decodificación de video, de acuerdo con una modalidad de la presente invención.
El sistema de computación en nube puede incluir un servidor de computación en nube 14000, una base de datos de usuario (DB, por sus siglas en inglés) 14100, una pluralidad de recursos de computación 14200 y una terminal de usuario.
El sistema de computación en nube proporciona un servicio de externalización a petición de la pluralidad de recursos de computación 14200 por vía de una red de comunicación de datos, por ejemplo, la Internet, en respuesta a una petición de la terminal del usuario. Bajo un ambiente de computación en nube, un proveedor de servicios proporciona a los usuarios servicios deseados al combinar recursos de computación en centros de datos localizados en ubicaciones físicamente diferentes mediante el uso de la tecnología de virtualización. Un usuario de servicio no tiene que instalar recursos de computación, por ejemplo, una aplicación, un almacenamiento, un sistema operativo (OS) y seguridad, en su propia terminal con el propósito de utilizarlos, sino que puede seleccionar y utilizar servicios deseados de entre servicios en un espacio virtual generado a través de la tecnología de virtualización, en un punto deseado en el tiempo .
Una terminal de usuario de un usuario de servicio especificado se conecta al servidor de computación en nube 14000 por vía de una red de comunicación de datos que incluye la Internet y una red de telecomunicación móvil. Las terminales de usuario pueden ser provistas con servicios de computación en nube, y particularmente servicios de reproducción de video, del servidor de computación en nube 14000. Las terminales de usuario pueden ser varios tipos de dispositivos electrónicos que pueden ser conectados a la Internet, por ejemplo, una PC de escritorio 14300, una TV inteligente 14400, un teléfono inteligente 14500, una computadora portátil 14600, un reproductor multimedia portátil (PMP, por sus siglas en inglés) 14700, una tableta 14800 y similares.
El servidor de computación en nube 14000 puede combinar la pluralidad de recursos de computación 14200 distribuidos en una red de nube y puede proveer a las terminales de usuario con un resultado de una combinación. La pluralidad de recursos de computación 14200 puede incluir varios servicios de datos y puede incluir datos transmitidos desde terminales de usuario. Como se describiera anteriormente, el servidor de computación en nube 14000 puede proveer a las terminales de usuario con servicios deseados al combinar una base de datos de video distribuida en diferentes regiones de acuerdo con la tecnología de virtualizacion.
La información de usuario acerca de los usuarios quienes se han suscrito a un servicio de computación en nube se almacena en la DB de usuario 14100. La información de usuario puede incluir información de ingreso al sistema, direcciones, nombres e información crediticia personal de los usuarios. La información de usuario puede incluir además índices de videos. En este documento, los índices pueden incluir una lista de videos que ya han sido reproducidos, una lista de video que están siendo reproducidos, un punto de pausa de un videos que estaba siendo reproducido y similares.
La información acerca de un video almacenado en la DB de usuario 14100 puede ser compartida entre dispositivos de usuario. Por ejemplo, cuando un servicio de video se proporciona a la computadora portátil 14600 en respuesta a una petición de la computadora portátil 14600, un historial de reproducción del servicio de video se almacena en la DB de usuario 14100. Cuando una solicitud para reproducir este servicio de video es recibida desde el teléfono inteligente 14500, el servidor de computación en nube 14000 busca y reproduce este servicio de video, con base en la DB de usuario 14100. Cuando el teléfono inteligente 14500 recibe una corriente de datos de video del servidor de computación en nube 14000, un proceso para reproducir un video al decodificar la corriente de datos de video es similar a una operación del teléfono móvil 12500 descrito anteriormente con referencia a la FIGURA 30.
El servidor de computación en nube 14000 puede hacer referencia a un historial de reproducción de un servicio de video deseado, que está almacenado en la DB de usuario 14100. Por ejemplo, el servidor de computación en nube 14000 recibe una petición para reproducir un video almacenado en la DB de usuario 14100, de una terminal de usuario. Si este video está siendo reproducido, entonces un 5 método para transmitir ininterrumpidamente este video, realizado por el servidor de computación en nube 14000, puede variar de acuerdo con la petición de la terminal de usuario, es decir, de acuerdo a si el video será reproducido, iniciando desde el principio del mismo o un punto de pausa ]_Q del mismo. Por ejemplo, si la terminal de usuario pide reproducir el video, iniciando desde el principio de mismo, el servidor de computación en nube 14000 transmite datos de transmisión ininterrumpida del video iniciando desde una primera trama del mismo a la terminal de usuario. Si la ]_5 terminal de usuario pide reproducir el video, iniciando desde el punto de pausa del mismo, el servidor de computación en nube 14000 transmite datos de transmisión ininterrumpida del video iniciando desde una trama que corresponde al punto de pausa, a la terminal de usuario. 20 En este caso, la terminal de usuario puede incluir un aparato de decodificación de video como se describiera anteriormente. Como otro ejemplo, la terminal de usuario puede incluir un aparato de codificación de video como se describiera anteriormente. Alternativamente, la terminal de 25 usuario puede incluir tanto el aparato de decodificación de video como el aparato de codificación de video como se describiera anteriormente.
Varias aplicaciones de un método de codificación de video, un método de decodificación de video, un aparato de 5 codificación de video y un aparato de decodificación de video de acuerdo con modalidades de la presente invención descritas anteriormente se han descrito anteriormente con referencia a las FIGURAS 27A a 32. Sin embargo, los métodos para almacenar el método de codificación de video y el método de ]_Q decodificación de video en un medio de almacenamiento o los métodos para implementar el aparato de codificación de video y el aparato de decodificación de video en un dispositivo, de acuerdo con varias modalidades de la presente invención, no están limitados a las modalidades descritas anteriormente con 15 referencia a las FIGURAS 27A a 32.
De acuerdo con una o más modalidades de la presente invención, la complejidad de un proceso para determinar un pixel de referencia utilizado para la intra-predicción se puede reducir al buscar y reemplazar un pixel adyacente 20 disponible, con base en una dirección de búsqueda predeterminada, por un pixel adyacente no disponible.
Mientras que la invención presente ha sido mostrada y descrita particularmente con referencia a modalidades ejemplares de la misma, aquellas personas de experiencia 25 ordinaria en el campo entenderán que se pueden hacer varios cambios en forma y detalles en la misma sin apartarse del espíritu y alcance de la presente invención como se define por las siguientes reivindicaciones.
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (15)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones :
1. Un método para intra-predecir un video, caracterizado porque comprende: determinar la disponibilidad de un número predeterminado de pixeles adyacentes que se utilizan para la intra-predicción de un bloque actual de entre bloques obtenidos al dividir una imagen que forma el video de acuerdo con una estructura jerárquica; si un primer pixel adyacente no está disponible en el número predeterminado de pixeles adyacentes, buscar un segundo pixel adyacente que esté disponible al buscar el número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el primer pixel adyacente; reemplazar un valor de pixel del primer pixel adyacente por un valor de pixel de un segundo pixel adyacente encontrado; y realizar la intra-predicción en el bloque actual mediante el uso del número predeterminado de pixeles adyacentes que comprenden el primer pixel adyacente reemplazado .
2. El método de conformidad con la reivindicación 1, caracterizado porque la determinación de la disponibilidad comprende determinar pixeles adyacentes, los cuales están incluidos en un bloque adyacente que es inter-predicho o que pertenece a un corte diferente de un corte al cual pertenece el bloque actual, que no están disponibles.
3. El método de conformidad con la reivindicación 1, caracterizado porque el primer pixel adyacente es un pixel en una ubicación predeterminada de entre el número predeterminado de pixeles adyacentes y la búsqueda del segundo pixel adyacente comprende determinar un pixel adyacente disponible, el cual se encontró inicialmente al buscar el número predeterminado de pixeles adyacentes en la dirección predeterminada con base en el primer pixel adyacente, que es el segundo pixel adyacente.
4. El método de conformidad con la reivindicación 3, caracterizado porque el primer pixel adyacente es un pixel adyacente localizado en una esquina izquierda más alta del bloque actual, y la búsqueda del segundo pixel adyacente comprende buscar el segundo pixel adyacente al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente y si un segundo pixel adyacente no está disponible en los pixeles adyacentes superior y derecho más alto del bloque actual, buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente.
5. El método de conformidad con la reivindicación 3, caracterizado porque el primer pixel adyacente es un pixel adyacente localizado en una esquina izquierda más alta del bloque actual, y la búsqueda del segundo pixel adyacente comprende buscar el segundo pixel adyacente al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente y si un segundo pixel adyacente no está disponible en los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual, buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente.
6. El método de conformidad con la reivindicación 3, caracterizado porque el primer pixel adyacente es un pixel adyacente localizado en una esquina izquierda más alta del bloque actual, y la búsqueda del segundo pixel adyacente comprende: determinar un pixel adyacente, izquierdo, disponible al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente y determinar un pixel adyacente, superior, disponible al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente; y reemplazar el valor de pixel del primer pixel adyacente mediante el uso de un valor promedio del pixel adyacente, izquierdo, disponible y el pixel adyacente, superior, disponible.
7. El método de conformidad con la reivindicación 3, caracterizado porque el primer pixel adyacente es un pixel adyacente localizado en una esquina izquierda más alta del bloque actual, y la búsqueda del segundo pixel adyacente comprende determinar un pixel adyacente, izquierdo, disponible al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo con base en el primer pixel adyacente, determinar un pixel adyacente, superior, disponible al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha con base en el primer pixel adyacente y determinar un pixel adyacente, el cual está más cerca del primer pixel adyacente de entre los pixeles adyacentes izquierdo y superior buscados, que es el segundo pixel adyacente.
8. El método de conformidad con la reivindicación 3, caracterizado porque el primer pixel adyacente es un pixel adyacente izquierdo en el extremo inferior de entre los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual y la búsqueda del segundo pixel adyacente comprende buscar el segundo pixel adyacente al buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual del fondo a la parte superior con base en el primer pixel adyacente y si un segundo pixel adyacente no está disponible en los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual, buscar los pixeles adyacentes superior y derecho más alto del bloque actual de izquierda a derecha.
9. El método de conformidad con la reivindicación 3, caracterizado porque el primer pixel adyacente es un pixel adyacente a la extrema derecha más alto de entre los pixeles adyacentes superior y derecho más alto del bloque actual, y la búsqueda del segundo pixel adyacente comprende buscar el segundo pixel adyacente al buscar los pixeles adyacentes superior y derecho más alto del bloque actual de derecha a izquierda con base en el primer pixel adyacente, y si un segundo pixel adyacente no está disponible en los pixeles adyacentes superior y derecho más alto del bloque actual, buscar los pixeles adyacentes izquierdo e izquierdo más bajo del bloque actual de la parte superior al fondo.
10. El método de conformidad con la reivindicación 3, caracterizado porque comprende además, si por lo menos un tercer pixel adyacente no está disponible, reemplazar un valor de pixel de por lo menos el tercer pixel adyacente por un valor de pixel de un pixel adyacente buscado previamente con base en la dirección predeterminada.
11. El método de conformidad con la reivindicación 10, caracterizado porque el primer pixel adyacente es un pixel adyacente localizado en una esquina izquierda más alta del bloque actual, y si por lo menos el tercer pixel adyacente está localizado en la parte superior del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente a la extrema izquierda por un pixel adyacente a la izquierda de por lo menos el tercer pixel adyacente y si por lo menos el tercer pixel adyacente está localizado a la izquierda del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente en el extremo superior por un pixel adyacente arriba de por lo menos el tercer pixel adyacente.
12. El método de conformidad con la reivindicación 10, caracterizado porque el primer pixel adyacente es un pixel adyacente localizado en la esquina izquierda en el extremo inferior del bloque actual, y si por lo menos el tercer pixel adyacente está localizado a la izquierda del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente en el extremo de fondo por un pixel adyacente debajo de por lo menos el tercer pixel adyacente y si por lo menos el tercer pixel adyacente está localizado en la parte superior del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente a la extrema izquierda por un pixel adyacente a la izquierda de por lo menos el tercer pixel adyacente.
13. El método de conformidad con la reivindicación 10, caracterizado porque el primer pixel adyacente es un pixel adyacente localizado en una esquina a la extrema derecha más alto del bloque actual, y si por lo menos el tercer pixel adyacente está localizado en la parte superior del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente a la extrema derecha por un pixel adyacente a la derecha de por lo menos el tercer pixel adyacente y si por lo menos el tercer pixel adyacente está localizado a la izquierda del bloque actual, reemplazar secuencialmente por lo menos el tercer pixel adyacente de un tercer pixel adyacente en el extremo superior por un pixel adyacente arriba de por lo menos el tercer pixel adyacente.
14. El método de conformidad con la reivindicación 1, caracterizado porque el reemplazo comprende reemplazar el valor de pixel del primer pixel adyacente por un valor predeterminado si el segundo pixel adyacente no existe en el número predeterminado de pixeles adyacentes.
15. Un aparato para intra-predecir un video, caracterizado porque comprende: un determinador de disponibilidad para determinar la disponibilidad de un número predeterminado de pixeles adyacentes que se utilizan para la intra-predicción de un bloque actual de entre bloques obtenidos al dividir una imagen que forma el video de acuerdo con una estructura j erárquica; un reemplazador para, si un primer pixel adyacente no está disponible en el número predeterminado de pixeles adyacentes, buscar un segundo pixel adyacente que esté disponible al buscar el número predeterminado de pixeles adyacentes en una dirección predeterminada con base en el primer pixel adyacente y reemplazar un valor de pixel del primer pixel adyacente por un valor de pixel de un segundo pixel adyacente encontrado; y un realizador de la intra-predicción para llevar a cabo la intra-predicción en el bloque actual mediante el uso del numero predeterminado de pixeles adyacentes que comprenden el primer pixel adyacente reemplazado.
MX2014005114A 2011-10-28 2012-10-29 Metodo y aparato para intra-prediccion de video. MX2014005114A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161552692P 2011-10-28 2011-10-28
PCT/KR2012/008938 WO2013062389A1 (ko) 2011-10-28 2012-10-29 비디오의 인트라 예측 방법 및 장치

Publications (1)

Publication Number Publication Date
MX2014005114A true MX2014005114A (es) 2014-08-27

Family

ID=48168118

Family Applications (2)

Application Number Title Priority Date Filing Date
MX2014005114A MX2014005114A (es) 2011-10-28 2012-10-29 Metodo y aparato para intra-prediccion de video.
MX2015008270A MX354500B (es) 2011-10-28 2014-04-28 Método y aparato para intra-predicción de video.

Family Applications After (1)

Application Number Title Priority Date Filing Date
MX2015008270A MX354500B (es) 2011-10-28 2014-04-28 Método y aparato para intra-predicción de video.

Country Status (19)

Country Link
US (5) US9621918B2 (es)
EP (5) EP3780601B1 (es)
JP (3) JP2014531177A (es)
KR (5) KR101743245B1 (es)
CN (5) CN107404649B (es)
AU (1) AU2012329676B2 (es)
BR (1) BR112014010189B1 (es)
DK (1) DK3322183T3 (es)
ES (3) ES2842027T3 (es)
HU (3) HUE052957T2 (es)
IN (1) IN2014MN00940A (es)
MX (2) MX2014005114A (es)
MY (3) MY198290A (es)
PH (5) PH12014501003A1 (es)
PL (3) PL3588949T3 (es)
RU (4) RU2619267C1 (es)
TW (3) TWI650000B (es)
WO (1) WO2013062389A1 (es)
ZA (1) ZA201403876B (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
US10313682B2 (en) * 2013-08-26 2019-06-04 Qualcomm Incorporated Determining regions when performing intra block copying
US10003818B2 (en) * 2013-10-11 2018-06-19 Sony Corporation Video coding system with intra prediction mechanism and method of operation thereof
US10009629B2 (en) * 2013-10-11 2018-06-26 Sony Corporation Video coding system with search range and method of operation thereof
WO2015056945A1 (ko) * 2013-10-14 2015-04-23 삼성전자 주식회사 깊이 인트라 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2015056941A1 (ko) * 2013-10-14 2015-04-23 한국전자통신연구원 다계층 기반의 영상 부호화/복호화 방법 및 장치
US10091519B2 (en) 2013-10-14 2018-10-02 Electronics And Telecommunications Research Institute Multilayer-based image encoding/decoding method and apparatus
CN106464908A (zh) * 2014-06-20 2017-02-22 三星电子株式会社 用于传输深度图像的预测模式以供层间视频编码和解码的方法和装置
US10645416B2 (en) 2015-05-12 2020-05-05 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding an image using a modified distribution of neighboring reference pixels
KR20180030791A (ko) * 2015-07-20 2018-03-26 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
CN108293116A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 视频解码方法及设备和视频编码方法及设备
US20200162756A1 (en) * 2017-05-24 2020-05-21 Sony Semiconductor Solutions Corporation Image processing device and method, and program
WO2019031410A1 (ja) * 2017-08-10 2019-02-14 シャープ株式会社 画像フィルタ装置、画像復号装置、および画像符号化装置
CN111684801B (zh) * 2017-11-28 2025-06-13 韩国电子通信研究院 双向帧内预测方法和设备
CN108171663B (zh) * 2017-12-22 2021-05-25 哈尔滨工业大学 基于特征图最近邻替换的卷积神经网络的图像填充系统
CN110650337B (zh) 2018-06-26 2022-04-01 中兴通讯股份有限公司 一种图像编码方法、解码方法、编码器、解码器及存储介质
US11159789B2 (en) 2018-10-24 2021-10-26 City University Of Hong Kong Generative adversarial network based intra prediction for video coding
CN120455715A (zh) * 2019-06-21 2025-08-08 三星电子株式会社 视频编码方法和装置以及视频解码方法和装置
KR102602007B1 (ko) 2020-12-07 2023-11-15 건국대학교 글로컬산학협력단 연료전지 전해질용 폴리(이사틴-페닐렌)계 고분자, 이를 포함하는 연료전지용 고분자 전해질 및 연료전지
WO2023055220A1 (ko) * 2021-10-01 2023-04-06 주식회사 윌러스표준기술연구소 참조 픽쳐를 기초로 인트라 예측 모드를 결정하는 비디오 신호 처리 방법 및 이를 위한 장치
US12289537B2 (en) * 2023-03-27 2025-04-29 Samsung Electronics Co., Ltd. Method and system for performing image signal processing

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3539415A1 (de) * 1985-11-07 1987-05-14 Bosch Gmbh Robert Verfahren und schaltungsanordnung zum erkennen und verdecken von fehlern in einem digitalen videosignal
DE10158658A1 (de) 2001-11-30 2003-06-12 Bosch Gmbh Robert Verfahren zur gerichteten Prädiktion eines Bildblockes
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
EP1411714B1 (en) * 2002-10-17 2008-11-05 Noritsu Koki Co., Ltd. Conversion correcting method of color image data and photographic processing apparatus implementing the method
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
US20060153295A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
US9154808B2 (en) * 2005-01-14 2015-10-06 Thomson Licensing Method and apparatus for INTRA prediction for RRU
DE602006020556D1 (de) 2005-04-01 2011-04-21 Panasonic Corp Bilddecodierungsvorrichtung und bilddecodierungsverfahren
US20070195888A1 (en) 2006-02-17 2007-08-23 Via Technologies, Inc. Intra-Frame Prediction Processing
DE602007008842D1 (de) 2006-02-17 2010-10-14 Thomson Licensing Prozess zur codierung von bildern mit intra-prädiktionsmodus
KR101311403B1 (ko) * 2006-07-04 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
BRPI0719853A2 (pt) 2006-10-10 2014-06-03 Nippon Telegraph & Telephone Método e aparelho de controle de codificação de intrapredição, programa para o mesmo, e meio de armazenamento o qual armazena o programa
WO2008051381A2 (en) * 2006-10-24 2008-05-02 Thomson Licensing Picture management for multi-view video coding
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
US7953284B2 (en) * 2007-03-29 2011-05-31 James Au Selective information handling for video processing
WO2008126843A1 (ja) * 2007-04-09 2008-10-23 Ntt Docomo, Inc. 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法および画像予測復号プログラム
US8782379B2 (en) * 2007-09-27 2014-07-15 Qualcomm Incorporated H.264 video decoder CABAC core optimization techniques
US8467451B2 (en) * 2007-11-07 2013-06-18 Industrial Technology Research Institute Methods for selecting a prediction mode
EP2081386A1 (en) 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
KR20090095316A (ko) 2008-03-05 2009-09-09 삼성전자주식회사 영상 인트라 예측 방법 및 장치
US9338475B2 (en) * 2008-04-16 2016-05-10 Intel Corporation Tone mapping for bit-depth scalable video codec
US20090274211A1 (en) * 2008-04-30 2009-11-05 Omnivision Technologies, Inc. Apparatus and method for high quality intra mode prediction in a video coder
KR101361005B1 (ko) 2008-06-24 2014-02-13 에스케이 텔레콤주식회사 인트라 예측 방법 및 장치와 그를 이용한 영상부호화/복호화 방법 및 장치
CN101365136B (zh) 2008-09-09 2011-01-26 深圳市同洲电子股份有限公司 帧内预测的方法及装置
TWI386068B (zh) 2008-10-22 2013-02-11 Nippon Telegraph & Telephone 解塊處理方法、解塊處理裝置、解塊處理程式及記錄該程式之可由電腦讀取之記錄媒體
KR101601840B1 (ko) * 2009-02-23 2016-03-22 에스케이 텔레콤주식회사 채널 상관 관계를 이용한 영상 부호화/복호화 장치 및 방법과 그를 위한 컴퓨터로 읽을 수 있는 기록매체
CN101854540B (zh) * 2009-04-01 2014-07-02 辉达公司 用于应用h.264视频编码标准的帧内预测方法及装置
JP5158003B2 (ja) * 2009-04-14 2013-03-06 ソニー株式会社 画像符号化装置と画像符号化方法およびコンピュータ・プログラム
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
KR101510108B1 (ko) * 2009-08-17 2015-04-10 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR101452860B1 (ko) * 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101700358B1 (ko) 2009-12-09 2017-01-26 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
CN102118613B (zh) 2009-12-31 2012-11-21 华为技术有限公司 视频解码和编码方法及装置
US9071849B2 (en) * 2010-04-09 2015-06-30 Samsung Electronics Co., Ltd. Method and apparatus for generating video packets, method and apparatus for restoring video
US8837577B2 (en) * 2010-07-15 2014-09-16 Sharp Laboratories Of America, Inc. Method of parallel video coding based upon prediction type
US20120163457A1 (en) * 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
WO2012115420A2 (ko) * 2011-02-23 2012-08-30 엘지전자 주식회사 필터링을 이용한 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
WO2012134046A2 (ko) 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US20120314767A1 (en) * 2011-06-13 2012-12-13 Qualcomm Incorporated Border pixel padding for intra prediction in video coding
CN102186086B (zh) * 2011-06-22 2013-06-19 武汉大学 一种基于avs的帧内预测方法

Also Published As

Publication number Publication date
US10506239B2 (en) 2019-12-10
RU2654503C1 (ru) 2018-05-21
DK3322183T3 (da) 2019-09-23
EP3588949B1 (en) 2020-12-02
WO2013062389A1 (ko) 2013-05-02
PH12016502375A1 (en) 2017-01-23
TW201711476A (zh) 2017-03-16
PH12016502377A1 (en) 2017-01-23
PH12016502375B1 (en) 2017-01-23
MY198281A (en) 2023-08-21
PH12014501003A1 (en) 2014-06-09
EP3780601C0 (en) 2023-08-16
US20170070736A1 (en) 2017-03-09
JP2019057954A (ja) 2019-04-11
CN104025588A (zh) 2014-09-03
TWI650000B (zh) 2019-02-01
TWI572194B (zh) 2017-02-21
HUE048628T2 (hu) 2020-08-28
EP4231639A2 (en) 2023-08-23
KR101743246B1 (ko) 2017-06-02
EP3780601A1 (en) 2021-02-17
KR20170063494A (ko) 2017-06-08
PL3780601T3 (pl) 2023-10-02
AU2012329676A1 (en) 2014-06-12
EP3322183B1 (en) 2019-09-11
KR20150009498A (ko) 2015-01-26
US20140334542A1 (en) 2014-11-13
US20180139454A1 (en) 2018-05-17
PH12016502377B1 (en) 2018-07-13
KR101743245B1 (ko) 2017-06-02
US10291919B2 (en) 2019-05-14
BR112014010189A2 (pt) 2017-04-18
KR20130047650A (ko) 2013-05-08
KR102082303B1 (ko) 2020-02-27
IN2014MN00940A (es) 2015-04-24
KR101844517B1 (ko) 2018-04-02
HUE052957T2 (hu) 2021-05-28
EP3588949A1 (en) 2020-01-01
US9621918B2 (en) 2017-04-11
JP2014531177A (ja) 2014-11-20
PL3322183T3 (pl) 2019-12-31
AU2012329676B2 (en) 2015-02-12
CN107197250A (zh) 2017-09-22
PH12016502376A1 (en) 2017-01-23
CN107147908B (zh) 2020-02-07
ES2842027T3 (es) 2021-07-12
EP2773116A4 (en) 2015-08-12
BR112014010189B1 (pt) 2022-09-20
EP3780601B1 (en) 2023-08-16
PH12016502374A1 (en) 2017-01-23
RU2014121400A (ru) 2015-12-10
RU2588990C2 (ru) 2016-07-10
EP3322183A1 (en) 2018-05-16
TWI601414B (zh) 2017-10-01
CN107147908A (zh) 2017-09-08
CN107404649B (zh) 2020-04-10
ZA201403876B (en) 2021-05-26
CN107222744B (zh) 2020-10-27
PL3588949T3 (pl) 2021-03-08
US9883191B2 (en) 2018-01-30
EP4231639A3 (en) 2023-08-30
US20200084456A1 (en) 2020-03-12
MY198290A (en) 2023-08-21
ES2961199T3 (es) 2024-03-08
MY170951A (en) 2019-09-20
ES2748604T3 (es) 2020-03-17
MX354500B (es) 2018-03-08
RU2681956C1 (ru) 2019-03-14
PH12016502376B1 (en) 2017-01-23
KR20190034172A (ko) 2019-04-01
JP2017055434A (ja) 2017-03-16
TW201740729A (zh) 2017-11-16
CN104025588B (zh) 2017-08-15
CN107197250B (zh) 2019-09-03
PH12016502374B1 (en) 2018-06-29
CN107404649A (zh) 2017-11-28
US10893277B2 (en) 2021-01-12
RU2619267C1 (ru) 2017-05-15
KR101962829B1 (ko) 2019-03-27
CN107222744A (zh) 2017-09-29
TW201332368A (zh) 2013-08-01
KR20180036667A (ko) 2018-04-09
US20190222850A1 (en) 2019-07-18
HUE063723T2 (hu) 2024-01-28
JP7103961B2 (ja) 2022-07-20
EP2773116A1 (en) 2014-09-03

Similar Documents

Publication Publication Date Title
KR102214441B1 (ko) 비디오 부호화, 복호화 방법 및 장치
JP7103961B2 (ja) ビデオのイントラ予測方法及びその装置
CA2870529C (en) Method and apparatus for determining reference images for inter prediction
AU2012329678B2 (en) Method for inter prediction and device therefor, and method for motion compensation and device therefor
AU2013285749A1 (en) Method and apparatus for predicting motion vector for coding video or decoding video
AU2018200540B2 (en) Method and apparatus for intra prediction of video
AU2015202343B2 (en) Method and apparatus for intra prediction of video

Legal Events

Date Code Title Description
FG Grant or registration