ES2748604T3 - Procedimiento de intra predicción de vídeo - Google Patents

Procedimiento de intra predicción de vídeo Download PDF

Info

Publication number
ES2748604T3
ES2748604T3 ES17209163T ES17209163T ES2748604T3 ES 2748604 T3 ES2748604 T3 ES 2748604T3 ES 17209163 T ES17209163 T ES 17209163T ES 17209163 T ES17209163 T ES 17209163T ES 2748604 T3 ES2748604 T3 ES 2748604T3
Authority
ES
Spain
Prior art keywords
adjacent
pixel
adjacent pixel
current block
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17209163T
Other languages
English (en)
Inventor
Tammy Lee
Jianle Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2748604T3 publication Critical patent/ES2748604T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Abstract

Un procedimiento de intra predicción de un vídeo, comprendiendo el procedimiento: determinar (2610) la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual que tiene un tamaño de nTxnT, donde nT es número entero, de entre bloques obtenidos dividiendo una instantánea que forma el vídeo de acuerdo con una estructura jerárquica; cuando todo el número predeterminado de píxeles adyacentes no está disponible, sustituir valores de píxel de todo el número predeterminado de píxeles adyacentes por un valor predeterminado determinado en base a una profundidad de bits de píxel; cuando existe uno o más píxeles adyacentes disponibles entre el número predeterminado de píxeles adyacentes y un primer píxel (2210) adyacente entre el número predeterminado de píxeles adyacentes no está disponible, donde el primer píxel (2210) adyacente está localizado en uno más inferior entre 2nT píxeles adyacentes que incluyen nT píxeles adyacentes adyacentes a un lado izquierdo del bloque actual y nT píxeles adyacentes localizados por debajo de los nT píxeles adyacentes adyacentes al lado izquierdo del bloque actual, buscar (2620) un segundo píxel adyacente que está disponible y más cerca del primer píxel adyacente buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada de un píxel adyacente adyacente al primer píxel adyacente, indicando la dirección predeterminada una dirección de búsqueda de abajo a arriba a lo largo de un lado izquierdo del bloque actual y de izquierda a derecha a lo largo de un lado superior del bloque actual; cuando se halla un segundo píxel adyacente disponible, sustituir un valor de píxel del primer píxel adyacente por un valor de píxel del segundo píxel (2630) adyacente disponible; cuando existe al menos un píxel adyacente no disponible localizado en el lado izquierdo del bloque actual excepto el primer píxel adyacente, sustituir un valor de píxel del al menos un píxel adyacente no disponible localizado en el lado izquierdo del bloque actual secuencialmente de abajo a arriba a lo largo del lado izquierdo del bloque actual por un valor de píxel de un píxel adyacente inferior localizado directamente por debajo del al menos un píxel adyacente no disponible; cuando existe un píxel adyacente no disponible localizado en el lado superior del bloque actual, sustituir un valor de píxel del píxel adyacente no disponible localizado en el lado superior del bloque actual secuencialmente de izquierda a derecha a lo largo del lado superior del bloque actual por un valor de píxel de un píxel adyacente izquierdo localizado directamente en el lado izquierdo del píxel adyacente no disponible; y realizar intra predicción en el bloque actual usando el número predeterminado de píxeles adyacentes que comprenden el píxel (2640) adyacente sustituido, en el que la determinación de la disponibilidad comprende determinar píxeles adyacentes que pertenecen a un corte diferente de un corte al que pertenece el bloque actual o pertenecen a un bloque adyacente inter-predictivo, para que no estén disponibles.

Description

