MX2013006131A - Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes. - Google Patents

Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.

Info

Publication number
MX2013006131A
MX2013006131A MX2013006131A MX2013006131A MX2013006131A MX 2013006131 A MX2013006131 A MX 2013006131A MX 2013006131 A MX2013006131 A MX 2013006131A MX 2013006131 A MX2013006131 A MX 2013006131A MX 2013006131 A MX2013006131 A MX 2013006131A
Authority
MX
Mexico
Prior art keywords
filtering
determination
section
processes
blocks
Prior art date
Application number
MX2013006131A
Other languages
English (en)
Inventor
Junichi Tanaka
Masaru Ikeda
Yoshitaka Morigami
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of MX2013006131A publication Critical patent/MX2013006131A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

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

Abstract

Se describe un dispositivo de procesamiento de imágenes, que permite la paralelización adición del procesamiento durante la aplicación de un filtro de desbloqueo, el dispositivo de procesamiento de imágenes descrito está dotado de: una unidad de decodificación para decodificar las imágenes a partir de un flujo codificado; una unidad de determinación para llevar a cabo el procesamiento de determinación para determinar si se debe aplicar un filtro de desbloqueo a un bloque adyacentes que colinda con el límite del bloque de las imágenes decodificadas por la unidad de decodificación mencionada anteriormente; una unidad de filtrado para aplicar el filtro de desbloqueo al bloque adyacente para el cual, la unidad de determinación mencionada anteriormente, ha determinación que se debe aplicar el filtro de desbloqueo; y una unidad de control, la cual deja que la unidad de determinación mencionada anteriormente, implemente el procesamiento de determinación mencionado anteriormente para los límites verticales del bloque y los límites horizontales del bloque usando como referencia los pixeles en el bloque adyacente mencionado anteriormente de la imagen reconstruida.

Description