DESCRIPCIÓN
Procedimiento de intra predicción de vídeo
Campo de la invención
La presente invención se refiere a intra predicción de un vídeo, y más particularmente, a un procedimiento y aparato para intra predicción de un vídeo, que implica sustituir un píxel adyacente no disponible en un modo de intra predicción limitado que limita un uso de un píxel adyacente, y usar el píxel adyacente sustituido como un píxel de referencia.
Antecedentes de la técnica
En un procedimiento de compresión de imagen, tal como el Grupo de Expertos de Imágenes en Movimiento (MPEG)-1, MPEG-2, MPEG-4, o H. 264/MPEG-4 Codificación de Vídeo Avanzada (AVC), una instantánea se divide en macrobloques en orden para codificar una imagen. Cada uno de los macrobloques se codifica en todos los modos de codificación que pueden usarse en inter predicción o intra predicción, y a continuación se codifica en un modo de codificación que se selecciona de acuerdo con una tasa de bits usada para codificar el macrobloque y un grado de distorsión entre un macrobloque decodificado y el macrobloque original.
A medida que se está desarrollando y suministrando hardware para reproducir y almacenar contenido de vídeo de alta resolución o alta calidad, hay una necesidad creciente de un códec de vídeo que pueda codificar o decodificar de manera eficaz el contenido de vídeo de alta resolución o alta calidad. En un códec de vídeo convencional, se codifica un vídeo en unidades de macrobloques teniendo cada uno un tamaño predeterminado.
Descripción detallada de la invención
Problema técnico
La presente invención proporciona un procedimiento de sustitución de un píxel adyacente no disponible en un modo de intra predicción limitado que limita un uso de un píxel adyacente usado en intra predicción.
Solución técnica
El procedimiento para intra predicción de vídeo determina la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción, si existe un primer píxel adyacente no disponible, busca un segundo píxel adyacente que está disponible buscando un número predeterminado de píxeles adyacentes en una dirección predeterminada basándose en el primer píxel adyacente, y sustituye un valor de píxel del primer píxel adyacente por un valor de píxel de un segundo píxel adyacente hallado. Para un tercer píxel adyacente no disponible, se realiza un procedimiento de sustitución usando un píxel adyacente en una dirección predeterminada. La invención se expone en el conjunto de reivindicaciones adjunto; los ejemplos adicionales denominados realizaciones en la descripción son ejemplos ilustrativos.
Efectos ventajosos
De acuerdo con una o más de las realizaciones de la presente invención, la complejidad de un procedimiento de determinación de un píxel de referencia usado para intra predicción puede reducirse buscando y sustituyendo el píxel adyacente disponible, basándose en una dirección de búsqueda predeterminada, con un píxel adyacente no disponible.
Descripción de los dibujos
La Figura 1 es un diagrama de bloques de un aparato para codificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 2 es un diagrama de bloques de un aparato para decodificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención;
La Figura 4 es un diagrama de bloques de un codificador de imagen basado en unidades de codificación de acuerdo con una realización ejemplar de la presente invención;
La Figura 5 es un diagrama de bloques de un decodificador de imagen basado en unidades de codificación de acuerdo con una realización ejemplar de la presente invención;
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización 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 realización 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 realización de la presente invención;
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización 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 realización 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, y una unidad de transformación, de acuerdo con la información de modo de codificación de la Tabla 1;
La Figura 14 es una tabla que muestra un número de los modos de intra predicción de acuerdo con un tamaño de una unidad de predicción, de acuerdo con una realización de la presente invención;
La Figura 15 es un diagrama de referencia para describir modos de intra predicción que tienen diversas direccionalidades, de acuerdo con una realización de la presente invención;
La Figura 16 es un diagrama para describir una relación entre un píxel actual y píxeles adyacentes dispuesto en una línea de extensión que tiene una direccionalidad de (dx, dy), de acuerdo con una realización 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 las realizaciones de la presente invención;
La Figura 19 es un diagrama que muestra direcciones de un modo de intra predicción que tiene 33 direccionalidades, de acuerdo con una realización de la presente invención;
La Figura 20 es un diagrama de un píxel adyacente que no está disponible durante intra predicción de un bloque actual de acuerdo con un tipo de un bloque adyacente, de acuerdo con una realización de la presente invención; La Figura 21 es un diagrama para describir un procedimiento de sustitución de un píxel adyacente no disponible, de acuerdo con una realización de la presente invención;
La Figura 22 es un diagrama para describir un procedimiento de sustitución de un píxel adyacente no disponible, de acuerdo con otra realización de la presente invención;
La Figura 23 es un diagrama para describir un procedimiento de sustitución de un píxel adyacente no disponible, de acuerdo con otra realización de la presente invención;
La Figura 24 es un diagrama de bloques de un aparato de intra predicción acuerdo con una realización de la presente invención;
La Figura 25A es un diagrama de un píxel adyacente filtrado de un bloque actual;
La Figura 25B es un diagrama de referencia para describir un procedimiento de filtración de un píxel adyacente de un bloque actual;
La Figura 26 es un diagrama de flujo que ilustra un procedimiento de intra predicción de un vídeo, de acuerdo con una realización de la presente invención;
La Figura 27A ilustra una estructura física de un disco que almacena un programa, de acuerdo con una realización de la presente invención;
La Figura 27B ilustra una unidad de disco que registra y lee un programa usando 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 que se aplican un procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo, de acuerdo con una realización de la presente invención;
La Figura 31 ilustra un sistema de difusión digital que emplea un sistema de comunicación, de acuerdo con una realización de la presente invención; y
La Figura 32 ilustra una estructura de red de un sistema de informática en la nube que usa un aparato de codificación de vídeo y un aparato de decodificación de vídeo de acuerdo con una realización de la presente invención.
Mejor modo
De acuerdo con un aspecto de la presente invención, se proporciona un procedimiento de intra predicción de un vídeo, comprendiendo el procedimiento: determinar la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual de entre bloques obtenidos dividiendo una instantánea que forma el vídeo de acuerdo con una estructura jerárquica; si un primer píxel adyacente no está disponible en el número predeterminado de píxeles adyacentes, buscar un segundo píxel adyacente que está disponible buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada basándose en el primer píxel adyacente; sustituir un valor de píxel del primer píxel adyacente por un valor de píxel de un segundo píxel adyacente hallado; y realizar intra predicción en el bloque actual usando el número predeterminado de píxeles adyacentes que comprende el primer píxel adyacente sustituido.
La determinación de la disponibilidad comprende determinar píxeles adyacentes, que se incluyen en un bloque adyacente que se inter predice o que pertenece a un corte diferente de un corte al que pertenece el bloque actual, para que no estén disponibles.
El primer píxel adyacente puede ser un píxel en una localización predeterminada de entre el número predeterminado de píxeles adyacentes, y la búsqueda para el segundo píxel adyacente puede comprender determinar un píxel adyacente disponible, que puede hallar inicialmente buscando el número predeterminado de píxeles adyacentes en la dirección predeterminada basándose en el primer píxel adyacente, para que sea el segundo píxel adyacente.
El primer píxel adyacente puede ser un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y la búsqueda para el segundo píxel adyacente puede comprender buscar el segundo píxel adyacente buscando píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes superior y superior derecho del bloque actual, buscar píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente.
El primer píxel adyacente puede ser un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y la búsqueda para el segundo píxel adyacente puede comprender buscar el segundo píxel adyacente buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes izquierdo e inferior izquierdo del bloque actual, buscar píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente.
El primer píxel adyacente puede ser un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y la búsqueda para el segundo píxel adyacente puede comprender determinar un píxel adyacente izquierdo disponible buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente, y determinar un píxel adyacente superior disponible buscando píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente; y sustituir el valor de píxel del primer píxel adyacente usando un valor promedio del píxel adyacente izquierdo disponible y el píxel adyacente superior disponible.
El primer píxel adyacente puede ser un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y la búsqueda para el segundo píxel adyacente puede comprender determinar un píxel adyacente izquierdo disponible buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente, determinar un píxel adyacente superior disponible buscando píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente, y determinar un píxel adyacente, que está más cerca del primer píxel adyacente de entre los píxeles adyacentes izquierdo y superior buscados, para que sea el segundo píxel adyacente.
El primer píxel adyacente puede ser un píxel adyacente izquierdo más inferior de entre píxeles adyacentes izquierdo e inferior izquierdo del bloque actual, y la búsqueda para el segundo píxel adyacente puede comprender buscar el segundo píxel adyacente buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de abajo a arriba basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes izquierdo e inferior izquierdo del bloque actual, buscar píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha.
El primer píxel adyacente puede ser un píxel adyacente superior más a la derecha de entre píxeles adyacentes superior y superior derecho del bloque actual, y la búsqueda para el segundo píxel adyacente puede comprender buscar el segundo píxel adyacente buscando píxeles adyacentes superior y superior derecho del bloque actual de derecha a izquierda basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes superior y superior derecho del bloque actual, buscar píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo.
El procedimiento puede comprender adicionalmente, si al menos un tercer píxel adyacente no está disponible, sustituir un valor de píxel del al menos un tercer píxel adyacente por un valor de píxel de un píxel adyacente previamente buscado basándose en la dirección predeterminada.
El primer píxel adyacente puede ser un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y si el al menos un tercer píxel adyacente está localizado en una parte superior del bloque actual, el procedimiento puede comprender adicionalmente sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más a la izquierda por un píxel adyacente a la izquierda del al menos un tercer píxel adyacente, y si el al menos un tercer píxel adyacente está localizado a la izquierda del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más superior por un píxel adyacente por encima del al menos un tercer píxel adyacente.
El primer píxel adyacente puede ser un píxel adyacente localizado en una esquina izquierda más inferior del bloque actual, y si el al menos un tercer píxel adyacente está localizado a la izquierda del bloque actual, el procedimiento puede comprender adicionalmente sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más inferior con un píxel adyacente por debajo del al menos un tercer píxel adyacente, y si el al menos un tercer píxel adyacente está localizado en una parte superior del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más a la izquierda por un píxel adyacente a la izquierda del al menos un tercer píxel adyacente.
El primer píxel adyacente puede ser un píxel adyacente localizado en una esquina superior más a la derecha del bloque actual, y si el al menos un tercer píxel adyacente está localizado en una parte superior del bloque actual, el procedimiento puede comprender adicionalmente sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más a la derecha con un píxel adyacente a la derecha del al menos un tercer píxel adyacente, y si el al menos un tercer píxel adyacente está localizado a la izquierda del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más superior por un píxel adyacente por encima del al menos un tercer píxel adyacente.
El procedimiento puede comprender adicionalmente sustituir el valor de píxel del primer píxel adyacente por un valor predeterminado si el segundo píxel adyacente no existe en el número predeterminado de píxeles adyacentes.
El valor predeterminado puede determinarse basándose en una profundidad de bits de un píxel.
De acuerdo con otro aspecto de la presente invención, se proporciona un aparato para intra predecir un vídeo, comprendiendo el aparato: un determinador de disponibilidad para determinar la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual de entre bloques obtenidos dividiendo una instantánea que forma el vídeo de acuerdo con una estructura jerárquica; un sustituidor para, si un primer píxel adyacente no está disponible en el número predeterminado de píxeles adyacentes, buscar un segundo píxel adyacente que está disponible buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada basándose en el primer píxel adyacente, y sustituir un valor de píxel del primer píxel adyacente por un valor de píxel de un segundo píxel adyacente hallado; y un realizador de intra predicción para realizar intra predicción en el bloque actual usando el número predeterminado de píxeles adyacentes que comprende el primer píxel adyacente sustituido.
Descripción detallada de la invención
En lo sucesivo, la presente invención se describirá más completamente con referencia a los dibujos adjuntos, en los que se muestran las realizaciones ejemplares de la invención.
La Figura 1 es un diagrama de bloques de un aparato 100 de codificación de vídeo de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo incluye un divisor 110 de unidad de codificación máxima, un determinador 120 de unidad de codificación, y una unidad 130 de salida.
El divisor 110 de unidad de codificación máxima puede dividir una instantánea actual basándose en una unidad de codificación máxima para la instantánea actual de una imagen. Si la instantánea actual es mayor que la unidad de codificación máxima, pueden dividirse los datos de imagen de la instantánea actual en la al menos una unidad de codificación máxima. La unidad de codificación máxima de acuerdo con una realización de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en el que una forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en cuadrados de 2. Los datos de imagen pueden emitirse al determinador 120 de unidad de codificación de acuerdo con la al menos una unidad de codificación máxima.
Una unidad de codificación de acuerdo con una realización de la presente invención puede estar caracterizada por un tamaño máximo y una profundidad. La profundidad indica un número de veces que se divide espacialmente la unidad de codificación desde la unidad de codificación máxima, y a medida que la profundidad se hace más profunda, pueden dividirse unidades de codificación de acuerdo con las profundidades desde la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad más superior y una profundidad de la unidad de codificación mínima es una profundidad más inferior. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad se reduce a medida que la profundidad de la unidad de codificación máxima se hace profunda, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la instantánea actual se dividen en las unidades de codificación máxima de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máxima pueden incluir unidades de codificación más profundas que se dividen de acuerdo con las profundidades. Puesto que la unidad de codificación máxima de acuerdo con una realización de la presente invención se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación máxima pueden clasificarse jerárquicamente de acuerdo con las profundidades.
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que se divide jerárquicamente una altura y una anchura de la unidad de codificación máxima, pueden estar predeterminados.
El determinador 120 de unidad de codificación codifica al menos una región de división obtenida dividiendo una región de la unidad de codificación máxima de acuerdo con las profundidades, y determina una profundidad para emitir unos datos de imagen finalmente codificados de acuerdo con la al menos una región de división. En otras palabras, el determinador 120 de unidad de codificación determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con la unidad de codificación máxima de la instantánea actual, y seleccionando 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 se emiten a la unidad 130 de salida.
Los datos de imagen en la unidad de codificación máxima se codifican basándose en las unidades de codificación más profundas que corresponden a al menos una profundidad igual o por debajo de la profundidad máxima, y los resultados de la codificación de los datos de imagen se comparan basándose en cada una de las unidades de codificación más profundas. Una profundidad que tiene el error de codificación mínimo puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide jerárquicamente de acuerdo con las profundidades y a medida que el número de unidades de codificación aumenta. También, incluso si las unidades de codificación corresponden a la misma profundidad en una unidad de codificación máxima, se determina si dividir cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, de manera separada. Por consiguiente, incluso cuando 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 por lo tanto las profundidades codificadas pueden diferir de acuerdo con regiones en los datos de imagen. Por lo tanto, puede determinarse una o más profundidades codificadas en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima pueden dividirse de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador 120 de unidad de codificación puede determinar unidades de codificación que tienen una estructura de árbol incluida en la unidad de codificación máxima. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una realización de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada para que sea la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente de acuerdo con las profundidades en la misma región de la unidad de codificación máxima, y puede determinarse independientemente en diferentes regiones. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente desde una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una realización 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 realización 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 realización de la presente invención puede indicar el número total de niveles de profundidad desde la unidad de codificación máxima a la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide dos veces, puede establecerse a 2. En este punto, si la unidad de codificación mínima es una unidad de codificación en la que se divide la unidad de codificación máxima cuatro veces, existen 5 niveles de profundidad de profundidades 0, 1, 2, 3, y 4, y por lo tanto la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
Puede realizarse codificación por predicción y transformación de acuerdo con la unidad de codificación máxima. La codificación por predicción y la transformación se realizan también basándose en las unidades de codificación más profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la unidad de codificación máxima.
Puesto que el número de unidades de codificación más profundas aumenta cada vez que la unidad de codificación máxima se divide de acuerdo con las profundidades, se realiza codificación que incluye la codificación por predicción y la transformación en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace más profunda. Por conveniencia de descripción, la codificación por predicción y la transformación se describirán ahora basándose en una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato 100 de codificación de vídeo puede seleccionar de manera variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, se realizan operaciones, tales como codificación por predicción, transformación, y codificación por entropía, y en este momento, la misma unidad de datos puede usarse para todas las operaciones o pueden usarse diferentes unidades de datos para cada operación.
Por ejemplo, el aparato 100 de codificación de vídeo puede seleccionar no únicamente una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción en los datos de imagen en la unidad de codificación.
Para realizar codificación por predicción en la unidad de codificación máxima, la codificación por predicción puede realizarse basándose en una unidad de codificación que corresponde a una profundidad codificada, es decir, basándose en una unidad de codificación que no se divide más en unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no se divide más y se vuelve una unidad de base para codificación de predicción se denominará ahora como una unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (donde N es un entero positivo) ya no se divide más y se vuelve una unidad de predicción de 2Nx2N, y un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N, o NxN. Ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen dividiendo simétricamente una altura o anchura de la unidad de predicción, particiones obtenidas dividiendo asimétricamente la altura o anchura de la unidad de predicción, tal como 1:n o n: 1, particiones que se obtienen dividiendo geométricamente la unidad de predicción, y particiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un intra modo, un inter modo, y un modo de salto. Por ejemplo, el intra modo o el inter modo pueden realizarse en la partición de 2Nx2N, 2NxN, Nx2N, o NxN. También, el modo de salto puede realizarse únicamente en la partición de 2Nx2N. La codificación se realiza de manera independiente en una unidad de predicción en una unidad de codificación, seleccionando de esta manera un modo de predicción que tiene el error de codificación mínimo.
El aparato 100 de codificación de vídeo puede realizar también la transformación en los datos de imagen en una unidad de codificación basándose no únicamente en la unidad de codificación para codificar los datos de imagen, sino también basándose en una unidad de datos que es diferente de la unidad de codificación.
Para realizar la transformación en la unidad de codificación, la transformación puede realizarse basándose en una unidad de datos que tiene un tamaño menor o igual que la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un intra modo y una unidad de datos para un inter modo.
Una unidad de datos usada como una base de la transformación se denominará ahora como una 'unidad de transformación'. De manera similar a la unidad de codificación, la unidad de transformación en la unidad de codificación puede dividirse de manera recursiva en regiones con tamaño menor, de modo que la unidad de transformación puede determinarse de manera independiente en unidades de regiones. Por lo tanto, pueden dividirse datos residuales en la unidad de codificación de acuerdo con la unidad de transformación que tiene la estructura de árbol de acuerdo con las 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 dividiendo la altura y anchura de la unidad de codificación puede establecerse también en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de la unidad de transformación es NxN, y puede ser 2 cuando el tamaño de la unidad de transformación es por lo tanto N/2xN/2. En otras palabras, la unidad de transformación que tiene la estructura de árbol puede establecerse 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 profundidad codificada, sino también acerca de información relacionada con codificación por predicción y transformación. Por consiguiente, el determinador 120 de unidad de codificación no determina únicamente una profundidad codificada que tiene el error de codificación mínimo, sino que también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción, y un tamaño de una unidad de transformación para transformación.
Las unidades de codificación de acuerdo con una estructura de árbol en una unidad de codificación máxima y un procedimiento de determinación de una partición, de acuerdo con las realizaciones de la presente invención, se describirán en detalle más adelante con referencia a las Figuras 3 a 12.
El determinador 120 de unidad de codificación puede medir un error de codificación de unidades de codificación más profundas de acuerdo con las profundidades usando optimización de Tasa-Distorsión basándose en multiplicadores de Lagrange.
La unidad 130 de salida emite los datos de imagen de la unidad de codificación máxima, que se codifican basándose en la al menos una profundidad codificada determinada por el determinador 120 de unidad de codificación, y la información acerca del modo de codificación de acuerdo con la profundidad codificada, en secuencias de bits.
Los datos de imagen codificados pueden obtenerse codificando datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de partición en la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con las profundidades, que indica si se realiza codificación en unidades de codificación de una profundidad inferior en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, se codifican y emiten datos de imagen en la unidad de codificación actual, y por lo tanto la información de división puede definirse para no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, se realiza la codificación en la unidad de codificación de la profundidad inferior, y por lo tanto la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, se realiza codificación en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Puesto que al menos existe una unidad de codificación de la profundidad inferior en una unidad de codificación de la profundidad actual, la codificación se realiza de manera repetitiva en cada unidad de codificación de la profundidad inferior, y por lo tanto la codificación puede realizarse de manera recursiva para las unidades de codificación que tienen la misma profundidad.
Puesto que se determinan las unidades de codificación que tienen una estructura de árbol para una unidad de codificación máxima, y se determina información acerca de al menos un modo de codificación para una unidad de codificación de una profundidad codificada, puede determinarse información acerca de al menos un modo de codificación para una unidad de codificación máxima. También, una profundidad codificada de los datos de imagen de la unidad de codificación máxima puede ser diferente de acuerdo con las localizaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con las profundidades, y por lo tanto puede establecerse información acerca de la profundidad codificada y el modo de codificación para los datos de imagen.
Por consiguiente, la unidad 130 de salida puede asignar información de codificación acerca de una profundidad codificada correspondiente y un modo de codificación para al menos una de la unidad de codificación, la unidad de predicción, y una unidad mínima incluidas en la unidad de codificación máxima.
La unidad mínima de acuerdo con una realización de la presente invención es una unidad de datos cuadrada obtenida dividiendo por 4 la unidad de codificación mínima que constituye la profundidad más inferior. Como alternativa, la unidad mínima puede ser una unidad de datos cuadrada máxima que puede estar incluida en todas las unidades de codificación, unidades de predicción, unidades de partición y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación emitida a través de la unidad 130 de salida puede clasificarse en información de codificación de acuerdo con unidades de codificación, e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un inter modo, acerca de un índice de imagen de referencia del inter modo, acerca de un vector de movimiento, acerca de un componente de crominancia de un intra modo, y acerca de un procedimiento de interpolación del intra modo. También, la información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con instantáneas, cortes, o GOP, e información acerca de una profundidad máxima puede insertarse en un encabezamiento de una secuencia de bits.
En el aparato 100 de codificación de vídeo, la unidad de codificación más profunda puede ser una unidad de codificación obtenida dividiendo por dos una altura o anchura de una unidad de codificación de una profundidad superior, que se encuentra una capa por encima. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación de la profundidad actual que tiene el tamaño de 2Nx2N puede incluir el máximo 4 de la unidad de codificación de la profundidad inferior.
Por consiguiente, el aparato 100 de codificación de vídeo puede formar las unidades de codificación que tienen la estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, basándose en el tamaño de la unidad de codificación máxima y la profundidad máxima determinada considerando características de la instantánea actual. También, puesto que puede realizarse codificación en cada unidad de codificación máxima usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptima considerando características de la unidad de codificación de diversos tamaños de imagen.
Por lo tanto, si una imagen que tiene alta resolución o gran cantidad de datos se codifica en un macrobloque convencional, aumenta excesivamente un número de macrobloques por instantánea. Por consiguiente, aumenta un número de piezas de información comprimida generadas para cada macrobloque, y por lo tanto es difícil transmitir la información comprimida y se reduce la eficacia de compresión de datos. Sin embargo, usando el aparato 100 de codificación de vídeo, puede aumentarse la eficacia de compresión de imagen puesto que se ajusta una unidad de codificación mientras se consideran características de una imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
La Figura 2 es un diagrama de bloques de un aparato 200 de decodificación de vídeo, de acuerdo con una realización de la presente invención.
El aparato 200 de decodificación de vídeo incluye un receptor 210, un extractor 220 de datos de imagen e información de codificación, y un decodificador 230 de datos de imagen. Definiciones de diversos 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 diversos modos de codificación, para diversas operaciones del aparato 200 de decodificación de vídeo son idénticas a aquellas descritas con referencia a la Figura 1 y al aparato 100 de codificación de vídeo.
El receptor 210 recibe y analiza una secuencia de bits de un vídeo codificado. El extractor 220 de datos de imagen e información de codificación extrae datos de imagen codificados para cada unidad de codificación desde la secuencia de bits analizada, en la que las unidades de codificación tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, y emite los datos de imagen extraídos al decodificador 230 de datos de imagen. El extractor 220 de datos de imagen e información de codificación puede extraer información acerca de un tamaño máximo de una unidad de codificación de una instantánea actual, desde un encabezamiento acerca de la instantánea actual, de un encabezado acerca de la instantánea actual.
También, el extractor 220 de datos de imagen e información de codificación extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, de la secuencia de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al decodificador 230 de datos de imagen. En otras palabras, los datos de imagen en una secuencia de bits se dividen en la unidad de codificación máxima de modo que el decodificador 230 de datos de imagen decodifica los datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación máxima puede establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada, y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformación. También, la información de división de acuerdo con las profundidades puede extraerse como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación máxima extraída por el extractor 220 de datos de imagen y la información de codificación es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato 100 de codificación de vídeo, realiza de manera repetitiva codificación para cada unidad de codificación más profunda de acuerdo con las profundidades de acuerdo con cada unidad de codificación máxima. Por consiguiente, el aparato 200 de decodificación de vídeo puede restaurar una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Puesto que la información de codificación acerca de la profundidad codificada y el modo de codificación pueden asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción, y una unidad mínima, el extractor 220 de datos de imagen y la información de codificación puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Si la información acerca de una profundidad codificada y modo de codificación de una correspondiente unidad de codificación máxima se registra de acuerdo con las unidades de datos predeterminadas, las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación puede inferirse que son las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador 230 de datos de imagen restaura la instantánea actual decodificando los datos de imagen en cada unidad de codificación máxima basándose en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máxima. En otras palabras, el decodificador 230 de datos de imagen puede decodificar los datos de imagen codificados basándose en la información extraída acerca del tipo de partición, el modo de predicción, y la unidad de transformación para cada unidad de codificación de entre las unidades de codificación que tienen la estructura de árbol incluida en cada unidad de codificación máxima. Un procedimiento de decodificación puede incluir una predicción que incluye intra predicción y compensación de movimiento, y una transformación inversa.
El decodificador 230 de datos de imagen puede realizar intra predicción o compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, basándose en la información acerca del tipo de partición y el modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo con las profundidades codificadas.
También, el decodificador 230 de datos de imagen puede realizar transformación inversa de acuerdo con cada unidad de transformación en la unidad de codificación, basándose en la información acerca del tamaño de la unidad de transformación de la unidad de codificación de acuerdo con las profundidades codificadas, para realizar la transformación inversa de acuerdo con unidades de codificación máxima.
El decodificador 230 de datos de imagen puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual usando información de división de acuerdo con las profundidades. Si la información de división indica que los datos de imagen ya no se dividen en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 de datos de imagen puede decodificar datos codificados de al menos una unidad de codificación que corresponde a cada profundidad codificada en la unidad de codificación máxima actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación para cada unidad de codificación que corresponde a la profundidad codificada.
En otras palabras, pueden recopilarse las unidades de datos que contienen la información de codificación que incluye la misma información de división observando la información de codificación establecida asignada para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción, y la unidad mínima, y las unidades de datos recopiladas pueden considerarse que son una unidad de datos a decodificarse por el decodificador 230 de datos de imagen en el mismo modo de codificación.
El aparato 200 de decodificación de vídeo puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando se realiza codificación de manera recursiva para cada unidad de codificación máxima, y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden decodificarse las unidades de codificación que tienen la estructura de árbol determinadas para ser las unidades de codificación óptimas en cada unidad de codificación máxima.
Por consiguiente, incluso si los datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse eficazmente y restaurarse usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptativa de acuerdo con las características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido desde un codificador.
Un procedimiento de determinación de unidades de codificación que tienen una estructura de árbol, una unidad de predicción, y una unidad de transformación, de acuerdo con una realización de la presente invención, se describirá ahora con referencia a las Figuras 3 a 13.
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención.
Un tamaño de una unidad de codificación puede expresarse en anchura x altura, y puede ser 64x64, 32x32, 16x16, y 8x8. Una unidad de codificación de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64, o 32x32, y una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32, o 16x16, una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16, u 8x8, y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8, o 4x4.
En los datos 310 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos 320 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos 330 de vídeo, una resolución es 352x288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 3 indica un número total de divisiones desde una unidad de codificación máxima a una unidad de codificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para no aumentar únicamente la eficacia de codificación sino también para reflejar de manera precisa características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de vídeo que tiene la resolución más alta que los datos 330 de vídeo puede ser 64.
Puesto que la profundidad máxima de los datos 310 de vídeo es 2, las unidades de codificación 315 de los datos 310 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32 y 16 puesto que las profundidades se hacen profundas a dos capas dividiendo dos veces la unidad de codificación máxima. Mientras tanto, puesto que la profundidad máxima de los datos 330 de vídeo es 1, las unidades 335 de codificación de los datos 330 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 16, y unidades de codificación que tienen un tamaño de eje largo de 8 puesto que las profundidades se hacen profundas a una capa dividiendo una vez la unidad de codificación máxima.
Puesto que la profundidad máxima de los datos 320 de vídeo es 3, las unidades 325 de codificación de los datos 320 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32, 16, y 8 puesto que las profundidades se hacen profundas a 3 capas dividiendo tres veces la unidad de codificación máxima. A medida que una profundidad se hace profunda, puede expresarse de manera precisa información detallada.
La Figura 4 es un diagrama de bloques de un codificador 400 de imagen basado en unidades de codificación de acuerdo con una realización de la presente invención.
El codificador 400 de imagen realiza operaciones del determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo para codificar datos de imagen. En otras palabras, un intra predictor 410 realiza intra predicción en unidades de codificación en un intra modo, de entre un fotograma actual 405, y un estimador 420 de movimiento y un compensador 425 de movimiento realizan inter estimación y compensación de movimiento en unidades de codificación en un inter modo de entre el fotograma 405 actual usando el fotograma 405 actual, y un fotograma 495 de referencia.
Los datos emitidos desde el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restaura como datos en un dominio espacial a través de un cuantificador 460 inverso y un transformador 470 inverso, y los datos restaurados en el dominio espacial se emiten como el fotograma 495 de referencia después de post-procesarse a través de una unidad 480 de desbloqueo y una unidad 490 de filtración de bucle. El coeficiente de transformación cuantificado puede emitirse como una secuencia de bits 455 a través de un codificador 450 por entropía.
Para que el codificador 400 de imagen se aplique en el aparato 100 de codificación de vídeo, todos los elementos del codificador 400 de imagen, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 por entropía, el cuantificador 460 inverso, el transformador 470 inverso, la unidad 480 de desbloqueo, y la unidad de filtración en bucle 490 realizan operaciones basándose en cada unidad de codificación entre unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento determinan particiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras se considera el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual, y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
La Figura 5 es un diagrama de bloques de un decodificador 500 de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención.
Un analizador 510 analiza datos de imagen codificados a decodificarse e información acerca de la codificación requerida para decodificación de una secuencia de bits 505. Los datos de imagen codificados se emiten como datos cuantificados inversos a través de un decodificador 520 por entropía y un cuantificador 530 inverso, y los datos cuantificados inversos se restauran a datos de imagen en un dominio espacial a través de un transformador 540 inverso.
Un intra predictor 550 realiza intra predicción en unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador 560 de movimiento realiza compensación de movimiento en unidades de codificación en un inter modo usando un fotograma 585 de referencia.
Los datos de imagen en el dominio espacial, que pasan a través del intra predictor 550 y el compensador 560 de movimiento, puede emitirse como un fotograma 595 restaurado después de post-procesarse a través de una unidad 570 de desbloqueo y una unidad 580 de filtración de bucle. También, los datos de imagen que se post-procesan a través de la unidad 570 de desbloqueo y la unidad 580 de filtración en bucle pueden emitirse como el fotograma 585 de referencia.
Para decodificar los datos de imagen en el decodificador 230 de datos de imagen del aparato 200 de decodificación de vídeo, el decodificador 500 de imagen puede realizar operaciones que se realizan después del analizador 510.
Para que el decodificador 500 de imagen se aplique en el aparato 200 de decodificación de vídeo, todos los elementos del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador inverso 530, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, la unidad 570 de desbloqueo, y la unidad 580 de filtración de bucle, realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
Específicamente, la intra predicción 550 y el compensador 560 de movimiento realizan operaciones basándose en particiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol, y el transformador 540 inverso realizan operaciones basándose 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 las profundidades, y particiones, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo usan unidades de codificación jerárquica para considerar características de una imagen. Puede determinarse de manera adaptativa una altura máxima, una anchura máxima, y una profundidad máxima de unidades de codificación de acuerdo con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Los tamaños de unidades de codificación más profundas de acuerdo con las profundidades pueden determinarse de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura 600 jerárquica de unidades de codificación, de acuerdo con una realización 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 se hace profunda a lo largo de un eje vertical de la estructura 600 jerárquica, se divide cada una de una altura y una anchura de la unidad de codificación más profunda. También, una unidad de predicción y particiones, que son las bases para codificación por predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una unidad de codificación máxima en la estructura 600 jerárquica, en la que una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad se hace profunda a lo largo del eje vertical, y existe una unidad 620 de codificación que tiene un tamaño de 32x32 y una profundidad de 1, una unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2, una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y una unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es una unidad de codificación mínima.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene el tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad más inferior. Una unidad de predicción de la unidad 650 de codificación se asigna únicamente a una partición que tiene un tamaño de 4x4.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la unidad 610 de codificación máxima, el determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la unidad 610 de codificación máxima.
Un número de unidades de codificación más profundas de acuerdo con las profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que se hace profunda la profundidad. Por ejemplo, se requieren cuatro unidades de codificación que corresponden a una profundidad de 2 para cubrir datos que están incluidos en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, para comparar resultados de codificación de los mismos datos de acuerdo con las profundidades, se codifica cada una de la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2.
Para realizar codificación para una profundidad actual de entre las profundidades, puede seleccionarse un error de codificación mínimo para la profundidad actual realizando codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica. Como alternativa, puede buscarse el error de codificación mínimo comparando los errores de codificación mínimos de acuerdo con las profundidades, realizando codificación para cada profundidad a medida que la profundidad se hace profunda a lo largo del eje vertical de la estructura 600 jerárquica. Una profundidad y una partición que tiene el error de codificación mínimo en la unidad 610 de codificación pueden seleccionarse como la profundidad codificada y un tipo de partición de la unidad 610 de codificación.
La Figura 7 es un diagrama para describir una relación entre una unidad 710 de codificación y unidades 720 de transformación, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo codifican o decodifican una imagen de acuerdo con unidades de codificación que tienen tamaños menores que o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. Pueden seleccionarse tamaños de unidades de transformación para transformación durante la codificación basándose en unidades de datos que ya no son más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo, si un tamaño de la unidad 710 de codificación es 64x64, puede realizarse transformación usando las unidades 720 de transformación que tienen un tamaño de 32x32.
También, los datos de la unidad 710 de codificación que tiene el tamaño de 64x64 pueden codificarse realizando la transformación en cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8, y 4x4, que son menores que 64x64, y a continuación puede seleccionarse una unidad de 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 corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención.
La unidad 130 de salida del aparato 100 de codificación de vídeo puede codificar y transmitir información 800 acerca de un tipo de partición, información 810 acerca de un modo de predicción, e información 820 acerca de un tamaño de una unidad de 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 forma de una partición obtenida dividiendo una unidad de predicción de una unidad de codificación actual, en el que 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 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N, y una partición 808 que tiene un tamaño de NxN. En este punto, la información 800 acerca de un tipo de partición se establece para indicar una de la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N, y la partición 808 que tiene un tamaño de NxN
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación por predicción realizado en una partición indicado por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo 816 de salto.
La información 820 indica una unidad de transformación para en la que basarse cuando se realiza transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad 822 de intra transformación, una segunda unidad 824 de intra transformación, una primera unidad 826 de inter transformación, o una segunda unidad 828 de intra transformación.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer y usar la información 800, 810, y 820 para 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 las profundidades, de acuerdo con una realización de la presente invención.
La información de división puede usarse para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide en unidades de codificación de una profundidad inferior.
Una unidad 910 de predicción para codificación por predicción una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir particiones de un tipo 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 918 de partición que tiene un tamaño de N_0xN_0. La Figura 9 únicamente ilustra los tipos 912 a 918 de partición que se obtienen dividiendo simétricamente la unidad 910 de predicción, aunque un tipo de partición no está limitado a los mismos, y las particiones de la unidad 910 de predicción pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada y particiones que tienen una forma geométrica.
La codificación por predicción se realiza de manera repetitiva en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0xN_0, dos particiones que tienen un tamaño de N_0x2N_0, y cuatro particiones que tienen un tamaño de N_0xN_0, de acuerdo con cada tipo de partición. La codificación por predicción en un intra modo y un inter modo puede realizarse en las particiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0, y N_0xN_0. La codificación por predicción en un modo de salto se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es el más pequeño en uno de los tipos 912 a 916 de partición, la unidad 910 de predicción puede no dividirse en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo 918 de partición, una profundidad se cambia de 0 a 1 para dividir el tipo 918 de partición en la operación 920, y se realiza codificación de manera repetitiva en unidades 930 de codificación que tienen una profundidad de 2 y un tamaño de N_0xN_0 para buscar un error de codificación mínimo.
Una unidad 940 de predicción para codificación de predicción de la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1 (=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición, una profundidad se cambia de 1 a 2 para dividir el tipo 948 de partición en la operación 950, y se realiza codificación de manera repetitiva en unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2xN_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, la operación de división de acuerdo con cada profundidad puede realizarse hasta cuando una profundidad se vuelve d-1, y la información de división puede codificarse como hasta cuando una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después de que una unidad de codificación que corresponde a una profundidad de d-2 se divide en la operación 970, una unidad 990 de predicción para codificación de predicción de una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1)x2N_(d-1) puede incluir particiones de un tipo 992 de partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)xN_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)x2N_(d-1), y un tipo 998 de partición que tiene un tamaño de N_(d-1)xN_(d-1).
La codificación por predicción puede realizarse de manera repetitiva en una partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamaño de N_(d-1)x2N_(d-1), cuatro particiones que tienen un tamaño de N_(d-1)xN_(d-1) de entre los tipos 992 a 998 de partición para buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición tiene el error de codificación mínimo, puesto que una profundidad máxima es d, una unidad de codificación CU_(d-1) que tiene una profundidad de d-1 ya no se divide más a una profundidad inferior, y una profundidad codificada para las unidades de codificación que constituyen una unidad 900 de codificación máxima actual se determina que es d-1 y un tipo de partición de la unidad 900 de codificación máxima actual puede determinarse que es N_(d-1)xN_(d-1). También, puesto que la profundidad máxima es d y una unidad 980 de codificación mínima que tiene una profundidad más inferior de d-1 ya no se divide más a una profundidad inferior, no se establece la información de división para la unidad 980 de codificación mínima.
Una unidad 999 de datos puede ser una unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima de acuerdo con una realización de la presente invención puede ser una unidad de datos cuadrada obtenida dividiendo por 4 una unidad 980 de codificación mínima. Realizando la codificación de manera repetitiva, el aparato 100 de codificación de vídeo puede seleccionar una profundidad que tiene el error de codificación mínimo comparando errores de codificación de acuerdo con las profundidades de la unidad 900 de codificación para determinar una profundidad codificada, y establecer un tipo de partición correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con las profundidades se comparan en todas las profundidades de 1 a d, y una profundidad que tiene el error de codificación mínimo puede determinarse como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción, y el modo de predicción pueden codificarse y transmitirse como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide de una profundidad de 0 a una profundidad codificada, únicamente la información de división de la profundidad codificada se establece a 0, y la información de división de profundidades excluyendo la profundidad codificada se establece a 1.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la partición 912. El aparato 200 de decodificación de vídeo puede determinar una profundidad, en la que la información de división es 0, como una profundidad codificada usando información de división de acuerdo con las profundidades, y usar información acerca de un modo de codificación de la correspondiente profundidad para decodificación.
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades 1010 de codificación, unidades 1060 de predicción, y unidades 1070 de transformación de acuerdo con una realización de la presente invención.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, que corresponden a profundidades codificadas determinadas por el aparato 100 de codificación de vídeo, en una unidad de codificación máxima. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación, y las unidades 1070 de transformación son unidades de transformación de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades 1010 de codificación, las profundidades de las unidades 1012 y 1054 de codificación son 1, las profundidades de las unidades 1014, 1016, 1018, 1028, 1050, y 1052 de codificación son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032, y 1048 de codificación son 3, y las profundidades de las unidades 1040, 1042, 1044, y 1046 de codificación son 4.
En las unidades 1060 de predicción, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 de codificación se obtienen dividiendo las unidades de codificación en las unidades 1010 de codificación. En otras palabras, los tipos de partición en las unidades 1014, 1022, 1050, y 1054 de codificación tienen un tamaño de 2NxN, los tipos de partición en las unidades 1016, 1048, y 1052 de codificación tienen un tamaño de Nx2N, y un tipo de partición de la unidad 1032 de codificación tiene un tamaño de NxN. Las unidades de predicción y particiones de las unidades 1010 de codificación son menores o iguales que cada unidad de codificación.
La transformación o transformación inversa se realiza en datos de imagen de la unidad 1052 de codificación en las unidades 1070 de transformación en una unidad de datos que es menor que la unidad 1052 de codificación. También, las unidades 1014, 1016, 1022, 1032, 1048, 1050 y 1052 de codificación en las unidades 1070 de transformación son diferentes de aquellas en las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, los aparatos de codificación y decodificación de vídeo 100 y 200 pueden realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación, y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación.
Por consiguiente, se realiza codificación 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 por lo tanto pueden obtenerse las unidades de codificación que tienen una estructura de árbol recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción, e información acerca de un tamaño de una unidad de transformación. La Tabla 1 muestra la información de codificación que puede establecerse por los aparatos 100 y 200 de codificación y decodificación de vídeo.
Tabla 1
Figure imgf000015_0001
La unidad 130 de salida del aparato 100 de codificación de vídeo puede emitir la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol, y el extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol de una secuencia de bits 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 inferior. Si la información de división de una profundidad actual d es 0, una profundidad, en la que una unidad de codificación actual ya no se divide más en una profundidad inferior, es una profundidad codificada, y por lo tanto la información acerca de un tipo de partición, modo de predicción, y un tamaño de una unidad de transformación puede definirse para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, se realiza de manera independiente codificación en cuatro unidades de codificación de división de una profundidad inferior.
Un modo de predicción puede ser uno de un intra modo, un inter modo, y un modo de salto. El intra modo y el inter modo pueden definirse en todos los tipos de partición, y el modo de salto se define únicamente en un tipo de partición que tiene un tamaño de 2Nx2N.
La información acerca del tipo de partición puede indicar tipos de partición simétricos que tienen tamaños de 2Nx2N, 2NxN, Nx2N, y NxN, que se obtienen dividiendo simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétrica que tienen tamaños de 2NxnU, 2NxnD, nLx2N, y nRx2N, que se obtienen dividiendo asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétricas que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1: 3 y 3: 1, y los tipos de partición asimétricas que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:3 y 3:1
El tamaño de la unidad de transformación puede establecerse para que sea dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si la información de división de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si la información de división de la unidad de transformación es 1, las unidades de transformación pueden obtenerse dividiendo la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de partición simétrico, 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étrico, el tamaño de la unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de unidades de codificación que tienen una estructura de árbol puede incluir al menos una de una unidad de codificación que corresponde a una profundidad codificada, una unidad de predicción, y una unidad mínima. La unidad de codificación que corresponde a la profundidad codificada puede incluir al menos una de una unidad de predicción y una unidad mínima que contiene la misma información de codificación.
Por consiguiente, se determina si las unidades de datos adyacentes se incluyen en la misma unidad de codificación que corresponde a la profundidad codificada comparando información de codificación de las unidades de datos adyacentes. También, una unidad de codificación correspondiente que corresponde a una profundidad codificada se determina usando información de codificación de una unidad de datos, y por lo tanto puede determinarse una distribución de profundidades codificadas en una unidad de codificación máxima.
Por consiguiente, si se predice una unidad de codificación actual basándose en información de codificación de unidades de datos adyacentes, puede hacerse referencia directamente a 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 y usarse.
Como alternativa, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, unidades de datos adyacentes a la unidad de codificación actual se buscan usando información codificada de las unidades de datos, y puede hacerse referencia a las unidades de codificación adyacentes buscadas para predecir la unidad de codificación actual.
La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad o partición de predicción, y una unidad de transformación, de acuerdo con la información de modo de codificación de la Tabla 1.
Una unidad 1300 de codificación máxima incluye unidades 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de codificación de profundidades codificadas. En este punto, puesto que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división puede establecerse a 0. La información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2Nx2N puede establecerse para que sea uno de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
Cuando el tipo de partición se establece para que sea simétrico, es decir el tipo 1322, 1324, 1326, o 1328 de partición, se establece una unidad 1342 de transformación que tiene un tamaño de 2Nx2N si la información de división (bandera de tamaño de TU) de una unidad de transformación es 0, y se establece una unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para que sea asimétrico, es decir, el tipo 1332, 1334, 1336, o 1338 de partición, se establece una unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU es 0, y se establece una unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño de TU es 1.
En lo sucesivo, se describirá en detalle la intra predicción realizada en una unidad de predicción por el intra predictor 410 del aparato 100 de codificación de vídeo de la Figura 4 y el intra predictor 550 del aparato 200 de decodificación de vídeo de la Figura 5.
Los intra predictores 410 y 550 realizan intra predicción para obtener un valor de predicción de una unidad de predicción actual usando píxeles adyacentes de la unidad de predicción actual. Considerando que una unidad de predicción tiene un tamaño igual o mayor que 16x16, los intra predictores 410 y 550 realizan adicionalmente un modo de intra predicción que tiene diversas direccionalidades usando un parámetro (dx, dy) así como un modo de intra predicción que tiene una direccionalidad limitada de acuerdo con una técnica relacionada. El modo de intra predicción que tienen diversas direccionalidades de acuerdo con una realización de la presente invención se describirá más delante en detalle.
La Figura 14 es una tabla que muestra un número de los modos de intra predicción de acuerdo con un tamaño de una unidad de predicción, de acuerdo con una realización de la presente invención.
Los intra predictores 410 y 550 pueden establecer de manera diversa el número de modos de intra predicción a aplicarse a la unidad de predicción de acuerdo con el tamaño de la unidad de predicción. Por ejemplo, haciendo referencia a la Figura 14, cuando el tamaño de la unidad de predicción a intra preverse es NxN, los números de los modos de intra predicción realmente realizados en las unidades de predicción que tienen los tamaños de 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, y 128x128 pueden establecerse respectivamente a 5, 9, 9, 17, 33, 5, y 5 en el Ejemplo 2. El número de modos de intra predicción realmente realizados difiere de acuerdo con el tamaño de la unidad de predicción puesto que la tara para codificar información de modo de predicción difiere de acuerdo con el tamaño de la unidad de predicción. En otras palabras, incluso aunque una porción de una unidad de predicción que ocupa una imagen completa sea pequeña, la tara para transmitir información adicional, tal como un modo de predicción de una unidad de predicción pequeña de este tipo puede ser grande. Por consiguiente, cuando se codifica una unidad de predicción que tiene un tamaño pequeño en muchos modos de predicción, una cantidad de bits puede aumentar y por lo tanto puede reducirse la eficacia de compresión. También, puesto que una unidad de predicción que tiene un gran tamaño, por ejemplo, una unidad de predicción que tiene un tamaño igual o mayor que 64x64, se genera en su mayoría como una unidad de predicción de una región plana de una imagen, puede ser insuficiente en términos de eficacia de compresión codificar la unidad de predicción que tiene un tamaño grande, que se selecciona en su mayoría para codificar una región plana, en muchos modos de predicción. Por consiguiente, cuando un tamaño de unidad de predicción es demasiado grande o demasiado pequeño en comparación con un tamaño predeterminado, puede aplicarse un número relativamente pequeño de los modos de intra predicción. Sin embargo, el número de modos de intra predicción aplicados de 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, es únicamente un ejemplo, y puede variar. Como alternativa, 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 píxel de referencia adyacente usando una línea que tiene un ángulo predeterminado basándose en un pixel en una unidad de predicción y usando el píxel de referencia adyacente determinado como un predictor del píxel. El ángulo de una línea de este tipo puede establecerse usando un parámetro (dx, dy), en el que dx y dy son cada uno un número entero. Por ejemplo, cuando se definen respectivamente 33 modos de predicción para que sean los modos N, en el que N es un número entero de 0 a 32, se establece un modo 0 a un modo vertical, se establece un modo 1 a un modo horizontal, se establece un modo 2 a un modo de CC, se establece un modo 3 a un modo de plano, y se establece un modo 32 a un modo planar. También, los modos 4 a 31 puede definirse que son modos de intra predicción que determinan un píxel de referencia adyacente usando una línea que tiene una direccionalidad de tan-1(dy/dx) usando (dx, dy) respectivamente expresados 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 usando el píxel de referencia adyacente determinado por intra predicción.
Tabla 2
Figure imgf000017_0001
(continuación)
Figure imgf000018_0001
El número de modos de intra predicción usado por los intra predictores 410 y 550 no está limitado a la Tabla 2, y puede variar basándose en si una unidad de predicción actual es un componente de crominancia o componente de luminancia o basándose en 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. Por ejemplo, el número de modos de intra predicción puede ser 36, en el que un modo 0 es un modo planar descrito más adelante, un modo 1 es un modo de CC, los 2 a 34 son modos de intra predicción que tienen 33 direccionalidades como se describe más adelante, y un modo 35 es un modo de intra predicción Intra_Fromluma que usa 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 usa la unidad de predicción en el componente de luminancia que corresponde a la unidad de predicción en el componente de crominancia se aplica únicamente a la unidad de predicción en el componente de crominancia, y no se usa para intra predecir la unidad de predicción en el componente de luminancia.
La Figura 15 es un diagrama de referencia para describir modos de intra predicción que tienen diversas direccionalidades, de acuerdo con una realización de la presente invención.
Como se ha descrito anteriormente, los intra predictores 410 y 550 pueden determinar un píxel de referencia adyacente usando una línea que tiene un ángulo de tan-1(dy/dx) determinado por una pluralidad de parámetros (dx, dy), y realizar intra predicción usando el píxel de referencia adyacente determinado.
Haciendo referencia a la Figura 15, los píxeles adyacentes A y B localizados en una línea 150 de extensión 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 basándose en un píxel actual P a predecirse en una unidad de predicción actual pueden usarse como predictores del píxel actual P. En este punto, un píxel adyacente usado como un predictor puede ser un píxel de una unidad de predicción anterior que se precodifica y restaura previamente y está localizado por encima, a la izquierda, arriba a la derecha o abajo a la izquierda de una unidad de predicción actual. Como tal, realizando codificación por predicción de acuerdo con modos de intra predicción que tienen diversas direccionalidades, puede realizarse de manera eficaz la compresión de acuerdo con las características de una imagen.
En la Figura 15, cuando se genera un predictor del píxel actual P usando un píxel adyacente localizado en o cerca de la línea 150 de extensión, la línea 150 de extensión realmente tiene una direccionalidad de tan-1(dy/dx) y se requiere una división de (dy/dx) para determinar el píxel adyacente usando la línea 150 de extensión, y por lo tanto el hardware o software puede incluir una operación de punto decimal, aumentando de esta manera un caudal. Por consiguiente, cuando se establece una dirección de predicción para seleccionar un píxel de referencia usando (dx, dy) los parámetros, dx y dy pueden establecerse para reducir un caudal.
La Figura 16 es un diagrama para describir una relación entre un píxel actual y píxeles adyacentes dispuestos en una línea de extensión que tiene una direccionalidad de (dx, dy), de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 16, P 1610 indica el píxel actual localizado en (j, i) y A 1611 y B 1612 respectivamente indican un píxel superior adyacente y un píxel izquierdo adyacente localizado en una línea de extensión que tiene una direccionalidad, es decir, un ángulo de tan-1(dy/dx), que pasa a través del píxel actual P 1610. Se supone que un tamaño de una unidad de predicción que incluye el píxel actual P 1610 es nSxnS en el que nS es un entero positivo, una localización de pixel de la unidad de predicción es uno de (0, 0) a (nS-1, nS-1), una localización del píxel superior adyacente A 1611 en un eje x es (m,-1) en el que m es un número entero, y una localización del píxel izquierdo adyacente B 1612 en un eje y es (-1, n) en el que n es un número entero. La localización del píxel superior adyacente A 1611 que cumple la línea de extensión que pasa a través del píxel actual P1610 es (j+i*dx/dy,-1), y la localización del píxel izquierdo adyacente B 1612 es (-1, i+j*dy/dx). Por consiguiente, para determinar el píxel superior adyacente A 1611 o píxel izquierdo adyacente B 1612 para predecir el píxel actual P1610, se requiere una operación de división, tal como dx/dy o dy/dx. Como se ha descrito anteriormente, puesto que la complejidad de operación de la operación de división es alta, una velocidad de operación en software o hardware puede ser baja. Por consiguiente, al menos una de dx y dy que indica una direccionalidad de un modo de predicción para determinar un píxel adyacente puede ser una potencia de 2. En otras palabras, cuando n y m son cada uno un número entero, dx y dy pueden ser respectivamente 2An y 2Am.
Cuando se usa el píxel izquierdo adyacente B 1612 como un predictor del píxel actual P 1610 y dx tiene un valor de 2An, una operación j*dy/dx requerida para determinar (-1, i+j*dy/dx), es decir, una localización del píxel izquierdo adyacente B 1612, puede ser (i*dy)/(2An) y una operación de división usando una potencia de 2 puede realizarse mediante una operación de desplazamiento, tal como (i*dy)>>n, y por lo tanto se reduce un caudal.
De manera similar, cuando se usa el píxel superior adyacente A 1611 como un predictor del píxel actual P 1610 y dy tiene un valor de 2Am, una operación i*dx/dy requerida para determinar (j+i*dx/dy,-1), es decir, una localización del píxel superior adyacente A 1611 puede ser (i*dx)/(2Am) y una operación de división usando una potencia de 2 puede realizarse mediante una operación de desplazamiento, tal como (i*dx)>>m.
Las Figuras 17 y 18 son diagramas que muestran direcciones de un modo de intra predicción, de acuerdo con las realizaciones de la presente invención.
En general, los patrones de línea recta mostrados en una señal de imagen o de vídeo son en su mayoría verticales u horizontales. Por lo tanto, cuando se define un modo de intra predicción que tiene diversas direccionalidades usando un parámetro (dx, dy), los valores de dx y dy pueden definirse como sigue para mejorar la eficacia de codificación de una imagen.
En detalle, cuando dy tiene un valor fijo de 2Am, puede establecerse un valor absoluto de dx de manera que un intervalo entre direcciones de predicción cerca de una dirección vertical es estrecho y un intervalo entre modos de predicción aumenta hacia una dirección de predicción cerca de una dirección horizontal. Por ejemplo, haciendo referencia a la Figura 17, cuando dy es 2A5, es decir, 32, dx puede establecerse a 2, 5, 9, 13, 17, 21, 26, 32,-2,-5,-9,-13,-17,-21,-26, y -32 de manera que un intervalo entre direcciones de predicción cerca de una dirección vertical es relativamente estrecho y un intervalo entre modos de predicción aumenta hacia una dirección de predicción cerca de una dirección horizontal.
De manera similar, cuando dx tiene un valor fijo de 2An, puede establecerse un valor absoluto de dy de manera que un intervalo entre direcciones de predicción cerca de una dirección horizontal es estrecho y un intervalo entre modos de predicción aumenta hacia una dirección de predicción cerca de una dirección horizontal. Por ejemplo, haciendo referencia a la Figura 18, cuando dx es 2A5, es decir, 32, dy puede establecerse a 2, 5, 9, 13, 17, 21, 26, 32,-2,-5,-9,­ 13,-17,-21,-26, y -32 de manera que un intervalo entre direcciones de predicción cerca de una dirección horizontal es relativamente estrecho y un intervalo entre modos de predicción aumenta hacia una dirección de predicción cerca de una dirección vertical.
También, cuando uno de valores de dx y dy está fijado, el otro valor puede establecerse tal como para aumentar de acuerdo con modos de predicción. Por ejemplo, cuando el valor de dy está fijado, puede establecerse un intervalo entre valores de dx para aumentar en un valor predeterminado. Un incremento de este tipo puede establecerse de acuerdo con ángulos divididos entre una dirección horizontal y una dirección vertical. Por ejemplo, cuando dy está fijo, dx puede tener un incremento en una sección donde un ángulo con un eje vertical es menor que 15°, un incremento b en una sección donde el ángulo es entre 15° y 30°, y un incremento c en una sección donde el ángulo es superior a 30°.
Por ejemplo, los modos de predicción que tienen direccionalidades de tan_1(dy/dx) usando (dx, dy) pueden definirse por los parámetros (dx, dy) mostrados en las Tablas 3 a 5.
Tabla 3
Figure imgf000019_0001
(continuación)
Figure imgf000020_0001
Tabla 4
Figure imgf000020_0002
Tabla 5
Figure imgf000020_0003
(continuación)
Figure imgf000021_0001
Como se ha descrito anteriormente, los modos de intra predicción usando parámetros (dx, dy) usan el píxel izquierdo adyacente (-1, i+j*dy/dx) o el píxel superior adyacente (j+i*dx/dy,-1) como un predictor de un píxel localizado en (j, i). Cuando al menos uno de dx y dy tiene una potencia de 2 como se muestra en la Tabla 2, las localizaciones del píxel izquierdo adyacente (-1, i+j*dy/dx) y píxel superior adyacente (j+i*dx/dy,-1) pueden obtenerse mediante únicamente multiplicación y operaciones de desplazamiento sin una operación de división. Cuando dx es 2An, es decir, 32, en (dx, dy) como se muestra en la Tabla 2, una operación de división usando dx puede sustituirse por una operación de desplazamiento derecha, y por lo tanto puede obtenerse una localización de un píxel izquierdo adyacente sin una operación de división basándose en (i*dy)>>n. De manera similar, cuando dy es 2Am, es decir, 32, en (dx, dy) como se muestra en la Tabla 2, una operación de división usando dx puede sustituirse por una operación de desplazamiento derecha, y por lo tanto puede obtenerse una localización de un píxel superior adyacente sin una operación de división basándose en (i*dx)>>m.
La Figura 19 es un diagrama que muestra direcciones de un modo de intra predicción que tiene 33 direccionalidades, de acuerdo con una realización de la presente invención.
Los intra predictores 410 y 550 pueden determinar un píxel adyacente para usarse como un predictor de un píxel actual de acuerdo con modos de intra predicción que tienen 33 direccionalidades mostradas en la Figura 19. Como se ha descrito anteriormente, las direcciones de los modos de intra predicción pueden establecerse de manera que un intervalo entre modos de predicción se reduce hacia una dirección horizontal o vertical y aumenta más lejos de una dirección vertical o dirección horizontal.
Mientras tanto, el uso de píxeles adyacentes usados como píxeles de referencia de un bloque actual puede limitarse de acuerdo con los modos de intra predicción que tienen diversas direccionalidades como se describe con referencia a la Figura 19. Por ejemplo, el uso de un píxel adyacente incluido en un inter bloque previsto mediante inter predicción puede limitarse durante la intra predicción del bloque actual. Como tal, el uso del píxel adyacente incluido en el inter bloque está limitado para evitar la propagación de un error incluido en el inter bloque. También, el uso de un bloque adyacente incluido en un corte diferente de el del bloque actual que se intra predice puede limitarse durante la intra predicción del bloque actual. El uso del bloque adyacente incluido en el corte diferente está limitado debido a que el uso de datos del bloque adyacente incluido en el corte diferente puede limitarse como datos de referencia del bloque actual puesto que los datos de imagen están encapsulados y se procesan de manera independiente en una unidad de corte de acuerdo con un procedimiento de imagen general. Por consiguiente, los intra predictores 410 y 550 pueden determinar si usar un píxel adyacente para intra predicción del bloque actual basándose en un modo de predicción de un bloque adyacente que incluye el píxel adyacente o basándose en si un corte que incluye el bloque adyacente es el mismo con un corte que incluye el bloque actual. El intra predictor 410 del codificador 400 de imagen puede establecer un valor de una bandera (constrained_intra_pred_flag) que indica si usar un píxel adyacente incluido en un inter bloque para intra predicción de un bloque actual, y a continuación añadir constrained_intra_pred_flag a una secuencia de bits codificada para señalizar una limitación de un uso del píxel adyacente incluido en el inter bloque. Por ejemplo, cuando el valor de constrained_intra_pred_flag es 0, se usa el píxel adyacente 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 píxel adyacente incluido en el inter bloque puede limitarse durante la intra predicción del bloque actual. Como alternativa, los intra predictores 410 y 550 pueden limitar un píxel de un bloque adyacente incluido en un corte diferente de el del bloque actual para no usarse nunca para la intra predicción del bloque actual.
En lo sucesivo, suponiendo que el valor de constrained_intra_pred_flag es 1, es decir, el uso del bloque adyacente incluido en el inter bloque, como un píxel de referencia, está limitado durante la intra predicción del bloque actual, un procedimiento de los intra predictores 410 y 550 que sustituyen el píxel adyacente que tiene uso limitado como un píxel de referencia con otro píxel adyacente se describe en detalle con referencia a las Figuras 20 a 26. También, se supone que el uso del pixel del bloque adyacente incluido en el corte diferente de el del bloque actual está siempre limitado durante la intra predicción del bloque actual.
La Figura 24 es un diagrama de bloques de un aparato 2400 de decodificación de vídeo de acuerdo con una realización de la presente invención. El aparato 2400 de intra predicción de la Figura 24 corresponde a los intra predictores 410 y 550 de las Figuras 4 y 5.
Haciendo referencia a la Figura 24, el aparato 2400 de intra predicción incluye un determinador 2410 de disponibilidad, un sustituidor 2420, y un realizador 2430 de intra predicción.
El determinador 2410 de disponibilidad determina la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual. En este punto, la disponibilidad indica si un píxel adyacente puede usarse para la intra predicción como un píxel de referencia del bloque actual. Como se ha descrito anteriormente, puesto que el valor de constrained_intra_pred_flag se supone que es 1, se determina que un píxel adyacente incluido en un bloque adyacente incluido en un corte diferente de un segmento que incluye el bloque actual o un bloque adyacente inter-previsto no está disponible. Por consiguiente, el determinador 2410 de disponibilidad determina si el número predeterminado de píxeles adyacentes del bloque actual incluye el píxel 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 píxeles adyacentes del bloque actual incluye el píxel adyacente incluido en el bloque adyacente inter-previsto. El número predeterminado de píxeles adyacentes puede establecerse de acuerdo con cualquier norma. Por ejemplo, cuando un tamaño del bloque actual es nTxnT, en el que nT es un número entero, puede determinarse la disponibilidad en un total de 4nT+1 píxeles adyacentes que incluyen 2nT píxeles adyacentes superiores localizados en la parte superior y superior derecha del bloque actual, 2nT píxeles adyacentes izquierdos localizados a la izquierda y abajo izquierda del bloque actual y un pixel adyacente localizado en una esquina superior izquierda del bloque actual. Sin embargo, puede variar un número y localizaciones de píxeles adyacentes cuya disponibilidad se determina.
Si los píxeles adyacentes se determina que están todos disponibles, el realizador 2430 de intra predicción de un codificador usa el píxel adyacente como un píxel de referencia para generar un bloque de predicción del bloque actual realizando intra predicción de acuerdo con el modo de intra predicción que tiene las diversas direccionalidades como se muestra en la Figura 19. El realizador 2430 de intra predicción de un decodificador genera el bloque de predicción del bloque actual realizando la intra predicción en el bloque actual usando el píxel adyacente basándose en un modo de intra predicción del bloque actual extraído de una secuencia de bits.
Si los píxeles adyacentes se determina que están todos no disponibles, el sustituidor 2420 puede sustituir un valor de píxel de un píxel adyacente no disponible con un valor predeterminado. En este punto, el valor predeterminado puede ser un valor determinado basándose en una profundidad de bits de un píxel. La profundidad de bits del píxel es un número de bits usado para expresar un valor de píxel de un píxel, y puede ser de 8 a 14 bits. Como tal, puede representarse una profundidad de bits variable BitDepth por una ecuación; BitDepth=BaseBit-Depth+lncreased_bit_depth, a través de una profundidad de bit de base BaseBitDepth y un aumento variable de la profundidad de bits increased_bit_depth. Si la profundidad de bits está en el intervalo de 8 a 14 bits como se ha descrito anteriormente, la profundidad de bits de base BaseBitDepth tiene un valor de 8 y el aumento de la profundidad de bits increased_bit_depth tiene un valor de 0 a 6. Si los píxeles adyacentes están todos no disponibles, el sustituidor 2420 puede sustituir todos los valores de los píxeles adyacentes por un valor de 1<<((BitDepth)-1). Por ejemplo, cuando la profundidad de bits BitDepth es 8, el sustituidor 2420 puede sustituir todos los valores de los píxeles adyacentes para que tengan un valor de píxel de 1<<(8-1), es decir, 128, que es 1x2A7, si los píxeles adyacentes están todos no disponibles.
Si se determina por el determinador 2410 de disponibilidad que no todo el número predeterminado de píxeles adyacentes están no disponibles sino que al menos un píxel adyacente no está disponible, el sustituidor 2420 busca un píxel adyacente disponible buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada basándose en el píxel adyacente no disponible, y sustituye un valor de píxel del píxel adyacente no disponible por un valor de píxel de un píxel adyacente disponible hallado. Un procedimiento de sustitución del píxel adyacente no disponible se describirá a continuación con referencia a las Figuras 20 a 23.
Cuando el píxel adyacente no disponible se sustituye por el píxel adyacente disponible, el realizador 2430 de intra predicción realiza intra predicción en el bloque actual usando el píxel adyacente sustituido y los píxeles adyacentes disponibles, y genera un bloque de predicción del bloque actual.
En lo sucesivo, se describirá un procedimiento de sustitución de un píxel adyacente no disponible durante intra predicción de un bloque actual en detalle con referencia a las Figuras 20 a 23.
La Figura 20 es un diagrama de un píxel adyacente que no está disponible durante intra predicción de un bloque 2000 actual de acuerdo con un tipo de un bloque adyacente, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 20, cuando un tamaño del bloque 2000 actual es nTxnT, el determinador 2410 de disponibilidad determina si los bloques adyacentes A, B, C, D, y E que incluyen 2nT píxeles adyacentes superiores localizados en la parte superior y superior derecha del bloque 2000 actual son inter bloques o son bloques incluidos en un corte diferente de un corte que incluye el bloque 2000 actual. También, el determinador 2410 de disponibilidad determina si los bloques adyacentes G, H, I, J, y K que incluyen 2nT píxeles adyacentes izquierdos localizados a la izquierda y abajo izquierda del bloque 2000 actual y un bloque adyacente F que incluye un píxel adyacente localizado en una esquina superior izquierda del bloque 2000 actual son inter bloques o bloques incluidos en un corte diferente del corte que incluye el bloque 2000 actual.
El determinador 2410 de disponibilidad determina un píxel adyacente incluido en un inter bloque o un bloque incluido en el corte diferente de entre los bloques adyacentes A a K para que sea un píxel adyacente no disponible. En la Figura 20, puesto que los bloques adyacentes A, B, D, E, F, H, y I son inter bloques inter-previstos, el determinador 2410 de disponibilidad determina píxeles 2011, 2012, y 2013 adyacentes incluidos en los bloques adyacentes A, B, D, E, F, H, y I para que sean píxeles adyacentes no disponibles. Como se ha descrito anteriormente, el sustituidor 2420 busca un píxel adyacente disponible en una dirección predeterminada basándose en el píxel adyacente no disponible y sustituye un valor de píxel del píxel adyacente no disponible por un valor de píxel del píxel adyacente disponible hallado.
En detalle, el determinador 2410 de disponibilidad de acuerdo con una realización determina en primer lugar la disponibilidad de un píxel adyacente (en lo sucesivo, denominado como un primer píxel adyacente) en una localización predeterminada de entre píxeles adyacentes. Si el primer píxel adyacente no está disponible, el sustituidor 2420 busca un segundo píxel adyacente que está disponible buscando píxeles adyacentes en una dirección predeterminada. También, el sustituidor 2420 sustituye el primer píxel adyacente por el segundo píxel adyacente hallado.
Un píxel adyacente no disponible restante (en lo sucesivo, denominado como un tercer píxel adyacente) excluyendo el primer píxel adyacente se procesa y sustituye previamente basándose en una dirección predeterminada o se sustituye por un píxel adyacente disponible original. Los terceros píxeles adyacentes no disponibles se sustituyen secuencialmente de acuerdo con un orden de búsqueda usado para buscar el segundo píxel adyacente. Cuando está disponible el primer píxel adyacente, se omite un procedimiento de sustitución del primer píxel adyacente, y únicamente se realiza un procedimiento de sustitución del tercer píxel adyacente.
En lo sucesivo, se supone que los tamaños de bloques 2100, 2200, y 2300 actuales de las Figuras 21 a 23 son nTxnT, y P(x, y) indica un píxel adyacente cuya disponibilidad se determina para intra predicción de los bloques 2100, 2200, y 2300, actuales en el que x=-1, y=-1 2nT-1 y x=02nT-1, y=1.
La Figura 21 es un diagrama para describir un procedimiento de sustitución de un píxel adyacente no disponible, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 21, un primer píxel adyacente cuya disponibilidad se determina en primer lugar de entre píxeles adyacentes se supone que es un píxel adyacente P(-1,-1) 2110 localizado en una esquina superior izquierda del bloque 2100 actual. El determinador 2410 de disponibilidad determina en primer lugar la disponibilidad del primer píxel adyacente P(-1,-1) 2110. Si se determina que el primer píxel adyacente P(-1,-1) 2110 no está disponible, el sustituidor 2420 busca un píxel adyacente disponible en los píxeles adyacentes secuencialmente de acuerdo con una dirección predeterminada basándose en el primer píxel adyacente P(-1,-1) 2110, y sustituye el primer píxel adyacente P(-1,-1) 2110 por un píxel adyacente disponible inicialmente hallado (en lo sucesivo, denominado como un segundo píxel adyacente). Por ejemplo, el sustituidor 2420 busca píxeles adyacentes superior y superior derecho del bloque 2100 actual de acuerdo con una primera dirección de búsqueda de izquierda a derecha basándose en el primer píxel adyacente P(-1,-1) 2110, y si el segundo píxel adyacente no existe en los píxeles adyacentes superior y superior derecho del bloque 2100 actual, busca el segundo bloque adyacente buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque 2100 actual de arriba a abajo basándose en el primer píxel adyacente P(-1,-1) 2110. El sustituidor 2420 sustituye el primer píxel adyacente P(-1,-1) 2110 por el segundo píxel adyacente que se halla inicialmente de acuerdo con una dirección de búsqueda y orden de este tipo. Por ejemplo, si un píxel adyacente P(nT-2,-1) 2120 es el segundo píxel adyacente que se halla inicialmente en los píxeles adyacentes superior y superior derecho, el sustituidor 2420 sustituye un valor de píxel del primer píxel adyacente P(-1,-1) 2110 por un valor de píxel del segundo píxel adyacente P(nT- 2,-1) 2120.
El sustituidor 2420 sustituye el tercer píxel adyacente no disponible restante, excluyendo el primer píxel adyacente P(-1,-1) 2110, por un píxel adyacente que se ha procesado y sustituido previamente basándose en una dirección de búsqueda predeterminada, o un píxel adyacente originalmente disponible. Por ejemplo, el sustituidor 2420 sustituye el primer píxel adyacente P(-1,-1) 2110 por el segundo píxel adyacente P(nT-2,-1) 2120, y a continuación sustituye un siguiente píxel adyacente no disponible P(0,-1) por el primer píxel adyacente P(-1,-1) 2110. Puesto que el primer píxel adyacente P(-1,-1) 2110 se sustituye por el segundo píxel adyacente P(nT-2,-1) 2120, el píxel adyacente P(0,-1) tiene el mismo valor que el segundo píxel adyacente P(nT-2,-1) 2120. Si el primer píxel adyacente P(-1,-1) 2110 está originalmente disponible, se omite un procedimiento de sustitución del primer píxel adyacente P (-1,-1) 2110, y por lo tanto el sustituidor 2420 sustituye el valor de píxel del píxel adyacente P(0,-1) por el valor de píxel del primer píxel adyacente P(-1,-1) 2110. Un valor de píxel de un píxel adyacente P(1,-1) se sustituye por un valor de píxel preprocesado del píxel adyacente P(0,-1).
Un procedimiento de sustitución de este tipo se repite para todos los terceros píxeles adyacentes no disponibles. En la Figura 21, no se sustituye el segundo píxel adyacente P(nT-2,-1) 2120 que está disponible de entre los píxeles adyacentes superiores y mantiene su valor de píxel original. Como tal, el sustituidor 2420 sustituye un píxel adyacente superior no disponible por un píxel adyacente que se sustituye previamente o un píxel adyacente originalmente disponible de acuerdo con una dirección de búsqueda predeterminada. En otras palabras, excluyendo el primer píxel adyacente P(-1,-1) 2110 y el píxel adyacente originalmente disponible, el sustituidor 2420 sustituye el tercer píxel adyacente por un píxel adyacente inmediatamente izquierdo si una dirección de búsqueda es de izquierda a derecha. Como tal, cuando existe una pluralidad de terceros píxeles adyacentes en la parte superior del bloque 2100 actual, el sustituidor 2420 sustituye secuencialmente los terceros píxeles adyacentes de izquierda a derecha por un respectivo píxel adyacente izquierdo. En este punto, el píxel adyacente izquierdo usado para sustituir el tercer píxel adyacente puede ser un píxel adyacente previamente sustituido u originalmente disponible. De manera similar, el sustituidor 2420 sustituye el tercer píxel adyacente que no está disponible de entre los píxeles adyacentes izquierdo e inferior izquierdo del bloque 2100 actual por un píxel adyacente inmediatamente superior. Por ejemplo, el sustituidor 2420 sustituye un píxel adyacente no disponible P(-1,0) por el primer píxel adyacente P(-1,-1) 2110. Como se ha descrito anteriormente, si el primer píxel adyacente P(-1,-1) 2110 está originalmente disponible, se omite el procedimiento de sustitución del primer píxel adyacente P(-1,-1) 2110, y por lo tanto el sustituidor 2420 sustituye el píxel adyacente P(-1,0) por el primer píxel adyacente P(-1,-1) 2110. Un valor de píxel de un píxel adyacente P(-1, 1) se sustituye por un valor de píxel procesado previamente del píxel adyacente P(-1, 0). Como el procedimiento de sustitución de los terceros píxeles adyacentes superiores anteriormente descritos, si existe una pluralidad de terceros píxeles adyacentes a la izquierda del bloque 2100 actual, el sustituidor 2420 sustituye secuencialmente los terceros píxeles adyacentes de arriba a abajo con un respectivo píxel adyacente superior. En este punto, el píxel adyacente superior para sustituir el tercer píxel adyacente puede ser un píxel adyacente sustituido previamente u originalmente disponible.
Un procedimiento de sustitución de este tipo se repite para todos los píxeles adyacentes izquierdo e inferior izquierdo que no están disponibles. Un píxel adyacente P(-1, nT+1) 2130 disponible de entre los píxeles adyacentes izquierdos no se sustituye sino que mantiene su valor de píxel original. Como tal, el sustituidor 2420 sustituye el píxel adyacente izquierdo que no está disponible por un píxel adyacente sustituido previamente u originalmente disponible de acuerdo con una dirección de búsqueda predeterminada. En otras palabras, si una dirección de búsqueda es de arriba a abajo, el sustituidor 2420 sustituye el tercer píxel adyacente por un píxel adyacente inmediatamente superior. Como alternativa, si se buscan todos los píxeles adyacentes disponibles en la parte superior e izquierda del bloque 2100 actual, el sustituidor 2420 puede sustituir el primer píxel adyacente P(-1,-1) por un valor promedio de los píxeles adyacentes hallados. Por ejemplo, en la Figura 21, un valor de píxel del primer píxel adyacente P(-1,-1) puede sustituirse por un valor promedio del segundo píxel adyacente P(nT-2,-1) 2120 inicialmente no hallado que esté disponible de entre los píxeles adyacentes superiores y el píxel adyacente P(-1, nT+1) 2130 inicialmente hallado que está disponible de entre los píxeles adyacentes izquierdos. En otras palabras, cuando PRA indica un valor de píxel del segundo píxel adyacente P(nT-2,-1) 2120 y PLB indica un valor de píxel del píxel adyacente P(-1, nT+1) 2130, un valor promedio PT obtenido mediante una ecuación; PT=(PRA PLB 1)>>1 puede sustituir el valor de píxel del primer píxel adyacente P(-1,-1) 2110.
Como alternativa, si se buscan todos los píxeles adyacentes disponibles en la parte superior e inferior del bloque 2100 actual, el sustituidor 2420 puede sustituir el primer píxel adyacente P(-1,-1) 2110 determinando un píxel adyacente disponible más cerca del primer píxel adyacente P(-1,-1) 2110 basándose en una distancia del primer píxel adyacente P(-1,-1) 2110 como el segundo píxel adyacente, en lugar de únicamente usando el píxel adyacente inicialmente hallado de acuerdo con la dirección de búsqueda predeterminada. En la Figura 21, puesto que una distancia entre el primer píxel adyacente P(-1,-1) 2110 y el segundo píxel adyacente P(nT-2,-1) 2120 inicialmente hallados que están disponibles en la parte superior del bloque 2100 actual es (nT-2)-(-1), es decir, nT-1 y una distancia entre el primer píxel adyacente P(-1,-1) 2110 y el píxel adyacente P(-1, nT+1) 2130 inicialmente hallados que están disponibles a la izquierda del bloque 2100 actual es (nT+1)-(-1), es decir, nT+2, el sustituidor 2420 puede sustituir el primer píxel adyacente P(-1,-1) 2110 por el segundo píxel adyacente P(nT-2,-1) 2120.
Como alternativa, para reducir la complejidad de un procedimiento de búsqueda de un segundo píxel adyacente para sustituir el primer píxel adyacente P(-1,-1) 2110, el sustituidor 2420 puede buscar únicamente los píxeles P(-1, 0) y P(0,-1) inmediatamente adyacentes al primer píxel adyacente P(-1,-1) 2110 en lugar de buscar todos los píxeles adyacentes en la parte superior e izquierda del bloque actual 2110, y puede sustituir el primer píxel adyacente P(-1,-1) 2110 por un píxel adyacente disponible de entre los píxeles P(-1, 0) y P(0,-1). Por ejemplo, el sustituidor 2420 puede buscar píxeles adyacentes en un orden de los píxeles P(-1, 0) y P(0,-1) o viceversa, y sustituir el primer píxel adyacente P(-1,-1) 2110 por un valor de píxel de un píxel adyacente disponible que se ha hallado en primer lugar. Si no se halla un píxel adyacente disponible en los píxeles P(-1, 0) y P(0,-1), el sustituidor 2420 puede sustituir el primer píxel adyacente P(-1,-1) 2110 por un valor predeterminado basándose en una profundidad de bits como se ha descrito anteriormente. Si están disponibles ambos de los píxeles P(-1,0) y P(0,-1), el sustituidor 2420 puede sustituir el primer píxel adyacente P(-1,-1) 2110 usando un valor promedio de los píxeles P(-1,0) y P(0,-1).
Mientras tanto, puede cambiarse un orden de búsqueda y una dirección de búsqueda de los píxeles adyacentes superior e izquierdo. En otras palabras, el sustituidor 2420 puede buscar en primer lugar píxeles adyacentes izquierdo e inferior izquierdo del bloque 2100 actual, y si no se halla un píxel adyacente disponible, puede a continuación buscar píxeles adyacentes superior y superior derecho. También, en lugar de buscar un píxel adyacente disponible buscando los píxeles adyacentes izquierdo e inferior izquierdo de arriba a abajo, el sustituidor 2420 puede buscar los píxeles adyacentes izquierdo e inferior izquierdo de abajo a arriba. También, en lugar de buscar un píxel adyacente disponible buscando los píxeles adyacentes superior y superior derecho de izquierda a derecha, el sustituidor 2420 puede buscar los píxeles adyacentes superior y superior derecho de derecha a izquierda.
Como alternativa, el sustituidor 2420 puede sustituir un valor de píxel del primer píxel adyacente P(-1,-1) 2110 por un valor promedio de todos los píxeles adyacentes disponibles de entre los píxeles adyacentes superiores, arriba, derechos, izquierdos y superiores izquierdos de los píxeles adyacentes del bloque 2100 actual, en lugar de usar el píxel disponible adyacente inicialmente hallado de entre los píxeles adyacentes superior o izquierdo para sustituir el primer píxel adyacente P(-1,-1) 2110.
La Figura 22 es un diagrama para describir un procedimiento de sustitución de un píxel adyacente no disponible, de acuerdo con otra realización de la presente invención.
Haciendo referencia a la Figura 22, se supone que un primer píxel adyacente cuya disponibilidad se determina en primer lugar de entre píxeles adyacentes es un píxel adyacente P(-1, 2nT-1) 2210 localizado a la izquierda más inferior del bloque 2200 actual. En otras palabras, el determinador 2410 de disponibilidad determina en primer lugar la disponibilidad del primer píxel adyacente P(-1, 2nT-1) 2210. Si se determina que el primer píxel adyacente P(-1, 2nT-1) 2210 no está disponible, el sustituidor 2420 busca un píxel adyacente disponible de entre los píxeles adyacentes secuencialmente de acuerdo con un orden predeterminado basándose en el primer píxel adyacente P(-1, 2nT-1) 2210, y sustituye el primer píxel adyacente P(-1, 2nT-1) 2210 por un segundo píxel adyacente disponible que se ha hallado inicialmente. Por ejemplo, el sustituidor 2420 busca píxeles adyacentes izquierdo e inferior izquierdo del bloque 2200 actual de acuerdo con una primera dirección de búsqueda de abajo a arriba basándose en el primer píxel adyacente P(-1,2nT-1) 2210, y si el segundo píxel adyacente disponible no se halla en los píxeles adyacentes izquierdo e inferior izquierdo, busca el segundo píxel adyacente disponible buscando píxeles adyacentes superior y superior derecho del bloque 2200 actual de acuerdo con una segunda dirección de búsqueda de izquierda a derecha. El sustituidor 2420 sustituye el primer píxel adyacente P(-1, 2nT-1) 2210 por el segundo píxel adyacente disponible inicialmente hallado de acuerdo con una dirección de búsqueda y un orden de búsqueda de este tipo. Por ejemplo, si un píxel adyacente P(-1, nT-2) 2220 de entre los píxeles adyacentes izquierdos es el segundo píxel adyacente disponible que se ha hallado inicialmente de acuerdo con el orden de búsqueda, el sustituidor 2420 sustituye un valor de píxel del primer píxel adyacente P(-1,2nT-1) 2210 por un valor de píxel del segundo píxel adyacente P(-1, nT-2) 2220.
De manera similar a la realización anteriormente descrita, el sustituidor 2420 sustituye un tercer píxel adyacente no disponible excluyendo el primer píxel adyacente P(-1, 2 nT-1) 2210 por un píxel adyacente previamente procesado y sustituido o un píxel adyacente originalmente disponible basándose en una dirección de búsqueda predeterminada. Por ejemplo, el sustituidor 2420 sustituye el primer píxel adyacente P(-1,2nT-1) 2210 por el segundo píxel adyacente P(-1, nT-2) 2220, y a continuación sustituye un siguiente píxel adyacente no disponible P(-1,2nT-2) por el primer píxel adyacente P(-1, 2nT-1) 2210. Si el primer píxel adyacente P(-1, 2 n T -1) 2210 está originalmente disponible, se omite un procedimiento de sustitución del primer píxel adyacente P(-1,2nT-1) 2210, y por lo tanto el sustituidor 2420 sustituye un valor de píxel del píxel adyacente P(-1,2nT-2) por el valor de píxel del primer píxel adyacente P(-1, 2nT-1) 2210.
Un procedimiento de sustitución de este tipo se repite para todos los terceros píxeles adyacentes no disponibles. En la Figura 22, el segundo píxel adyacente P(-1, nT-2) 2220 y un píxel adyacente P(nT+1,-1) 2230 que están disponibles de entre los píxeles adyacentes izquierdo y superior no se sustituyen y mantienen sus valores de píxel originales. Como tal, el sustituidor 2420 busca los píxeles adyacentes izquierdo y superior del bloque 2200 actual respectivamente de arriba a abajo y de izquierda a derecha basándose en el primer píxel adyacente P(-1, 2nT-1) 2210, y sustituye el tercer píxel adyacente por un píxel adyacente inmediatamente abajo o izquierdo. En otras palabras, el sustituidor 2420 sustituye los terceros píxeles adyacentes no disponibles localizados a la izquierda y abajo izquierda del bloque 2200 actual, excluyendo el primer píxel adyacente P(-1, 2nT-1) 2210 y el píxel adyacente originalmente disponible, con el respectivo píxel adyacente inmediatamente abajo, y sustituye los terceros píxeles adyacentes no disponibles localizados en la parte superior y superior derecha del bloque 2200 actual con un respectivo píxel adyacente inmediatamente izquierdo. Como tal, el sustituidor 2420 respectivamente sustituye una pluralidad de terceros píxeles adyacentes localizados en la izquierda del bloque 2200 actual de abajo a arriba con un respectivo píxel adyacente abajo, y respectivamente sustituye una pluralidad de terceros píxeles adyacentes localizados en la parte superior del bloque 2200 actual de izquierda a derecha con un respectivo píxel adyacente izquierdo. Como se ha descrito anteriormente, el respectivo píxel adyacente inferior o izquierdo usado para sustitución puede ser un píxel adyacente originalmente sustituido previamente o de manera original.
Como se ha descrito anteriormente, puede cambiarse un orden de búsqueda o una dirección de búsqueda de los píxeles adyacentes superior e izquierdo. En otras palabras, el sustituidor 2420 puede buscar en primer lugar los píxeles adyacentes superior y superior derecho del bloque 2200 actual de derecha a izquierda, y si un píxel adyacente no está disponible, puede a continuación buscar los píxeles adyacentes izquierdo e inferior izquierdo del bloque 2200 actual de arriba a abajo para buscar un segundo píxel adyacente para sustituir el primer píxel adyacente P(-1, 2nT-1) 2210.
La Figura 23 es un diagrama para describir un procedimiento de sustitución de un píxel adyacente no disponible, de acuerdo con otra realización de la presente invención.
Haciendo referencia a la Figura 23, se supone que un primer píxel adyacente cuya disponibilidad se determina inicialmente de entre píxeles adyacentes es un píxel adyacente P(2nT-1,-1) 2310 localizado más a la derecha arriba del bloque 2300 actual. En otras palabras, el determinador 2410 de disponibilidad determina en primer lugar la disponibilidad del primer píxel adyacente P(2nT-1,-1) 2310. Si se determina que el primer píxel adyacente P(2nT-1,-1) 2310 no está disponible, el sustituidor 2420 busca un píxel adyacente disponible buscando secuencialmente los píxeles adyacentes de acuerdo con una dirección predeterminada basándose en el primer píxel adyacente P(2nT-1,-1) 2310, y sustituye el primer píxel adyacente P(2nT-1,-1) 2310 por un segundo píxel adyacente disponible inicialmente hallado. Por ejemplo, el sustituidor 2420 busca píxeles adyacentes superior y superior derecho del bloque 2300 actual de acuerdo con una primera dirección de búsqueda de derecha a izquierda basándose en el primer píxel adyacente P(2nT-1,-1) 2310, y si el segundo píxel adyacente no está disponible en los píxeles adyacentes superior y superior derecho, busca el segundo píxel adyacente disponible buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque 2300 actual de arriba a abajo. El sustituidor 2420 sustituye el primer píxel adyacente P(2nT-1,-1) 2310 por el segundo píxel adyacente disponible inicialmente hallado de acuerdo con una dirección de búsqueda y orden de búsqueda de este tipo. Por ejemplo, cuando un píxel adyacente P(nT+1,-1) 2320 de entre los píxeles adyacentes superiores es un segundo píxel adyacente disponible que se halla inicialmente de acuerdo con un orden de búsqueda, el sustituidor 2420 sustituye un valor de píxel del primer píxel adyacente P(2nT-1,-1) 2310 por un valor de píxel del segundo píxel adyacente P(nT+1,-1) 2320.
También, el sustituidor 2420 sustituye un tercer píxel adyacente no disponible restante excluyendo el primer píxel adyacente P(2nT-1,-1) 2310, por un píxel adyacente procesado previamente y sustituido u originalmente disponible basándose en una dirección de búsqueda predeterminada. Por ejemplo, el sustituidor 2420 sustituye el primer píxel adyacente P(2nT-1,-1) 2310 por el segundo píxel adyacente P(nT+1,-1), y a continuación sustituye un siguiente píxel adyacente no disponible P(2nT-2,-1) por el primer píxel adyacente P(2nT-1,-1) 2310.
Si el primer píxel adyacente P(2nT-1,-1) 2310 está originalmente disponible, se omite un procedimiento de sustitución del primer píxel adyacente P(2nT-1,-1) 2310, y por lo tanto el sustituidor 2420 sustituye un valor de píxel del píxel adyacente P(2nT-2,-1) por un valor de píxel original del primer píxel adyacente P(2nT-1,-1) 2310.
Un procedimiento de sustitución de este tipo se repite en todos los terceros píxeles adyacentes no disponibles. En la Figura 23, el segundo píxel adyacente disponible P(nT+1,-1) 2320 y un píxel adyacente disponible P(-1, nT-1) 2330 de entre los píxeles adyacentes izquierdo y superior no se sustituyen y mantienen sus valores de píxel originales. Como tal, el sustituidor 2420 busca los píxeles adyacentes superior e izquierdo del bloque 2300 actual respectivamente de derecha a izquierda y de arriba a abajo basándose en el primer píxel adyacente P(2nT-1,-1) 2310, y sustituye secuencialmente los terceros píxeles adyacentes no disponibles con un respectivo píxel adyacente izquierdo o superior. En otras palabras, el sustituidor 2420 sustituye secuencialmente los terceros píxeles adyacentes no disponibles localizados en la parte superior y superior derecha del bloque 2300 actual con un respectivo píxel adyacente inmediatamente izquierdo, y los terceros píxeles adyacentes no disponibles localizados a la izquierda e izquierda abajo del bloque 2300 actual por un respectivo píxel adyacente inmediatamente por encima, excluyendo el primer píxel adyacente P(2nT-1,-1) 2310 y un píxel adyacente originalmente disponible.
Como se ha descrito anteriormente, puede cambiarse un orden de búsqueda y una dirección de búsqueda de los píxeles adyacentes superior e izquierdo. En otras palabras, el sustituidor 2420 busca en primer lugar los píxeles adyacentes izquierdo e inferior izquierdo del bloque 2300 actual de abajo a arriba, y si un píxel adyacente no está disponible, a continuación busca los píxeles adyacentes superior y superior derecho del bloque 2300 actual de izquierda a derecha para buscar un segundo píxel adyacente para sustituir el primer píxel adyacente P(2nT-1,-1) 2310.
Mientras tanto, si se completa un procedimiento de sustitución de píxeles adyacentes no disponibles de entre los píxeles adyacentes, puede realizarse un procedimiento de filtración de los píxeles adyacentes. Si usar un píxel adyacente filtrado puede determinarse basándose en un tamaño de un bloque actual. Por ejemplo, el píxel adyacente filtrado puede usarse únicamente cuando el tamaño del bloque actual es 16x16.
La Figura 25A es un diagrama de píxeles 2510 y 2520 adyacentes filtrados de un bloque 2500 actual.
Haciendo referencia a la Figura 25A, los X píxeles adyacentes 2510 en la parte superior del bloque 2500 actual y los Y píxeles adyacentes 2520 a la izquierda del bloque 2500 actual pueden filtrarse al menos una vez, y un píxel adyacente filtrado puede usarse para intra predicción del bloque 2500 actual. En este punto, cuando un tamaño del bloque 2500 actual es nTxnT, X puede ser 2nT e Y puede ser 2nT.
Cuando ContextOrg[n] indica X+Y píxeles adyacentes originales en la parte superior e izquierda del bloque 2500 actual que tiene el tamaño de nTxnT, en el que n es un número entero de 0 a X+Y-1, n es 0 en un píxel más inferior adyacente de entre píxeles adyacentes izquierdos, es decir, ContextOrg[0], y n es X+Y-1 en un píxel adyacente más a la derecha de entre píxeles adyacentes superiores, es decir, ContextOrg[X+Y-1].
La Figura 25B es un diagrama de referencia para describir un procedimiento de filtración de un píxel adyacente de un bloque actual.
Haciendo referencia a la Figura 25B, cuando ContextOrg[n] indica píxeles adyacentes en la parte superior e izquierda de un bloque actual, en el que n es un número entero de 0 a 4nT-1, los píxeles adyacentes pueden filtrarse mediante un valor de media ponderada entre los píxeles adyacentes. Cuando ContextFiltered1[n] indican un píxel adyacente filtrado una vez, pueden obtenerse píxeles adyacentes filtrados aplicando un filtro de 3 derivaciones a los píxeles adyacentes ContextOrg[n] de acuerdo con una ecuación ContextFiltered1[n]=(ContextOrg[n-1]+2*ContextOrg[n]+ContextOrg[n+1])/4. De manera similar, un píxel adyacente filtrado dos veces ContextFiltered2[n] puede generarse calculando de nuevo un valor de media ponderada entre los píxeles adyacentes filtrados una vez ContextFiltered1[n]. Por ejemplo, los píxeles adyacentes filtrados aplicando un filtro de 3 derivaciones a los píxeles adyacentes filtrados ContextFiltered1[n] pueden generarse de acuerdo con una ecuación ContextFiltered2[n]=(ContextFiltered1[n-1]+2*ContextFiltered1[n]+ContextFiltered1[n+1])/4. Puede variar un filtro usado para filtrar y un número de veces que se realiza filtración.
La Figura 26 es un diagrama de flujo que ilustra un procedimiento de intra predicción de un vídeo, de acuerdo con una realización de la presente invención.
En la operación 2610, el determinador 2410 de disponibilidad determina la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual de entre bloques obtenidos dividiendo una instantánea que forma un vídeo en una estructura jerárquica. Como se ha descrito anteriormente, si existe un píxel adyacente incluido en un bloque adyacente de un corte diferente de un corte que incluye un bloque adyacente inter-previsto o el bloque actual de entre el número predeterminado de píxeles adyacentes, el determinador 2410 de disponibilidad determina el correspondiente píxel adyacente como un píxel adyacente no disponible.
En la operación 2620, si un primer píxel adyacente no está disponible en el número predeterminado de píxeles adyacentes, el sustituidor 2420 busca un segundo píxel adyacente disponible buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada basándose en el primer píxel adyacente. En la operación 2630, el sustituidor 2420 sustituye un valor de píxel del primer píxel adyacente por un valor de píxel del segundo píxel adyacente. Si está disponible el primer píxel adyacente en una localización predeterminada el primer píxel adyacente se usa como un píxel de referencia para la intra predicción del bloque actual, y se omite un procedimiento de sustitución del primer píxel adyacente. Como tal, cuando el primer píxel adyacente no está disponible y por lo tanto se sustituye por el segundo píxel adyacente o está disponible y por lo tanto se omite el procedimiento de sustitución, se realiza un procedimiento de sustitución de un tercer píxel adyacente no disponible de entre los píxeles adyacentes.
Como se ha descrito anteriormente, el sustituidor 2420 de acuerdo con una realización determina la disponibilidad de un primer píxel adyacente localizado en una esquina izquierda más superior del bloque actual, si el primer píxel adyacente no está disponible, busca el segundo píxel adyacente disponible buscando píxeles adyacentes superior y superior derecho de izquierda a derecha basándose en el primer píxel adyacente, y si el segundo píxel adyacente no está disponible en los píxeles adyacentes superior y superior derecho, busca el segundo píxel adyacente disponible buscando píxeles adyacentes izquierdo e inferior izquierdo de arriba a abajo basándose en el primer píxel adyacente. El sustituidor 2420 determina un píxel adyacente disponible inicialmente hallado de acuerdo con una dirección de búsqueda y un orden de búsqueda de este tipo como el segundo píxel adyacente. A continuación, el sustituidor 2420 sustituye el valor de píxel del primer píxel adyacente por el valor de píxel del segundo píxel adyacente. También, el sustituidor 2420 sustituye al menos un tercer píxel adyacente no disponible localizado a la izquierda e izquierda abajo del bloque actual por un píxel adyacente inmediatamente superior, excluyendo el primer píxel adyacente y un píxel adyacente originalmente disponible, y sustituye al menos un tercer píxel adyacente no disponible localizado en la parte superior y superior derecha del bloque actual por un píxel adyacente inmediatamente izquierdo. En otras palabras, el sustituidor 2420 realiza un procedimiento de sustitución de los terceros píxeles adyacentes no disponibles en otras localizaciones, excluyendo el primer píxel adyacente en una localización predeterminada, usando un píxel inmediatamente adyacente en una dirección predeterminada.
El sustituidor 2420 de acuerdo con otra realización determina la disponibilidad de un primer píxel adyacente localizado en la izquierda más inferior del bloque actual, y si el primer píxel adyacente no está disponible, determina un píxel adyacente disponible inicialmente hallado como el segundo píxel adyacente buscando los píxeles adyacentes izquierdo e inferior izquierdo de abajo a arriba basándose en el primer píxel adyacente. Si el segundo píxel adyacente no está disponible en los píxeles adyacentes izquierdo e inferior izquierdo, el sustituidor 2420 determina un píxel adyacente disponible inicialmente hallado como el segundo píxel adyacente buscando los píxeles adyacentes superior y superior derecho de izquierda a derecha. También, el sustituidor 2420 sustituye el valor de píxel del primer píxel adyacente por el valor de píxel del segundo píxel adyacente. También, el sustituidor 2420 sustituye secuencialmente los terceros píxeles adyacentes no disponibles en la izquierda e izquierda abajo por el respectivo píxel adyacente inmediatamente abajo, y los terceros píxeles adyacentes no disponibles en la parte superior y superior derecha por el respectivo píxel adyacente inmediatamente izquierda, excluyendo el primer píxel adyacente y el píxel adyacente originalmente disponible. En otras palabras, el sustituidor 2420 realiza un procedimiento de sustitución de los terceros píxeles adyacentes no disponibles en otras localizaciones por un píxel inmediatamente adyacente en una dirección predeterminada, excluyendo el primer píxel adyacente en la localización predeterminada.
El sustituidor 2420 de acuerdo con otra realización determina la disponibilidad de un primer píxel adyacente localizado más a la derecha arriba del bloque actual, y si el primer píxel adyacente no está disponible, determina un píxel adyacente disponible inicialmente hallado como el segundo píxel adyacente buscando píxeles adyacentes superior y superior derecho de derecha a izquierda basándose en el primer píxel adyacente. Si el segundo píxel adyacente no está disponible en los píxeles adyacentes superior y superior derecha, el sustituidor 2420 determina un píxel adyacente disponible inicialmente hallado como el segundo píxel adyacente buscando píxeles adyacentes izquierdo e inferior izquierdo de arriba a abajo. A continuación, el sustituidor 2420 sustituye un valor de píxel del primer píxel adyacente por un valor de píxel del segundo píxel adyacente. También, el sustituidor 2420 sustituye al menos un tercer píxel adyacente no disponible localizado en la parte superior y superior derecha del bloque actual por un píxel adyacente inmediatamente derecho, y sustituye al menos un tercer píxel adyacente no disponible localizado a la izquierda e izquierda abajo del bloque actual por un píxel adyacente inmediatamente superior, excluyendo el primer píxel adyacente y un píxel adyacente originalmente disponible. En otras palabras, el sustituidor 2420 realiza un procedimiento de sustitución de los terceros píxeles adyacentes no disponibles en otras localizaciones, excluyendo el primer píxel adyacente en una localización predeterminada, por un píxel inmediatamente adyacente en una dirección predeterminada. En la operación 2640, el realizador 2430 de intra predicción realiza intra predicción en el bloque actual usando los píxeles adyacentes originales y los píxeles adyacentes sustituidos de acuerdo con la disponibilidad.
Como se ha descrito anteriormente, la complejidad de un procedimiento de determinación de un píxel de referencia usado para intra predicción puede reducirse buscando y sustituyendo el píxel adyacente disponible, basándose en una dirección de búsqueda predeterminada, por un píxel adyacente no disponible.
Como los programas para realizar el procedimiento de inter predicción descritos con referencia a las Figuras 1 a 26 se almacenan en el medio de grabación legible por ordenador, un sistema informático independiente puede realizar fácilmente operaciones de acuerdo con los programas almacenados en el medio de grabación legible por ordenador.
Un medio de grabación legible por ordenador que almacena un programa, por ejemplo, un disco 26000, de acuerdo con una realización de la presente invención se describirá ahora en detalle.
La Figura 27A es un diagrama de una estructura física del disco 26000 en el que se almacena un programa, de acuerdo con una realización de la presente invención. El disco 26000, que es un medio de almacenamiento, puede ser un disco duro, un disco de memoria de solo lectura de disco compacto (CD-ROM), un disco Blu-ray, o un disco versátil digital (DVD). El disco 26000 incluye una pluralidad de pistas concéntricas Tr que se divide 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, puede asignarse y almacenarse un programa que ejecuta el procedimiento de inter predicción anteriormente descrito.
Un sistema informático realizado usando un medio de almacenamiento que almacena un programa para ejecutar el procedimiento de intra predicción como se ha descrito anteriormente se describirá ahora con referencia a la Figura 27B.
La Figura 27B es un diagrama que ilustra una unidad 26800 de disco para grabar y leer un programa usando el disco 26000. Un sistema 27000 informático puede almacenar un programa que ejecuta un procedimiento de intra predicción de acuerdo con una realización de la presente invención, en el disco 26000 mediante la unidad 26800 de disco. Para ejecutar el programa almacenado en el disco 26000 en el sistema 27000 informático, el programa puede leerse desde el disco 26000 y transmitirse al sistema 26700 informático usando la unidad 27000 de disco.
El programa que ejecuta un procedimiento de intra predicción de acuerdo con una realización de la presente invención puede almacenarse no únicamente en el disco 26000 ilustrado en la Figura 27A o 27B sino también en una tarjeta de memoria, un casete de ROM o una unidad de estado sólido (SSD).
Un sistema al que se aplica el procedimiento de intra predicción anteriormente descrito se describirá a continuación.
La Figura 28 es un diagrama de una estructura global de un sistema 11000 de suministro de contenido para proporcionar un servicio de distribución de contenido. Un área de servicio de un sistema de comunicación se divide en células con tamaño predeterminado, y las estaciones 11700, 11800, 11900, y 12000 base inalámbricas se instalan en estas células, respectivamente.
El sistema 11000 de suministro de contenido incluye una pluralidad de dispositivos independientes. Por ejemplo, la pluralidad de dispositivos independientes, tales como un ordenador 12100, un asistente digital personal (PDA) 12200, una cámara 12300 de vídeo, y un teléfono 12500 móvil, están conectados a la Internet 11100 mediante un proveedor 11200 de servicio de Internet, una red 11400 de comunicación, y las estaciones 11700, 11800, 11900, y 12000 base inalámbricas.
Sin embargo, el sistema 11000 de suministro de contenido no está limitado como se ilustra en la Figura 28, y los dispositivos pueden conectarse selectivamente al mismo. La pluralidad de dispositivos independientes pueden conectarse directamente a la red 11400 de comunicación, no mediante las estaciones 11700, 11800, 11900, y 12000 base inalámbricas.
La cámara 12300 de vídeo es un dispositivo de formación de imágenes, por ejemplo, una cámara de vídeo digital, que puede capturar imágenes de vídeo. El teléfono 12500 móvil puede emplear al menos un procedimiento de comunicación de entre diversos protocolos, por ejemplo, Comunicaciones Digitales Personales (PDC), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Sistema Global para Comunicación Móvil (GSM), y Sistema Móvil Personal (PHS).
La cámara 12300 de vídeo puede estar conectada a un servidor 11300 de envío por flujo continuo mediante la estación 11900 base inalámbrica y la red 11400 de comunicación. El servidor 11300 de flujo continuo permite que se envíe por flujo continuo contenido recibido de un usuario mediante la cámara 12300 de vídeo mediante una difusión en tiempo real. El contenido recibido de la cámara 12300 de vídeo puede codificarse usando la cámara 12300 de vídeo o el servidor 11300 de flujo continuo. Los datos de vídeo capturados por la cámara 12300 de vídeo pueden transmitirse al servidor 11300 de flujo continuo mediante el ordenador 12100.
Los datos de vídeo capturados por una cámara 12600 pueden transmitirse también al servidor 11300 de flujo continuo mediante el ordenador 12100. La cámara 12600 es un dispositivo de formación de imágenes que puede capturar tanto imágenes fijas como imágenes de vídeo, similar a una cámara digital. Los datos de vídeo capturados por la cámara 12600 pueden conectarse usando la cámara 12600 o el ordenador 12100. El software que realiza codificación y decodificación de vídeo puede almacenarse en un medio de grabación legible por ordenador, por ejemplo, un disco de CD-ROM, un disco flexible, una unidad de disco duro, un SSD, o una tarjeta de memoria, que puede ser accesible por el ordenador 12100.
Si los datos de vídeo se capturan por una cámara integrada en el teléfono 12500 móvil, los datos de vídeo pueden recibirse del teléfono 12500 móvil.
Los datos de vídeo pueden codificarse también por un sistema de circuito integrado a gran escala (LSI) instalado en la cámara 12300 de vídeo, el teléfono 12500 móvil, o la cámara 12600.
El sistema 11000 de suministro de contenido puede codificar datos de contenido grabados por un usuario que usa la cámara 12300 de vídeo, la cámara 12600, el teléfono 12500 móvil, u otro dispositivo de formación de imágenes, por ejemplo, contenido grabado durante un concierto, y transmitir los datos de contenido codificados al servidor 11300 de flujo continuo. El servidor 11300 de flujo continuo puede transmitir los datos de contenido codificados en un tipo de un contenido de envío por flujo continuo a otros clientes que solicitan los datos de contenido.
Los clientes son dispositivos que pueden decodificar los datos de contenido codificados, por ejemplo, el ordenador 12100, el PDA 12200, la cámara 12300 de vídeo, o el teléfono 12500 móvil. Por lo tanto, el sistema 11000 de suministro de contenido permite que los clientes reciban y reproduzcan los datos de contenido codificados. También, el sistema 11000 de suministro de contenido permite que los clientes reciban los datos de contenido codificados y decodifique y reproduzca los datos de contenido codificados en tiempo real, posibilitando de esta manera difusión personal.
Las operaciones de codificación y decodificación de la pluralidad de dispositivos independientes incluidos en el sistema 11000 de suministro de contenido pueden ser similares a un procedimiento de intra predicción de acuerdo con una realización de la presente invención.
El teléfono 12500 móvil incluido en el sistema 11000 de suministro de contenido de acuerdo con una realización ejemplar de la presente invención se describirá a continuación en mayor detalle con referencia a las Figuras 29 y 30.
La Figura 29 ilustra una estructura externa del teléfono 12500 móvil al que se aplica un procedimiento de intra predicción, de acuerdo con una realización de la presente invención. El teléfono 12500 móvil puede ser un teléfono inteligente, las funciones del cual no están limitadas y un gran número de las funciones del cual pueden cambiarse o ampliarse.
El teléfono 12500 móvil incluye una antena 12510 interna mediante la que puede intercambiarse una señal de frecuencia de radio (RF) con la estación 12000 base inalámbrica de la FIG. 21, e incluye una pantalla 12520 de visualización para visualizar imágenes capturadas por una cámara 12530 o imágenes que se reciben mediante la antena 12510 y decodificarse, por ejemplo, una pantalla de cristal líquido (LCD) o una pantalla de diodo de emisión de luz orgánica (OLED). El teléfono 12500 móvil incluye un panel 12540 de operación que incluye un botón de control y un panel táctil. Si la pantalla 12520 de visualización es una pantalla táctil, el panel 12540 de operación incluye adicionalmente un panel táctil de la pantalla 12520 de visualización. El teléfono 12500 móvil incluye un altavoz 12580 para emitir voz y sonido u otro tipo de unidad de salida de sonido, y un micrófono 12550 para emitir voz y sonido u otro tipo de unidad de entrada de sonido. El teléfono 12500 móvil incluye adicionalmente la cámara 12530, tal como una cámara de dispositivo de carga acoplada (CCD), para capturar vídeos e imágenes fijas. El teléfono 12500 móvil puede incluir adicionalmente un medio 12570 de almacenamiento para almacenar datos codificados/decodificados, por ejemplo, imágenes de vídeo o fijas capturadas por la cámara 12530, recibidas mediante correo electrónico, u obtenidas de acuerdo con diversas maneras; y un intervalo 12560 mediante el cual el medio 12570 de almacenamiento se carga en el teléfono 12500 móvil. El medio 12570 de almacenamiento puede ser una memoria flash, por ejemplo, una tarjeta secure digital (SD) o una memoria de solo lectura programable eléctricamente borrable (EEPROM) incluida en una carcasa de plástico.
La Figura 30 ilustra una estructura interna del teléfono 12500 móvil de acuerdo con una realización de la presente invención. Para controlar partes de manera sistemática del teléfono 12500 móvil que incluye la pantalla 12520 de visualización y el panel 12540 de operación, un circuito 12700 de fuente de alimentación, un controlador 12640 de entrada de operación, una unidad 12720 de codificación de imagen, una interfaz 12630 de cámara, un controlador 12620 de LCD, una unidad 12690 de decodificación de imagen, un multiplexor/demultiplexor 12680, una unidad 12670 de grabación/lectura, una unidad 12660 de modulación/demodulación, y un procesador 12650 de sonido están conectados a un controlador 12710 central mediante un bus 12730 de sincronización.
Si un usuario opera un botón de alimentación y establece desde un 'estado de apagado a un estado de 'encendido', el circuito 12700 de fuente de alimentación suministra potencia a todas las partes del teléfono 12500 móvil de un conjunto de baterías, estableciendo de esta manera el teléfono 12500 móvil en un modo de operación.
El controlador 12710 central incluye una unidad de procesamiento central (CPU), una ROM, y una RAM.
Aunque el teléfono 12500 móvil transmite datos de comunicación al exterior, se genera una señal digital por el teléfono 12500 móvil bajo el control del controlador 12710 central. Por ejemplo, el procesador 12650 de sonido puede generar una señal de sonido digital, la unidad 12720 de codificación de imagen puede generar una señal de imagen digital, y pueden generarse datos de texto de un mensaje mediante el panel 12540 de operación y el controlador 12640 de entrada de operación. Cuando se transmite una señal digital a la unidad 12660 de modulación/demodulación bajo el control del controlador 12710 central, la unidad 12660 de modulación/demodulación modula una banda de frecuencia de la señal digital, y un circuito 12610 de comunicación realiza conversión de digital a analógico (DAC) y conversión de frecuencia en la señal de sonido digital de banda modulada de frecuencia. Una señal de transmisión emitida desde el circuito 12610 de comunicación puede transmitirse a una estación base de comunicación de voz o la estación 12000 base inalámbrica mediante la antena 12510.
Por ejemplo, cuando el teléfono 12500 móvil está en un modo de conversación, una señal de sonido obtenida mediante el micrófono 12550 se transforma en una señal de sonido digital por el procesador 12650 de sonido, bajo el control del controlador 12710 central. La señal de sonido digital puede transformarse en una señal de transformación mediante la unidad 12660 de modulación/demodulación y el circuito 12610 de comunicación, y puede transmitirse mediante la antena 12510.
Cuando un mensaje de texto, por ejemplo, correo electrónico, se transmite en un modo de comunicación de datos, se introducen datos de texto del mensaje de texto mediante el panel 12540 de operación y se transmiten al controlador 12610 central mediante el controlador 12640 de entrada de operación. Bajo el control del controlador 12610 central, los datos de texto se transforman en una señal de transmisión mediante la unidad 12660 de modulación/demodulación y el circuito 12610 de comunicación y se transmite a la estación 12000 base inalámbrica mediante la antena 12510.
Para transmitir datos de imagen en el modo de comunicación de datos, los datos de imagen capturados por la cámara 12530 se proporcionan a la unidad 12720 de codificación de imagen mediante la interfaz 12630 de cámara. Los datos de la imagen capturada pueden visualizarse directamente en la pantalla 12520 de visualización mediante la interfaz 12630 de cámara y el controlador 12620 de LCD.
Una estructura de la unidad 12720 de codificación de imagen puede corresponder a la del aparato 100 de codificación de vídeo anteriormente descrito. La unidad 12720 de codificación de imagen puede transformar los datos de imagen recibidos de la cámara 12530 en datos de imagen comprimidos y codificados de acuerdo con un procedimiento de codificación de vídeo empleado por el aparato 100 de codificación de vídeo o el codificador 400 de imagen anteriormente descritos, y a continuación emitir los datos de imagen codificados al multiplexor/demultiplexor 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 12500 móvil puede transformarse en datos de sonido digital mediante el procesador 12650 de sonido, y los datos de sonido digital pueden transmitirse al multiplexor/demultiplexor 12680.
El multiplexor/demultiplexor 12680 multiplexa los datos de imagen codificados recibidos de la unidad 12720 de codificación de imagen, junto con los datos de sonido recibidos del procesador 12650 de sonido. Un resultado de multiplexación de los datos puede transformarse en una señal de transmisión mediante la unidad 12660 de modulación/demodulación y el circuito 12610 de comunicación, y puede a continuación transmitirse mediante la antena 12510.
Aunque el teléfono 12500 móvil recibe datos de comunicación desde el exterior, se realiza recuperación de frecuencia y ADC en una señal recibida mediante la antena 12510 para transformar la señal en una señal digital. La unidad 12660 de modulación/demodulación modula una banda de frecuencia de la señal digital. La señal digital de banda de frecuencia modulada se transmite a la unidad 12690 de decodificación de vídeo, al procesador 12650 de sonido, o al controlador 12620 de LCD, de acuerdo con el tipo de la señal digital.
En el modo de conversación, el teléfono 12500 móvil amplifica una señal recibida mediante la antena 12510, y obtiene una señal de sonido digital realizando conversión de frecuencia y ADC en la señal amplificada. Una señal de sonido digital recibida se transforma en una señal de sonido analógica mediante la unidad 12660 de modulación/demodulación y el procesador 12650 de sonido, y la señal de sonido analógica se emite mediante el altavoz 12580, bajo el control del controlador 12710 central.
Cuando se está en el modo de comunicación de datos, se reciben datos de un fichero de vídeo accedido en un sitio web de Internet, una señal recibida de la estación 12000 base inalámbrica mediante la antena 12510 se emite como datos multiplexados mediante la unidad 12660 de modulación/demodulación, y los datos multiplexados se transmiten al multiplexor/demultiplexor 12680.
Para decodificar los datos multiplexados recibidos mediante la antena 12510, el multiplexor/demultiplexor 12680 demultiplexa los datos multiplexados en un flujo de datos de vídeo codificados y un flujo de datos de audio codificados. Mediante el bus 12730 de sincronización, el flujo de datos de vídeo codificado y el flujo de datos de audio codificado se proporcionan a la unidad 12690 de decodificación de vídeo y al procesador 12650 de sonido, respectivamente.
Una estructura de la unidad 12690 de decodificación de imagen puede corresponder a la del aparato 200 de codificación de vídeo anteriormente descrito. La unidad 12690 de decodificación de imagen puede decodificar los datos de vídeo codificados para obtener datos de vídeo restaurados y proporcionar los datos de vídeo restaurados a la pantalla 12520 de visualización mediante el controlador 12620 de LCD de acuerdo con un procedimiento de decodificación de vídeo empleado por el aparato 200 de decodificación de vídeo o el decodificador 500 de imagen anteriormente descrito.
Por lo tanto, los datos del fichero de vídeo accedidos en el sitio web de Internet pueden visualizarse en la pantalla 12520 de visualización. Al mismo tiempo, el procesador 12650 de sonido puede transformar datos de audio en una señal de sonido analógica, y proporcionar la señal de sonido analógica al altavoz 12580. Por lo tanto, los datos de audio contenidos en el fichero de vídeo accedido en el sitio web de Internet pueden también reproducirse mediante el altavoz 12580.
El teléfono 12500 móvil u otro tipo de terminal de comunicación puede ser un terminal transceptor que incluye tanto un aparato de codificación de vídeo como un aparato de decodificación de vídeo de acuerdo con la presente invención, puede ser un terminal transceptor que incluye únicamente el aparato de codificación de vídeo de acuerdo con la presente invención, o puede ser un terminal transceptor que incluye únicamente el aparato de decodificación de vídeo de acuerdo con la presente invención.
Un sistema de comunicación de acuerdo con la presente invención no está limitado al sistema de comunicación anteriormente descrito con referencia a la Figura 28. Por ejemplo, la Figura 31 ilustra un sistema de difusión digital que emplea un sistema de comunicación, de acuerdo con una realización de la presente invención. El sistema de difusión digital de la Figura 31 puede recibir una difusión digital transmitida mediante un satélite o una red terrestre usando un aparato de codificación de vídeo y un aparato de decodificación de vídeo de acuerdo con una realización de la presente invención.
Específicamente, una estación 12890 de difusión transmite un flujo de datos de vídeo a un satélite de comunicación o a un satélite 12900 de difusión usando ondas de radio. El satélite 12900 de difusión transmite una señal de difusión, y la señal de difusión se transmite a un receptor de difusión de satélite mediante una antena 12860 doméstica. En cada hogar, un flujo de vídeo codificado puede decodificase y reproducirse por un receptor 12810 de TV, un decodificador de salón 12870, u otro dispositivo.
Cuando un aparato de decodificación de vídeo de acuerdo con una realización de la presente invención se implementa en un aparato 12830 de reproducción, el aparato 12830 de reproducción puede analizar y decodificar un flujo de vídeo codificado grabado en un medio 12820 de almacenamiento, tal como un disco o una tarjeta de memoria para restaurar señales digitales. Por lo tanto, la señal de vídeo restaurada puede reproducirse, por ejemplo, en un monitor 12840.
En el decodificador de salón 12870 conectado a la antena 12860 para una difusión satélite/terrestre o una antena 12850 de cable para recibir una difusión de televisión de cable (TV), puede instalarse un aparato de decodificación de vídeo de acuerdo una realización de con la presente invención. Los datos emitidos del decodificador de salón 12870 pueden reproducirse también en un monitor 12880 de TV.
Como otro ejemplo, un aparato de decodificación de vídeo de acuerdo con una realización de la presente invención puede instalarse en el receptor 12810 de TV en lugar del decodificador de salón 12870.
Un automóvil 12920 que tiene una antena 12910 apropiada puede recibir una señal transmitida desde el satélite 12900 o la estación 11700 base inalámbrica de la Figura 21. Un vídeo decodificado puede reproducirse en una pantalla de visualización de un sistema 12930 de navegación de automóvil instalado en el automóvil 12920.
Una señal de vídeo puede codificarse por un aparato de codificación de vídeo de acuerdo con una realización de la presente invención y puede a continuación almacenarse en un medio de almacenamiento. Específicamente, una señal de imagen puede almacenarse en un disco 12960 de DVD por un grabador de DVD o puede almacenarse en un disco duro por un grabador 12950 de disco duro. Como otro ejemplo, la señal de vídeo puede almacenarse en una tarjeta 12970 SD. Si el grabador 12950 de disco duro incluye un aparato de decodificación de vídeo de acuerdo con una realización de la presente invención, una señal de vídeo grabada en el disco 12960 de DVD, la tarjeta 12970 SD, u otro medio de almacenamiento puede reproducirse en el monitor 12880 de TV.
El sistema 12930 de navegación de automóvil puede no incluir la cámara 12530, la interfaz 12630 de cámara, y la unidad 12720 de codificación de imagen de la Figura 30. Por ejemplo, el ordenador 12100 y el receptor 12810 de TV pueden no estar incluidos en la cámara 12530, la interfaz 12630 de cámara, y la unidad 12720 de codificación de imagen de la Figura 30.
La Figura 32 es un diagrama que ilustra una estructura de red de un sistema de informática en la nube que usa un aparato de codificación de vídeo y un aparato de decodificación de vídeo de acuerdo con una realización de la presente invención.
El sistema informático en la nube puede incluir un servidor 14000 de informática en la nube, una base de datos (BD) 14100 de usuarios, una pluralidad de recursos 14200 informáticos, y un terminal de usuario.
El sistema informático en la nube proporciona un servicio de externalización bajo demanda de la pluralidad de recursos 14200 informáticos mediante una red de comunicación de datos, por ejemplo, la Internet, en respuesta a una solicitud del terminal de usuario. Bajo un entorno informático en la nube, un proveedor de servicio proporciona a los usuarios con servicios deseados combinando recursos informáticos en centros de datos localizados en localizaciones físicamente diferentes usando tecnología de virtualización. Un usuario de servicio no tiene que instalar recursos informáticos, por ejemplo, una aplicación, un almacenamiento, un sistema operativo (SO), y seguridad, en su propio terminal para usarlos, sino que puede seleccionar y usar servicios deseados de entre servicios en un espacio virtual generado a través de la tecnología de virtualización, en un punto en el tiempo deseado.
Un terminal de usuario de un usuario de servicio especificado está conectado al servidor 14000 de cálculo en la nube mediante una red de comunicación de datos que incluye la Internet y una red de telecomunicación móvil. Los terminales de usuario pueden proporcionarse a servicios de informática en la nube, y particularmente a servicios de reproducción de vídeo, desde el servidor 14000 de cálculo en la nube. Los terminales de usuario pueden ser diversos tipos de dispositivos electrónicos que pueden estar conectados a la Internet, por ejemplo, un PC 14300 de sobremesa, una TV 14400 inteligente, un teléfono 14500 inteligente, un ordenador 14600 portátil, un reproductor multimedia portátil (PMP) 14700, un PC 14800 de tableta y similares.
El servidor 14000 de cálculo en la nube puede combinar la pluralidad de recursos 14200 informáticos distribuidos en una red en la nube y proporcionar a los terminales de usuario con un resultado de combinación. La pluralidad de recursos 14200 informáticos puede incluir diversos servicios de datos, y pueden incluir datos cargados de terminales de usuario. Como se ha descrito anteriormente, el servidor 14000 de cálculo en la nube puede proporcionar a los terminales de usuario con servicios deseados combinando la base de datos de vídeo distribuida en regiones diferentes de acuerdo con la tecnología de virtualización.
La información de usuario acerca de usuarios que se han abonado a un servicio de informática en la nube se almacena en la BD 14100 de usuarios. La información de usuario puede incluir información de registro, direcciones, nombres e información de crédito personal de los usuarios. La información de usuario puede incluir adicionalmente índices de vídeos. En este punto, los índices pueden incluir una lista de videos que ya se han reproducido, una lista de videos que se están reproduciendo, un punto de pausa de un vídeo que se está reproduciendo y similares.
La información acerca de un vídeo almacenado en la BD 14100 de usuarios puede compartirse entre dispositivos de usuario. Por ejemplo, cuando se proporciona un servicio de vídeo al ordenador 14600 portátil en respuesta a una solicitud del ordenador 14600 portátil, un historial de reproducción del servicio de vídeo se almacena en la BD 14100 de usuarios. Cuando se recibe una solicitud para reproducir este servicio de vídeo del teléfono 14500 inteligente, el servidor 14000 de cálculo en la nube busca y reproduce este servicio de vídeo, basándose en la BD 14100 de usuarios. Cuando el teléfono 14500 inteligente recibe un flujo de datos de vídeo del servidor 14000 de cálculo en la nube, un procedimiento de reproducción de vídeo decodificando el flujo de datos de vídeo es similar a una operación del teléfono 12500 móvil anteriormente descrito con referencia a la Figura 30.
El servidor 14000 de cálculo en la nube puede hacer referencia a un historial de reproducción de un servicio de vídeo deseado, almacenado en la BD 14100 de usuarios. Por ejemplo, el servidor 14000 de cálculo en la nube recibe una solicitud para reproducir un vídeo almacenado en la BD 14100 de usuarios, de un terminal de usuario. Si este vídeo se está reproduciendo, a continuación un procedimiento de envío por flujo continuo de este vídeo, realizado por el servidor 14000, de cálculo en la nube, puede variar de acuerdo con la solicitud del terminal de usuario, es decir, de acuerdo con si el vídeo se reproducirá, empezando desde un inicio del mismo o un punto de pausa del mismo. Por ejemplo, si el terminal de usuario solicita reproducir el vídeo, empezando desde el inicio del mismo, el servidor 14000 de cálculo en la nube transmite datos de envío por flujo continuo del vídeo empezando desde un primer fotograma del mismo al terminal de usuario. Si el terminal de usuario solicita reproducir el vídeo, empezando desde el punto de pausa del mismo, el servidor 14000 de cálculo en la nube transmite datos de envío por flujo continuo del vídeo empezando desde un fotograma que corresponde al punto de pausa, al terminal de usuario.
En este caso, el terminal de usuario puede incluir un aparato de decodificación de vídeo como se ha descrito anteriormente. Como otro ejemplo, el terminal de usuario puede incluir un aparato de codificación de vídeo como se ha descrito anteriormente. Como alternativa, el terminal de usuario puede incluir tanto el aparato de decodificación de vídeo como el aparato de codificación de vídeo como se ha descrito anteriormente.
Diversas aplicaciones de un procedimiento de codificación de vídeo, un procedimiento de decodificación de vídeo, un aparato de codificación de vídeo, y un aparato de decodificación de vídeo de acuerdo con las realizaciones de la presente invención anteriormente descritas se han descrito anteriormente con referencia a las Figuras 27A a 32. Sin embargo, los procedimientos de almacenamiento del procedimiento de codificación de vídeo y el procedimiento de decodificación de vídeo en un medio de almacenamiento o los procedimientos de implementación del aparato de codificación de vídeo y el aparato de decodificación de vídeo en un dispositivo, de acuerdo con diversas realizaciones de la presente invención, no están limitados a las realizaciones anteriormente descritas con referencia a las Figuras 27A a 32.
De acuerdo con una o más de las realizaciones de la presente invención, la complejidad de un procedimiento de determinación de un píxel de referencia usado para intra predicción puede reducirse buscando y sustituyendo el píxel adyacente disponible, basándose en una dirección de búsqueda predeterminada, con un píxel adyacente no disponible.
Se definen aspectos adicionales o realizaciones o ejemplos, útiles para el entendimiento, de los siguientes párrafos numerados:
Párrafo 1. Un procedimiento de intra predicción de un vídeo, comprendiendo el procedimiento:
determinar la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual de entre bloques obtenidos dividiendo una instantánea que forma el vídeo de acuerdo con una estructura jerárquica;
si un primer píxel adyacente no está disponible en el número predeterminado de píxeles adyacentes, buscar un segundo píxel adyacente que está disponible buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada basándose en el primer píxel adyacente;
sustituir un valor de píxel del primer píxel adyacente por un valor de píxel de un segundo píxel adyacente hallado; y realizar intra predicción en el bloque actual usando el número predeterminado de píxeles adyacentes que comprende el primer píxel adyacente sustituido.
Párrafo 2. El procedimiento del párrafo 1, en el que la determinación de la disponibilidad comprende determinar píxeles adyacentes, que están incluidos en un bloque adyacente que está inter previsto o que pertenece a un corte diferente de un corte al que pertenece el bloque actual, para no estar disponibles.
Párrafo 3. El procedimiento del párrafo 1, en el que el primer píxel adyacente es un píxel en una localización predeterminada de entre el número predeterminado de píxeles adyacentes, y
la búsqueda para el segundo píxel adyacente comprende determinar un píxel adyacente disponible, que puede hallar inicialmente buscando el número predeterminado de píxeles adyacentes en la dirección predeterminada basándose en el primer píxel adyacente, para que sea el segundo píxel adyacente.
Párrafo 4. El procedimiento del párrafo 3, en el que el primer píxel adyacente es un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y
la búsqueda para el segundo píxel adyacente comprende buscar el segundo píxel adyacente buscando píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes superior y superior derecho del bloque actual, buscar píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente.
Párrafo 5. El procedimiento del párrafo 3, en el que el primer píxel adyacente es un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y
la búsqueda para el segundo píxel adyacente comprende buscar el segundo píxel adyacente buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes izquierdo e inferior izquierdo del bloque actual, buscar píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente.
Párrafo 6. El procedimiento del párrafo 3, en el que el primer píxel adyacente es un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y
la búsqueda para el segundo píxel adyacente comprende:
determinar un píxel adyacente izquierdo disponible buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente, y determinar un píxel adyacente superior disponible buscando píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente; y
sustituir el valor de píxel del primer píxel adyacente usando un valor promedio del píxel adyacente izquierdo disponible y el píxel adyacente superior disponible.
Párrafo 7. El procedimiento del párrafo 3, en el que el primer píxel adyacente es un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y
la búsqueda para el segundo píxel adyacente comprende determinar un píxel adyacente izquierdo disponible buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo basándose en el primer píxel adyacente, determinar un píxel adyacente superior disponible buscando píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha basándose en el primer píxel adyacente, y determinar un píxel adyacente, que está más cerca del primer píxel adyacente de entre los píxeles adyacentes izquierdo y superior buscados, para que sea el segundo píxel adyacente.
Párrafo 8. El procedimiento del párrafo 3, en el que el primer píxel adyacente es un píxel adyacente izquierdo más inferior de entre píxeles adyacentes izquierdo e inferior izquierdo del bloque actual, y
la búsqueda para el segundo píxel adyacente comprende buscar el segundo píxel adyacente buscando píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de abajo a arriba basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes izquierdo e inferior izquierdo del bloque actual, buscar píxeles adyacentes superior y superior derecho del bloque actual de izquierda a derecha.
Párrafo 9. El procedimiento del párrafo 3, en el que el primer píxel adyacente es un píxel adyacente superior más a la derecha de entre píxeles adyacentes superior y superior derecho del bloque actual, y
la búsqueda para el segundo píxel adyacente comprende buscar el segundo píxel adyacente buscando píxeles adyacentes superior y superior derecho del bloque actual de derecha a izquierda basándose en el primer píxel adyacente, y si un segundo píxel adyacente no está disponible en los píxeles adyacentes superior y superior derecho del bloque actual, buscar píxeles adyacentes izquierdo e inferior izquierdo del bloque actual de arriba a abajo.
Párrafo 10. El procedimiento del párrafo 3, que comprende adicionalmente, si al menos un tercer píxel adyacente no está disponible, sustituir un valor de píxel del al menos un tercer píxel adyacente por un valor de píxel de un píxel adyacente previamente buscado basándose en la dirección predeterminada.
Párrafo 11. El procedimiento del párrafo 10, en el que el primer píxel adyacente es un píxel adyacente localizado en una esquina superior izquierda del bloque actual, y
si el al menos un tercer píxel adyacente está localizado en una parte superior del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más a la izquierda por un píxel adyacente a la izquierda del al menos un tercer píxel adyacente, y si el al menos un tercer píxel adyacente está localizado a la izquierda del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más superior por un píxel adyacente por encima del al menos un tercer píxel adyacente. Párrafo 12. El procedimiento del párrafo 10, en el que el primer píxel adyacente es un píxel adyacente localizado en una esquina izquierda más inferior del bloque actual, y
si el al menos un tercer píxel adyacente está localizado a la izquierda del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más inferior por un píxel adyacente por debajo del al menos un tercer píxel adyacente, y si el al menos un tercer píxel adyacente está localizado en una parte superior del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más a la izquierda por un píxel adyacente a la izquierda del al menos un tercer píxel adyacente. Párrafo 13. El procedimiento del párrafo 10, en el que el primer píxel adyacente es un píxel adyacente localizado en una esquina superior más a la derecha del bloque actual, y
si el al menos un tercer píxel adyacente está localizado en una parte superior del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más a la derecha por un píxel adyacente a la derecha del al menos un tercer píxel adyacente, y si el al menos un tercer píxel adyacente está localizado a la izquierda del bloque actual, sustituir secuencialmente el al menos un tercer píxel adyacente de un tercer píxel adyacente más superior por un píxel adyacente por encima del al menos un tercer píxel adyacente. Párrafo 14. El procedimiento del párrafo 1, en el que la sustitución comprende sustituir el valor de píxel del primer píxel adyacente por un valor predeterminado si el segundo píxel adyacente no existe en el número predeterminado de píxeles adyacentes.
Párrafo 15. Un aparato para intra predecir un vídeo, comprendiendo el aparato:
un determinador de disponibilidad para determinar la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual de entre bloques obtenidos dividiendo una instantánea que forma el vídeo de acuerdo con una estructura jerárquica;
un sustituidor para, si un primer píxel adyacente no está disponible en el número predeterminado de píxeles adyacentes, buscar un segundo píxel adyacente que está disponible buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada basándose en el primer píxel adyacente, y sustituir un valor de píxel del primer píxel adyacente por un valor de píxel de un segundo píxel adyacente hallado; y un realizador de intra predicción para realizar intra predicción en el bloque actual usando el número predeterminado de píxeles adyacentes que comprende el primer píxel adyacente sustituido.
Aunque la presente invención se ha mostrado y descrito particularmente con referencia a realizaciones ejemplares de la misma, se entenderá por los expertos en la materia que pueden realizarse diversos cambios en forma y detalles en la misma sin alejarse del alcance de la presente invención como se define por las siguientes reivindicaciones.