DISPOSITIVO DE PROCESAMIENTO DE IMAGENES Y METODO DE PROCESAMIENTO DE IMÁGENES CAMPO TECNICO La presente invención se refiere a un dispositivo de procesamiento de imágenes y un método de procesamiento de imágenes .
ANTECEDENTES DE LA INVENCIÓN H.264/AVC, una de las especificaciones estándar para el esquema de codificación de imágenes, aplica un filtro de desbloqueo a los limites de los bloques en unidades de bloques, cada uno que contiene 4x4 pixeles, por ejemplo, con el fin de evitar la degradación de la calidad de las imágenes debido a la distorsión de los bloquees mientras que' se codifica una imagen. El filtro de desbloqueo requiere una gran cantidad de procesamiento y puede representar el 50% de la cantidad total del procesamiento durante la decodificació de las imágenes, por ejemplo.
El trabajo de los estándares para la Codificación de Video de Alta Eficiencia (HEVC) , un sistema de codificación de imágenes de próxima generación, propone la aplicación : del filtro de desbloqueo en las unidades de bloques, cada uno: que contiene 8x8 pixeles o más de acuerdo con JCTVC-A119 (véase la literatura No Relacionada con Patentes 1) . La técnica propuesta en JCTVC-A119 aumenta el tamaño de los bloques tomó una unidad mínima para aplicar el filtro de desbloque para llevar a cabo los procesos de filtrado en paralelo sobre los límites de los bloques en la misma dirección dentro de un bloque macro.
LISTA DE CITAS Literatura No Relacionada con Patentes Literatura No Relacionada con Patentes 1: K. Ugur (Nokia), K. R. Anderson (LM Ericsson), A. Fuldseth (Tandberg Telecom), "JCTVC-A119: Video coding technology proposal, by Tandberg, Nokia, and Ericsson", Documents of the first meeting of the Joint Collaborative Team on Video Coding (JCT-VC) , Dresde, Alemania, 15-23 de Abril de 2010.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Problema Técnico Sin embargo, la técnica propuesta en JCTVC-A119 no resuelve la dependencia entre los procesos sobre los límites verticales de los bloques y el proceso sobre los límites horizontales de los bloques. Es difícil aún permitir el procesamiento paralelo sobre los límites de los bloques en diferentes direcciones dentro de un bloque macro (o una unidad de codificación) y permitir el procesamiento paralelo entre los bloques macro. Por consiguiente, la técnica descrita anteriormente puede nos resolver de forma exitosa los problemas del retardo y la reducción en las tasas de ; datos debido a la gran cantidad de procesamiento mientras que se aplica el filtro de desbloqueo.
La tecnología de acuerdo con la descripción tiene como objetivo proporcionar un dispositivo de procesamiento de imágenes y un método de procesamiento de imágenes capaces de proporcionar procesamiento paralelo cuando se aplica el filtro de desbloqueo.
Solución al Problema De acuerdo con una modalidad de la presen te descripción, se proporciona un dispositivo de procesamiento de imágenes que incluye una sección de decodificación configurada para decodificar una imagen a partir de un flujo codificado, una sección de determinación, configurada para llevar a cabo los procesos de determinación para determinar si se aplica un filtro de desbloqueo a los bloques adyacentes que colidan a través del límite del bloque dentro de una imagen a ser decodificada por la sección de decodificación, una sección de filtro, configurada para aplicar un filtro de desbloqueo a los bloques adyacentes a los cuales, la sección de determinación ha determinado que se aplique un filtro de desbloqueo, y una sección de control, configurada para permitir que la determinación lleve a cabo los procesos de determinación para el límite vertical de un bloque y el límite horizontal de un bloque usando los pixeles de los bloques adyacentes de una imagen reconstruida como los pixeles de referencia.
El dispositivo de procesamiento de imágenes puede ser producido típicamente como un dispositivo de decodificación de imágenes para decodificar imágenes.
Además, de acuerdo con una modalidad de la presente descripción, se proporciona un método de procesamiento de imágenes que decodifica una imagen a partir de un flujo codificado, lleva a cabo procesos de determinación para determinar si se aplica un flujo de desbloqueo a los bloques adyacentes que colindan a través del límite de los bloques dentro de una imagen a ser decodificada, aplica un filtro de desbloqueo a los bloques adyacentes para los cuales se ha determinado, en el proceso de determinación, que se aplique un filtro de desbloqueo y controla el proceso de determinación en de manera que los procesos de determinación para el límite vertical de los bloques y el límite horizontal de los bloques se lleve a cabo usando los pixeles de los bloques adyacentes de una imagen reconstruida, como los pixeles de referencia, y codificar la imagen a ser codificada usando una imagen filtrada por el filtro de desbloqueo.
EFECTOS VENTAJOSOS DE LA INVENCIÓN Como se describe anteriormente, el dispositivo de procesamiento de imágenes y de acuerdo con la presente descripción mejoran adicionalmente el procesamiento parálelo cuando se aplica un filtro de desbloqueo.
BREVE DESCRIPCIÓN DE LOS DIBUJOS [Fig. 1] La Fig. 1 es un diagrama de bloques que muestra un ejemplo de la configuración del dispositivo de codificación de imágenes de acuerdo con una modalidad.
[Fig. 2] La Fig. 2 es un diagrama de bloques que muestra un ejemplo de la configuración del dispositivo de decodificación de imágenes de acuerdo con una modalidad.
[Fig. 3] La Fig. 3 es un diagrama explicativo que nuestra un ejemplo de los pixeles adyacentes alrededor de un limite.
[Fig. 4] La Fig. 4 es un diagrama explicativo que ilustra los pixeles de referencia durante los procesos ' de determinación de la necesidad del filtrado de acuerdo con una técnica existente.
[Fig. 5] La Fig. 5 es y diagrama explicativo que ilustra los pixeles actualizados por los proceso de filtrado.
[Fig. 6] La Fig. 6 es un diagrama explicativo que ilustra la identificación de los bordes para la descripción de la modalidad .
[Fig. 7] La Fig. 7 es un diagrama explicativo que ilustra un proceso paralelo de acuerdo con una técnica existente. : [Fig. 8] La Fig. 8 es un primer diagrama explicativo que ilustra la dependencia entre los procesos de acuerdo con una técnica existente.
[Fig. 9] La Fig. 9 es un segundo diagrama explicativo que ilustra la dependencia entre los procesos de acuerdo con una técnica existente.
[Fig. 10] La Fig. 10 es un diagrama explicativo que ilustra una secuencia de procesos de acuerdo con una técnica existente .
[Fig. 11] La Fig. 11 es un primer diagrama explicativo que ilustra los pixeles de referencia durante los procesos de determinación de la necesidad del filtrado de acuerdo con un primer ejemplo de trabajo.
[Fig. 12] La Fig. 12 es un segundo diagrama explicativo que ilustra los pixeles de referencia durante los procesos de determinación de la necesidad del filtrado de acuerdo con el primer ejemplo de trabajo.
[Fig. 13] La Fig. 13 es un diagrama explicativo que ilustra un primer ejemplo de la secuencia del proceso.
[Fig. 14] La Fig. 14 es un diagrama explicativo: que ilustra un segundo ejemplo de la secuencia del proceso.
[Fig. 15] La Fig. 15 es un diagrama de bloques que ilustra la configuración detallada del filtro de desbloqueo de acuerdo con el primer ejemplo de trabajo.
[Fig. 16] La Fig. 16 es un diagrama de bloques que ilustra la configuración detallada de la sección de determinación. : [Fig. 17] La Fig. 17 es un diagrama explicativo que ilustra los bloques adyacentes alrededor de los limites de una división.
[Fig. 18] La Fig. 18 es un diagrama que ilustra un primer ejemplo de la secuencia de un proceso para cada división.! [Fig. 19] La Fig. 19 es un diagrama explicativo que ilustra un segundo ejemplo de una secuencia de procesos para cada división.
[Fig. 20] La Fig. 20 es un diagrama de flujo que ilustra un primer ejemplo de un flujo del proceso para el filtro de desbloqueo de acuerdo con una modalidad.
[Fig. 21] La Fig. 21 es un diagrama de flujo que ilustra un segundo ejemplo del flujo del proceso para el filtro de desbloqueo de acuerdo con una modalidad.
[Fig. 22] La Fig. 22 es un diagrama de flujo que ilustra el flujo de los procesos de determinación de la necesidad del filtrado de acuerdo con una modalidad.
[Fig. 23] La Fig. 23 es un diagrama de bloques que ilustra la configuración detallada del filtro de desbloqueo de acuerdo con un segundo ejemplo de trabajo.
[Fig. 24] La Fig. 24 es un diagrama explicativo que ilustra el primero y el segundo ejemplos de una técnica de determinación proporcionada por el segundo ejemplo de trabajo.
[Fig. 25] La Fig. 25 es un diagrama explicativo que ilustra el tercero y el cuarto ejemplos de la técnica de determinación proporcionada por el segundo ejemplo de trabajo.
[Fig. 26] La Fig. 26 es un diagrama explicativo que ilustra el quinto y el sexto ejemplos de la técnica de determinación proporcionada por el segundo ejemplo de trabajo.
[Fig. 27] La Fig. 27 es un diagrama explicativo que ilustra la secuencia del proceso para cada LCU.
[Fig. 28] La Fig. 28 es un diagrama de flujo que ilustra el flujo del proceso para cada LCU.
[Fig. 29] La Fig. 29 es un diagrama explicativo que ilustra una perspectiva general de un tercer ejemplo de trabaj o .
[Fig. 30] La Fig. 30 es un diagrama de bloques que lustra la configuración detallada de un filtro de desbloqueo de acuerdo con el tercer ejemplo de trabajo.
[Fig. 31] La Fig. 31 es un diagrama explicativo' que ilustra la determinación de la ponderación para el promedio ponderado .
[Fig. 32] La Fig. 32 es un diagrama ejemplar que ilustra un ejemplo del peso para el promedio ponderado.
[Fig. 33] La Fig. 33 es un diagrama explicativo que ilustra el valor de los pixeles de salida de la sección de cálculo de acuerdo con el tercer ejemplo de trabajo.
[Fig. 34] La Fig. 34 es un diagrama explicativo que ilustra el primer ejemplo de la secuencia del proceso, para comparación.
[Fig. 35] La Fig. 35 es un diagrama explicativo que ilustra el primer ejemplo de la secuencia del proceso proporcionado por el tercer ejemplo de trabajo.
[Fig. 36) La Fig. 36 es un diagrama explicativo que ilustra el segundo ejemplo de la secuencia del proceso para comparación .
[Fig. 37] La Fig. 37 es un diagrama explicativo que ilustra el segundo ejemplo de la secuencia del proceso proporcionado por el tercer ejemplo de trabajo.
[Fig. 38] La Fig. 38 es un diagrama de flujo que ilustra el primer ejemplo del flujo del proceso para el filtro de desbloqueo de acuerdo con el tercer ejemplo de trabajo.
[Fig. 39] La Fig. 39 es un diagrama de flujo que ilustra el flujo del proceso de cálculo de los valores de los pixeles mostrado en la Fig. 38.
[Fig. 40] La Fig. 40 es un diagrama explicativo que ilustra el codificador/decodificador de vistas múltiples.
[Fig. 41] La Fig. 41 es un diagrama explicativo que ilustra un proceso de codificación de imágenes de acuerdo con una modalidad aplicada al codificador/decodificador de vistas múltiples .
[Fig. 42] La Fig. 42 es un diagrama explicativo' que ilustra el proceso de decodificación de imágenes de acuerdo con una modalidad aplicada al codificador/decodificador de vistas múltiples.
[Fig. 43] La Fig. 43 es un diagrama explicativo que ilustra el codificador/decodificador escalable.
[Fig. 44] La Fig. 44 es un diagrama explicativo que ilustra un proceso de codificación de imágenes de acuerdó con una modalidad aplicada al codificador/decodificador escalable. [Fig. 45] La Fig. 45 es un diagrama explicativo que ilustra un proceso de decodificación de imágenes de acuerdo con una modalidad aplicada al codificador/decodificador escalable .
[Fig. 46] La Fig. 46 es un diagrama de bloques que ilustra la configuración esquemática de un aparato de televisión .
[Fig. 47] La Fig. 47 es un diagrama de bloques que ilustra la configuración esquemática de un teléfono móvil.
[Fig. 48] La Fig. 48 es un diagrama de bloques que ilustra la configuración esquemática de un dispositivo de grabación/reproducción .
[Fig. 49] La Fig. 49 es un diagrama de bloques que ilustra la configuración esquemática de un dispositivo de captura de imágenes.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN A partir de aqui se describirán en detalle : las modalidades preferidas de la presente invención, con referencia a los dibujos anexos. Nótese que, en . esta especificación y los dibujos, los elementos que tengan la misma función y estructura se denotan con los mismos símbolos de referencia, se omite su explicación repetida.
La descripción de la modalidad se escribirá en la siguiente secuencia. 1. Perspectiva General del Aparato -1. Dispositivo de Codificación de Imágenes 1-2. Dispositivo de Decodificación de Imágenes . Técnica Existente 2-1. Configuración Básica del Filtro de Desbloqueo 2-2. Dependencia Entre el Proceso de acuerdo con una ca Existente 3. Primer Ejemplo de Trabajo 3-1. Ejemplo de Configuración del Filtro de Desbloqueo 3-2. Flujo del Proceso 4. Segundo Ejemplo de Trabajo 4-1. Ejemplo de Configuración del Filtro de Desbloqueo 4-2. Flujo del Proceso 4-3. Ejemplo del Proceso para Cada LCU 5. Tercer Ejemplo de Trabajo 5-1. Perspectiva General 5-2. Ejemplo de Configuración del Filtro de Desbloqueo 5-3, Ejemplo de la Secuencia del Proceso 5-4. Flujo del Proceso 6. Aplicación a Varios Codificadores/Decodificadores, 6-1. Codificador/Decodificador de Vistas Múltiples 6-2. Codificador/Decodificador Escalable 7. Aplicaciones Ejemplares 8. Suma 1. Perspectiva General del Aparato Con referencia a las Figs. 1 y 2, los siguientes párrafos describen una perspectiva general de un aparato al cual se puede aplicar la tecnología descrita en esta especificación. La tecnología descrita en esta especificación se puede aplicar a un dispositivo de codificación de imágenes y a' un dispositivo de decodificación de imágenes, por ejemplo. [1-1. Dispositivo de Codificación de Imágenes] La Fig. 1 es un diagrama de bloques que muestra un ejemplo de la configuración de un dispositivo 1(1 de codificación de imágenes de acuerdo con una modalidad. Haciendo referencia a la Fig. 1, el dispositivo 10 de codificación de imágenes incluye una sección 11 de conversión de A/D (Analógico a Digital), una memoria 12 intermedia de reordenamiento, una sección 13 de substracción, una sección 14 de transformación ortogonal, una sección 15 de cuantificación, una sección 16 de codificación sin pérdidas, una memoria 17 intermedio de acumulación, una sección 18 de control de la tasa, una sección 21 de cuantificación inversa, una sección 22 de transformación ortogonal inversa, una sección 23 de adición, un filtro 24a de desbloqueo, una memoria 25 de cuadros, un selector 26, una sección 30 de predicción iñtra, una sección 40 de estimación del movimiento, y una sección 50 de selección del modo. ; La sección 11 de conversión A/D convierte una entrada de señal de imagen en un formato analógico, en datos de imagen en un formato digital, y transmite una serie de datos de imagen digitales a la memoria 12 intermedia de reordenamiento.
La memoria 12 intermedia de reordenamiento reordena las imágenes incluidas en la serie de entradas de datos de imagen de la sección 11 de conversión de A/D. Después de reordenar las imágenes de acuerdo con la estructura de un GOP (Grupo de Imágenes) de acuerdo con el proceso de decodificación, la memoria 12 intermedia de reordenamiento transmite los datos de las imágenes las cuales han sido reordenadas, a la sección 13 de substracción, la sección 30 de predicción intra, y la sección 40 de estimación del movimiento.
La entrada datos de las imágenes de la memoria 12 intermedia de reordenamiento y los datos de las imágenes pronosticadas, seleccionadas por la sección 50 de selección del modo, descrita más adelante, se suministran a la sección 13 de substracción. La sección 13 de substracción calcula los datos pronosticados del error, los cuales son la diferencia entre los datos de las imágenes introducidos desde la memoria 12 de reordenamiento y los datos pronosticados de las imágenes introducidos desde la sección 50 de selección del modo, y transmite los datos pronosticado del error a la sección 14 de transformación ortogonal.
La sección 14 de transformación lleva a cabo la transformación ortogonal sobre los datos pronosticados del error introducidos desde la sección 13 de substracción. La transformación ortogonal a ser llevada a cabo por la sección 14 de transformación ortogonal puede ser la transformada discreta del coseno (DCT) o la transformada de Karhunen-Loeve por ejemplo, la sección 14 de transformación ortogonal transmite los datos del coeficiente de transformación, adquiridos por el proceso de transformación ortogonal, a la sección 15 de cuantificación .
Los datos del coeficiente de transformación introducidos desde la sección de transformación ortogonal y la señal de control de la tasa de la sección 18 de control de la tasa, descrita más adelante, se suministran a la sección 15 de cuantificación . La sección 15 de cuantificación cuantifica los datos del coeficiente de transformación, y transmite los datos del coeficiente de transformación los cuales han sido cuantificados (conocidos de aquí en adelante como los datos cuantificados) a la sección 16 de codificación sin pérdidas y a la sección 21 de cuantificación inversa. También, la sección 15 de cuantificación conmuta un parámetro de cuantificación (una escala de cuantificación) con base en la señal de control de la tasa de la sección 18 de control de la tasa para cambiar por ello la tasa de bitios de los datos cuantificados a ser introducidos a la sección 16 de codificación sin pérdidas.
Los datos cuantificados introducidos desde la sección 15 de cuantificación y la información descrita más adelante sobre la predicción intra o la predicción inter, generada por la sección de predicción intra o la sección 40 de estimación del movimiento y seleccionada por la sección 50 de selección del modo, se suministra a la sección 16 de codificación sin pérdidas. La información sobre la predicción intra puede incluir la información del modo de la predicción que indica el modo de predicción intra óptimo para cada bloque, por ejemplo. También, la información sobre la predicción ínter puede incluir la información del modo de predicción para la predicción de un vector de movimiento para cada bloque, la información de diferencia del vector de movimiento, la información de la imagen de referencia, y los similares, por ejemplo .
La sección 16 de codificación sin pérdidas genera un flujo codificado al llevar a cabo un proceso de codificación son pérdidas sobre los datos cuantificados . La codificación sin pérdidas por la sección 16 de codificación sin pérdidas puede ser codificación de longitud variable o codificación aritmética, por ejemplo. Además, la sección 16 de codificación sin pérdidas multiplexa la información sobre la predicción intra o la información sobre la predicción ínter, mencionadas anteriormente, en el encabezamiento del flujo codificado ; (por ejemplo, un encabezamiento del bloque, un encabezamiento de la división o los similares) . Entonces, la sección 16 de codificación sin pérdidas transmite el flujo codificado generado a la memoria 17 intermedia de acumulación.
La memoria 17 intermedia de acumulación almacena temporalmente . el flujo codificado introducido desde la sección 16 de codificación sin pérdidas usando un medio de almacenamiento, tal como una memoria de semiconductores. Entonces, la memoria 17 intermedia de acumulación transmite el flujo codificado, acumulado, a una tasa de acuerdo con la banda de la linea de transmisión (o la linea de salida desde el dispositivo 10 de codificación de imágenes) .
La sección 18 de control de la tasa monitorea ele espacio libre de la memoria 17 intermedia de acumulación. Entonces, la sección 18 de control de la tasa genera una señal de control de la tasa de acuerdo con el espacio libre en la memoria 17 intermedia de acumulación, y transmite la señal de control de la tasa generada, a la sección 15 de cuantificación .¦ Por ejemplo, cuando no hay mucho espacio libre en la memoria 17 intermedia de acumulación, la sección 18 de control de la tasa genera una señal de control de la tasa para reducir la tasa de bitios de los datos cuantificados . También, por ejemplo, cuando el espacio libre en la memoria 17 intermedia de acumulación sea suficientemente grande, la sección 18 de control de la tasa genera una señal de control de la tasa.' para aumentar la tasa de bitios de los datos cuantificados .
La sección 2 de cuantificación inversa lleva a cabo un proceso de cuantificación inverso sobre los datos cuantificados introducidos desde la sección 15: de cuantificación . Entonces la sección 21 de cuantificación inversa transmite los datos del coeficiente de transformación adquiridos mediante el proceso de cuantificación inversa, a la sección 22 de transformación ortogonal inversa.
La sección 22 de transformación ortogonal inversa, lleva a cabo un proceso de transformación ortogonal inversa sobre los datos del coeficiente de transformación introducidos desde la sección 21 de cuantificación, para restablecer por ello los datos pronosticados del error. Entonces, la sección 22 de transformación ortogonal inversa transmite los datos pronosticados del error a la sección 23 de adición.
La sección 23 de adición suma los datos pronosticados del error introducidos desde la sección 22 de transformación ortogonal inversa y los datos pronosticados de la imagen introducidos desde la sección 50 de selección del modo, para generar por ello los datos decodificados de la imagen. Entonces, la sección 23 de adición transmite los datos decodificados de la imagen al filtro 24a de desbloqueo y a la memoria 25 de cuadros.
Un filtro 24a de desbloqueo lleva a cabo los procesos de filtrado para reducir la distorsión de los bloques, que ocurre durante la codificación de las imágenes. Por ejemplo, el filtro 24a de desbloqueo determina la necesidad del filtrado para cada limite de los bloques de los datos de las imágenes decodificadas suministradas desde una sección 23 de adición y aplica el filtro de desbloqueo a los limites que se ha determinado que requieren el filtrado. También se proporciona al filtro 24a de desbloqueo la información usada para la determinación de la necesidad del filtrado (por ejemplo, la información del modo, la información del coeficiente de transformación, y la información del vector de movimiento) asi como los datos de las imágenes decodificadas desde la sección 23 de adición. Después del filtrado, se elimina la distorsión de los bloques de los datos de las imágenes decodificadas y el filtro 24a de desbloqueo transmite los datos de las imágenes decodificadas a la memoria 25 de cuadros. El proceso del filtro 24a de desbloqueo se describirá en detalle más adelante .
La memoria 25 de cuadros almacena, usando un medio de almacenamiento, los datos de las imágenes decodificadas introducidos desde la sección 23 de adición y los datos de las imágenes decodificadas después del filtrado, introducidos desde el filtro 24a de desbloqueo.
El selector 26 lee, desde la memoria 25 de cuadros,; los datos de las imágenes decodificadas antes el filtrado, que se deben usar para la predicción intra, y suministra los datos de las imágenes decodificadas , los cuales han sido leídos, :a la sección 30 de predicción intra, como los datos de las imágenes de referencia. También, el selector 26 lee, de la memoria 25 de cuadros, los datos de las imágenes decodificadas después del filtrado, a ser usados para la predicción ínter, y suministra los datos de las imágenes decodificadas los cuales han sido leídos, a la sección 40 de estimación del movimiento, como los datos de las imágenes de referencia.
La sección 30 de predicción intra lleva a cabo un proceso de predicción intra en cada modo de predicción intra, con base en los datos de las imágenes a ser codificados, qué se introducen desde la memoria 12 intermedia de reordenamiento y los datos de las imágenes decodificadas suministrados por medio del selector 26. Por ejemplo, la sección 30 de predicción intra evalúa el resultado de la predicción de cada modo de predicción intra usando una función de costo predeterminada. Entonces, la sección 30 de predicción intra selecciona un modo de predicción intra mediante el cual, el valor de la función de costo sea el más pequeño, es decir, un modo de predicción intra mediante el cual, la tasa de compresión sea la más alta, como el modo de predicción intra óptimo. Además, la sección 30 de predicción intra transmite, a la sección 50 de selección del modo, la información del :modo de predicción que indica el modo de predicción intra óptiimo, los datos pronosticados de las imágenes, y la información sobre la predicción intra, tal como el valor de la función de costo .
Una sección 40 de estimación del movimiento lleva a cabo un proceso de predicción ínter (proceso de predicción e|ntre cuadros) con base en los datos de las imágenes pará la codificación, suministrados desde la memoria 12 intermedia de reordenamiento y los datos de las imágenes decodificadas suministrados vía y selector 26. Por ejemplo, la sección 40 de estimación del movimiento evalúa el resultado de la predicción de cada modo de predicción, usando una función de costo predeterminada. Entonces, la sección 40 de estimación del movimiento, selecciona un modo de predicción óptimo, es decir, un modo de predicción que minimice el valor de la función de costo o que maximice la tasa de compresión. La sección 40 de estimación del movimiento genera los datos pronosticados de las imágenes de acuerdo con el modo de predicción óptimo. La sección 40 de estimación del movimiento transmite la información sobre la predicción inter, tal como la información del modo de predicción que indica el modo de predicción intra óptimo, los datos pronosticados de las imágenes, y el valor de la función de costo a una sección 50 de selección del modo.
La sección 50 de selección del modo compara el valor de la función de costo, relacionado con la predicción intra introducida desde la sección 30 de predicción intra y el valor de la función de costo relacionada con la predicción inter, introducido desde la sección 40 de estimación del movimiento. Entonces, la sección 50 de selección del modo selecciona un método de predicción con el valor más pequeño de la función de costo, de entre la predicción intra y la predicción inter. En el caso de seleccionar la predicción intra, la sección 50 de selección del modo trasmite la información sobre la predicción intra a la sección se codificación 16 sin pérdidas, y también, transmite los datos pronosticados de las imágenes a la sección 13 de substracción y a la sección 23 de adición. También, en el caso de seleccionar la predicción inter, la sección 50 de selección del modo transmite la información sobre la predicción inter, descrita anteriormente, a la sección 16 de codificación sin pérdidas, y también, transmite los datos pronosticados de las imágenes a la sección 13 de substracción y a la sección 23 de adición. [1-2. Dispositivo de Decodificación de Imágenes] La Fig. 2 es un diagrama de bloques que muestra un ejemplo de la configuración de un dispositivo 60 de decodificación de imágenes de acuerdo con una modalidad. Con referencia a la Fig. 2, el dispositivo 60 de decodificación de imágenes incluye una memoria 61 intermedia de acumulación, una sección 62 de decodificación si pérdidas, una sección de cuantificación inversa, una sección 64 de transformación ortogonal inversa, una sección 65 de adición, un filtro 24b de desbloqueo, una memoria 67 intermedia de reordenamiento, una sección 68 de conversión da (Digital a Analógico) , una memoria 69 de cuadros, los selectores 70 y 71, una sección 80 de predicción intra, y una sección 90 de compensación del movimiento .
La memoria 61 intermedia de acumulación almacena temporalmente un flujo codificado introducido vía una linea de transmisión, usando un medio de almacenamiento.
La sección 62 de decodificación sin pérdidas decodifica un flujo codificado introducido desde la memoria 61 intermedia de acumulación de acuerdo con el método de codificación usado en el momento de la codificación. También, la sección 62 de decodificación sin pérdidas decodifica la información multiplexada con la región del encabezamiento del flujo codificado. La información que se multiplexa con la región del encabezamiento del flujo codificado puede incluir la información sobre la predicción intra y la información sobre la predicción inter en el encabezamiento del bloque, por ejemplo. La sección 62 de decodificación sin pérdidas transmite la información sobre la predicción intra a la sección 80 de predicción intra. También, la sección 62 de decodificación sin pérdidas transmite la información sobre la predicción inter a la sección 90 de compensación del movimiento .
La sección 63 de cuantificación inversa cuantifica de forma inversa los datos cuantificados, los cuales han sido decodificados por la sección 62 de decodificación sin pérdidas. La sección 64 de transformación ortogonal inversa genera los datos pronosticados del error al llevar a cabo la transformación ortogonal inversa sobre los datos del coeficiente de transformación introducidos desde la sección 63 de cuantificación inversa de acuerdo con el método de transformación ortogonal usado en el momento de la codificación. Entonces, la sección 64 de transformación ortogonal inversa transmite los datos pronosticados del error, generados, a la sección 65 de adición.
La sección 65 de adición suma los datos pronosticados del erro de la sección 64 de transformación ortogonal y los datos pronosticados de las imágenes, introducidos desde el selector 71 para generar por ello los datos decodificados de las imágenes. Entonces, la sección 65 de adición transmite los datos generados de las imágenes decodificadas , al filtro 24b de desbloqueo y a la memoria 69 de cuadros.
El filtro 24b de desbloqueo lleva a cabo los procesos de filtrado para reducir la distorsión se los bloques que aparecen en las imágenes decodificadas . El filtro 24b de desbloqueo determina la necesidad del filtrado en cada uno de los limites para los datos de las imágenes decodificadas introducidos desde la sección 65 de adición, por ejemplo, y aplica el filtro de desbloqueo a los limites que se ha determinado requieren el filtrado. Al filtro 24b de desbloqueo también se le suministra la información usada para la determinación de la necesidad del filtrado asi como los datos de las imágenes decodificadas desde la sección 65 de adición. Después del filtrado, se elimina la distorsión de los bloques de los datos de las imágenes decodificados y el filtro 2|4b de desbloqueo transmite los datos de las imágenes decodificadas a la memoria 67 de reordenamiento y a la memoria 69 de cuadros. El proceso del filtro 24b de desbloqueo se describirá más adelante .
La memoria 67 intermedia de reordenamiento genera una serie de datos de las imágenes en una secuencia de tiempo al reordenar las imágenes introducidas desde el filtro 24b de desbloqueo. Entonces, la memoria 67 intermedia de reordenamiento transmite los datos generados de las imágenes a la sección 68 de conversión de D/A.
La sección 68 de conversión de D/A convierte los datos de las imágenes en un formato digital, introducidas desde la memoria 67 intermedia de reordenamiento den una señal de imagen en un formato analógico. Entonces, la sección 68 de conversión de D/A hace que las imágenes sean desplegadas al transmitir la señal de imagen analógica a una pantalla (no se muestra) conectada con el dispositivo 60 de decodificación de imágenes, por ejemplo.
La memoria 69 de cuadros usa un medio de almacenamiento para almacenar los datos de las imágenes decodificadas introducidos desde la sección 65 de adición antes del filtrado y los datos de las imágenes decodificadas introducidos desde el filtro 24b de desbloqueo después del filtrado.
El selector 70 conmuta el destino de los datos de las imágenes de la memoria 69 de cuadros entre la sección : 80 de predicción intra y la sección 90 de compensación del movimiento para cada bloque en las imágenes de acuerdo con la información del modo adquirida por la sección 62 de decodificación sin pérdidas. Por ejemplo, en el caso en que se especifique el modo de predicción intra, el selector 70 transmite los datos de las imágenes decodificadas antes del filtrado que se suministran desde la memoria 69 de cuadros a la sección 80 de predicción intra, como los datos de las imágenes de referencia. También, en el caso en que se especifique el modo de predicción ínter, el selector 70 transmite los datos de las imágenes decodificadas después del filtrado que se suministran desde la memoria 69 de cuadros a la sección 90 de compensación del movimiento, como los datos de las imágenes de referencia.
El selector 71 conmuta la fuente de salida de los datos de las imágenes a ser suministrados a la sección 65 de adición entre la sección 80 de predicción intra y la sección 90 de compensación del movimiento parea cada bloque en las imágenes de acuerdo con la información del modo adquirida por la sección 62 de decodificación sin pérdidas. Por ejemplo, en el caso de que se especifique el modo de predicción intra, el selector 71 suministra a la sección 65 de adición, los ,datos de las imágenes pronosticadas transmitidas desde la sección 80 de predicción intra. En el caso de que se especifique el modo de predicción ínter, el selector 71 suministra a la sección 65 de adición los datos de las imágenes pronosticadas transmitidos desde la sección 90 de compensación del movimiento .
La sección 80 de predicción intra lleva a cabo la predicción en pantalla del valor de los pixeles con base en la información sobre la información intra introducida desde la sección 62 de decodificación sin pérdidas y los datos de las imágenes de referencia de la memoria 69 de cuadros, y genera los datos de las imágenes pronosticadas. Entonces, la sección 80 de predicción intra transmite los datos de las imágenes pronosticadas, generados, al selector 71.
La sección 90 de compensación del movimiento lleva a cabo un proceso de compensación del movimiento con base en la información sobre la predicción ínter introducida desde la sección 62 de decodificación sin pérdidas y los datos de las imágenes de referencia de la memoria 69 de cuadros, y genera los datos de las imágenes pronosticadas. Entonces, la sección 90 de compensación del movimiento trasmite los datos de las imágenes generadas, al selector 71. <2. Técnica Existente> ; [2-1. Configuración básica del Filtro de Desbloqueo] ¦ Por lo general, los procesos que usan el filtró de desbloqueo en un sistema de codificación de imágenes existente tal como H.264/AVC o HEVC incluyen dos tipos de procesos, es decir, procesos de determinación de la necesidad del filtrado y procesos de filtrado. Los párrafos siguientes describen estos dos procesos en HEVC, por ejemplo. (1) Procesos de Determinación de la Necesidad del Filtrado Los procesos de determinación de la necesidad del filtrado determinan si el filtro de desbloqueo necesita ser aplicado a cada limite de los bloques dentro de las imágenes de entrada. Los limites de los bloques incluyen el limite vertical entre los bloques adyacentes horizontalmente entre si y el limite horizontal entre los bloques adyacentes verticalmente entre si. JCTVC-A119 usa un tamaño de bloque de 8x8 pixeles como una unidad de procesamiento mínima.' Por ejemplo, un bloque macro de 16x16 pixeles incluye cuatro bloques de 8x8 pixeles. El proceso se aplica a un limite vertical (izquierda) y un límite horizontal (parte superior) de cada bloque, es decir, cuatro límites más cuatro límites igual a ocho límites en total. La especificación asume que el bloque macro como un término técnico incluye una unidad de codificación (CU) en el contexto de HEVC.
La Fig. 3 es un diagrama explicativo que muestra un ejemplo de los pixeles en dos bloques (bloques adyacentes) Ba y Bb, adyacentes entre si alrededor de un límite. Los párrafos siguientes describen el límite vertical como un ejemplo,1 y la descripción obviamente se puede aplicar al límite vertical. El ejemplo de la Fig. 3 usa el símbolo pi para representar un pixel en el bloque Ba . En este símbolo, i denota un índice de columna y j denota un índice de renglón. El índice de columna i se numera como 0, 2 y 3 en orden (de derecha a izquierda) desde la columna más cercana al límite vertical. El índice de renglón j se numera como 0, 1, 2, ..., 7 desde la parte superior a la parte inferior. La mitad izquierda del bloque Ba se omite del dibujo. El símbolo qk se usa para representar los pixeles en el bloque Bb. En este símbolo, k denota un índice de columna, y j denota un índice de renglón. El índice de columna k se numera como 0, 2, y 3 en orden (de izquierda a derecha) desde la columna más cercana al límite vertical. La mitad derecha del bloque Bb se omite del dibujo.
Las siguientes condiciones pueden ser usadas para determinar la necesidad de aplicar el filtro de desbloqueo al límite vertical entre los bloques Ba y Bb mostrados en la Fig. 3.
Condición de determinación del componente luma (Luma:) ... El filtro de desbloqueo se aplica si las condiciones A y B son ambas verdaderas.
Condición A: (Al) El bloque Ba o Bb entra en el modo de predicción intra; (A2) El bloque Ba o Bb tiene un coeficiente de transformación ortogonal diferente de cero; o (A3) | VAx-MVBx I=4 o | MVAy-MVBy | >4 Condición B: I P22-2pi2+Po2 I + I q22-2qi2+qo2 I + I P25-2p15+p05 I + I q25" q15+qo51 <ß La condición A3 asume que el vector de movimiento para el bloque Ba sea (MVAx,MVAy) y el vector de movimiento para el bloque Bb sea (MVBx,MVBy) de acuerdo con la precisión Qpel (1/4 de pixel) . La condición B usa ß como el valor de umbral de determinación del borde. El valor inicial de ß se da de acuerdo con un parámetro de cuantificación . El valor de ß puede ser especificado por el usuario usando un parámetro dentro del encabezamiento del segmento.
Condición de determinación del componente croma (Croma) ... El filtro de desbloqueo se aplica si la condición Al es verdadera.
Condición Al: El bloque Ba o Bb entra en el modo de predicción intra.
Como se indica por los cuadros en linea discontinua L3 y L6 en la Fig. 4, los procesos de determinación de la necesidad del filtrado sobre los limites verticales generales (en particular bajo la condición de determinación B del componente luma) hacen referencia a los pixeles en el tercero y el sexto renglones (asumiendo que el renglón de la parte superior sea el primero) en cada bloque. De forma similar, los procesos de determinación de la necesidad del filtrado sobre los limites horizontales hacen referencia a los pixeles (no se muestran en la Fig. 4) en la tercera y la sexta columnas en cada bloque.
Las condiciones de determinación descritas anteriormente se usan para determinar que el filtro de desbloqueo necesita ser aplicado a un limite sobre el cual se llevan a cabo los procesos de filtrado descritos a continuación. (2) Procesos de Filtrado Si se determina que el filtro de desbloqueo necesita ser aplicado a un limite, los proceso de filtrado se llevan a cabo sobre los pixeles a la derecha y a la izquierda del limite vertical y sobre los pixeles arriba y abajo del límite horizontal. En los componentes luma, la intensidad del filtrado se conmuta entre un filtro fuerte y un filtro débil de acuerdo con los valores de los pixeles.
Componentes luma del filtrado Selección de la intensidad ... La intensidad del filtro se selecciona para cada renglón o columna. El filtro fuerte se selecciona si se cumplen las siguientes condiciones Cl a C3. El filtro débil se selecciona se no se cumple inclusive alguna de las condiciones.
(Cl)d< ( P»2) (C2) ( |p3j-p0jl + lqoj-q3jl )<(ß»3) (C3) I Poj-qoj I < ( (5tc+ l ) »l ) donde j denota el índice del renglón para el límite vertical o el índice de columna para el límite horizontal. d= I P22-2pi2+P02 I + I q22"2qi2+q02 I + I P25~2pi5+P05 I + I q25~2qi5+qos 1 ; Filtrado débil A=Segmento de Video (-tc, tc, (13 (q0j-poj) +4 (qij-pij) -5 (q2j-p2j)+16)»5) ) P0j=Clip0-255 (Poj+?) q0j=Clip0-255 (qoj-?) Plj=Clip0-255 (Plj+A/2) qij=Clip0-255 (qij-A/2) Filtrado Fuerte p0j= Clip0-255 ( ( p2j+2pij+2p0j+2q0j+qij+4) »3) q0j= Clip0-255 ( ( pij+2p0j+2q0j+2qij+q2j+4) >>3) Pl-j= Clip0-255 ( (p2j+Pij+Poj+loj+2)»2) qij= Clip o-255 ( (Poj+qoj+qij+q2j+2) »2) p2j= Clipo-255 ( ( 2p3j + 3p2j+Pij+Poj+qoj+4) » 3 ) q2j= Clip0-255 ( (poj+qoj+qij+3q2j+2q3j+4 ) »3) donde Clip(a,b,c) denota un proceso para formar el clip del valor c dentro del rango de a=c=b y Clip0-255 (c) denota un proceso para formar el clip del valor de c dentro del rango de 0<c<255.
Componentes croma del filtrado A=Clip(-tc,tc, ( ( ( (q0j-poj)«2)+Pij +qij+4)»3) ) , P0j=ClÍp0-255 (Poj+?) q0j=Clipo_255 (qoj-?) Como se indica por los cuadros de linea discontinua C5 a C6 y Cl a C3 en la Fig. 5, los procesos de filtrado (en particular el filtrado fuerte sobre los componentes luma) sobre los limites verticales actualizan los valores de los pixeles en la primera a la tercera y la sexta a la octava columnas en cada bloque. De forma similar los procesos de filtrado en los limites horizontales actualizan los valores de los pixeles en el primero al tercero y el sexto al octavo renglones en cada bloque. [2-2. Dependencia Entre los Procesos de Acuerdo con una Técnica Existente] Para los propósitos de la descripción, como se muestra en la Fig. 6, los bloques macro MBx ( BO, MB1...) cada uno que tiene el tamaño de 16x16 pixeles, incluye el limite vertical, superior izquierdo, representado como Vx,0, el limite vertical, central superior, representado como Vx,l, el limite vertical inferior izquierdo, representado como Vx,2, el limite vertical central inferior representado como VX,3, el limite horizontal superior izquierdo representado como Hx,0, el limite horizontal superior derecho, representado como Hx,l, el limite horizontal central izquierdo, representado como Hx', 2, y el limite horizontal central derecho representado como Hx,3. Con relación al limite Z, por ejemplo, el procesó de determinación de la necesidad del filtrado se representa como Jz y el proceso de filtrado se representa como Fz. : La técnica existente descrita anteriormente no provoca dependencia entre los procesos sobre los limites en la misma dirección dentro de un bloque macro. Por lo tanto, la técnica puede realizar el filtrado paralelo sobre los limites verticales y los limites horizontales dentro de un bloque macro, por ejemplo. Como un ejemplo, la Fig. 7 deja claro que no hay dependencia entre cuarto procesos de filtrado FVOfo, Fvo,i/ Fvo,2, Fvo,o, y Fvo,3 (los pixeles no se actualizan de forma redundante) dentro de un bloque macro BO y los procesos de filtrado pueden ser llevados a cabo en paralelo.
Sin embargo, las técnicas existentes, descritas anteriormente, dejan la dependencia entre los procesos de filtrado sobre los limites verticales y los procesos de determinación de la necesidad del filtrado sobre los limites horizontales. La técnica existente también deja la dependencia entre los procesos de filtrado sobre los limites horizontales y los procesos de determinación de la necesidad del filtrado sobre los límites verticales. Si un limite vertical se procesa antes de un límite horizontal, por ejemplo, los procesos de determinación de la necesidad del filtrado necesitan, ser llevados a cabo sobre los límites horizontales dentro de un bloque macro dado después de la terminación de los procesos de filtrado sobre los límites verticales. Como un ejemplo, la Fig. 8 muestra que, dentro del bloque macro (MBO), el proceso de determinación de la necesidad del filtrado JHo,o depende de los resultados de los procesos de filtrado Fvo,o y Fvo,i y el proceso de determinación de la necesidad del filtrado JHo,i depende del resultado de los procesos de filtrado FVo,i- De forma similar, los procesos de determinación de la necesidad del filtrado necesitan ser llevados a cabo sobre los limites verticales dentro de un bloque macro dado después de la terminación del proceso de filtrado sobre el limite horizontal para el bloque macro adyacente. Como un ejemplo, la Fig. 9 muestra que el proceso de determinación de la necesidad del filtrado Jvi.o para el bloque macro MB1 depende de los resultados de los procesos de filtrado FHo,i y FH0,3 para el bloque macro MBO y el proceso de determinación de la necesidad del filtrado Jvi,2 para el bloque macro MB1 depende del resultado del proceso de filtrado FHo,3 para el bloque macro MBO.
La técnica existente involucra la dependencia entre los procesos y por lo tanto proporciona un procesamiento paralelo del filtro de desbloqueo para cada extensión limitada aún si se usa la técnica propuesta en JCTVC-A119.
La Fig. 10 es un diagrama explicativo que ilustra la secuencia de los procesos del filtro de desbloqueo de acuerdo con una técnica existente. El ejemplo asume que se suministran al filtro de desbloqueo imágenes que tienen el tamaño de 32x32 pixeles. Las imágenes de entrada incluyen cuatro bloques macro MBO a MB3 cada uno que tiene el tamaño de 16x16 pixeles.
En la Fig. 10, cada cuadro de linea discontinua representa un proceso a ser llevado a cabo en paralelo. Por ejemplo, la primera etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado Jvo,0/ Jvo,i' Jvo,2f y J o,3r sobre los cuatro límites verticales en el bloque macro BO . La segunda etapa lleva a cabo, en paralelo, los procesos de filtrado Fvo,or Fvo,i/ Fvo,2> y Fvo, 3 r sobre los cuatro límites verticales en el bloque macro MBO. Después de la terminación de la segunda etapa, la tercera etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado JHo,o, JHO,1' Jm, 2 , Y JHO,3 sobre los cuatro límites horizontales en el bloque macro MBO. La cuarta etapa lleva a cabo, en paralelo, los procesos de filtrado FHo,o, FHo,i/ FHO,2, y Ho,3f sobre los cuatro límites horizontales en el bloque macro MBO. Después de la terminación de la cuarta etapa, los procesos (etapas quinta a octava) para el bloque macro MB1 se llevan a cabo sucesivamente. Después de la terminación de Los procesos sobre el bloque macro MB1, los procesos (novena a doceava etapas) para el bloque macro MB2 se llevan a cabo sucesivamente. Después de la terminación de los procesos sobre el bloque macro MB2, los procesos (treceava a dieciseisava etapas) para el bloque macro MB3 se llevan a cabo sucesivamente.
Tal procesamiento paralelo dentro de la extensión limitada no puede resolver de forma satisfactoria el problema del retardo o de la degradación de la tasa de datos debido la gran cantidad de procesamiento cuando se aplica el filtro de desbloqueo. Los tres ejemplos de trabajo descritos a continuación mejoran adicionalmente el procesamiento paralelo cuando se aplica la definición. <3. Primer Ejemplo de Trabajo> [3-1. Ejemplo de Configuración del Filtro de Desbloqueo] Los párrafos siguientes describen las configuraciones ejemplares del filtro 24a de desbloqueo para el dispositivo 10 de codificación de imágenes mostrado en la Fig. 1 y el filtro 24b de desbloqueo para el dispositivo 60 de decodificación de imágenes mostrado en la Fig. 2 de acuerdo con el primer ejemplo de trabajo. Las configuración del filtro 24a de desbloqueo y el filtro 24b de desbloqueo pueden ser comunes entre si. En la siguiente descripción, el filtro 24a de desbloqueo y el filtro 24b de desbloqueo se conocen de forma genérica como un filtro 24 de desbloqueo cuando no haya necesidad de distinción entre estos. (1) Dependencia entre los nuevos procesos De acuerdo con el ejemplo de trabajo, los procesos que usan en filtro 24 de desbloqueo también incluyen dos tipos de procesos, es decir, procesos de determinación de la necesidad del filtrado, y procesos de filtrado. Sin embargo, el filtro 24 de desbloqueo usa valores del pixel de referencia distintos a los de la técnica existente, para determinar si se aplica el filtro de desbloqueo a los limites verticales y a los limites horizontales. Específicamente, para la determinación sobre los límites verticales, el filtro 24 de desbloqueo un pixel de referencia, es decir, un pixel que se incluye en los pixeles de los bloques adyacentes alrededor del límite vertical y pertenece a un renglón al cual no se aplica el filtro de desbloqueo para los límites horizontales. Para la determinación sobre los límites horizontales, el filtro 24 de desbloqueo usa otro pixel de referencia, es decir, un pixel que se incluye en los pixeles de los bloques adyacentes alrededor del límite horizontal y pertenece a un renglón al cual no se aplica el filtro de desbloqueo para los límites verticales. También, en la siguiente descripción, el filtro 24 de desbloqueo lleva a cabo procesos basados en un tamaño de bloque de 8x8 pixeles como una unidad de procesamiento, por e emplo .
La Fig. 11 es un diagrama explicativo que ilustra los pixeles de referencia durante los procesos de determinación de la necesidad del filtrado llevados a cabo por el filtro 24 de desbloqueo sobre los límites verticales. Con referencia a la Fig. 11, el bloque macro MBO tiene el tamaño de 16x16 pixeles. El filtro 24 de desbloqueo determina si se aplica el filtrado a los cuatro límites verticales del bloque macro MBO usando los pixeles de referencia que pertenecen al menos a uri del cuarto y el quinto renglones (L4 y L5) de cada bloque. El filtro de desbloque para los límites horizontales no se aplica a estos dos renglones (véase la Fig. 9). Esta configuración resuelve la dependencia entre los procesos de filtrado sobre los límites horizontales y los procesos de determinación de la necesidad del filtrado sobre los limites verticales resuelve la dependencia entre los procesos de filtrado sobre los limites horizontales y los procesos de determinación de la necesidad del filtrado sobre los limites verticales.
La Fig. 12 es un diagrama explicativo que ilustra los pixeles de referencia durante los procesos de determinación de la necesidad del filtrado llevados a cabo por el filtro 24 de desbloqueo sobre los limites verticales. La Fig. 12 también muestra el bloque macro MBO . El filtro 24 de desbloqueo determina si se aplica el filtrado a los cuatro limites horizontales del bloque macro MBO usando los pixeles de referencia que pertenecen al menos a una de la cuarta y la quinta columnas (C4 y C5) de cada bloque. El filtro de desbloqueo para los limites verticales no se aplica a estas dos columnas (véase la Fig. 7 u 8) . Esta configuración resuelve la dependencia entre los procesos de filtrado sobre los limites verticales y los procesos de determinación de la necesidad del filtrado sobre los limites horizontales.
Resolver la dependencia entre los procesos puede paralelizar en consecuencia los procesos de determinación de la necesidad del filtrado para los limites verticales y los limites horizontales dentro de un bloque macro. Los pro.cesos pueden ser paralelizados entre los bloques macro. Los procesos de determinación de la necesidad del filtrado pueden ser llevados a cabo en paralelo sobre los limites verticales y los limites horizontales de todos los bloques macro dentro de las imágenes de entrada.
La Fig. 13 es un diagrama explicativo que ilustra un primer ejemplo de la secuencia del proceso disponible sobre el filtro 24 de desbloqueo. El ejemplo también asume que se suministran al filtro de desbloqueo imágenes que tienen el tamaño de 32x32 pixeles. Las imágenes de entrada incluyen cuatro bloques macro MBO a MB3, cada uno que tiene el tamaño de 16x16 pixeles.
En la Fig. 13, cada cuadro de linea discontinua representa un proceso a ser llevado a cabo en paralelo. Aunque el ejemplo en la Fig. 10 requiere 16 etapas del proceso para una secuencia de procesos, el ejemplo en la Fig. 13 agrega el mismo número de procesos en tres etapas del proceso. La primera etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado JVo,o a Jv3,3 sobre todos los limites verticales y todos los limites horizontales de todos los bloques macro MBO a MB3. La segunda etapa lleva a cabo, en paralelo, los procesos de filtrado Fvo,o a Fv3,3 sobre 16 limites verticales de todos los bloques macro MBO a MB3. La tercera etapa lleva a cabo, en paralelo, los procesos de filtrado FHO,o a FH3(3 sobre 16 limites horizontales de todos los bloques macro MBO a MB3. La segunda etapa y la tercera etapa se pueden llevar a cabo en el orden inverso.
El ejemplo en la Fig. 13 maximiza el paralelismo (la cantidad de procesos llevados a cabo en paralelo) con base en el procesamiento en paralelo entre Los bloques macro. De acuerdo con el ejemplo en la Fig. 14, sin embargo, el filtro 24 de desbloqueo puede llevar a cabo un proceso sobre cada bloque macro.
El ejemplo en la Fig. 14 agrega el mismo número de procesos ilustrados en las Figs. 10 y 134 en 12 etapas del proceso. La primera etapa lleva a cabo, en paralelo,, los procesos de determinación de la necesidad del filtrado Jvo,o a Jvo,3 y JHO,O a JHO,3 sobre cuatro limites verticales y cuatro limites horizontales del bloque macro MBO. La segunda etapa lleva a cabo, en paralelo, los procesos de filtrado Fvo,o a' FVo,3 sobre cuatro limites verticales en el bloque macro MBO. La tercera etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad de filtrado Jvi,o a Jvi,3 y Jm,o a JHI,3 sobre cuatro limites verticales y cuatro limites horizontales del bloque macro MB1. La cuarta etapa lleva a cabo, en paralelo, los procesos de filtrado FVi,o a FVi,3 sobre cuarto limites verticales en el bloque macro MB1. La quinta etapa lleva a cabo, en paralelo, los procesos de filtrado! FHo,o a FH0,3 sobre cuatro limites horizontales en el bloque macro MBO. La secta etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado JV2,o a Jv2,3 y JH2,O a JH2,3 sobre cuatro límites verticales y cuatro límites horizontales del bloque macro MB2. La séptima etapa lleva a cabo, en paralelo, los procesos de filtrado FV2,o a Fv2,3 sobre cuatro limites verticales en el bloque macro MB2. La octava etapa lleva a cabo, en paralelo, los procesos de filtrado FHi,o a FHi,3 sobre cuatro limites horizontales en el bloque macro MB1. La novena etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado Jv3,o a Jv3,3 y JH3,O a JH3,3 sobre cuatro limites verticales y cuatro limites horizontales del bloque macro MB3. La décima etapa lleva a cabo, en paralelo, los procesos de filtrado Fv3,o a Fv3,3 sobre cuatro limites verticales en el bloque macro MB3. La onceava etapa lleva a cabo, en paralelo, los procesos de filtrado FH2,o a Fh2,3 sobre cuatro limites horizontales en el bloque macro MB2. La doceava etapa lleva a cabo, en paralelo, los procesos de filtrado FH3,o FH3,3 sobre cuatro limites horizontales en el bloque macro MB3. En este caso, el filtro 24 de desbloqueo puede llevar a cabo un proceso sobre las imágenes de entrada completas usando menos etapas del proceso que aquellas de la técnica existente aunque el paralelismo es menor que en el ejemplo en la Fig. 13. (2) Configuración básica del filtro de desbloqueo La Fig. 15 es un diagrama de bloques que ilustra la configuración detalladla del filtro 24 de desbloqueo de acuerdo con el primer ejemplo de trabajo para llevar a cabo los procesos paralelos descritos anteriormente. Con referencia a la Fig. 15, el filtro 24 de desbloqueo incluye un bloque 110 de determinación, un bloque 130 de filtrado horizontal, un bloque 140 de filtrado vertical, y una sección 150 de control de la paralelización . (2-1) Bloque de determinación El bloque 110 de determinación incluye las secciones! 112-1 a 112-n de determinación de los limites verticales y sección 114-1 a 114-n de determinación de los limites horizontales. Las secciones 112 de determinación de los limites verticales y las secciones 114 de determinación de los limites horizontales se suministran con las imágenes introducidas al filtro 24 de desbloqueo y la información de la determinación usada para determinar la necesidad del filtrado.
Las secciones 112 de determinación de los limites verticales determina si se aplica el filtro de desbloqueo a los limites verticales usando el valor de los pixeles de de los pixeles de referencia que pertenecen a un renglón al cual no se aplica el filtro de desbloqueo para los limites verticales como se ilustra en la Fig. 11. En este ejemplo, los valores de pixel de los pixeles de referencia se introducen al filtro 24 de desbloqueo. Las secciones 112 de determinación de los límites verticales transmiten, al bloque 130 de filtrado horizontal, la información que indica el resultado de la determinación sobre cada límite vertical (por ejemplo, la información binaria de la cual, el valor "1" indica el resultado de la determinación de que el filtro de desbloqueo necesita ser aplicado) .
Las secciones 114 de determinación de los limites horizontales determinan si se aplica el filtro de desbloqueo a los limites horizontales usando los valores de pixel de los pixeles de referencia que pertenecen a un renglón al cual no se aplica el filtro de desbloqueo para los limites verticales como se ilustra en la Fig. 12. En este ejemplo, el valor de pixel de los pixeles de referencia también se introduce al filtro 24 de desbloqueo. El proceso de determinación llevado a cabo por cada una de las secciones 114 de determinación de los limites horizontales se lleva a cabo en paralelo con el proceso de determinación llevado a cabo por cada una de las secciones · 112 de determinación de los limites verticales: Las secciones 114 de determinación de los limites horizontales transmite, al bloque 140 de filtrado vertical, la información que indica el resultado de la determinación sobre cada limite horizontal.
La Fig. 16 es un diagrama de bloques que ilustra la configuración detallada de cada una de las secciones 112 de determinación de los limites verticales y las secciones 114 de determinación de los limites horizontales. Con referencia' a la Fig. 16, cada sección de determinación incluye una sección 121 de constitución de la derivación, una sección 122 de cálculo, una sección 123 de comparación del umbral, una sección 124 de evaluación de las distorsiones, y una sección 125 de determinación del filtrado.
La sección 121 de constitución de la derivación adquiere un valor de los pixeles de referencia de entre los valores de los pixeles de dos bloques adyacentes alrededor de un limite focalizado en las imágenes de entrada y constituye una derivación (un conjunto de valores de los pixeles de referencia) para determinar la condición de determinación B para el componente luma descrito anteriormente. Por ejemplo, un limite vertical puede ser focalizado en los bloques, cada uno de los cuales tiene el tamaño de 8x8 pixeles. En este caso, la sección 121 de constitución de la derivación constituye una derivación a partir de un valor de pixel que pertenece al cuarto y/o al quinto renglones de dos bloques a la derecha y a la izquierda. Si se focaliza un limite horizontal, la sección 121 de constitución de la derivación constituye una derivación desde un valor de pixel que pertenece a la cuarta y/o la quinta columnas de dos bloques en la parte superior y la parte inferior. La sección 122 de cálculo asigna ella derivación constituida por la sección 121 de constitución de la derivación al lado izquierdo de la expresión de determinación en la condición de determinación B y calcula el valor de borde a ser comparado con el valor de umbral de determinación del borde ß. La sección 123 de comparación del umbral compara el valor calculado por la sección 12 de cálculo con el valor de umbral de determinación del borde ß y transmite el resultado de la comparación a la sección 125 de determinación del filtrado.
La sección 124 de evaluación de la distorsión evalúa la condición de determinación A del componente luma descrita anteriormente usando la información del modo (modo MB) , la información del coeficiente de transformación, y la información del vector de movimiento, suministrada como la información de determinación. La sección 124 de evaluación de la distorsión transmite el resultado de la evaluación a la sección 125 de determinación del filtrado. La sección 124 de evaluación de la distorsión evalúa solo la condición de determinación Al de un componente croma con base en la información del modo.
La sección 125 de determinación del filtrado determina si se aplica el filtro de desbloqueo a un limite focalizado, con base en el resultado de la comparación de la condición de determinación B suministrada desde la sección 123 de comparación del umbral y el resultado de la evaluación de la condición de determinación A, suministrado desde la sección 124 de evaluación de la distorsión. La sección 125 de determinación del filtrado transmite la información que indica el resultado de la determinación. (2-2) Bloque de filtrado horizontal Regresando a la Fig. 15, se describirá adicionalmente la configuración del filtro 24 de desbloqueo. El bloque 130 de filtrado horizontal incluye las secciones 132-1 a 132-n de filtrado horizontal. Las secciones 132 de filtrado horizontal se suministran con las imágenes de entrada y el resultado de la determinación relacionado con cada limite vertical desde el bloque 110 de determinación.
Las secciones 132 de filtrado horizontal aplican el filtro de desbloqueo para los limites verticales a los pixeles derecho e izquierdo alrededor del limite vertical correspondiente si el resultado de la determinación de la sección 112 de determinación de los limites verticales indica que el filtro necesita ser aplicado. Las secciones 132 de filtrado horizontal transmiten, al bloque 140 de filtrado vertical, el valor de los pixeles después del filtrado en términos de los pixeles filtrados o el valor de los pixeles de las imágenes de entrada en términos de los otros pixeles.; (2-3) Bloque de filtrado vertical El bloque 140 de filtrado vertical incluye las secciones 142-1 a 142-n de filtrado vertical. Las secciones 142 de filtrado vertical se suministran con las imágenes de entrada y el resultado de la determinación relacionado con cada limite vertical desde el bloque 110 de determinación. : Las secciones 142 de filtrado vertical aplican el filtro de desbloqueo para los limites verticales, a los pixeles superiores e inferiores alrededor del limite horizontal correspondiente si el resultado de la determinación !de 'la sección 114 de determinación de los limites horizontales indica que el filtro necesita ser aplicado. Las secciones 142 de filtrado vertical trasmiten el valor de los pixeles después del filtrado, en términos de los pixeles filtrados o el valor de los pixeles suministrado desde el bloque de filtrado horizontal en términos de los otros pixeles. La salida de cada una de las secciones 142 de filtrado vertical puede estar contenida en las imágenes de salida del filtro 24 de desbloqueo. (2-4) Sección de control de la paralelizacion La sección 150 de control de la paralelizacion controla el paralelismo de los procesos de determinación de la necesidad del filtrado en el bloque 110 de determinación y el paralelismo de los procesos de filtrado en el bloque 130 de filtrado horizontal y el bloque 140 de filtrado vertical.
Por ejemplo, la sección 150 de control de la paralelizacion puede controlar el paralelismo de los procesos para cada bloque con base en el tamaño de las imágenes. Más específicamente, la sección 150 de control de: la paralelizacion aumenta el paralelismo de los procesos para cada bloque si el tamaño de las imágenes es relativamente grande. Esto puede evitar, de forma adaptativa el retardo o la degradación de la tasa de datos debido a la cantidad de procesamiento que aumenta de acuerdo con el tamaño de las imágenes. Por ejemplo, la sección 150 de control de la paralelización puede controlar el paralelismo de los procesos para cada bloque, con base en un conjunto de parámetros de secuencia, un conjunto de parámetros de las imágenes, o los parámetros contenidos en el encabezamiento de la división. Esto permite configurar de forma flexible el paralelismo de acuerdo con requerimientos de los usuarios quienes desarrollan los aparatos. Por ejemplo, el paralelismo puede ser configurado de acuerdo con las restricciones sobre el ambiente de instalación, tal como el número de núcleos de procesador o el número de hilos de ejecución o subprocesos de programa.
El ejemplo de trabajo puede paralelizar los procesos entre los bloques macro. Esto significa que cualquier secuencia de procesos sobre los bloques dentro de las imágenes no tiene efecto sobre el resultado producido finalmente. Por consiguiente, la sección 150 de control de la paralelización puede controlar la secuencia de procesos de determinación de la necesidad del filtrado en el bloque 110 de determinación y la secuencia de los procesos de filtrado en el bloque 130 de filtrado horizontal y el bloque 140 de filtrado vertical sobre una base por bloque.
Más específicamente, la sección 150 de control de la paralelización puede controlar la secuencia de los procesos de filtrado de acuerdo con la dependencia de los procesos de filtrado entre los bloques macro. De acuerdo con una técnica existente, por ejemplo, la dependencia de los procesos ! entre los bloques macro adyacentes alrededor del límite de una división puede retardar los procesos paralelos en cada división dentro de una imagen. Sin embargo, la sección 150 de control de la paralelización de acuerdo con el ejemplo de trabajo puede llevar a cabo procesos de filtrado sobre bloques macro adyacentes alrededor del límite del división antes de los otros bloques macro.
Por ejemplo, la Fig. 17 ilustra ocho bloques macro MB10 a MB13 y MB20 a MB23 alrededor del límite de un división. Los bloques macro MB10 a B13 pertenecen a la división SLl. Los bloques macro B20 a MB23 pertenecen a la división SL2. Con relación a estos bloques macro, los procesos de filtrado para los límites verticales sobre el bloque macro MB20 en la división SL2 dependen de los procesos de filtrado para los límites verticales en el bloque macro MB21 en la división SLl. De forma similar, los procesos de filtrado para los límites horizontales en el bloque macro B21 en la división SL2 dependen de los procesos de filtrado para los límites verticales en el bloque macro MB13 en la división SLl.
De acuerdo con un ejemplo, en la Fig. 18 bajo estas condiciones, la sección 150 de control de la paralelización lleva a cabo los procesos de filtrado sobre los limites verticales de los bloques macro MB12 y B13 de entre los procesos de filtrado para la división SLl preferiblemente a los procesos en los otros límites. El resultado es evitar que ocurra un gran retardo en los procesos de filtrado sobre los limites horizontales de los bloques macro MB20 y MB21 de entre los procesos de filtrado para la división SL2. El ejemplo en la Fig. 19 lleva a cabo inicialmente los procesos de filtrado en paralelo sobre los limites verticales para todos los bloques incluidos en la división SL1. También, en este caso, no ocurren retardos en el proceso de filtrado sobre los limites horizontales de los bloques macro MB20 y MB21 en la división SL2. [3-2. Flujo del Proceso] Con referencia a las Figs. 20 a 22, se describirá el flujo del proceso para el filtro 24 de desbloqueo. (1) Primer Escenario La Fig. 20 es un diagrama de flujo que ilustra un ejemplo del flujo del proceso para el filtro 24 de desbloqueo de acuerdo con el primer escenario. El primer escenario corresponde al ejemplo del paralelismo extensivo como se muestra en la Fig. 13.
Con referencia a la Fig. 20, las secciones 112-1- a 112-n de determinación de los limites verticales determinan en paralelo, si es necesario el filtrado para todos los limites verticales incluidos en los bloque macro dentro de: las imágenes de entrada (etapa S102) . Las secciones 114-1 a 114-n de determinación de los limites horizontales determinan en paralelo si el filtrado es necesario para todos los limites horizontales incluidos en los bloques macro dentro de, las imágenes de entrada (etapa S104) . Las etapas S102 y S104 también se llevan a cabo en paralelo. ; Las secciones 132-1 a 132-n de filtrado horizontal aplican el filtro de desbloqueo en paralelo a todos: los limites verticales que como se ha determinado en la etapa S102, requieren que sea aplicado el filtro de desbloqueo (etapa S110) . Las secciones 142-1 a 142-n de filtrado vertical aplican el filtro de desbloqueo en paralelo a todos, los limites horizontales que como se ha determinado en la etapa S104, requieren que sea aplicado el filtro de desbloqueo (etapa S120) . ¦ (2) Segundo escenario La Fig. 21 es un diagrama de flujo que ilustra un ejemplo del flujo del proceso para el filtro 24 de desbloqueo de acuerdo con el segundo escenario. El segundo escenario corresponde al ejemplo del paralelismo reducido como se muestra en la Fig. 14.
Con referencia a la Fig. 21, las secciones 112-1 a Í12-n de determinación de los limites verticales determinan en paralelo si el filtrado es necesario para todos los limites verticales incluidos en un bloque macro focalizado dentrjo de; las imágenes de entrada (etapa S202) . Las secciones 114:-1 a 114-n de determinación de los limites horizontales determinan en paralelo si el filtrado es necesario para todos los limites' horizontales incluidos en el bloque macro focalizado (etapa S204) . Las etapas S202 y S204 también se llevan a cabo en paralelo .
Las secciones 132-1 a 132-n de filtrado horizontal aplican el filtro de desbloqueo en paralelo a los limites verticales en el bloque macro focalizado que como se ha determinado en la etapa S202, requieren que sea aplicado el filtro de desbloqueo (etapa S210) .
El proceso en la etapa S220 tiene como objetivo un bloque macro focalizado en el bucle más reciente. El proceso en la etapa S220 puede ser omitido para el primer bloque macro focalizado. Las secciones 142-a a 142-n de filtrado vertical aplicar el filtro de desbloqueo en paralelo a los límites horizontales, que como se ha determinado en la etapa S204 en el bucle más reciente, requieren que sea aplicado el filtro de desbloqueo (etapa S220) .
El proceso en las etapas S202 a S220 se repite para un bloque macro recién focalizado si los bloques macro focalizados permanecen sin procesar en las imágenes de entrada (etapa S230) .
Si no quedan bloques macro focalizados no procesados, las secciones 142-1 a 142-n de filtrado vertical aplican el filtro de desbloqueo en paralelo a los limites horizontales, que como se ha determinado, requieren que el filtro de desbloqueo sea aplicado en el bloque macro focalizado para el último ;bucle (etapa S240) . El proceso termina entonces.
Aunque se han descrito los dos escenarios típicos para paralelizar los procesos en unidades de imágenes y bloques macro, los dos escenarios simplemente dos ejemplos para la descripción. Los procesos del filtro 24 de desbloqueo pueden ser paralelizados en varias unidades, como por ejemplo un número dado de bloques macro (dos o cuatro bloques macro) o un grupo de bloques colocados horizontalmente o verticalmente, por ejemplo. (3) Procesos de determinación de la necesidad del filtrado La Fig. 22 es un diagrama de flujo que ilustra el flujo de los procesos de determinación de la necesidad del filtrado correspondientes a las etapas S102 y S104 en la Fig. 20 y las etapas S202 y S204 en la Fig. 21.
Con referencia a la Fig. 22, la sección 124 de evaluación de la distorsión evalúa la distorsión de cada límite con base en la información del modo, la información del coeficiente de transformación, y la información del vector de movimiento (etapa S130) . El proceso procede a la etapa S134 si la evaluación resulta en la presencia de la distorsión (la condición de determinación A es verdadera) . El proceso procede a la etapa S140 si la evaluación resulta en la ausencia de la distorsión (etapa S132).
En la etapa S134, la sección 122 de cálculo calcula el valor de borde con base en una derivación del pixel de referencia constituido por la sección 121 de constitución de la derivación (etapa S134) . La sección 123 de comparación del umbral compara el valor caliculado con el valor de umbral de determinación ß (etapa S136) . El proceso procede a la etapa S138 si el valor de borde es menor que el valor de umbral ß (la condición de determinación B es verdadera) . El proceso procede a la etapa S140 si el valor de borde no es menor que el valor de umbral ß.
En la etapa S138, la sección 125 de determinación del filtrado determina aplicar el filtro de desbloqueo a un limite a ser determinado (etapa S138) . En la etapa S140, la sección 125 de determinación del filtrado determina no aplicar el filtro de desbloqueo a un limite a ser determinado (etapa S140) . <4. Segundo Ejemplo de Trabajo> El primer ejemplo de trabajo lleva a cabo el proceso de determinación de la necesidad del filtrado sobre un bloque dado, usando el valor de pixel de los pixeles no actualizados por los procesos de filtrado sobre los otros bloques. En contraste, el segundo ejemplo de trabajo descrito a continuación proporciona la memoria para almacenar los valores de pixel introducidos al filtro de desbloqueo y por consiguiente permite eliminar las restricciones sobre . los procesos de determinación y usar condiciones de determinación más versátiles. [4-1. Ejemplo de Configuración del Filtro de Desbloqueo] (1) Descripción de la secciones La Fig. 23 es un diagrama de bloques que ilustra la configuración detallada del filtro 24 de desbloqueo de acuerdo con el segundo ejemplo de trabajo. Con referencia a la Fig. 23, el filtro 24 de desbloqueo incluye la memoria 208 de linea, un bloque 210 de determinación, el bloque 130 de filtrado horizontal, el bloque 140 de filtrado vertical, y la sección 150 de control de la paralelizacion.
La memoria 208 de linea almacena los valores de pixel para las imágenes suministradas al filtro 24 de desbloqueo. Los procesos de filtrado en el bloque 130 de filtrado horizontal y el bloque 140 de filtrado vertical no actualizan los valores de los pixeles almacenados en la memoria 208 de línea. Los procesos de determinación de la necesidad del filtrado llevados a cabo por las secciones descritas a continuación en el bloque 210 de determinación hacen referencia a los valores de los pixeles almacenados en la memoria 208 de línea. El aparato incluye otra memoria con propósitos diferentes a los procesos del filtro 24 de desbloqueo. Esta memoria puede ser reutilizada (compartida) como la memoria 208 de línea.
El bloque 210 de determinación incluye las secciones 212- a a 212-n de determinación de los límites verticales y las secciones 214-1 a 214-n de determinación de los limites horizontales. Las secciones 212 de determinación de los limites verticales y las secciones 214 de determinación de los limites horizontales se suministran con los valores de los pixeles almacenados en la memoria 208 de linea para las imágenes introducidas al filtro 24 de desbloqueo y la información de determinación usada para determinar la necesidad del filtrado.
Las secciones 212 de determinación de los limites verticales usan los valores de los pixeles introducidos al filtro 24 de desbloqueo para determinar si se debe aplicar el filtro de desbloqueo a cada limite vertical. Las secciones 212 de determinación de los limites verticales transmiten, al bloque 130 de filtrado horizontal, la información que indica el resultado de la determinación sobre cada limite vertical.
Las secciones 214 de determinación de los limites horizontales también usan los valores de los pixeles introducidos al filtro 24 de desbloqueo, para determinar si se en aplicar el filtro de desbloqueo a cada uno de los limites horizontales. Las secciones 214 de determinación de. los limites horizontales llevan a cabo los procesos de determinación en paralelo con los procesos de determinación llevados a cabo por las secciones 212 de determinación de los limites verticales. Las secciones 214 de determinación de los limites horizontales transmiten, al bloque 140 de filtrado vertical, la información que indica el resultado de la determinación sobre cada limite horizontal. (2) Condiciones de determinación versátiles De forma similar a la técnica existente, como se muestra en la Fig. 4, las secciones 212 de determinación de los limites verticales de acuerdo con el ejemplo de trabajo pueden hacer referencia a uno del tercero y el sexto renglones de un bloque para determinar la necesidad del filtrado sobre un límite vertical de cada bloque. En este caso, sin embargo, los valores de los pixeles a los que se debe hacer referencia se almacenan en la memoria 208 de línea y se atribuyen a las imágenes introducidas al filtro 24 de desbloqueo. De forma similar, las secciones 214 de determinación de los límites horizontales pueden hacer referencia a los pixeles en el tercero y el sexto renglones de un bloque para determinar la necesidad del filtrado sobre los límites horizontales de, cada bloque. En este caso, la configuración de acuerdo con el ejemplo de trabajo puede ser proporcionada fácilmente sin| Cambiar las condiciones de determinación para; los procesos de determinación de la necesidad del filtrado instaladas en un aparato existente. : Las secciones 212 de determinación de los limites verticales pueden hacer referencia a los pixeles de tres :o más renglones en un bloque durante la determinación. De : forma similar, las secciones 214 de determinación de los límites horizontales pueden hacer referencia a los pixeles de tres o más columnas en un bloque durante la determinación. Las secciones 212 de determinación de los limites verticales y las secciones 214 de determinación de los limites horizontales pueden usar expresiones de las condiciones de determinación diferentes a las de la técnica existente. Con referencia á las Figs. 24 a 26, los siguientes párrafos describen seis ejemplos de la técnica de determinación de acuerdo con los ejemplos de trabajo. (2-1) Primer ejemplo La Fig. 24 es un diagrama explicativo que ilustra el primero y el segundo ejemplos de la técnica de determinación. En el primero y el segundo ejemplos, los procesos de determinación de la necesidad del filtrado (en particular la determinación que usa la condición de determinación B para los componentes de luma) para los limites verticales, hacen referencia a los pixeles de todos los renglones Ll a L8 del primero al octavo bloques en cada bloque. Los procesos de determinación de la necesidad el filtrado para los limites horizontales también hacen referencia a los pixeles de todas las columnas desde la primera a la octava columnas en ; cada bloque.
El primer ejemplo puede definir las condiciones de determinación para los componentes de luma de la siguiente forma. : Condiciones de determinación del componente luma (Luma) ... El filtro de desbloqueo se aplica si ambas condiciones A y B son verdaderas.
(Al) El bloque Ba o Bb entra en el modo de predicción intra; (A2) El bloque Ba o Bb tiene un coeficiente de transformación ortogonal diferente de cero; o (A3) I MVAx-MVBx | >4 o | VAy-MVBy | >4 Condición B: iD0= I ?2?-2???+??? I + I q20"2qio+qoo I + I ?27~2??7+??71 + I q2 -2 qi7+qo71 iDi= I P2i- p +Poi I + I q2i-2qn+q0i I + I ?26~2??6+??6 I + I q26" qi6+qo6 I iD2= I P22~2pi2+Po2 I + I q22- 2qi2+qo2 I + I P25-2pi5+Po5 I + I q25-2 qi5+qo5 I iD3= I ?23"2??3+??3 I + I q23 ~2qi3+qo3 I + I ?24"2??4+??4 I + I q24 -2 qi4+qo I iDprom= (iD0+iDi+iD2+iD3) »2 i Bajo estas condiciones, iDprom< Las condiciones de determinación para los componente croma pueden ser iguales a las de la técnica existente, descrita anteriormente. Un promedio ponderado puede ser calculado para calcular el iDprom para cuatro parámetros determinación iD0 a iD3. (2-2) Segundo ejemplo El segundo ejemplo puede definir la condición de determinación B para los componentes luma de la siguiente forma .
Condición B iD0= I P20~2pio+Poo I + I q20-2qio+qoo I + I ?27"2??7+?07 I + I q27-2qi?+qo7 I i Di= I P2i-2pu+Poi I + I q2i-2qu+q0i I + I ?26-2??6+??6 I + I q26~2qi6+qó6 I iD2= I p22-2pi2+P02 I + I q22"2qi2+qo2 I + I ?25-2?15+?05 I + I q25"2qi5+qo5 I iD3= I P23-2pi3+p031 + I q23- qi3+q031 + I P24"2pi4+P04 I + I q2 "2qi4+qo4 1 Bajo esta condición, ??0<ß e ???<ß e ??2<ß e ??3<ß Las ecuaciones para calcular los parámetros de determinación iDo a iD3 son iguales a las del primer ejemplo. La condición disponible es que no todos, sino que al menos tres, dos o uno de los cuatro parámetros de determinación iD0 a iD3 sea menor que el valor de umbral de determinación del borde ß. (2-3) Tercer ejemplo La Fig. 25 es un diagrama explicativo que ilustra el tercero y el cuarto ejemplos de la técnica de determinación. En el tercero y el cuarto ejemplos, los procesos de determinación de la necesidad del filtrado (en particular la determinación que usa la condición de determinación B para los componentes luma) para los limites verticales, hacen referencia a los pixeles de los cuatro renglones Ll, L3, L6 y L8 en cada bloque. Los procesos de determinación de la necesidad el filtrado para los limites horizontales también hacen referencia a los pixeles de las cuatro columnas en cada bloque.
El tercer ejemplo puede definir las condiciones de determinación para los componentes luma de la siguiente forma.
Condiciones de determinación de los componentes luma (Luma) ... El filtro de desbloqueo se aplica si ambas condiciones A y B son verdaderas.
Condición A: (Al) El bloque Ba o Bb entra en el modo de predicción int ra ; (A2) El bloque Ba o Bb tiene un coeficiente de transformación ortogonal diferente de cero; o (A3) | MVAx-MVBx | >4 o | VAy-MVBy | >4 Condición B iD0= I P20-2pi0+Poo I + I q2o- 2 qio+qoo I + I ?27~ 2 ??7+??7 I + I q27-2qi7+qo7 I ÍD2= I ?22 " 2??2+?02 I + I q22-2qi2+ q02 I + I ?25" 2??5+?05 I + I q25- qi5+qÚ5 I ÍDpr0m= (ÍDo+ ÍD2)»1 Bajo estas condiciones, iDprom< Las condiciones de determinación para los componentes croma pueden ser iguales a las de la técnica existente descrita anteriormente. Se puede calcular un promedio ponderado para calcular el promedio iDprom para los dos parámetros de determinación iD0 e 1 D2 . {2-4) Cuarto ejemplo El cuarto ejemplo puede definir la condición de determinación B para los componentes luma de la siguiente forma.
Condición B: iD0= I ?2?"2???+??? I + I q20"2qio+qoo I + I P27-2pi7+p07 I + I q27"2qi7+qo7 I iD2= I p22-2pi2+Po21 + I q22- qi2+q021 + I P25-2pi5+Po5 I + I q25" qi5+qo5 I Bajo esta condición, ???<ß e ??2<ß Las ecuaciones para calcular los dos parámetros de determinación iD0 e iD2 son iguales a aquellas del tercer ejemplo. La condición disponible es que no ambos de, sino alguno de los dos parámetros de determinación iDo e iD2 sea menor que el valor de umbral de determinación del borde ß.
Aunque se han el ejemplo en el que se hace referencia al primero, el tercero, el sexto y el octavo renglones (o columnas, Ll, L3, L6, y L8 en un bloque durante la determinación, se puede hacer referencia a otras combinaciones de renglones o columnas. (2-5) Quinto ejemplo La Fig. 26 es un diagrama explicativo que ilustra el quinto y el sexto ejemplos de la técnica de determinación. En el quinto y el sexto ejemplos, los procesos de determinación del filtrado para los limites verticales hacen referencia a los pixeles de cuatro renglones Ll, L3, L5 y Ll en cada bloque. Los procesos de determinación de la necesidad del filtrado para los limites horizontales también hacen referencia a los pixeles de cuatro columnas en cada bloque.
El quinto ejemplo puede definir las condiciones de determinación para los componentes luma de la siguiente forma.
Condiciones de determinación del componente luma (Luma) ... El filtro de desbloqueo se aplica si ambas condiciones A y B son verdaderas.
Condición A (Al) El bloque Ba o Bb entra en el modo de predicción intra; (A2) El bloque Ba o Bb tiene un coeficiente de transformación ortogonal diferente de cero; o (A3) IMVAx-MVBx I >4 o | VAy-MVBy | >4 Condición B: iD0= I p2o-2pio+Poo I + I q20"2qio+qoo I + I ?26"2??5+??6 I + I q26~2qi6+qo6 I iD2= I P22"2pi2+P02 I† I q22-2qi2+qo2 I + I ?26~2??6+??6 I + I q26-2qie+qo6 I ÍDprom= (ÍD0+ ÍD2)»1 Bajo estas condiciones, iDpr0m< Las condiciones de determinación para los componentes croma pueden ser iguales a las de la técnica existente descrita anteriormente. Se puede calcular un promedio ponderado para calcular el promedio iDpr0m para dos los dos parámetros de determinación iD0 e iD2. : (2-6) Sexto ejemplo El sexto ejemplo puede definir la condición mide determinación B para los componentes luma de la siguiente forma .
Condición B: iD0= I ?2?-2???+??? I + I q20"2qio+qoo I + I ?26"2??6+??6 I + I q26-2qi6+qo6 I iD2= I P22" pi2+Po21 + I q22" qi2+qo21 + I P24 " 2 pi4+P04 I + I q24 - qi4+q041 Bajo esta condición, iD0<3 e iÜ2< Las ecuaciones para calculas los dos parámetros de determinación iD0 e iD2 son iguales a las del quinto ejemplo. La condición disponibles es que no ambos de, sino alguno de los dos parámetros de determinación iD0 e iD2 sea menor que el valor umbral de determinación del borde ß.
Por lo general, aumentar el número de renglones y columnas a las que se debe hacer referencia para la determinación mejora la precisión de la determinación. Por lo tanto, el primero y el segundo ejemplos en los que se hace referencia a ocho renglones y columnas puede minimizar la posibilidad de que se aplicado el filtrado a un bloque originalmente no focalizado por el filtro de desbloqueo para y la posibilidad de que no se aplique el filtrado a un bloque buscado originalmente como objetivo por el filtro de desbloqueo. El resultado es mejorar la calidad de las imágenes a ser decodificadas y decodificadas . Por otro lado, reducir de número de renglones y columnas a las que se debe hacer referencia para la determinación puede reducir los costos del procesamiento. Ya que existe una interrelación entré la calidad de la imagen y el costo del procesamiento, puede ser ventajoso seleccionar de forma adaptativa el número de renglones y columnas a los que se debe hacer referencia: para la determinación, dependiendo del uso del aparato o dé las restricciones sobre la instalación. Puede ser ventajoso seleccionar de forma adaptativa combinaciones de los renglones y las columnas a los que se debe hacer referencia.
Como se describe en el primero, el tercero, y el quinto ejemplos, el valor promedio iDpr0m de los parámetros de determinación puede ser comparado con el valor de umbral de determinación del borde ß para llevar a cabo de forma apropiada la determinación en una base por bloque sin un efecto excesivo de variación de los parámetros para cada renqlón o columna. [4-2 Flujo del proceso] De acuerdo con el segundo ejemplo de trabajo asi como con el primer ejemplo de trabajo, el filtro 24 de desbloqueo puede operar sobre diferentes paralelismos.
En el primer escenario que usa un paralelismo extensivo, las secciones 212-1 a 212-n de determinación de los limites verticales determinan en paralelo si el filtrado es necesario para todos los limites verticales en los bloques macro dentro de las imágenes de entrada. Las secciones 214-1 a 214-n de determinación de los limites horizontales determinan en paralelo si el filtrado en necesario para todos los límites incluidos en los bloques macro dentro de las imágenes de entrada. Los procesos de determinación para los límites verticales y los límites horizontales también se llevan a, cabo en paralelo. Las secciones 132-1 a 132-n de filtrado horizontal y las secciones 142-1 a 142-n de filtrado vertical aplican el filtro de desbloqueo a los limites verticales y a los limites horizontales, en los cuales se debe aplicar el filtro de desbloqueo, como se ha determinado (véase la Fig. 20) .
En el segundo escenario que usa un paralelismo reducido, las secciones 212-1 a 212-n de determinación de los limites verticales determinan en paralelo si el filtrado es necesario para todos los limites verticales incluidos en un bloque macro focalizado dentro de las imágenes de entrada. Las secdiones 214-1 a 214-n de determinación de los limites horizontales determinan en paralelo si el filtrado es necesario para todos los limites horizontales en el bloque macro focalizado. Los procesos de determinación para los limites verticales y los limites horizontales también se llevan a cabo en paralelo. Las secciones 132-1 a 132-n de filtrado horizontal aplican entonces el filtro de desbloqueo en paralelo a los limites verticales los cuales requieren que sea aplicado el filtro, como se ha determinado. Las secciones 142-1 a \<2-t de filtrado vertical aplican el filtro de desbloqueo en paralelo a los limites horizontales los cuales requieren que sea aplicado el filtro, como se ha determinado. Este proceso se lleva a cabo repetidamente sobre todos los bloques ' macro dentro de las imágenes de entrada (véase la Fig. 21) .
Estos dos escenarios solamente son ejemplos paira la descripción. También, en el segundo ejemplo de trabajo, los procesos para el filtro 24 de desbloqueo pueden ser paralelizados en varias unidades, como por ejemplo un número dado de bloques macro (dos o cuatro bloques macro) o un grupo de bloques colocados horizontalmente o verticalmente, por ejemplo. También, en el segundo ejemplo de trabajo, asi como en el primer ejemplo de trabajo, la sección 150 de control de la paralelización controla el paralelismo y la secuencia de procesos en el filtro 24 de desbloqueo. [4-3. Ejemplo del Proceso para Cada LCU] Como ya se ha mencionado, la tecnología de acuerdo con los varios ejemplos de trabajo descritos en esta especificación puede ser proporcionada como un proceso basado en una unidad de codificación HEVC (CU) . De acuerdo con HEVC, una unidad de codificación que tiene el tamaño más grande se conoce como la unidad de codificación más grande (LCU) que puede ser seleccionada como de 64x64 pixeles, por ejemplo, el tamaño mínimo seleccionable CU es de 8x8 pixeles. Normalmente, una imagen se codifica y se decodifica en correspondencia a cada LCU de acuerdo con una secuencia de exploración de trama desde la LCU en la esquina superior izquierda de una imagen (o una división) . Los siguientes párrafos describen los ejemplos de los procesos correspondientes a las LCUs en el filtro de desbloqueo.
La Fig. 27 es un diagrama explicativo que ilustra la secuencia de procesos para cada LCU de acuerdo con el segundo ejemplo de trabajo descrito anteriormente. El ejemplo asume que el tamaño de la LCU debe ser de 16x16 pixeles y el tamaño de la CU debe ser de 8x8 pixeles.
Con referencia a la Fig. 27, la primera etapa se muestra en la esquina superior izquierda del dibujo indica que el filtrado sobre las LCUs se ha completado hasta el (n-l)-ésima LCU. Los pixeles sombreados se toman como los objetivos , para el filtrado sobre los limites verticales. Los pixeles rellenos se toman como objetivos para el filtrado sobre los limites horizontales .
Los procesos para la segunda etapa en la esquina superior derecha de la Fig. 27 y la tercera etapa en la esquina inferior izquierda de la misma se toman como objetivos para la n-ésima LCU. Antes de la segunda etapa, los valores de los pixeles introducidos al filtro 24 de desbloqueo se usan para llevar a cabo los procesos de determinación de la necesidad del filtrado en paralelo, sobre todos los limites verticales y los limites horizontales que pertenecen a la n-ésima LCU. En la segunda etapa, los valores de los pixeles introducidos al filtro 24 de desbloqueo se usan para llevar a cabo el proceso de filtrado en paralelo sobre todos los limites verticales que pertenecen a la n-ésima LCU y se determina si se requiere que sea aplicado el filtro de desbloqueo. Los valores de; los pixeles procesados en la segunda etapa se usan entonces para llevar a cabo el proceso de filtrado en paralelo sobre los limites horizontales que pertenecen a la n-ésima LCU y se determina si requieren que se aplicado el filtró de desbloqueo .
El proceso para la cuarta etapa en la esquina inferior derecha de la Fig. 27 se toma como objetivo para la (n+1)-ésima LCU. En la cuarta etapa, el proceso de filtrado se lleva a cabo en paralelo sobre los limites verticales los cuales se ha determinado que requieren la aplicación del filtro de desbloqueo después que los procesos de determinación de la necesidad del filtrado se llevan a cabo en paralelo sobre todos los limites verticales y los limites horizontales que pertenecen al (n+l)-ésima LCU.
Aunque el ejemplo asume que el tamaño de la LCU debe ser de 16x16 pixeles, este puede ser establecido en 32x32 o 64x64 pixeles. El efecto de acortamiento del tiempo de procesamiento de acuerdo con la paralelización se mejora adicionalmente puesto que el aumento del tamaño de una LCU a ser seleccionada también aumenta el número de limites verticales y limites horizontales que pertenecen a la LCU.
La Fig. 28 es un diagrama de flujo que ilustra el Iflujo del proceso del filtro 24 de desbloqueo para cada LCU- Con referencia a la Fig. 28, las secciones 212-1 a ;212-n de determinación de los limites verticales determinan en paralelo si el filtrado es necesario para todos los límites verticales incluidos en una LCU focalizada dentro de las imágenes de entrada (etapa S252) . Las secciones 214-1 a 214-n de determinación de los limites horizontales determinan en paralelo si el filtrado es necesario para todos los limites horizontales incluidos en la LCU focalizada (etapa S254) . Las etapas S252 y S254 también se llevan a cabo en paralelo.
Las secciones 132-1 a 132-n de filtrado horizontal aplican en paralelo, a los limite verticales en la LCU focalizada, que en la etapa S252, se ha determinado que requieren que sea aplicado el filtro de desbloqueo (etapa S260) .
Las secciones 142-1 a 142-n de filtrado vertical aplicar el filtro de desbloqueo en paralelo a los límites horizontales en la LCU enfocada que en la etapa S254 se ha determinado que requiere que sea aplicado el filtro de desbloqueo (etapa S270) .
El proceso en las etapas S252 a S270 se repite para una LCU recién focalizada si queda sin procesar alguna LCU en las imágenes de entrada (etapa S280) . El proceso termina si no quedan LCU sin procesar. <5. Tercer Ejemplo de Trabajo> [5-1. Perspectiva General] De acuerdo con el segundo ejemplo de trabajo, los procesos de determinación de la necesidad del filtrado sobre los límites verticales y los límites horizontales han referencia al valor de los pixeles introducidos al filtro de desbloqueo y eliminan por consiguiente la dependencia entre los procesos de determinación de la necesidad del filtrado y hacen posible la paralelización de los procesos' de determinación. El tercer ejemplo de trabajo descrito a continuación, aplica el concepto del segundo ejemplo de trabajo también al proceso de filtrado. Los procesos de filtrado para los limites verticales y los limites horizontales también filtran los valores de los pixeles introducidos al filtro de desbloqueo.
La Fig. 29 es un diagrama explicativo que ilustra una perspectiva general del ejemplo de trabajo. En la esquina inferior izquierda de la Fig. 29, se muestra una forma que representa los pixeles de entrada (conocidos también como pixeles reconstruidos) antes de ser procesados por el filtro de desbloqueo. El ejemplo de trabajo permite que los valores de los pixeles introducidos al filtro de desbloqueo sean referenciados no solo por los procesos de determinación de la necesidad del filtrado para los limites verticales y los limites horizontales sino también los procesos de filtrado para los limites verticales y los procesos de filtrado para los limites horizontales. Por lo tanto, se elimina la dependencia entre los dos procesos de filtrado. Los; dos procesos de filtrado se llevan a cabo en paralelo.
Los procesos de filtrado para los limites verticales y los procesos de filtrado para los limites horizontales pueden actualizar los valores de los pixeles duplicados. Los pixeles rellenos en la Fig. 29 ilustran las posiciones de los pixeles que probablemente estén duplicados. El filtro de desbloqueo de acuerdo con el ejemplo de trabajo, calcula un valor de los pixeles de salida a partir de las salidas de dos filtros en términos de los pixeles que se actualizan por duplicado por los dos filtros que operan en paralelo. [5-2. Ejemplo de Configuración del Filtro de Desbloqueo] La Fig. 39 es un diagrama de bloques que ilustra la configuración detallada del filtro 24 de desbloqueo de acuerdo con el tercer ejemplo de trabajo. Con referencia a la Fig. 30, el filtro 24 de desbloqueo incluye la memoria 208 de linea, el bloque 210 de determinación, el bloque 330 de filtrado horizontal, el bloque 340 de filtrado vertical, la sección 150 de control de la paralelización, la sección 360 de cálculo. El bloque 210 de determinación incluye las secciones 212-1 a 212-n de determinación de los limites verticales y las secciones 214-1 a 214-n de determinación de los limites horizontales. Las secciones 212 de determinación de los limites verticales y las secciones 214 de determinación de los limites horizontales pueden determinar la necesidad del filtrado sobre los limites de acuerdo con varias condiciones de determinación como se describen en el segundo ejemplo de trabajo.
El bloque 330 de filtrado horizontal incluye las secciones 332-1 a 332-n de filtrado horizontal. Las secciones 332 de filtrado horizontal reciben el valor de las imágenes de entrada desde la memoria 208 de linea y el resultado de la determinación relacionado con el limite vertical desde el bloque 210 de determinación.
Las secciones 332 de filtrado horizontal aplican el filtro de desbloqueo para los limites verticales a los pixeles a la derecha y a la izquierda alrededor de los limites verticales correspondientes si el resultado de la determinación de la sección 212 de determinación de los límites verticales indica que el filtro necesita ser aplicado. Las secciones 332 de filtrado horizontal transmiten, a la sección 360 de cálculo, el valor de los pixeles después del filtrado, en términos de los pixeles filtrados o el valor de los pixeles de entrada en términos de los otros pixeles.
El bloque 340 de filtrado vertical incluye las secciones 342-a a 342-n de filtrado vertical. Las secciones 342 se filtrado vertical reciben el valor de los pixeles de entrada desde la memoria 208 de línea y el resultado de la determinación relacionado con cada límite horizontal desde el bloque 210 de determinación.
Las secciones 342 de filtrado vertical aplican el filtro de desbloqueo para los límites horizontales a los pixeles superiores e inferiores alrededor de los límites horizontales correspondientes si el resultado de la determinación para la sección 214 de determinación de los limites horizontales indica que el filtro necesita ser aplicado. Los procesos de filtrado de las secciones 342-1 a 342-n de filtrado vertical se llevan a cabo en paralelo con los procesos de filtrado de las secciones 332-1 a 332-n de filtrado horizontal. Las secciones 342 de filtrado vertical transmiten, a la sección 360 de cálculo, el valor de los pixeles después del filtrado en términos de los pixeles filtrados o de los valores de los pixeles de entrada en términos de los otros pixeles.
La sección 360 de cálculo recibe el valor de los pixeles desde el bloque 330 de filtrado horizontal y el valor de los pixeles de salida desde el bloque 340 de filtrado vertical en paralelo. Además, la sección 360 de cálculo recibe los resultados de la determinación desde la sección 212 de determinación de los limites verticales y la sección 214 de determinación de los limites horizontales. De acuerdo cpn el resultado de la determinación, la sección 360 de cálculo calcula los valores de los pixeles de salida para los pixeles filtrados desde el bloque 330 de filtrado horizontal , y el bloque 340 de filtrado vertical con base en las salidas del filtro desde el bloque 330 de filtrado horizontal y el bloque 340 de filtrado vertical.
De acuerdo con el ejemplo de trabajo, por ejemplo, la sección 360 de cálculo, calcula el promedio de las salidas de dos filtros para los pixeles filtrados por duplicado. La sección 360 de cálculo puede calcular un promedio simple de las salidas de dos filtros. En vez de esto, la sección 360 de cálculo puede determinar la ponderación para los promedios ponderados de los pixeles de acuerdo con la distancia desde cada pixel al limite vertical y al limite horizontal.
La Fig. 31 es un diagrama explicativo que ilustra la determinación de la ponderación para el promedio ponderado, calculado por la sección 360 de cálculo. La Fig. 31 muestra el pixel focalizado Pz en negro, correspondiente a una de las posiciones duplicadas ilustradas en la Fig. 29. Hay tres pixeles que corresponden a la distancia Dy entre el pixel focalizado Pz y el limite vertical más cercano Vz . Hay dos pixeles que corresponden a la distancia DH entre el :pixel focalizado Pz y el limite horizontal más cercano Hz. La distancia DH es menor que la distancia Dv. En este caso, la sección 360 de cálculo puede establecer una ponderación para la salida del filtro de desbloqueo aplicado al limite horizontal Hz que sea más grande que la ponderación para la salida del filtro de desbloqueo aplicado al limite vertical Vz. El ejemplo en la Fig. 31 asume que la relación de la salida del filtro Vsalida para el limite vertical Vz a la salida del filtro Hsaiida para el limite horizontal Hz es 2:3.
Como se observa en la Fig. 31, calcular un promedio ponderado de dos salidas de los filtros puede proporcionar consecuentemente a cada pixel focalizado con un valor del pixel similar al caso en el cual se aplica un filtro bidimensional que tiene una derivación del filtro sobre la dirección horizontal y un tao del filtro sobre la dirección vertical. Paralelizar los procesos de filtrado sobre el limite vertical y el limite horizontal puede reducir también la distorsión del bloque que aparece sobre el limite vertical y el limite horizontal. Como otro ejemplo de trabajo, el filtro 24 de desbloqueo puede incluir un filtro bidimensional que calcula simultáneamente el filtrado horizontal, el filtrado vertical y el promedio ponderado. En este caso, sin embargo, la instalación es muy complicada debido a que los coeficientes del filtrado necesitan ser cambiados de distinto modo de forma correspondiente a los pixeles. Por otro lado, el tercer ejemplo de trabajo lleva a cabo dos filtros unidimensionales en paralelo y después calcula el promedio- ponderado. \ Esto puede proporcionar fácilmente procesos sustancialmente iguales a un filtro bidimensional en tanto que se asegura :1a funcionalidad de los filtros de desbloqueo existentes.
La Fig. 32 es un diagrama explicativo que ilustra unos ejemplos de la ponderación para los promedios pondérados calculados con base en el ejemplo de la Fig. 31. La Fig. 32 muestra 36 pixeles (6x6) alrededor de una intersección : entre el limite vertical y el limite horizontal. Los pixeles corresponden a las posiciones duplicadas descritas anteriormente. La relación de la ponderación para la salida del filtro Vsaiida a la ponderación para la salida del filtro Hsaiida es de 1 : 1 ( 2 : 2 o 3 : 3 ) para los pixeles posicionados a una distancia igual desde el límite vertical y el límite horizontal. La ponderación para la salida del filtro Vsaiida es mayor que la ponderación para la salida del filtro Hsalida para los pixeles más cercanos al límite vertical. Por ejemplo, la relación de las ponderaciones para el pixel Pi es Vsalida: Hsalida = 3 : 1 . La ponderación para la salida del filtro Vsallda es menor que la ponderación para la salida del filtro Hsaiida para los pixeles más cercanos al límite horizontal. Por ejemplo, la relación de las ponderaciones para el pixel P2 es Vsaiida: Hsaiida - 1 : 3 .
La distorsión del bloque puede ser suprimida de forma más efectiva y la calidad de las imágenes puede ser mejorada al variar la ponderación para los promedios ponderados dependiendo de la distancia entre cada pixel y los límites.
Las ponderaciones descritas anteriormente son ejemplos únicamente. Por ejemplo, la sección 360 de cálculo puede determinar la ponderación de los promedios ponderados para los pixeles de acuerdo con las intensidades de los bordes de los límites verticales y los límites horizontales correspondientes a cada pixel en lugar de o además de la distancia entré cada pixel y los límites. La intensidad el borde puede ser representada con un parámetro, tal como el valor de bordee calculado por la sección 12 2 de cálculo como se muestra¦ en la Fig. 16, por ejemplo. En este caso, la ponderación para la salida del filtro sobre un límite que tiene un borde más intenso puede ser establecida para ser mayor que la ponderación para la salida del filtro sobre un límite que tiene un borde más débil. Variar la ponderación de los promedios ponderados de acuerdo con la intensidad del borde puede mejorar de forma adaptativa el efecto del filtro de desbloqueo en un límite, lo que provoca de forma notable la distorsión del bloque.
La sección 360 de cálculo selecciona las salidas de los bloques filtrados actualmente en términos de los pixeles filtrados por uno del bloque 330 de filtrado horizontal y el bloque 340 de filtrado vertical. La sección 360 de cálculo transmite directamente el valor de los pixeles a ser transmitidos al filtro 24 de desbloqueo en términos de los pixeles no filtrados por el bloque 330 de filtrado horiz.ontal o el bloque 340 de filtrado vertical. Una tabla en la Fig. 33 lista los valores de los pixeles de salida de la sección 360 de cálculo de acuerdo con los resultados de la determinación de si se requiere el filtrado. [5-3 Ejemplo de la Secuencia de Procesos] Los siguientes párrafos describen dos ejemplos de secuencias de procesos disponibles para el filtro 24 de desbloqueo de acuerdo con el ejemplo de trabajo. El ejemplo también asume que el filtro de desbloqueo recibe imágenes que tiene el tamaño de 32x32 pixeles. Las imágenes de entrada incluyen cuatro bloques macro MBO a MB3 cada uno que tiene el tamaño de 16x16 pixeles. (1) Primer Ejemplo Para comparación, la Fig. 34 ilustra una secuencia del proceso cuando se retiene la dependencia entre el proceso de filtrado sobre el limite vertical y el proceso de filtrado sobre el limite horizontal. La secuencia de procesos en la Fig. 34 es sustancialmente igual a la secuencia del proceso en la Fig. 13 de acuerdo con el primer ejemplo de trabajo. En la Fig. 34, la primera etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado Jvo,o a Jv3,3 y JHO,O a JH3,3 sobre todos los limites verticales y todos los limites horizontales de los cuatro bloques macro MBO a MB3. La segunda etapa lleva a cabo los procesos Fvo,o a FV3,3 sobre los 16 limites verticales de los cuatro bloques macro MBO a MB3. La tercera etapa lleva a cabo los procesos de filtrado FHo,o a H3,3 sobre los 16 limites horizontales d'e los cuatro bloques macro MBO a MB3. La cuarta etapa (omitida de la Fig. 13) almacena los valores de los pixeles después del proceso de filtrado sobre los limites horizontales, en la memoria usada para las salidas del filtro 24 de desbloqueo.
La Fig. 35 ilustra un primer ejemplo de la secuencia de procesos proporcionada por el ejemplo de trabajo. En- la Fig. 35, la primera etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado Jvo,o a J 3,3 y JHO,O a JH3,3 sobre todos los límites verticales y todos los límites horizontales de los cuatro bloques macro MBO a MB3. La segunda etapa lleva a cabo, en paralelo, los procesos de filtrado Fvo,o a Fv3,3 y FHo,o a FH3,3 sobre todos los límites verticales y todos los límites horizontales de los cuatro bloques macro MBO a MB3. Realmente, la segunda etapa filtra solo un límite, el cual se ha determinado que requiere el filtrado. La tercera etapa almacena los valores de los pixeles en la memoria usada para la salida del filtro 24 de desbloqueo. Un promedio ponderado de las salidas de dos filtros puede ser calculada como el valor de salida de los pixeles en términos de los pixeles filtrados por el bloque 330 de filtrado horizontal y el bloque 340 de filtrado vertical. (2) Segundo ejemplo.
Aunque el primer ejemplo maximiza el paralelismo, el filtro 24 de desbloqueo de acuerdo con el segundo ejemplo también puede llevar a cabo un proceso para cada bloque macro.
Para comparación, la Fig. 36 ilustra una secuencia de procesos para cada bloque macro cuando persiste la dependencia entre un proceso de filtrado sobre el límite vertical y un proceso de filtrado sobre el límite horizontal. La secuencia de procesos en la Fig. 36 es sustancialmente igual a la secuencia de proceso en la Fig. 14 de acuerdo con el primer ejemplo de la trabajo. La Fig. 36 muestra de forma explícita las cuatro etapas del proceso (sexta, decima, 14ava, y 16ava) que almacenan los valores de los pixeles en la memoria para las salidas y se omiten de la Fig. 14 por simplicidad. Dieciséis etapas del proceso que incluyen las cuatro etapas del proceso forman el proceso de la Fig. 36.
La Fig. 37 ilustra un segundo ejemplo de la secuencia del proceso proporcionada por el ejemplo de trabajo. En la Fig. 37, la primera etapa lleva a cabo, en paralelo, los procesos de determinación de la necesidad del filtrado Jvo,o a Jvo,3 y JHO,O a JHO,3 sobre cuatro limites verticales y cuatro limites horizontales del bloque macro MBO. La segunda etapa lleva a cabo, en paralelo los procesos de filtrado Fvo,o a Fvo,3 y FHo,o a FHO,3 sobre los cuatro limites verticales y los cuatro limites horizontales del bloque macro MBO. La tercera etapa almacena los valores de los pixeles del bloque macro MBO en la memoria usada para las salidas del filtro 24 de desbloqueo. Se puede calcular un promedio ponderado de las salidas de dos filtros como el valor de salida de los pixeles en términos de los pixeles filtrados por duplicado por dos filtros. La cuarta a la sexta etapas procesan de forma similar el bloque macro: MB1. La séptima a la novena etapas procesan de forma similar el bloque macro MB2. La décima a la doceava etapas procesan de forma similar el bloque macro MB3. El proceso en la Fig. 37 incluye doce etapas del proceso menos que las del proceso en la Fig. 36.
El tercer ejemplo de trabajo elimina la dependencia entre los procesos de filtrado para los limites verticales y el proceso de filtrado para los limites horizontales. El proceso del filtro 24 de desbloqueo puede ser llevado a cabo usando menos etapas del proceso que aquellas usadas para el primero y el segundo ejemplos de trabajo. Una de las ventajas de permitir que el proceso de filtrado haga referencia solo a los pixeles introducidos al filtro de desbloqueo, es que cualquier configuración de las derivaciones del filtro no provoca dependencia entre los procesos de filtrado para los limites verticales y los procesos de filtrado para los limites horizontales. El tercer ejemplo de trabajo puede mejorar la calidad de las imágenes al configurar una derivación del filtro usando más pixeles que los usados por las técnicas existentes. Por ejemplo, la técnica existente usa una derivación del filtro de tres pixeles para cada lado de cada limite como se describe con referencia a la Fig. 7. El ejemplo de trabajo no provoca dependencia entre los procesos aun i si se usa una derivación del filtro de cinco pixeles o más en cada imite. No ocurre dependencia entre los procesos aun por la reducción adicional del tamaño del bloque como una unidad de procesamiento para el filtro de desbloqueo.
También, en el tercer ejemplo de trabajo asi como en el primero y el segundo ejemplos de trabajo, la sección 150 de control de la paralelización puede controlar el paralelismo y la secuencia de los procesos en el filtro 24 de desbloqueo. [5-4. Flujo del Proceso] La Fig. 38 es un diagrama de flujo que ilustra un ejemplo del flujo del proceso para el filtro de desbloqueo de acuerdo con el tercer ejemplo de trabajo. La Fig. 39 es un diagrama de flujo que ilustra el flujo del proceso de cálculo del valor de los pixeles mostrados en la Fig. 38.
Con referencia a la Fig. 348, las secciones 212-1 a 212-n de determinación de los limites verticales determina en paralelo si el filtrado es necesario para todos los limites verticales dentro de las imágenes de entrada o un bloque macro (etapa S302) . Las secciones 214-1 a 214-n determinación de los limites horizontales determina en paralelo si el filtrado es necesario para todos los limites horizontales dentro de las imágenes o el bloque macro de entrada (etapa S304) . Las etapas S302 y S304 también se llevan a cabo en paralelo.
Las secciones 332-1 a 332-n de filtrado horizontales aplican el filtro desbloqueo en paralelo a todos los limites verticales, que como se ha determinado en la etapa! S302 requieren que sea aplicado el filtro de desbloqueo (etapa S306) . Las secciones 342-1 a 342-n de filtrado vertical aplican el filtro de desbloqueo en paralelo a todos los limites horizontales que como se ha determinado en la] etapa S394 requieren que sea aplicado el filtro de desbloqueo (etapa S308) . Las etapas S306 y S308 también se llevan a cabo en paralelo .
La sección 360 de cálculo lleva a cabo entonces los procesos de cálculo de los valores de los pixeles como se muestra en la Fig. 39 (etapa S310) . Con referencia a la Fig. 39, el proceso de la etapa S314 a la etapa S326 hace un bucle para cada pixel a ser procesado (etapa S312) .
En la etapa S314, la sección 360 determina si dos filtros para los limites verticales y los limites horizontales han filtrado un pixel focalizado (etapa S314) . El proceso procede a la etapa S322 si los dos filtros han filtrado el 'pixel focalizado. El proceso procede a la etapa S316 si los dos filtros no han filtrado el pixel focalizado.
En la etapa S316, la sección 3609 de cálculo determina si uno de los dos filtros para los limites verticales y los limites horizontales ha filtrado el pixel focalizado (etapa S316) . El proceso procede a la etapa S320 si uno de los dos filtros ha filtrado el pixel focalizado. El proceso procede a la etapa S318 si ninguno de los filtros ha filtrado el pixel focalizado. : En la etapa S318, la sección 360 de cálculo adquiere el valor de los pixeles de entrada al filtro 24 de desbloqueo (etapa S318) . En la etapa S320, la sección 360 de cálculo adquiere la salida de filtrado del filtro que actualmente está filtrando el pixel focalizado (etapa S320) .
En la etapa S322, la sección 360 de cálculo determina los valores de ponderación para calcular un promedio ponderado de las salidas de filtrado de los dos filtros relacionados con el pixel focalizado de acuerdo con las distancias desde el pixel focalizado al limite vertical y el limite horizontal o las intensidades de los bordes del limite vertical y el limite horizontal correspondientes al pixel focalizado (etapa S322) . La sección 360 de cálculo calcula un promedio ponderado de las salidas de filtrado de dos de los filtros, usando la ponderación determinada (etapa S324) .
La sección 360 de cálculo almacena el valor del pixel del pixel focalizado en la memoria en tanto que el valor del pixel se adquiere en la etapa S318 o S320 o se calcula en la etapa S324 (etapa S326) . Las secuencias de los procesos como se muestran en las Figs . 38 y 39 terminan cuando el proceso se lleva a cabo sobre todos los pixeles a ser procesados. <6. Aplicación a Varios Codificadores/Decodificadores> La tecnología de acuerdo con la descripción puede ser aplicada a varios codificadores/decodificadores relacionados con la codificación y la decodificación de imágenes. Los párrafos siguientes describen los ejemplos de la aplicación de la tecnología de acuerdo con la descripción a codificadores/decodificadores de vistas múltiples y codificadores/decodificadores escalables . [6-1. Codificador/Decodificador de Vistas Múltiples]: El codificador/decodificador de vistas múltiples es un sistema de codificación de imágenes que codifica y decodifica video de perspectivas múltiples. La Fig. 40 es un diagrama explicativo que ilustra el codificador/decodificador de vistas múltiples. La Fig. 40 ilustra las secuencias de cuadros para tres vistas capturadas en tres puntos de observación. Cada vista recibe un ID de la vista (vista_id) . Una de las vistas se especifica como la vista base. Las vistas distintas a la vista base se conocen como las vistas no base. El ejemplo en la Fig. 40 representa una vista base con ID de vista "0" y dos vistas no base con ID de vista "1" o "2". La codificación de datos de imágenes de vistas múltiples puede comprimir el tamaño de los datos del flujo codificado como un todo al codificar los cuadros de las vistas no base con base en la información de codificación sobre los cuadros de la vista base.
El filtro de desbloqueo puede ser aplicado a cada vista durante el proceso de codificación y el proceso de decodificación de acuerdo con el codificador/decodificador de vistas múltiples descrito anteriormente. Cuando el filtro de desbloqueo se aplica a cada vista, los procesos de determinación de la necesidad del filtrado sobre los límites verticales del bloque y los límites horizontales del bloque para cada vista pueden ser paralelizados con base en la tecnología de acuerdo con la descripción. Un proceso de determinación de la necesidad del filtrado y un proceso de filtrado para cada vista pueden ser paralelizados . El parámetro (tal como aquel descrito en el párrafo 0094 anterior) controla el proceso de determinación de la necesidad del filtrado o se puede proporcionar un proceso de filtrado para cada vista. El parámetro proporcionado para la vista base puede ser reutilizado para las vistas no base.
Los procesos de determinación de la necesidad del filtrado o los procesos de filtrado pueden ser paralizados sobre las vistas. Las vistas pueden compartir el parámetro (tal como aquel descrito en el párrafo 0094 precedente) ' para controlar los procesos de determinación de la necesidad del filtrado o los proceso de filtrado. Puede ser ventajoso especificar adicionalmente una bandera que indique si las vistas comparten el parámetro.
La Fig. 41 es un diagrama explicativo que ilustra el proceso de codificación de imágenes aplicado al codificador/decodificador de vistas múltiples descrito anteriormente. La Fig. 41 muestra la configuración de un dispositivo 710 de codificación de vistas múltiples como un ejemplo. El dispositivo 710 de codificación de vistas múltiples incluye una primera sección 720 de codificación, una segunda sección 730 de codificación, y una sección 740 de multiplexión .
La primera sección 720 de codificación codifica una imagen de la vista base y genera un flujo codificado para la vista base. La segunda sección 730 de codificación codifica una imagen de la vista no base y genera un flujo codificado para vista no base. La sección 740 de multiplexión multiplexa el flujo codificado para la vista base generado desde la primera sección 720 de codificación y uno o más flujos codificados para la vista no base generada desde la segunda sección 730 de codificación para generar un flujo multiplexado para la visión múltiple.
La primera sección 720 de codificación y la segunda sección 730 de codificación ilustradas en la Fig. 41 se configuran de forma similar al dispositivo 10 de codificación de imágenes de acuerdo con la modalidad descrita anteriormente. La aplicación del filtro de desbloqueo a las vistas permite paralelizar los procesos de determinación de la necesidad del filtrado para los limites verticales del bloque y los limites horizontales del bloque o paralelizar los procesos de determinación de la necesidad del filtrado y los procesos de filtrado. Un parámetro para controlar estos procesos puede ser insertado en el área del encabezamiento del flujo codificado para cada vista o en un área; del encabezamiento común en el flujo multiplexado.
La Fig. 42 es un diagrama explicativo que ilustra un proceso de decodificación de imágenes aplicado al codificador/decodificador de visión múltiple descrito anteriormente. La Fig. 42 muestra la configuración de un dispositivo 760 de decodificación de vistas múltiples como un ejemplo. El dispositivo 760 de decodificación de vistas múltiples incluye una sección 770 de desmultiplexión, una primera sección 780 de decodificación, y una segunda sección 790 de decodificación.
La sección 770 de desmultiplexión desmultiplexa el flujo multiplexado para las vistas múltiples en un flujo codificado para la vista base y un flujo codificado para una o más vistas no base. La primera sección 780 de decodificación decodifica la imagen de la vista base a partir de un flujo codificado para la vista base. La segunda sección 790 de decodificación decodifica una imagen de la vista no base a partir del flujo codificado para la vista no base.
La primera sección 780 de decodificación y la segunda sección 790 de decodificación ilustrada en la Fig. 42 se configuran de forma similar al dispositivo 60 de decodificación de imágenes de acuerdo con la modalidad descrita anteriormente. Aplicar el filtro de desbloqueo , a las vistas permite paralelizar los procesos de determinación: de la necesidad del filtrado parea los limites verticales de los bloques y los limites horizontales de los bloques o paralelizar los procesos de determinación de la necesidad del filtrado y los procesos de filtrado. Un parámetro' para controlar estos procesos puede ser adquirido de un área del encabezamiento del flujo codificado para cada vista o de un área de encabezamiento común en el flujo multiplexado . [6-2. Codificador/Decodificador Escalable] El codificador/decodificador escalable es un sistema de codificación de imágenes para proporcionar codificación jerárquica. La Fig. 43 es un diagrama explicativo que ilustra el codificador/decodificador escalable. La Fig. 43 ilustra las secuencias de cuadros para tres capas de diferentes resoluciones espaciales, resoluciones de tiempo, o calidades de las imágenes. Cada capa recibe un ID de la capa (capa_id) . Estas capas incluyen una capa base que tiene la resolución (o la calidad de la imagen) más baja. Las capas distintas a la capa base se conocen como capas de mejoramiento. El ejemplo en la Fig. 43 representa una capa base con un ID de capa "0" y dos capas de mejoramiento con ID de la capa "1" o "2". La codificación de los datos de la imagen de capas múltiples puede comprimir el tamaño de los datos del flujo codificado como un todo por los cuadros de codificación de la capa de mejoramiento con base en la información sobre los cuadros de la capa base.
El filtro desbloqueo puede ser aplicado a cada capa durante el proceso de codificación y el proceso de decodificación de acuerdo con el codificador/decodificador escalable descrito anteriormente. Cuando se aplica el filtro de desbloqueo a cada vista, los procesos de determinación de la necesidad del filtrado sobre los limites verticales de los bloques y los límites horizontales de los bloques para cada capa pueden ser paralelizados con base en la tecnología de acuerdo con la descripción. Un proceso de determinación de la necesidad del filtrado y un proceso de filtrado para cada capa pueden ser paralelizados. El parámetro (tal como aquel descrito en el párrafo 0094 precedente) para controlar el proceso de determinación de la necesidad del filtrado o el proceso de filtrado puede ser proporcionado para cada capa. El parámetro proporcionado para la capa base puede ser reutilizado para la capa de mejoramiento.
Los procesos de determinación de la necesidad del filtrado o los procesos de filtrado pueden ser paralelizados a través de las capas. Las capas pueden compartir el parámetro (tal como aquel descrito en el párrafo 0094 precedente) para controlar los procesos de determinación de la necesidad del filtrado o los procesos de filtrado. Puede ser ventajoso especificar adicionalmente una bandera que indica si las capas comparten en parámetro.
La Fig. 44 es un diagrama explicativo que ilustra un proceso de codificación de imágenes aplicado, al codificador/decodificador escalable descrito anteriormente. La Fig. 44 muestra la configuración de un dispositivo 810 de codificación escalable como un ejemplo. El dispositivo 810 de codificación escalable incluye una primera sección 820 de codificación, una segunda sección 830 de codificación, y una sección 840 de multiplexión .
La primera sección 820 de codificación codifica una imagen de la capa base y genera un flujo codificado para la capa base. La segunda sección 830 de codificación codifica una imagen de la capa de mejoramiento y genera un flujo codificado para la capa de mejoramiento. La sección 840 de multiplexión multiplexa el flujo codificado para la capa base generado desde la primera sección 820 de codificación y uno o más flujos codificados para las capas de mejoramiento generadas desde la segunda sección 830 de codificación, para generar un flujo multiplexado para las capas múltiples.
La primera sección 820 de codificación y la segunda sección 820 de codificación ilustradas en la Fig. 4'4 se configuran de forma similar al dispositivo 10 de codificación de imágenes de acuerdo con la modalidad descrita anteriormente. Aplicar el filtro de desbloqueo a las capas permite paralelizar los procesos de determinación de la necesidad del filtrado para los limites verticales dé los bloques y los limites horizontales de los bloqués o paralelizar los procesos de determinación de la necesidad del filtrado y los procesos de filtrado. Un parámetro : para controlar estos procesos puede ser insertado en el áréa de encabezamiento del flujo codificado para cada capa o en el área de encabezamiento común en el flujo multiplexado. : La Fig. 45 es un diagrama explicativo que ilustra el proceso de decodificación de imágenes aplicado al codificador/decodificador escalable descrito anteriormente. La Fig. 45 muestra la configuración de un dispositivo 8650 de decodificación escalable como un ejemplo. El dispositivo 860 de decodificación escalable incluye una sección 870 de desmultiplexión, una primera sección 880 de decodificación, y una segunda sección 890 de decodificación.
La sección 870 de desmultiplexión desmultiplexa el flujo multiplexado para las capas múltiples en un flujo codificado para la capa base y un flujo codificado para una o más capas de mejoramiento. La primera sección 880 de decodificación decodifica la imagen de la capa base a partir del flujo codificado para la capa base. La segunda sección 890 de decodificación decodifica la imagen de la capa de mejoramiento a partir del flujo codificado para la capa de mejoramiento.
La primera sección 880 de decodificación y la segunda sección 890 de decodificación ilustradas en la Fig. 4,5 se configuran de forma similar al dispositivo 60 de decodificación de imágenes de acuerdo con la modalidad descrita anteriormente. Aplicar el filtro de desbloqueo a las capas permite paralelizar los procesos de determinación de la necesidad del filtrado para los limites verticales de, los bloques y los limites horizontales de los bloques o paralelizar los procesos de determinación de la necesidad del filtrado y los procesos de filtrado. Un parámetro para controlar estos procesos puede ser adquirido desde el área de encabezamiento del flujo codificado para cada capa o desde el área de encabezamiento común en el flujo multiplexado . <7. Ejemplo de Aplicación> El dispositivo 10 de codificación de imágenes y el dispositivo 60 de decodificación de imágenes de acuerdo con la modalidad descrita anteriormente pueden ser aplicados a varios aparatos electrónicos tales como transmisores y receptores para radiodifusión satelital, radiodifusión por cable como por ejemplo TV por cable, distribución a través de la Red internacional, distribución a terminales por medio de comunicaciones celulares, y los similares, dispositivos de grabación que registren imágenes en un medio tal como un disco óptico, un disco magnético o una memoria de destello, dispositivos de reproducción que reproduzcan imágenes desde tales medios de almacenamiento, y los similares. A continuación se describirán cuatro aplicaciones ejemplares. [7-1. Primera Aplicación Ejemplar] La Fig. 46 es un diagrama de bloques que muestra un ejemplo de la configuración esquemática de una televisión que adopta la modalidad descrita anteriormente. La televisión 900 incluye una antena 901, un sintonizador 902, un des multiplexor 903, un decodificador 904, una sección 9Ó5 de procesamiento de señales de video, una sección 90:6 de visualización, una sección 907 de procesamiento de señales de audio, un altavoz 908, una interfaz 909 externa, una sección 910 de control, una interfaz 911 de usuario, una linea 912 común de transmisiones.
El sintonizador 902 extrae luna señal de un canal deseado de las señales de radiodifusión recibidas vía la antena 901, y desmodula la señal extraída. Entonces, el sintonizador 902 transmite al des multiplexor 903 el flujo de bitios codificados obtenido por la desmodulación. Es decir, el sintonizador 902 sirve como un medio de transmisión de las televisiones 900 para recibir el flujo codificado en el cual se codifican las imágenes.
El des multiplexor 902 separa el flujo de video y el flujo de audio del programa a ser visualizado, del flujo de bitios codificado, y transmite al decodificador 904 cada flujo, el cual han sido separado. También, el des multiplexor 903 extrae los datos auxiliares, como por ejemplo una. EPG (Guía Electrónica de Programación) del flujo de bitios codificado, y suministra los datos extraídos a la sección 910 de control. Adicionalmente, el des multiplexor 903 puede llevar a cabo el desencriptado en el caso de que el flujo de bitios esté encriptado.
El decodificador 904 decodifica el flujo de video y el flujo de audio introducidos desde el des multiplexor 903. Entonces, el decodificador 904 transmite los datos de video generados por el proceso de decodificación a la sección 905 de procesamiento de señales de video. También, el decodificador 904 transmite los datos de audio generados por el proceso de decodificación a la sección 907 de procesamiento de señales de audio .
La sección 905 de procesamiento de señales de video reproduce los datos de video introducidos desde el decodificador 904, y hace que la sección 906 de visualización despliegue el video. La sección 905 de procesamiento de señales de video también puede hacer que la sección 906 de visualización despliegue una pantalla de aplicación suministrada a través de una red. Además, la sección 905 de procesamiento de señales de video puede llevar a cabo un proceso adicional tal como la eliminación de ruido, por ejemplo, sobre los datos de video de acuerdo con la configuración. Además, la sección 905 de procesamiento de señales de video puede genera una imagen de una GUI (Interfaz Gráfica de Usuario) como por ejemplo un menú, botones, un cursor o los similares, por ejemplo, y sobrepone la imagen generada sobre la imagen de salida.
La sección 906 de visualización es controlada por una señal de control suministrada por la sección 905 de procesamiento de señales de video, y despliega el video ó una imagen sobre la pantalla de video del dispositivo de visualización (por ejemplo, una pantalla de cristal liquido, una pantalla de plasma, una pantalla OLED, o las similares) .
La sección 907 de procesamiento de señales de audio lleva a cabo los procesos de reproducción como por ejemplo la conversión de D/A y la amplificación sobre los datos de audio introducidos desde el decodificador 904, y transmite el audio desde el altavoz 908. También, la sección 907 de procesamiento de señales de audio puede llevar a cabo un proceso adicional tal como la eliminación del ruido sobre los datos de audio.
La interfaz 909 externa es una interfaz para conectar la televisión 900 y un aparato externo o una red. Por ejemplo, un flujo de video o un flujo de audio recibido por medio de la interfaz 909 pueden ser decodificados por el decodificador 904. Es decir, la interfaz 909 externa también sirve como el medio de transmisión de las televisiones 900 para recibir el flujo codificado en el cual se codifica la imagen.
La sección 910 de control incluye un procesador tal como una CPU (Unidad Central de Procesamiento) , y una memoria, tal como una RAM (Memoria de Acceso Aleatorio) , una ROM (Memoria de Solo Lectura), o los similares. La memoria almacena programas a ser ejecutados por la CPU, datos de programas, datos de la EPG, datos adquiridos por medio de una red, y los similares. Los programas almacenados en la memoria son leídos y ejecutados por la CPU en el momento de la activación de la televisión 900, por ejemplo. La CPU controla la operación de la televisión 900 de acuerdo con una señal de operación introducida desde la interfaz 911 de usuario, por ejempl , al ejecutar los programas.
La interfaz 911 de usuario se conecta con la sección 910 de control. La interfaz 911 de usuario incluye botones de interruptores usados por el usuario para operar la televisión 900, y una sección de recepción para una señal de control remoto, por ejemplo. La interfaz 911 de usuario detecta la operación por el usuario vía estos elementos estructurales, genera una señal de operación, y transmite la señal de operación generada a la sección 910 de control.
La linea 912 común de transmisiones interconecta el sintonizador 902, el des multiplexor 903, el decodificador 904, la sección 905 de procesamiento de señales de video, la sección 907 de procesamiento de señales de audio, la interfaz 909 externa, y la sección 910 de control.
En la televisión 900 configurada de esta forma, el decodificador 904 tiene una función de dispositivo 60 de decodificación de imágenes de acuerdo con la modalidad descrita anteriormente. Por consiguiente, también en el caso de la decodificación de imágenes en la televisión 900, es posible aumentar el paralelismo de los procesos del filtro de desbloqueo y asegurar el procesamiento de alta velocidad.¦ [7-2. Segundo Aplicación Ejemplar] La Fig. 47 es un diagrama de bloques que muestra un ejemplo de la configuración esquemática de un teléfono .móvil que adopta la modalidad descrita anteriormente. Un teléfono 920 móvil incluye una antena 921, una sección 922 de comunicación, un codificador/decodificador 923 de audio, un altavoz 924, un micrófono 925, una sección 926 de cámara, una sección 927 de procesamiento de imágenes, una sección 928 de desmultiplexión, una sección 929 de grabación/reproducción, una sección 930 de visualización, una sección 931 de control, una sección 932 de operación, y una linea 933 común de transmisiones.
La antena 921 se conecta con la sección 922 de comunicaciones. El altavoz 924 y el micrófono 925 se conectan con el codificador/decodificador 923 de audio. La sección 932 de operación se conecta con la sección 931 de control. La linea 933 común de transmisiones interconecta la sección 922 de comunicaciones, el codificador/decodificador 923 de audio, la sección 926 de cámara, la sección 927 de procesamiento de imágenes, la sección 928 de desmultiplexión, la sección 929 de grabación/reproducción, la sección 930 de visualización, y la sección 931 de control.
El teléfono 920 móvil lleva a cabo las operaciones tales como la transmisión/recepción de las señales de audio', la transmisión/recepción de correos electrónicos o de datos de imagen, captura de imágenes, el registro de datos, y. los similares, en varios modos de operación que incluyen un modo de comunicación por audio, un modo de comunicación de datos, un modo de captura de datos, un modo de videoteléfono.
En el modo de comunicación por audio, una señal de audio analógica generada por el micrófono 925 se suministra al codificador/decodificador 923 de audio. El codificador/decodificador 923 de audio convierte la señal de audio analógica en datos de audio, y realiza la conversión A/D y comprime los datos de audio convertidos. Entonces, el codificador/decodificador 923 de audio transmite los datos de audio comprimidos a la sección 922 de comunicaciones. La sección 922 de comunicaciones codifica y modula los datos de audio, y genera una señal de transmisión. Entonces, la sección 922 de comunicaciones transmite la señal de transmisión generada a una estación base (no se muestra) vía la antena 921. También, la sección 922 de comunicación amplifica la señal inalámbrica recibida via la antena 921, y convierte la frecuencia de la señal inalámbrica, y adquiere una señal recibida. Entonces, la sección 922 de comunicaciones desmodula y decodifica la señal recibida y genera los datos de audio, y transmite los datos de audio generados al codificador/decodificador 923 de audio. El codificador/decodificador 923 de audio extiende y realiza la conversión A/D de los datos de audio, y genera una señal de audio analógica. Entonces, el codificador/decodificador 923 de audio suministra la señal de audio generada al altavoz 924 y hace que el audio sea transmitido. ; También, en el modo de comunicación de datos, la sección 931 de control genera datos de texto que componen un correo electrónico, de acuerdo con la operación de un usuario via la sección 932 de operación por ejemplo. Además, la sección 931 de control hace que el texto sea desplegado en la sección 930 de visualización . Además, la sección 931 de control genera los datos del correo electrónico de acuerdo con una instrucción de transmisión del usuario, via la sección 932 de operación, y transmite los datos generados del correo electrónico a la sección 922 de comunicaciones. Entonces, la sección 922 de comunicaciones codifica y modula los datos del correo electrónico y genera una señal de transmisión. Entonces, la sección 922 de comunicaciones transmite la señal de transmisión generada a una estación base (no se muestra) via la antena 921. También, la sección 922 de comunicaciones amplifica una señal inalámbrica recibida via la antena 921 y convierte la frecuencia de la señal inalámbrica, y adquiere la señal recibida. Entonces, la sección 922 de comunicación desmodula y decodifica la señal recibida, restablece los datos del correo electrónico, y transmite los datos del correo electrónico a la sección 931 de control. La sección 931 de control hace que la sección 930 de visualización despliegue los contenidos del correo electrónico, y también, hace que los datos del correo electrónico sean almacenados en el medio de almacenamiento de la sección 929 de grabación/reproducción: La sección 929 de grabación/reproducción incluye un medio de almacenamiento legible y escribible de forma arbitraria. Por ejemplo, el medio de almacenamiento puede ser un medio de almacenamiento integrado tal como una RAM, una memoria de destello o los similares, o un medio de almacenamiento montado externamente tal como un disco duro, un disco magnético, un disco magnetoóptico, una memoria USB, una tarjeta de memoria o los similares.
Además, en el modo de captura de imágenes, la sección 926 de cámara captura la imagen de un objetivo, genera los datos de la imagen, y transmite los datos generados de la imagen a la sección 927 de procesamiento de imágenes, por ejemplo. La sección 927 de procesamiento de imágenes codifica los datos de la imagen introducidos desde la sección 926 de cámara y hace que el flujo codificado sea almacenado en el medio de almacenamiento de la sección 929 de grabación/reproducción.
Además, en el modo de videoteléfono, la sección 928 de desmultiplexión multiplexa el flujo de video codificado por la sección 927 de procesamiento de imágenes y el flujo de áudio introducido desde el codificador/decodificador 923 de audio y transmite el flujo multiplexado a la sección 922 de comunicaciones, por ejemplo. La sección 922 de comunicaciones codifica y desmodula el flujo, y genera una señal de transmisión. Entonces, la sección 922 de comunicaciones transmite la señal de transmisión generada a una estación base (no se muestra) vía la antena 921. También, la sección 922 de comunicaciones amplifica una señal inalámbrica recibida via la antena 921 y convierte la frecuencia de la señal inalámbrica, y adquiere una señal recibida. Esta señal de transmisión y la señal recibida pueden incluir un flujo de bitios codificado. Entonces, la sección 922 de comunicaciones desmodula y decodifica la señal recibida, restablece el flujo, y transmite el flujo restablecido a la sección 928 de desmultiplexión . La sección 928 de desmultiplexión separa el flujo de video y el flujo de audio del flujo de entrada, y transmite el flujo de video a la sección 927 de procesamiento de imágenes y al flujo de audio al codificador/decodificador 923 de audio. La sección 927 de procesamiento de imágenes decodifica el flujo de video, y genera los datos de video1. Los datos de video se suministran a la sección 929 de visualización, y una serie de imágenes se despliega mediante la sección 930 de visualización. El codificador/decodificador 923 de audio extiende y realiza la conversión D/A del flujo de audio, y genera una señal analógica de audio. Entonces, el codificador/decodificador 923 de audio suministra la señal de audio generada al altavoz 924 y hace que el audio' sea transmitido. ; En el teléfono 920 móvil configurado de esta forma, la sección 927 de procesamiento de imágenes tiene la función del dispositivo 10 de codificación de imágenes y del dispositivo 60 de decodificación de imágenes de acuerdo con la modalidad descrita anteriormente. Por consiguiente, también en el caso de la decodificación y la codificación de imágenes en el teléfono 920 móvil, es posible aumentar el paralelismo de los procesos del filtro de desblogueo y asegurar el procesamiento de alta velocidad. [7-3. Tercera Aplicación Ejemplar] La Fig. 48 es un diagrama de bloques que muestra un ejemplo de la configuración esquemática de un dispositivo de grabación/reproducción que adopta la modalidad descrita anteriormente. Un dispositivo 940 de grabación/reproducción codifica, y registra en un medio de registro, datos de audio y datos de video de un programa de radiodifusión recibido^ por ejemplo. El dispositivo 940 de grabación/reproducción también puede codificar, y registrar en el medio de registro, datos de audio y datos de video de otro dispositivo, por ejemplo. Además, el dispositivo 940 de grabación/reproducción reproduce, usando un monitor o un altavoz, los datos registrados en el medio de registro, de acuerdo con una instrucción del usuario, por ejemplo. En este momento, el dispositivo 940 de grabación/reproducción decodifica los datos de audio y los datos de video. : El dispositivo 940 de grabación/reproducción incluye un sintonizador 941, una interfaz 942 externa, un codificador 943, un HDD (Controlador de Disco Duro) 944, un lector 9¾5 de disco, un decodificador 947, un OSD (Despliegue en Pantalla) 948, una sección 949 de control, y una interfaz 950 de usuario .
El sintonizador 941 extrae una señal de un canal deseado desde las señales de radiodifusión recibida vía una antena (no se muestra), y desmodula la señal extraída. Entonces el sintonizador 941 transmite el flujo de bitios codificado obtenido por la demodulación, al selector 946. Es decir, el sintonizador 941 sirve como el medio de transmisión; del dispositivo 940 de grabación/reproducción.
La interfaz 942 externa es una interfaz para conectar el dispositivo 940 de grabación/reproducción y un aparato externo o una red. Por ejemplo, la interfaz 942 externa puede ser una interfaz IEEE 1394, una interfaz de red, una interfaz USB^ una interfaz de memoria de destello, o los similares. Por ejemplo, los datos de video y los datos de audio recibidos por la interfaz 942 externa se introducen al codificador 943,. Es decir, la interfaz 942 externa sirve como el medio de transmisión del dispositivo 940 de grabación/reproducción.' En el caso de que los datos de video y los datos de audio introducidos desde la interfaz 942 externa no estén codificados, el codificador 843 codifica los datos de video y los datos de audio. Entonces, el codificador 943 transmite el flujo de bitios codificado al selector 946.
El HDD 944 registra, en un disco duro interno, un flujo de bitios codificado, el cual se compone de los datóos de contenido de video o de audio comprimidos, varios programas y otros fragmentos de datos. También la HDD 944 lee estos fragmentos de datos desde el disco duro en el momento de reproducir el video o el audio.
La unidad 945 de disco registra o lee los datos en el medio de registro que se instala. Un medio de registro que se instala en la unidad 945 de disco puede ser un disco DVD (un DVD-Video, un DVD-RAM, un DVD-R, un DVD-RW, un DVD+, un DVD+R , o los similares), un disco Blu-Ray (marca registrada), o los similares, por ejemplo. El selector 946 selecciona, en el momento de la grabación de un video o audio, el flujo de bitios codificado introducido desde el sintonizador 941 o el codificador 943, y transmite el flujo de bitios codificado, seleccionado al HDD 944 o la unidad 945 de disco. También, el selector 946 transmite, en el momento de la reproducción del video o audio, un flujo de bitios codificado introducido desde el HDD 944 o el lector 945 de disco al decodificador 947.
El decodificador 947 decodifica el flujo de bitios codificado, y genera los datos de video y los datos de audio. Entonces, el decodificador 947 transmite los datos de video generados al OSD 948. También, el decodificador 904 transmite los datos de audio generados a un altavoz externo.
El OSD 948 reproduce los datos de video introducidos desde el decodificador 947, y despliega el video. También, el OSD 948 puede sobreponer la imagen de una GUI, tal como un menú, un botón o los similares, por ejemplo, sobre un video desplegado .
La sección 949 de control incluye un procesador tal como un CPU, y una memoria, tal como una RAM o una ROM. La memoria almacena programas a ser ejecutados por la CPU, los datos de programas, y los similares. Los programas almacenados en la memoria son leídos y ejecutados por la CPU en el momento de la activación del dispositivo 940 de grabación/reproducción, por ejemplo. La CPU controla la operación del dispositivo 940 de grabación/reproducción de acuerdo con una señal de operación introducida desde la interfaz 950 de usuario, por ejemplo, al ejecutar los programas.
La interfaz 950 de usuario se conecta con la sección 949 de control. La interfaz 950 de usuario incluye botones de interruptores usados por un usuario para operar el dispositivo 940 de grabación/reproducción, y una sección se recepción para aun señal de control remoto, por ejemplo. La interfaz de usuario detecta la operación de un usuario vía los elementos estructurales, genera la señal de operación, y trasmite la señal de operación generada a la sección 949 de control.
En el dispositivo 940 de grabación/reproducción configurado de este modo, el codificador 943 tiene la función del dispositivo 10 de codificación de imágenes de acuerdo con la modalidad descrita anteriormente. También, el decodificador 947 tiene la función del dispositivo 60 de decodificación de imágenes de acuerdo con la modalidad descrita anteriormente. Por consiguiente, también en el caso de la decodificación y la codificación de las imágenes en el dispositivo 940 de grabación/reproducción, es posible mejorar el paralelismo de los procesos del filtro de desbloqueo y asegurar el procesamiento a alta velocidad. [7-4. Cuarta Aplicación Ejemplar] La Fig. 49 es un diagrama de bloques que muestra un ejemplo de la configuración esquemática de un dispositivo de captura de imágenes que adopta la modalidad descrita anteriormente. El dispositivo 960 de captura de imágenes captura imágenes de un objetivo, genera las imágenes, y codifica los datos de las imágenes, y registra los datos de las imágenes en un medio de registro.
El dispositivo 960 de captura de imágenes incluye un bloque 961 óptico, una sección 962 de captura de imágenes, una sección 963 de procesamiento de señales, una sección 964 de procesamiento de imágenes, una sección 965 de visualización, una interfaz 966 externa, una memoria 967, un lector 96,8 de medios, un OSD 969, una sección 970 de control, una interfaz 971 de usuario, y una línea 972 común de transmisiones.
El bloque 961 óptico se conecta con la sección 962 de captura de imágenes. La sección 962 de captura de imágenes s.e conecta con la sección 963 de procesamiento de señales;. La sección 965 de visualización se conecta con la sección 964 de procesamiento de imágenes. La interfaz 971 de usuario se conecta con la sección 970 de control. La linea 972 común de transmisiones interconecta la sección 964 de procesamiento de imágenes, la interfaz 966 externa, la memoria 967, el lector 968 de medios, el OSD 969, y la sección 970 de control.
El bloque 961 óptico incluye una lente de enfoque una lente de enfoque, un mecanismo de diafragma de apertura, y los similares. El bloque 961 óptico forma una imagen óptica de un objetivo sirve una superficie de captura de imágenes de la sección 962 de captura de imágenes. La sección 962 de captura de imágenes incluye un detector de imágenes tal como un CCD, un CMOS o los similares, y convierte, mediante conversión fotoeléctrica la imagen óptica formada sobre la superficie de captura de imágenes en una señal de imagen la cual es una señal electrónica. Entonces, la sección 962 de captura de imágenes transmite la señal de la imagen a la sección 963 de procesamiento de señales.
La sección 963 de procesamiento de señales lleva a cabo varios procesos de señales de la cámara tales como la corrección de arrodillamiento, la corrección de gama, la corrección del color, y los similares, sobre la señal de la imagen introducida desde la sección 962 de captura de imágenes. La sección 963 de procesamiento de señales transmite los datos de la imagen después del procesamiento de señales de la cámara a la sección 964 de procesamiento de imágenes.
La sección 964 de procesamiento de imágenes codifica los datos de la imagen introducidos desde la sección 963 de procesamiento de señales, y genera los datos codificados. Entonces, la sección 964 de procesamiento de imágenes transmite los datos codificados generados a la interfaz 966 externa o al lector 968 de medios. También, la sección 964 de procesamiento de imágenes decodifica los datos codificados introducidos desde la interfaz 966 externa o el lector 968 de medios, y genera los datos de la imagen. Entonces, la sección 964 de procesamiento de imágenes transmite los datos de la imagen generados a la sección 965 de visualización . También la sección 964 de procesamiento de imágenes puede transmitir los datos de la imagen introducidos desde la sección 963 de procesamiento de señales a la sección 965 de visualización, y hace que la imagen sea desplegada. Además, la sección 964 de procesamiento de imágenes puede sobreponer los datos para la visualización adquiridos del OSD 969 sobre una imagen a ser trasmitida a la sección 965 de visualización.
El OSD 969 genera una imagen de una GUI, tal como un menú, botones, un cursor o los similares, por ejemplo, y transmite la imagen generada a la sección 964 de procesamiento de imágenes. : La interfaz 966 externa se configura como una terminal USB de entrada/salida, por ejemplo. La interfaz 966 externa conecta el dispositivo 960 de captura de imágenes y una impresora, en el momento de imprimir una imagen, por ej¡emplo.
También, un lector se conecta a la interfaz 966 externa cuando sea necesario. Un medio removióle, tal como un disco magnético, un disco óptico o los similares, por ejemplo, se instala en el lector, y un programa leido desde el medio removible puede ser instalado en el dispositivo 960 de captura de imágenes. Además, la interfaz 966 eterna puede ser configurada como una interfaz de red para ser conectada a una red tal como una LAN, la Red internacional o las similares, es decir, la interfaz externa 966 sirve como un medio de transmisión del dispositivo 960 de captura de imágenes.
Un medio de registro a ser instalado en el lector 968 de medios puede ser un medio removible, que puede ser leido y escrito de forma arbitraria, tal como un disco magnético, un disco magnetoóptico, un disco óptico, una memoria de semiconductores o los similares, por ejemplo. También, un medio de registro puede ser instalado de forma fija en el lector 968 de medios, que configura una sección de almacenamiento no transportable, tal como un lector de disco duro integrado o un SSD (Unidad de Disco en Estado Sólido) , por ejemplo.
La sección 970 de control incluye un procesador tal como una CPU, una memoria, tal como una RAM o una ROM. La memoria almacena programas a ser ejecutados por la CPU, datos de programas, y los similares. Los programas almacenados en la memoria son leídos y ejecutados por la CPU en el momento de la activación del dispositivo 960 de captura de imágenes, por ejemplo. La CPU controla la operación del dispositivo 960 de captura de imágenes de acuerdo con una señal de operación introducida desde la interfaz 971 de usuario, por ejemplo, al ejecutar los programas.
La interfaz 971 de usuario se conecta con la sección 970 de control. La interfaz 917 de usuario incluye botones, interruptores, y Los similares usados por el usuario para operar el dispositivo 960 de captura de imágenes, por ejemplo. La interfaz 971 de usuario detecta la operación del usuario vía estos elementos estructurales, genera una señal de operación, y transmite la señal de operación generada a la sección 970 de control.
En el dispositivo 960 de captura de imágenes configurado de esta forma, la sección 964 de procesamiento de imágenes tiene la función del dispositivo 10 de codificación de imágenes y del dispositivo 10 de decodificación de imágenes de acuerdo con la modalidad descrita anteriormente.' Por consiguiente, en el caso de la decodificación y la codificación en el dispositivo 960 de captura de imágenes, es posible aumentar el paralelismo de los procesos el filtro de desbloqueo y asegurar el procesamiento a alta velocidad. <8. Repaso final> Con referencia a las Figs . 1 a 49, se han descrito tres ejemplos de los filtros de desbloqueo para el dispositivo 10 de codificación de imágenes de acuerdo con una modalidad. Los tres ejemplos de trabajo usan valore,s de pixel introducidos a los filtros de desbloqueo para determinar si los filtros de desbloqueo para los limites verticales y los limites horizontales necesitan ser aplicados o no. Los procesos de determinación pueden ser llevados a cabo en paralelo independientemente de los resultados del proceso de filtrado. La dependencia de los procesos entre los bloques macro se elimina para permitir la paralelizacion de los procesos @obre los bloques macro. Como resultado, es posible evitar el retardo o la degradación de la tasa de datos debido a la gran cantidad de procesamiento de los filtros de desbloqueo y asegurar el procesamiento a alta velocidad. El paralelismo y las secuencias de los procesos del filtro de desbloqueo pueden ser configurados de forma flexible de acuerdo con varias condiciones tales como los tamaños de las imágenes o el ambiente de instalación.
De acuerdo con el primer ejemplo, la determinación de si se debe aplicar el filtro de desbloqueo a los limites verticales, usa los valores de los pixeles que pertenecen a los renglones a los cuales no se aplica la definición para los limites horizontales. La determinación de si se debe aplicar el filtro de desbloqueo a los limites horizontales usa los valores de los pixeles que pertenecen a los renglones¦ a los cuales no se aplica la definición para los limites verticales. El proceso de filtrado sobre un bloque no actualiza el. valor de los pixeles usados para los procesos de determinación de la necesidad del filtrado sobre otro bloque. Los valores de los pixeles introducidos al filtro de desbloqueo no necesitan ser almacenados en una memoria extra aun si el proceso de determinación de la necesidad del filtrado sobre un bloque dado sique a un proceso de filtrado sobre otro bloque. Esto puede ahorrar costos en el equipo necesario para la instalación del aparato.
De acuerdo con el segundo ejemplo de trabajo, la memoria no actualizada por el proceso de filtrado almacena el valor de los pixeles introducidos al filtro de desbloqueo. Los procesos de determinación de la necesidad el filtrado hacen referencia a los valores de los pixeles introducidos. En este caso, los procesos de determinación de la necesidad del filtrado hacen referencia a los pixeles cuya posición está libre de restricciones. Esto permite el uso de condiciones de determinación apropiadas para varios propósitos tales como una determinación más precisa de la necesidad del filtrado, o la determinación con costos de procesamiento reducidos.
De acuerdo con el tercer ejemplo de trabajo, los procesos de filtrado para filtrar los pixeles de los limites verticales y los limites horizontales filtran los pixeles introducidos al filtro de desbloqueo. Esta configuración puede paralelizar los procesos de filtrado para los limites verticales y los limites horizontales entre si. Esto puede acelerar adicionalmente los procesos del filtro de desbloqueo. El valor de los pixeles de salida se calcula con base en las salidas de dos filtros en términos de los pixeles actualizados por dos procesos de filtrado llevados a cabo en paralelo. Paralelizar dos procesos de filtrado también puede reducir apropiadamente la distorsión del bloque que aparece sobre los limites verticales y los limites horizontales. Los valores de los pixeles de salida pueden ser calculados como un promedio ponderado de las salidas de dos filtros. Esto puede permitir que el filtro de desbloqueo elimine de forma más efectiva la distorsión del bloque y mejore además la calidad de la imagen.
La especificación describe principalmente los ejemplos donde los procesos de filtrado para los limites verticales preceden a los procesos de filtrado para los limites horizontales. Además, los efectos descritos anteriormente de la tecnología de acuerdo con la descripción igualmente están disponibles para un caso donde los procesos de filtrado' para los límites horizontales preceden a los procesos de filtrado para los límites verticales. La unidad de procesamiento del filtro de desbloqueo o el bloque macro pueden ser dimensionados de manera distinta a la descrita en la especificación. Una técnica disponible puede omitir los procesos de determinación de la necesidad del filtrado y paralelizar la aplicación del filtro de desbloqueo a los límites verticales y los límites horizontales.
La técnica para transmitir la información, usada para la paralelización del proceso del filtro de desbloqueo del lado de codificación al lado de decodificación no se limita a la técnica de desmultiplexar la información en el encabezamiento del flujo codificado. Por ejemplo, la información puede no ser multiplexada en un flujo de bitios codificado sino que puede ser transmitida o registrada como datos separados asociados con el flujo de bitios codificado. El término "asociación" significa asegurar la posibilidad de vincular una imagen (o parte de una imagen tal como una sección o un bloque) contenido en el flujo de bitios con la información correspondiente a la imagen. Es decir, la información puede ser transmitida a través de una vía de transmisión diferente a aquella usada para las imágenes (o los flujos de bitios) . La información puede ser registrada en un medio de registro (o un área de registro diferente en el mismo medio de registro) diferente a aquel usado para las imágenes (o los flujos de bitios) . La información y las imágenes (o el flujo de bitios) pueden ser asociados entre si con base en cualquier unidad tales como múltiples cuadros, un cuadro, o parte de un cuadro.
Las modalidades preferidas de la presente invención han sido descritas anteriormente con referencia a los dibujos anexos aunque la presente invención no se limita a los ejemplos anteriores, por supuesto. Las personas experimentadas en la técnica pueden encontrar varias alternaciones y modificaciones dentro del ámbito de las reivindicaciones anexas, y se debe entender que estas estarán naturalmente bajo el ámbito técnico de la presente invención.
La especificación representa los procesos de filtrad para los limites verticales como "filtrado horizontal" y los procesos de filtrado para los limites horizontales como "filtrado vertical". Por lo general, los procesos de filtrado para los limites verticales usan derivaciones de filtro posicionadas horizontalmente . Los procesos de filtrado para los limites horizontales usan derivaciones de filtro posicionadas verticalmente . Por esta razón, la nomenclatura descrita anteriormente se usa para los procesos de filtrado.
LISTA DE SIGNOS DE REFERENCIA 10, 60 dispositivo de procesamiento de imágenes 112-1 a 112-n, 212-1 a 212-n primera sección de determinación (sección de determinación de los limites verticales) 114-1 a 114-n, 214-1 a 214-n segunda sección de determinación (sección de determinación de los límites horizontales) : 132-1 a 132-n, 332-1 a 332-n primera sección de filtrado (sección de filtrado horizontal 142-1 a 142-n, 342-1 a 342-n segunda sección de filtrado (sección de filtrado vertical) 150 sección de control de la paralelización 208 memoria de línea (memoria) 360 sección de cálculo

Claims (23)

REIVINDICACIONES
1. Un dispositivo de procesamiento de imágenes, caracterizado porque comprende: una sección de decodificación, configurada para decodificar un flujo codificado para generar imágenes; y una sección de determinación configurada para llevar a cabo procesos de determinación del filtrado horizontal en paralelo, a través de una unidad de procesamiento en paralelo de una pluralidad de limites verticales de los bloques entre una pluralidad de bloques dentro de las imágenes generadas por la sección de decodificación, cada proceso de determinación del filtrado horizontal que determina si se debe aplicar un filtro de desbloqueo a bloques adyacentes que colindan a través de cada uno de la pluralidad de limites verticales de los bloques.
2. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 1, caracterizado porque, comprende además una sección de control configurada para hacer que la sección de determinación establezca la pluralidad de limites verticales de los bloques como la unidad de procesamiento en paralelo en los procesos de determinación del filtrado horizontal. ;
3. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 2, caracterizado porque, la sección de control hace que la sección de determinación lleve a cabo el proceso de determinación del filtrado horizontal para cada límite vertical de los bloques sin depender de los procesos de determinación del filtrado horizontal para otros límites verticales de los bloques.
. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 3, caracterizado porque, la sección de control hace que la sección de determinación use el tamaño de bloque de cada bloque, el tamaño de los bloques no implica dependencia entre los procesos de determinación del filtrado horizontal para los límites verticales de los bloques diferentes entre sí.
5. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 4, caracterizado porque, la sección de determinación lleva a cabo los procesos de determinación del filtrado vertical en paralelo a través de una unidad de procesamiento en paralelo de los límites horizontales de los bloques entre una pluralidad de bloques, cada proceso de determinación del filtrado vertical que determina si se debe aplicar un filtro de desbloqueo a bloques adyacentes que colindan a través de cada uno de la pluralidad de límites horizontales de los bloques.
6. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 5, caracterizado porque, la sección de control hace que la sección de determinación establezca la pluralidad de límites horizontales de los bloques como una unidad de procesamiento en paralelo en los procesos de determinación del filtrado vertical.
7. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 6, caracterizado porque, la sección de control hace que la sección de determinación lleve a cabo el proceso de determinación del filtrado vertical para cada limite vertical de los bloques sin depender de los procesos de determinación del filtrado vertical para otros limites horizontales de los bloques.
8. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 7, caracterizado porque, la sección de control hace que la sección de determinación use el tamaño del bloque de cada bloque, el tamaño de bloque que no implica dependencia entre los procesos de determinación del filtrado vertical para los limites horizontales de los bloques diferentes entre si.
9. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 8, caracterizado porque, la sección de control hace que la sección de determinación use 8x8 pixeles como el tamaño del bloque.
10. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 9, caracterizado porque, la sección de control hace que la sección de determinación lleve a cabo los procesos de determinación del filtrado horizontal en paralelo y después hace que la sección de determinación lleve a cabo los procesos de determinación del filtrado vertical en paralelo.
11. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 10, caracterizado porque, el flujo codificado se codifica a través de una unidad de bloques jerarquizados, y en donde, la sección de decodificación decodifica el flujo codificado a través de la unidad de bloques jerarquizados.
12. El método de procesamiento de imágenes, caracterizado porque, comprende: decodificar un flujo codificado para generar imágenes; y llevar a cabo los procesos de determinación del filtrado horizontal en paralelo, para una unidad de procesamiento en paralelo de una pluralidad de limites verticales de los bloques entre una pluralidad de bloques dentro de las imágenes generadas, cada proceso de determinación del filtrado horizontal que determina si se debe aplicar un filtro de desbloqueo a los bloques adyacentes que colindan entre cada uno de la pluralidad de limites verticales de los bloques.
13. Un dispositivo de procesamiento de imágenes, caracterizado porque, comprende: . una sección de determinación configurada para llevar a cabo los procesos de determinación del filtrado horizontal en paralelo a través de una unidad de procesamiento en paralelo de una pluralidad de limites verticales entre una pluralidad de bloques dentro de las imágenes decodificadas localmente cuando se codifican las imágenes a ser codificadas, cada proceso de determinación del filtrado horizontal que determina si se debe aplicar un filtro de desbloqueo a bloques adyacentes que colindan a través de cada uno de la pluralidad de limites verticales; y una sección de codificación configurada para codificar las imágenes a ser codificadas usando las imágenes filtradas con base en los resultados de los procesos de determinación del filtrado horizontal.
14. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 13, caracterizado porque, comprende además una sección de control configurada para hacer que la sección de determinación establezca la pluralidad de limites verticales de los bloques como la unidad de procesamiento en paralelo en los procesos de determinación del filtrado horizontal.
15. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 14, caracterizado porque, la sección de control hace que la sección de determinación lleve a cabo el proceso de determinación del filtrado horizontal para cada limite vertical de los bloques sin depender de los procesos de determinación del filtrado horizontal para otros limites verticales de los bloques.
16. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 15, caracterizado porque, la sección de control hace que la sección de determinación use el tamaño del bloque de cada bloque, el tamaño del bloque que no impone dependencias entre los procesos de determinación del filtrado horizontal para los limites verticales de los bloques diferentes entre si.
17. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 16, caracterizado porqué, la sección de determinación lleva a cabo los procesos determinación del filtrado vertical en paralelo a través de una unidad de procesamiento en paralelo de una pluralidad de limites horizontales de los bloques entre una pluralidad de bloques, cada proceso de determinación del filtrado vertical que determina si se debe aplicar un filtro de desbloqueo a bloques adyacentes que colindan a través de cada uno de la pluralidad de limites horizontales de los bloques.
18. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 17, caracterizado porque, la sección de control hace que la sección de determinación establezca la pluralidad de limites horizontales de los bloques como una unidad de procesamiento en paralelo en los procesos de determinación del filtrado vertical.
19. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 18, caracterizado porque, la sección de control hace que la sección de determinación lleve a cabo el proceso de determinación del filtrado vertical para cada limite horizontal de los bloques sin depender de los procesos de determinación del filtrado vertical para los otros limites horizontales de los bloques.
20. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 19, caracterizado porque, la sección de control hace que la sección de determinación use el tamaño del bloque de cada bloque, el tamaño del bloque que no impone dependencias entre los procesos de determinación del filtrado vertical para los limites horizontales de los bloques diferentes entre si.
21. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 20, caracterizado porque, la sección de control hace que la sección de determinación use 8x8 pixeles como el tamaño del bloque.
22. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 21, caracterizado porque, la sección de control hace que la sección de determinación, lleve a cabo los procesos de determinación del filtrado horizontal en paralelo, y después hace que la sección de determinación lleve a cabo los procesos de determinación del filtrado vertical en paralelo.
23. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 22, caracterizado porque, la sección de codificación codifica las imágenes a ser codificadas para una unidad de bloques jerarquizados, y en donde, las imágenes a ser codificadas se decodifican localmente a través de la unidad bloques erarquizados. 2.4. Un método de procesamiento de imágenes, caracterizado porque, comprende: llevar a cabo los procesos de determinación del filtrado horizontal en paralelo, para una unidad de procesamiento en paralelo de una pluralidad de limites verticales de los bloques entre una pluralidad de bloques dentro de las imágenes decodificadas localmente cuando se codifican las imágenes a ser codificadas, cada proceso de determinación del filtrado horizontal que determina si se debe aplicar un filtro de desbloqueo a los bloques adyacentes' que colindan a través de cada uno de la pluralidad de limites verticales; y codificar las imágenes a ser codificadas usando las imágenes filtradas con base en los resultados de los procesos de determinación del filtrado horizontal. RESUMEN DE LA INVENCIÓN Se describe un dispositivo de procesamiento de imágenes, que permite la paralelización adición del procesamiento durante la aplicación de un filtro de desbloqueo. el dispositivo de procesamiento de imágenes descrito está dotado de: una unidad de decodificación para decodificar las imágenes a partir de un flujo codificado; una unidad de determinación para llevar a cabo el procesamiento de determinación para determinar si se debe aplicar un filtro de desbloqueo a un bloque adyacentes que colinda con el limite del bloque de las imágenes decodificadas por la unidad de decodificación mencionada anteriormente; una unidad de filtrado para aplicar el filtro de desbloqueo al bloque adyacente para el cual, la unidad de determinación mencionada anteriormente, ha determinación que se debe aplicar el filtro de desbloqueo; y una unidad de control, la cual deja que la unidad de determinación mencionada anteriormente, implemente el procesamiento de determinación mencionado anteriormente para los limites verticales del bloque y los limites horizontales del bloque usando como referencia los pixeles en el bloque adyacente mencionado anteriormente de la imagen reconstruida.
MX2013006131A 2010-12-07 2011-12-02 Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes. MX2013006131A (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2010272907 2010-12-07
JP2011004391 2011-01-12
JP2011045652 2011-03-02
JP2011117557 2011-05-26
PCT/JP2011/077953 WO2012077607A1 (ja) 2010-12-07 2011-12-02 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
MX2013006131A true MX2013006131A (es) 2013-06-28

Family

ID=46207095

Family Applications (3)

Application Number Title Priority Date Filing Date
MX2016005041A MX355896B (es) 2010-12-07 2011-12-02 Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
MX2013006131A MX2013006131A (es) 2010-12-07 2011-12-02 Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
MX2014013389A MX338737B (es) 2010-12-07 2013-05-31 Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
MX2016005041A MX355896B (es) 2010-12-07 2011-12-02 Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.

Family Applications After (1)

Application Number Title Priority Date Filing Date
MX2014013389A MX338737B (es) 2010-12-07 2013-05-31 Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.

Country Status (14)

Country Link
US (4) US9973763B2 (es)
EP (4) EP3748964A1 (es)
JP (3) JP6011341B2 (es)
KR (3) KR101879890B1 (es)
CN (4) CN106454358B (es)
AU (1) AU2011339460B2 (es)
BR (1) BR112013013509B1 (es)
CA (1) CA2815819C (es)
ES (1) ES2856823T3 (es)
MX (3) MX355896B (es)
MY (1) MY163146A (es)
RU (2) RU2585662C2 (es)
TW (4) TWI580250B (es)
WO (1) WO2012077607A1 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
TWI600318B (zh) 2010-05-18 2017-09-21 Sony Corp Image processing apparatus and image processing method
HUE047906T2 (hu) 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
EP3748964A1 (en) 2010-12-07 2020-12-09 Sony Corporation Image processing device and image processing method
EP3582497A1 (en) 2010-12-07 2019-12-18 Sony Corporation Image processing device and image processing method
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
JP5884313B2 (ja) 2011-01-18 2016-03-15 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
EP2675161B1 (en) 2011-02-10 2018-11-14 Velos Media International Limited Image processing device and image processing method
US9135724B2 (en) 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
TWI530161B (zh) 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
KR102166220B1 (ko) 2011-06-28 2020-10-15 소니 주식회사 화상 처리 장치 및 화상 처리 방법
JP5907367B2 (ja) 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
TWI632808B (zh) * 2012-04-06 2018-08-11 新力股份有限公司 Image processing device and method
JP6327153B2 (ja) * 2012-12-06 2018-05-23 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
CN105451025B (zh) * 2014-07-31 2019-03-01 富士通株式会社 图像处理方法以及装置
US20160173897A1 (en) * 2014-12-10 2016-06-16 Haihua Wu High Parallelism Dependency Pattern for GPU Based Deblock
KR102597231B1 (ko) * 2016-09-30 2023-11-03 삼성디스플레이 주식회사 영상 처리 장치, 표시 장치 및 두부 장착 표시 장치
CN110325871B (zh) * 2017-01-25 2021-10-01 上海联影医疗科技股份有限公司 用于图像重建的系统和方法
TWI833248B (zh) * 2017-04-06 2024-02-21 美商松下電器(美國)知識產權公司 解碼方法及編碼方法
JP2019074967A (ja) * 2017-10-17 2019-05-16 キヤノン株式会社 フィルタ処理装置およびその制御方法
US11153607B2 (en) * 2018-01-29 2021-10-19 Mediatek Inc. Length-adaptive deblocking filtering in video coding
JP7155568B2 (ja) 2018-03-26 2022-10-19 東洋製罐グループホールディングス株式会社 金属加工物
CN116634148A (zh) * 2018-03-29 2023-08-22 索尼公司 图像处理装置和图像处理方法
AU2020229625A1 (en) 2019-02-27 2021-10-07 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking using sub-pel motion vector threshold
CA3132582A1 (en) * 2019-03-07 2020-09-10 Digitalinsights Inc. Image encoding/decoding method and apparatus
JP7026065B2 (ja) * 2019-03-12 2022-02-25 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
CN110213579A (zh) * 2019-06-11 2019-09-06 上海富瀚微电子股份有限公司 双核心计算单元实现环路滤波的方法
JP7200074B2 (ja) * 2019-09-20 2023-01-06 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
CN113965764B (zh) * 2020-07-21 2023-04-07 Oppo广东移动通信有限公司 图像编码方法、图像解码方法及相关装置
CN116114245A (zh) 2021-09-02 2023-05-12 辉达公司 在视频编码过程中视频帧的并行处理
CN116097649A (zh) * 2021-09-06 2023-05-09 辉达公司 无滤波相依性的视频帧的并行编码
CN118020305A (zh) * 2021-09-22 2024-05-10 夏普株式会社 运动图像编码装置、运动图像解码装置

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0832030B2 (ja) * 1986-10-21 1996-03-27 ソニー株式会社 ブロツク符号化された画像信号の復号装置
FR2757297B1 (fr) * 1996-12-18 1999-03-05 Thomson Multimedia Sa Procede et dispositif d'etiquetage de region
WO2001082610A1 (en) * 2000-04-21 2001-11-01 Sony Corporation Information processing apparatus and method, program, and recorded medium
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
EP1484134B1 (en) 2002-02-15 2019-05-01 Sony Corporation Leg device for leg type movable robot, and method of controlling leg type movable robot
JP4114494B2 (ja) * 2002-03-07 2008-07-09 セイコーエプソン株式会社 画像処理装置及び画像処理プログラム、並びに画像処理方法
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
CN1669318A (zh) * 2002-05-20 2005-09-14 索尼株式会社 图像信号处理装置及方法
EP1603335B1 (en) * 2003-02-19 2008-04-30 Matsushita Electric Industrial Co., Ltd. Recording medium, reproduction device, recording method, program, and reproduction method
KR100644618B1 (ko) * 2004-07-02 2006-11-10 삼성전자주식회사 블록 단위로 부호화된 영상의 블록경계에서의 불연속성제거필터 및 방법
US8116379B2 (en) 2004-10-08 2012-02-14 Stmicroelectronics, Inc. Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
JP4270125B2 (ja) 2004-12-16 2009-05-27 ソニー株式会社 データ処理装置、画像処理装置、それらの方法およびプログラム
KR100843196B1 (ko) * 2004-12-17 2008-07-02 삼성전자주식회사 H.264/avc 비디오 디코더의 디블록킹 필터
KR100679035B1 (ko) * 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
US7792385B2 (en) * 2005-01-25 2010-09-07 Globalfoundries Inc. Scratch pad for storing intermediate loop filter data
JP2006270851A (ja) * 2005-03-25 2006-10-05 Victor Co Of Japan Ltd 画像符号化装置及び画像復号装置
CN100420269C (zh) * 2005-12-09 2008-09-17 逐点半导体(上海)有限公司 一种图像增强处理系统和处理方法
JP4591405B2 (ja) * 2006-05-10 2010-12-01 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
US20080123750A1 (en) * 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
JP5418756B2 (ja) * 2007-01-22 2014-02-19 日本電気株式会社 画像再符号化装置、画像再符号化方法及び画像再符号化プログラム
US8204129B2 (en) * 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
JP5360430B2 (ja) * 2008-03-31 2013-12-04 日本電気株式会社 デブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法
US20090304086A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
JP2010014513A (ja) 2008-07-03 2010-01-21 Fuji Electric Holdings Co Ltd はんだフラックス中の金属成分分析方法
CN101321290B (zh) * 2008-07-17 2010-12-15 北京数码视讯科技股份有限公司 基于数字信号处理器的去块滤波方法
WO2010035403A1 (ja) * 2008-09-25 2010-04-01 パナソニック株式会社 フィルタ装置およびフィルタ方法
US8861586B2 (en) * 2008-10-14 2014-10-14 Nvidia Corporation Adaptive deblocking in a decoding pipeline
JP2010136245A (ja) * 2008-12-08 2010-06-17 Toshiba Corp 動画像処理装置及び方法
JP2010141513A (ja) * 2008-12-10 2010-06-24 Toshiba Corp 演算装置及び動画像符号化装置
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
CN102860005B (zh) * 2010-02-05 2016-07-06 瑞典爱立信有限公司 去块滤波控制
US9185430B2 (en) * 2010-03-15 2015-11-10 Mediatek Singapore Pte. Ltd. Deblocking filtering method and deblocking filter
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
US8606036B2 (en) 2010-04-13 2013-12-10 Panasonic Corporation Coding artifacts removing method, coding method, decoding method, coding artifacts removing apparatus, coding apparatus, and decoding apparatus
TWI600318B (zh) 2010-05-18 2017-09-21 Sony Corp Image processing apparatus and image processing method
HUE047906T2 (hu) 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
EP3748964A1 (en) * 2010-12-07 2020-12-09 Sony Corporation Image processing device and image processing method
EP3582497A1 (en) 2010-12-07 2019-12-18 Sony Corporation Image processing device and image processing method
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
EP2675161B1 (en) 2011-02-10 2018-11-14 Velos Media International Limited Image processing device and image processing method
US9135724B2 (en) 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
TWI530161B (zh) 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
JP5907367B2 (ja) 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
SG11201408571RA (en) 2012-06-29 2015-01-29 Sony Corp Decoding device, and decoding method

Also Published As

Publication number Publication date
RU2691962C2 (ru) 2019-06-19
US20130259142A1 (en) 2013-10-03
JPWO2012077607A1 (ja) 2014-05-19
MY163146A (en) 2017-08-15
KR101879890B1 (ko) 2018-07-18
CA2815819C (en) 2019-12-24
US20190253721A1 (en) 2019-08-15
MX355896B (es) 2018-05-04
US20200092568A1 (en) 2020-03-19
JP6222305B2 (ja) 2017-11-01
AU2011339460B2 (en) 2015-10-29
CA2815819A1 (en) 2012-06-04
CN103229506A (zh) 2013-07-31
KR101963096B1 (ko) 2019-03-27
RU2016105120A (ru) 2018-11-22
RU2016105120A3 (es) 2019-05-23
EP3748963B1 (en) 2022-03-02
MX338737B (es) 2016-04-29
BR112013013509B1 (pt) 2021-12-28
KR20180085039A (ko) 2018-07-25
RU2013125498A (ru) 2014-12-10
WO2012077607A1 (ja) 2012-06-14
TWI569627B (zh) 2017-02-01
TWI580250B (zh) 2017-04-21
AU2011339460A1 (en) 2013-06-13
BR112013013509A2 (pt) 2020-07-28
KR20130129381A (ko) 2013-11-28
EP2651127A1 (en) 2013-10-16
AU2011339460A2 (en) 2013-07-11
CN106454358A (zh) 2017-02-22
CN106454358B (zh) 2020-03-17
EP3748964A1 (en) 2020-12-09
RU2585662C2 (ru) 2016-06-10
CN103229506B (zh) 2016-11-09
JP6011341B2 (ja) 2016-10-19
EP3748963A1 (en) 2020-12-09
TW201233188A (en) 2012-08-01
EP2651127B1 (en) 2021-02-03
TW201528780A (zh) 2015-07-16
US10362318B2 (en) 2019-07-23
EP2651127A4 (en) 2015-03-25
US10582202B2 (en) 2020-03-03
TWI580249B (zh) 2017-04-21
KR20180085040A (ko) 2018-07-25
JP6471787B2 (ja) 2019-02-20
JP2018014743A (ja) 2018-01-25
CN106454359A (zh) 2017-02-22
TW201528778A (zh) 2015-07-16
TW201528779A (zh) 2015-07-16
CN106454359B (zh) 2020-05-19
JP2016208533A (ja) 2016-12-08
US20180184095A1 (en) 2018-06-28
ES2856823T3 (es) 2021-09-28
CN106385586A (zh) 2017-02-08
TWI520504B (zh) 2016-02-01
US10931955B2 (en) 2021-02-23
EP3748962A1 (en) 2020-12-09
KR101963097B1 (ko) 2019-03-27
US9973763B2 (en) 2018-05-15

Similar Documents

Publication Publication Date Title
JP6471786B2 (ja) 画像処理装置及び画像処理方法
JP6471787B2 (ja) 画像処理装置及び画像処理方法
AU2017202277B2 (en) Image processing device and image processing method

Legal Events

Date Code Title Description
FG Grant or registration