Claims (1)

REIVINDICACIONES
1. Un procedimiento de intra predicción de un vídeo, comprendiendo el procedimiento:
determinar (2610) la disponibilidad de un número predeterminado de píxeles adyacentes usados para intra predicción de un bloque actual que tiene un tamaño de nTxnT, donde nT es número entero, de entre bloques obtenidos dividiendo una instantánea que forma el vídeo de acuerdo con una estructura jerárquica;
cuando todo el número predeterminado de píxeles adyacentes no está disponible, sustituir valores de píxel de todo el número predeterminado de píxeles adyacentes por un valor predeterminado determinado en base a una profundidad de bits de píxel;
cuando existe uno o más píxeles adyacentes disponibles entre el número predeterminado de píxeles adyacentes y un primer píxel (2210) adyacente entre el número predeterminado de píxeles adyacentes no está disponible, donde el primer píxel (2210) adyacente está localizado en uno más inferior entre 2nT píxeles adyacentes que incluyen nT píxeles adyacentes adyacentes a un lado izquierdo del bloque actual y nT píxeles adyacentes localizados por debajo de los nT píxeles adyacentes adyacentes al lado izquierdo del bloque actual, buscar (2620) un segundo píxel adyacente que está disponible y más cerca del primer píxel adyacente buscando el número predeterminado de píxeles adyacentes en una dirección predeterminada de un píxel adyacente adyacente al primer píxel adyacente, indicando la dirección predeterminada una dirección de búsqueda de abajo a arriba a lo largo de un lado izquierdo del bloque actual y de izquierda a derecha a lo largo de un lado superior del bloque actual; cuando se halla un segundo píxel adyacente disponible, sustituir un valor de píxel del primer píxel adyacente por un valor de píxel del segundo píxel (2630) adyacente disponible;
cuando existe al menos un píxel adyacente no disponible localizado en el lado izquierdo del bloque actual excepto el primer píxel adyacente, sustituir un valor de píxel del al menos un píxel adyacente no disponible localizado en el lado izquierdo del bloque actual secuencialmente de abajo a arriba a lo largo del lado izquierdo del bloque actual por un valor de píxel de un píxel adyacente inferior localizado directamente por debajo del al menos un píxel adyacente no disponible;
cuando existe un píxel adyacente no disponible localizado en el lado superior del bloque actual, sustituir un valor de píxel del píxel adyacente no disponible localizado en el lado superior del bloque actual secuencialmente de izquierda a derecha a lo largo del lado superior del bloque actual por un valor de píxel de un píxel adyacente izquierdo localizado directamente en el lado izquierdo del píxel adyacente no disponible; y
realizar intra predicción en el bloque actual usando el número predeterminado de píxeles adyacentes que comprenden el píxel (2640) adyacente sustituido,
en el que la determinación de la disponibilidad comprende determinar píxeles adyacentes que pertenecen a un corte diferente de un corte al que pertenece el bloque actual o pertenecen a un bloque adyacente inter-predictivo, para que no estén disponibles.
ES17209163T 2011-10-28 2012-10-29 Procedimiento de intra predicción de vídeo Active ES2748604T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161552692P 2011-10-28 2011-10-28

Publications (1)

Publication Number Publication Date
ES2748604T3 true ES2748604T3 (es) 2020-03-17

Family

ID=48168118

Family Applications (3)

Application Number Title Priority Date Filing Date
ES19188931T Active ES2842027T3 (es) 2011-10-28 2012-10-29 Procedimiento y aparato de intra predicción de vídeo
ES20199452T Active ES2961199T3 (es) 2011-10-28 2012-10-29 Procedimiento y aparato de intra predicción de vídeo
ES17209163T Active ES2748604T3 (es) 2011-10-28 2012-10-29 Procedimiento de intra predicción de vídeo

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES19188931T Active ES2842027T3 (es) 2011-10-28 2012-10-29 Procedimiento y aparato de intra predicción de vídeo
ES20199452T Active ES2961199T3 (es) 2011-10-28 2012-10-29 Procedimiento y aparato de intra predicción de vídeo

Country Status (19)

Country Link
US (5) US9621918B2 (es)
EP (5) EP3322183B1 (es)
JP (3) JP2014531177A (es)
KR (5) KR101743245B1 (es)
CN (5) CN107222744B (es)
AU (1) AU2012329676B2 (es)
BR (1) BR112014010189B1 (es)
DK (1) DK3322183T3 (es)
ES (3) ES2842027T3 (es)
HU (3) HUE048628T2 (es)
IN (1) IN2014MN00940A (es)
MX (2) MX2014005114A (es)
MY (3) MY170951A (es)
PH (4) PH12016502376A1 (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 (19)

* 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
US10009629B2 (en) 2013-10-11 2018-06-26 Sony Corporation Video coding system with search range and method of operation thereof
US10003818B2 (en) * 2013-10-11 2018-06-19 Sony Corporation Video coding system with intra prediction mechanism and method of operation thereof
WO2015056945A1 (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
WO2015056941A1 (ko) * 2013-10-14 2015-04-23 한국전자통신연구원 다계층 기반의 영상 부호화/복호화 방법 및 장치
US10368098B2 (en) 2014-06-20 2019-07-30 Samsung Electronics Co., Ltd. Method and device for transmitting prediction mode of depth image for interlayer video encoding and decoding
KR20180008471A (ko) * 2015-05-12 2018-01-24 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
WO2017014412A1 (ko) * 2015-07-20 2017-01-26 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
KR20180075660A (ko) * 2015-11-24 2018-07-04 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
US20200162756A1 (en) * 2017-05-24 2020-05-21 Sony Semiconductor Solutions Corporation Image processing device and method, and program
CN116170590A (zh) * 2017-08-10 2023-05-26 夏普株式会社 图像滤波装置、图像解码装置以及图像编码装置
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
WO2020256483A1 (ko) * 2019-06-21 2020-12-24 삼성전자 주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR102602007B1 (ko) 2020-12-07 2023-11-15 건국대학교 글로컬산학협력단 연료전지 전해질용 폴리(이사틴-페닐렌)계 고분자, 이를 포함하는 연료전지용 고분자 전해질 및 연료전지
WO2023055220A1 (ko) * 2021-10-01 2023-04-06 주식회사 윌러스표준기술연구소 참조 픽쳐를 기초로 인트라 예측 모드를 결정하는 비디오 신호 처리 방법 및 이를 위한 장치

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
CN101133650B (zh) 2005-04-01 2010-05-19 松下电器产业株式会社 图像解码装置以及图像解码方法
EP1985124B1 (en) * 2006-02-17 2010-09-01 Thomson Licensing Process for coding images using intra prediction mode
US20070195888A1 (en) * 2006-02-17 2007-08-23 Via Technologies, Inc. Intra-Frame Prediction Processing
KR101311403B1 (ko) * 2006-07-04 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
EP2073557B1 (en) * 2006-10-10 2017-03-29 Nippon Telegraph and Telephone Corporation Intra prediction encoding control method and device, its program, and storage medium containing program
EP2087737A2 (en) * 2006-10-24 2009-08-12 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
EP2571272B1 (en) * 2007-04-09 2016-05-18 NTT DoCoMo, Inc. Image coding using template matching
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
WO2013062389A1 (ko) 2013-05-02
PH12016502376B1 (en) 2017-01-23
MX354500B (es) 2018-03-08
CN107222744B (zh) 2020-10-27
AU2012329676B2 (en) 2015-02-12
EP2773116A4 (en) 2015-08-12
JP7103961B2 (ja) 2022-07-20
EP2773116A1 (en) 2014-09-03
US20180139454A1 (en) 2018-05-17
CN107404649A (zh) 2017-11-28
ES2961199T3 (es) 2024-03-08
CN107197250A (zh) 2017-09-22
MY170951A (en) 2019-09-20
KR101743245B1 (ko) 2017-06-02
BR112014010189A2 (pt) 2017-04-18
EP3322183A1 (en) 2018-05-16
PH12016502374B1 (en) 2017-01-23
US9883191B2 (en) 2018-01-30
PL3780601T3 (pl) 2023-10-02
RU2619267C1 (ru) 2017-05-15
CN104025588B (zh) 2017-08-15
EP3780601C0 (en) 2023-08-16
ES2842027T3 (es) 2021-07-12
TW201740729A (zh) 2017-11-16
IN2014MN00940A (es) 2015-04-24
RU2014121400A (ru) 2015-12-10
PL3588949T3 (pl) 2021-03-08
KR20130047650A (ko) 2013-05-08
AU2012329676A1 (en) 2014-06-12
CN104025588A (zh) 2014-09-03
KR102082303B1 (ko) 2020-02-27
TWI572194B (zh) 2017-02-21
CN107404649B (zh) 2020-04-10
MX2014005114A (es) 2014-08-27
EP4231639A2 (en) 2023-08-23
KR101962829B1 (ko) 2019-03-27
US20190222850A1 (en) 2019-07-18
EP4231639A3 (en) 2023-08-30
JP2017055434A (ja) 2017-03-16
RU2654503C1 (ru) 2018-05-21
CN107222744A (zh) 2017-09-29
RU2588990C2 (ru) 2016-07-10
EP3780601B1 (en) 2023-08-16
CN107197250B (zh) 2019-09-03
MY198281A (en) 2023-08-21
TW201332368A (zh) 2013-08-01
DK3322183T3 (da) 2019-09-23
US20170070736A1 (en) 2017-03-09
PH12016502374A1 (en) 2017-01-23
EP3322183B1 (en) 2019-09-11
RU2681956C1 (ru) 2019-03-14
US9621918B2 (en) 2017-04-11
ZA201403876B (en) 2021-05-26
HUE063723T2 (hu) 2024-01-28
PH12016502377A1 (en) 2017-01-23
PH12016502376A1 (en) 2017-01-23
TW201711476A (zh) 2017-03-16
PH12016502375B1 (en) 2017-01-23
JP2014531177A (ja) 2014-11-20
US20140334542A1 (en) 2014-11-13
KR20170063494A (ko) 2017-06-08
PH12016502375A1 (en) 2017-01-23
KR101844517B1 (ko) 2018-04-02
US10291919B2 (en) 2019-05-14
KR20190034172A (ko) 2019-04-01
HUE052957T2 (hu) 2021-05-28
EP3780601A1 (en) 2021-02-17
EP3588949B1 (en) 2020-12-02
KR20150009498A (ko) 2015-01-26
US10506239B2 (en) 2019-12-10
US20200084456A1 (en) 2020-03-12
KR20180036667A (ko) 2018-04-09
EP3588949A1 (en) 2020-01-01
MY198290A (en) 2023-08-21
PL3322183T3 (pl) 2019-12-31
CN107147908A (zh) 2017-09-08
JP2019057954A (ja) 2019-04-11
CN107147908B (zh) 2020-02-07
TWI650000B (zh) 2019-02-01
US10893277B2 (en) 2021-01-12
KR101743246B1 (ko) 2017-06-02
BR112014010189B1 (pt) 2022-09-20
TWI601414B (zh) 2017-10-01
PH12016502377B1 (en) 2017-01-23
HUE048628T2 (hu) 2020-08-28

Similar Documents

Publication Publication Date Title
ES2748604T3 (es) Procedimiento de intra predicción de vídeo
KR102214441B1 (ko) 비디오 부호화, 복호화 방법 및 장치
ES2746824T3 (es) Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
ES2733027T3 (es) Procedimiento de decodificación por entropía de segmentos de corte
AU2018200540B2 (en) Method and apparatus for intra prediction of video
AU2015202343B2 (en) Method and apparatus for intra prediction of video
BR122020014040B1 (pt) Aparelho para decodificar um vídeo
BR122020014034B1 (pt) Método de intrapredição de um vídeo
BR122020014050B1 (pt) Método de intrapredição de um vídeo
BR122020014045B1 (pt) Aparelho para decodificar um vídeo