ES2415755A1 - Sistema de procesamiento flexible de imágenes digitales. - Google Patents
Sistema de procesamiento flexible de imágenes digitales. Download PDFInfo
- Publication number
- ES2415755A1 ES2415755A1 ES201101362A ES201101362A ES2415755A1 ES 2415755 A1 ES2415755 A1 ES 2415755A1 ES 201101362 A ES201101362 A ES 201101362A ES 201101362 A ES201101362 A ES 201101362A ES 2415755 A1 ES2415755 A1 ES 2415755A1
- Authority
- ES
- Spain
- Prior art keywords
- image
- time
- images
- compression
- flexible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/162—User input
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Se presenta un sistema para el procesamiento de imágenes digitales que permite ajustar dinámicamente los tiempos de compresión/descompresión a las necesidades de cada escenario de aplicación o industria. El problema que resuelve es el de proporcionar predecibilidad en los tiempos de compresión/descompresión de la imagen, lo que permite fijar ese tiempo de procesamiento independientemente de las características de la imagen y del entorno de operación. El sistema consiste en una tarjeta hardware en la que integran los módulos funcionales necesarios para ejecutar el procesamiento de compresión/descompresión. La tarjeta recibe como entrada el parámetro temporal de ajuste y la secuencia de datos que componen la imagen original o comprimida. Esta tarjeta puede ser incorporada directamente en computadores, o bien, el sistema que describe puede ser implementado con criterios de miniaturización ASIC para incorporarse en otros dispositivos de adquisición como cámaras fotográficas digitales o dispositivos de visualización como monitores o pantallas.
Description
Sistema de procesamiento flexible de imágenes digitales.
La invención se refiere a un sistema de procesamiento de imágenes digitales que permite establecer el tiempo de procesamiento de imágenes digitales en los procesos de compresión/descompresión para contextos de aplicación con restricciones temporales. La presente invención aporta una solución al procesamiento de imágenes digitales en aquellas situaciones para las que el tiempo disponible está limitado.
Con este sistema, las tareas de compresión o descompresión de las imágenes pueden ajustarse al tiempo disponible independientemente del resto de características de la imagen como su tamaño, número de colores o resolución.
Los métodos de compresión/descompresión de imágenes digitales juegan un papel relevante en numerosas aplicaciones en las que los recursos disponibles para la visualización, almacenamiento y procesamiento son escasos o están limitados. Un marco de trabajo en el que tales limitaciones resultan vitales es en el desarrollo de aplicaciones para internet y dispositivos móviles como teléfonos
o PDAs. En este contexto, el desarrollo de interfaces dirigidos hacia el usuario final está condicionado fuertemente por el tiempo de descarga y visualización de los datos multimedia. Estos aspectos motivan los trabajos de investigación hacia la mejora de las tasas de compresión y de la calidad de los elementos multimedia como las imágenes, vídeos o secuencias de sonido que agilicen la interacción con el usuario y aprovechen la heterogeneidad de la infraestructura disponible [J. Lévy Véhel et aL, 2007], [R. Fattal et aL, 2002], [H. M. Hang et aL, 1997].
Precisamente por esos motivos, resulta conveniente en diversos ámbitos disponer de control sobre el tiempo de procesamiento de esta información para adecuar los recursos disponibles a las necesidades de cada momento. En algunas aplicaciones es prioritario ajustarse a unas restricciones temporales que marcan los instantes en los que deben estar disponibles los datos, ya sea para su visualización por el usuario o como entrada a otro proceso posterior. Un ejemplo claro de este caso es la reproducción de secuencias de vídeo comprimido, donde mantener una cantidad de fotogramas por segundo prima sobre la claridad de los mismos. Otro caso lo constituyen los sistemas de navegación con visores de mapas, donde las imágenes del mapa deben ser actualizadas constantemente y se requiere disponer de la imagen del mapa en unas cotas de tiempo máximas (timeout) predeterminadas.
Los Sistemas de Control de tiempo de ejecución, o sistemas de Tiempo Real (RTS-Real-Time System), basan su funcionamiento en proporcionar los resultados dentro de un intervalo de tiempo conocido y preestablecido [J. A. Stankovic et aL, 1998]. Por lo tanto, para garantizar su correcto comportamiento es necesario una predecibilidad en los tiempos de respuesta.
Los métodos existentes de compresión/descompresión de imágenes digitales que toman en consideración el aspecto temporal para la construcción de las imágenes permiten graduar el tiempo necesario para la visualización completa de una imagen mediante la transmisión progresiva de imágenes (PIT -Progressive Image Transmission) [S. Caron et aL, 1996]. Entre estos formatos se encuentra el jpeg Progresivo [C. Pires et aL, 1991], [ A. Jain et aL, 1994] (PJPEG -Progressive Jpeg) y la compresión fractal [Y.-K. Chee et aL, 1995],
[P. Obrador et aL, 1995]. Todos estos métodos tienen como objetivo principal minimizar el espacio de almacenamiento de las imágenes y ofrecer una calidad suficiente en la visualización por humanos para la aplicación en la que se ejecuten. La gran ventaja que obtienen es que el usuario podrá finalizar manualmente el proceso de construcción de la imagen en el momento que lo desee sin necesidad de esperar a visualizar la imagen completa. No obstante, no abordan el problema de proporcionar un control automático del tiempo de procesamiento y la calidad del resultado en función de las necesidades de la aplicación.
Los últimos avances en cuanto a codificación de imágenes se centran en la reducción de los tiempos de compresión/descompresión pero no ofrecen soluciones que proporcionen flexibilidad en el rendimiento del procesamiento de la imagen resultante. La no predecibilidad de los tiempos de respuesta limita la utilidad de los trabajos desarrollados hacia el objetivo de proporcionar el resultado con el menor retardo posible para que cumpla con la usabilidad propia de la aplicación ya sea por necesidades del hardware [K-Y. Min et al., 2005] o del usuario [S.N. Pattanaik et al., 2000].
En relación con otras patentes previas relacionadas con el procesamiento de imágenes digitales tanto españolas como extranjeras ES2094732, ES2076368, US2011/0007183, US2010/0134685 y US2005/0160406 cabe reseñar que, en la línea de las publicaciones mencionadas, se centran en mejorar la velocidad de procesamiento y/o algunos aspectos de la calidad de las imágenes obtenidas, no encontrando ninguna invención anterior que describa un sistema en el que se proporcione control automático sobre el tiempo de ejecución ni predecibilidad en el tiempo de respuesta independiente del entorno y de las características de las imágenes. Las invenciones patentadas tienen unas prestaciones adecuadas en el ámbito en el que se aplican pero no ofrecen flexibilidad ante unas condiciones de trabajo cambiantes que requieran diferentes retardos de procesamiento.
Los algoritmos de compresión de imágenes tradicionales reducen el coste espacial de las imágenes que comprimen mediante la reducción de la cantidad de datos que las representan. Generalmente esta compresión viene acompañada de cierta pérdida de calidad. Algunos de estos métodos de compresión permiten al usuario actuar sobre la tasa de compresión de la imagen que relaciona su calidad con el tamaño que ocupa. Sin embargo, estos algoritmos de compresión sólo contemplan la posibilidad de especificar en qué medida se desea reducir el tamaño binario de la imagen mediante la tasa de compresión, sin tener en cuenta el tiempo de procesamiento que sea necesario para ello. La atención sobre este aspecto temporal es la principal contribución del sistema de procesamiento de imágenes que se presenta.
La presente invención aporta un aspecto novedoso en los sistemas de compresión y descompresión de imágenes digitales ya que permite establecer restricciones sobre el instante de finalización de la compresión/descompresión de las imágenes y regular el tiempo de procesamiento del sistema. De este modo, se superan inconvenientes relativos a la no predecibilidad del tiempo de procesamiento de las imágenes digitales. Con este sistema es posible fijar el tiempo de compresión/descompresión de las imágenes independientemente de su tasa de compresión, tamaño, número de colores y resolución.
El esquema de funcionamiento general es el siguiente: el sistema recibe una imagen digital comprimida o sin comprimir para su procesamiento y la duración máxima, en unidades de tiempo, para llevarlo a cabo. El sistema de procesamiento flexible de imágenes digitales ejecuta la acción comprimiendo/descomprimiendo la imagen dentro del tiempo estipulado.
Para cumplir con este objetivo, se ha investigado el proceso de compresión/descompresión de imágenes digitales con el propósito de fragmentarlo en subtareas independientes. A continuación se ha adaptado el funcionamiento de esas subtareas para dotarlas de flexibilidad temporal incorporando parámetros que calibran su funcionamiento y que influyen sobre la duración de las mismas. De este modo, el sistema de procesamiento flexible propuesto determina, según el tiempo disponible, las tareas no obligatorias y opcionales que podrán ser despreciadas total o parcialmente durante la ejecución de dicho procesamiento y sólo se ejecutarán cuando la restricción temporal lo permita. Con este esquema, aunque el procesamiento completo exceda del tiempo disponible, será posible obtener resultados dentro del plazo impuesto.
El sistema de procesamiento flexible de imágenes digitales recibe dos entradas y produce dos salidas. Las entradas corresponden a los siguientes elementos:
• Imagen digital o imagen comprimida: la imagen digital corresponde con la imagen digital sin comprimir y la imagen comprimida corresponde con el archivo binario de la imagen comprimida.
• Restricción temporal indicada en unidades de tiempo que establece la cota de tiempo máximo de procesamiento que debe tardar el sistema en obtener los resultados. Esta cota se proporciona en unidades de tiempo (segundos, milisegundos, microsegundos, etc.) de una granularidad adecuada al tipo de aplicación y al coste estimado.
Las salidas corresponden a los siguientes elementos:
- •
- Imagen digital o imagen digital comprimida según proceda: si a la entrada del dispositivo se entrega una imagen digital, el sistema actúa como compresor y produce una imagen comprimida, pero si se entrega una imagen digital comprimida, el sistema funciona como descompresor y obtiene la imagen digital original.
- •
- Línea No_Avaliable: informa de si es posible comprimir o descomprimir la imagen con la restricción temporal impuesta.
El sistema propuesto está formado por los siguientes componentes:
- •
- Procesador de imágenes digitales flexible que se encarga de procesar las imágenes digitales que recibe para comprimirlas o descomprimirlas, compuesto de un módulo compresor de imágenes y un módulo descompresor de imágenes digitales comprimidas.
- •
- Unidad de control de tiempo que se encarga de calibrar el procesador de imágenes digitales flexible en función del tiempo disponible.
Cuando el sistema recibe una imagen digital o una imagen comprimida y una cota de tiempo máximo de procesamiento, la unidad de control de tiempo analiza la cota temporal indicada y configura el procesador de imágenes mediante una
.;
colección de parámetros de calibración d= <d1, d2, ... , dt> que influyen en el tiempo de procesamiento y la calidad de los resultados. Estos parámetros acotan el tiempo de compresión según las restricciones impuestas por la aplicación, determinan las características de la compresión/descompresión llevada a cabo y condicionan obligatoriamente la calidad del resultado final obtenido.
La implementación de la unidad de control de tiempo mantiene el determinismo en los tiempos de respuesta del sistema completo. Se puede construir el módulo mediante un circuito combinacional embebido en el sistema o bien, mediante el acceso a una tabla look-up con el valor de los parámetros asociados a cada una de las restricciones temporales que permita terminar al algoritmo en el tiempo establecido.
En el caso en el que la restricción temporal no pueda satisfacerse, es decir, ni siquiera con el valor correspondiente al mínimo retardo de los parámetros se alcanza la restricción impuesta, la línea No_Avaliable se activa en valor alto. Cuando esto ocurre, la aplicación puede decidir qué acción tomar: rechazar el cálculo o bien obtener la imagen que se tenga en el menor tiempo disponible.
En los siguientes apartados se describen las características de la invención que permiten un ajuste del tiempo flexible en el procesamiento de las imágenes y que conforman los parámetros de calibración mencionados que influyen en los procesos de compresión y descompresión de las imágenes.
A. Coeficientes de la Transformada Discreta del Coseno (DCT) El primer parámetro que se utiliza para ajustar el tiempo de procesamiento son los coeficientes de la DCT de la imagen digital. Estos coeficientes se disponen en una matriz bidimensional y su colocación está relacionada con la frecuencia espectral. Los coeficientes de mayor frecuencia representan aquellas partes de la imagen que poseen mayor detalle. Si se altera el número de coeficientes de la DCT en la codificación de la imagen se influye por tanto en el grado de detalle con la que se representa, de modo que cuantos más coeficientes se desprecien menos detalle poseerá la imagen reconstruida. Sin embargo, generalmente el nivel de detalle de algunas imágenes es superior al que el ojo humano puede percibir dada su resolución, por lo que si se eliminan, la pérdida de detalle tras descomprimir la imagen no va a ser percibida por un observador humano y puede ser asumida por ciertas aplicaciones.
La cantidad de coeficientes de la DCT que se calculan es proporcional al coste temporal de esta etapa del algoritmo. Cuantos menos coeficientes se calculen menor es el tiempo que se requiere para efectuar la transformada correspondiente. Por tanto, se utiliza este parámetro para ajustar el tiempo de procesamiento del sistema a las restricciones existentes. Dependiendo de si las restricciones temporales se tienen en el extremo compresor o en el extremo descompresor, se pueden presentar las siguientes situaciones en el cálculo de los coeficientes de la transformada DCT:
- •
- Tiempo de compresión ilimitado y tiempo de descompresión limitado: se calcula la transformada DCT completa para la compresión, pero en el momento de la descompresión se desprecian los coeficientes de frecuencias mayores con el consiguiente ahorro de tiempo.
- •
- Tiempo de compresión y descompresión limitados: sólo se calcula el número máximo de coeficientes que permitan que la compresión se lleve a cabo dentro del tiempo disponible, y en la descompresión pueden seguir despreciándose coeficientes si fuera necesario, u operar con todos ellos si el tiempo lo permite.
- •
- Tiempo de compresión limitado y tiempo de descompresión ilimitado: sólo se calcula el número máximo de coeficientes que permitan que la compresión se lleve a cabo dentro del tiempo disponible, y en la descompresión se lleva a cabo el proceso inverso con los coeficientes de que se disponen. En este caso, la calidad de la imagen resultante viene determinada por el número de coeficientes que se hayan obtenido durante la compresión, puesto que en la descompresión, a pesar de no existir límite de tiempo, no se pueden recuperar los coeficientes desestimados por el sistema compresor.
El parámetro que indica la cantidad de coeficientes que se calculan según el tiempo disponible lo denominamos d1=<n1> para la DCT en el proceso de compresión o d1=<n2> para la IDCT (Inversa de la Transformada Discreta del Coseno) en la descompresión.
B. Subdivisión espacial El segundo parámetro que emplea el sistema para adecuar el tiempo de cálculo consiste en la descomposición de la imagen original en una cantidad (D) de subimágenes formadas a partir de muestras homogéneamente distribuidas de la imagen original. Cada una de la subimágenes resultantes muestra una versión reducida de la misma y tiene un tamaño D veces menor al de la imagen original y un tiempo de procesamiento consecuentemente inferior. El valor D es un parámetro de diseño del sistema que determina la capacidad de ajuste a las restricciones temporales. El sistema dispone de mayor flexibilidad para cubrir requisitos temporales más exigentes cuanto mayor valor tenga D. El caso particular de considerar la imagen en su conjunto corresponde con el valor de D igual a la unidad.
La colaboración de esta subdivisión al cumplimiento del límite de tiempo se encuentra en que su procesamiento sucesivo introduce flexibilidad en los tiempos de respuesta y en la calidad del resultado. De esta manera, se puede llevar a cabo la compresión con estas subimágenes por separado y, conforme se vayan descomprimiendo, se va añadiendo la información de cada una de ellas, de modo que se vaya completando la imagen hasta obtener la mayor calidad que el tiempo disponible permita. Con este planteamiento, si se dispone de poco tiempo es posible tener una imagen de menor calidad pero que dé una idea del contenido global de la imagen en el momento preciso.
Para incorporar esta técnica de subdivisión espacial al algoritmo básico se ha establecido una cantidad D de subimágenes a construir de antemano de las que tan solo una parte de ellas serán usadas para la compresión o descompresión de la imagen completa. Se utiliza un parámetro denominado di==<N1> que indica el número de subimágenes que se usan en la compresión o descompresión.
Para rellenar los huecos vacíos provocados por la utilización parcial del conjunto de subimágenes se utilizan los píxeles de proximidad. Por tanto, el orden de selección de las imágenes con las que se cuenta va proporcionando información de la imagen completa utilizando píxeles espaciados homogéneamente.
En el proceso de descompresión se puede señalar también la cantidad de subimágenes que se usan para reconstruir la imagen original según el tiempo disponible para ello. La imagen de mayor calidad se obtiene usando todas las subimágenes que se han codificado en el proceso de compresión, pero en caso necesario, se pueden obtener aproximaciones a la misma usando un menor número de subimágenes codificadas. Se utiliza el parámetro di=<N2> para señalar el número de subimágenes usadas en la descompresión.
C. Precisión de los operandos
Esta técnica consiste en simplificar las operaciones matemáticas que intervienen en el proceso de compresión/descompresión de las imágenes mediante la aplicación a nivel hardware de los conceptos de la computación imprecisa. Con esta técnica se comprueba que la precisión que toman los datos en las operaciones aritméticas que intervienen en la ejecución de las instrucciones influye directamente en el tiempo que el procesador necesita para efectuar dicho cálculo.
En los métodos de compresión basados en la transformada DCT, las operaciones aritméticas más frecuentes son suma, resta, multiplicación y división. El parámetro que determina la precisión de los operandos en cada operación esta formado por tanto por un vector que indica la cantidad de cifras fraccionarias significativas que tienen los operandos en las instrucciones aritméticas de suma (Ps) y multiplicación (Pm): d3 =<p> =<Ps, Pm>.
Para incorporar esta característica al sistema de procesamiento, se sustituye la ejecución de los operadores aritméticos tradicionales por dichas primitivas hardware, obteniendo así el beneficio en cuanto a flexibilidad de tiempo de procesamiento que ello implica. Este procesamiento flexible a bajo nivel se puede emplear en todos los módulos del método o bien solo en aquellos en los tenga mayor repercusión en el coste. Al igual que en las técnicas anteriores, pueden establecerse cotas de precisión diferentes para el proceso de compresión <P1> y descompresión <P2>.
En la Figura 1 se muestra un esquema del sistema compresor de imágenes. Esta figura representa las entradas y las salidas que dispone el sistema descrito.
En la figura 2 se muestra un esquema general del sistema de procesamiento. Esta figura representa un mayor nivel de detalle del sistema de procesamiento flexible.
En la figura 3 se muestra el esquema de compresión del sistema de procesamiento flexible de imágenes digitales. Esta figura representa con detalle los elementos que conforman el proceso de compresión.
En la figura 4 se muestra el esquema de descompresión del sistema de procesamiento flexible de imágenes digitales. Esta figura representa con detalle los elementos que conforman el proceso de descompresión.
Como se ha descrito anteriormente, el sistema de procesamiento flexible de imágenes digitales (3) recibe dos entradas y produce dos salidas. El esquema del sistema se describe en la figura 1. Las entradas que tiene son las siguientes:
- 1.
- Imagen entrada (1) que será una imagen digital o bien una imagen comprimida.
- 2.
- Cota de tiempo máximo de procesamiento (2) que debe tardar el sistema en obtener los resultados.
Las salidas que se generan son las siguientes:
- 1.
- Imagen resultante (4) que será una imagen digital o imagen digital comprimida según proceda.
- 2.
- Línea No_Avaliable (5) que indica si es posible comprimir o descomprimir la imagen con la restricción temporal indicada.
Las partes del sistema de procesamiento flexible de imágenes digitales (3) se muestran en la figura 2. El sistema está formado por los siguientes componentes:
- •
- Procesador de imágenes digitales flexible (7): es el módulo que se encarga de procesar las imágenes digitales que recibe para comprimirlas
o descomprimirlas.
- •
- Unidad de control de tiempo (6): es el módulo que se encarga de calibrar el procesador de imágenes digitales flexible en función del tiempo disponible indicado.
Según el esquema interno descrito en la figura 2, cuando el sistema recibe una imagen entrada (1) Y una cota de tiempo máximo de procesamiento (2), la unidad de control de tiempo (6) analiza la cota temporal indicada y configura el procesador de imágenes digitales flexible (7) mediante una colección de
..¡
parámetros de calibración d= <d1, d2, .•. , dt> que influyen en el tiempo de procesamiento y la calidad de los resultados. Estos parámetros tienen la función de acotar el tiempo de compresión según las restricciones impuestas por la aplicación, determinar las características de la compresión/descompresión llevada a cabo y condicionar obligatoriamente la calidad del resultado final obtenido.
El procesador de imágenes digitales flexible (7) está compuesto por el módulo compresor de imágenes (8) y por el módulo descompresor de imágenes (9). En las figuras 3 y 4 se describe el detalle del procesador de imágenes digitales flexible en el que entran en juego los parámetros de calibración descritos y se muestran los esquemas completos para la fase de compresión y descompresión y los flujos de información entre cada una de las partes del dispositivo. A continuación se describen los modos de realización de cada módulo.
Cuando el sistema de procesamiento flexible recibe una imagen de entrada (1) Y una cota de tiempo máximo de procesamiento (2), la unidad de control de tiempo
(6) determina el valor de los parámetros de calibración que ajustan el proceso de compresión para obtener la imagen resultante (4) comprimida en el tiempo disponible. En caso de que este ajuste no sea posible se indica con la línea No_Avaliable (5). A continuación se pone en funcionamiento el módulo compresor de imágenes (8) tomando como entrada la propia imagen digital y los parámetros de calibración.
El proceso de compresión se ejecuta cuando se recibe como entrada una imagen digital sin comprimir. Los elementos que' componen este módulo compresor son los siguientes: preprocesador (13), subdivisor espacial (14), conversor (15), remuestreador (16), calculador DCT (17), cuantificador Q (18) Y codificador entrópico (19).
La compresión de imágenes se detalla en el esquema que se muestra en la
..¡
figura 3. Los parámetros de calibración <d> que salen de la unidad de control de tiempo (6) están relacionados con cada una de las características de ajuste de tiempo del procesador: número de subimágenes <N> en que se descompone la imagen (10), número de coeficientes (11) <n> de la DCT y precisión de los operandos (12) <p> con que se efectúan las operaciones matemáticas. Por
tanto, estos parámetros de calibración, definidos por el vector <d,;¡ 1>= <n1,N1,p1>, configuran el comportamiento del sistema en el proceso de compresión para que se obtenga la imagen en el tiempo establecido por la cota de tiempo máximo de procesamiento (2).
Los parámetros de calibración que configura la unidad de control de tiempo (6) influyen en las siguientes etapas del proceso de compresión ajustando su tiempo de procesamiento:
- •
- El número de subimágenes <N> en que se descompone la imagen (10) afecta a los módulos preprocesador (13) y subdivisor espacial (14).
- •
- El número de coeficientes (11) Y la precisión de los operandos (12) afectan al módulo calculador DCT (17).
A continuación se presenta la descripción de las etapas que contiene este proceso de compresión.
Preprocesado de la imagen El objetivo de esta etapa es el de preparar la imagen para su subdivisión posterior en subimágenes. El preprocesador (13) adecúa el tamaño de la imagen inicial {f} a los procesos que se van a realizar posteriormente relacionados con la compresión y con la gestión del tiempo de procesamiento. Con la redimensión se busca el tamaño óptimo para la subdivisión espacial de la imagen, la creación de los bloques para la DCT y para el diezmado de la cromancia del modelo de color empleado. Por este motivo, recibe además de la propia imagen entrada (1), el parámetro de calibración <N1> que indica el número de subimágenes en que se descompone la imagen (10).
Esta etapa del procesamiento es obligatoria y se ejecuta por completo independientemente de las restricciones temporales y de los parámetros de control de tiempo. A la salida de esta etapa se obtiene la imagen digital redimensionada {f'} (20) con el tamaño adecuado para su procesamiento posterior.
Subdivisión espacial El elemento subdivisor espacial (14) descompone la imagen digital redimensionada {f'} (20) en una colección de subimágenes {f'1, f'2, ... , f'D} prefijada por el sistema. La cantidad D de subimágenes se puede configurar según la aplicación y la versatilidad requerida. El modo en que se va a descomponer la imagen consiste en formar cada subimagen con píxeles distribuidos homogéneamente a partir de la imagen original redimensionada obteniendo por tanto versiones reducidas de la imagen original.
El parámetro de calibración <N1> número de subimágenes en que se descompone la imagen (10), con N1 ::s; D, indica cuántas de estas subimágenes deben ser construidas para cumplir con las restricciones de la aplicación. Como resultado de esta etapa, se obtiene una secuencia de N1 subimágenes {f'1, f'2, ... , f'N1} (21) de tamaño D veces inferior al tamaño de la imagen original redimensionada.
De aquí en adelante, cada una de las subimágenes se procesa independientemente. Para propiciar el procesamiento progresivo de las subimágenes se ha realizado un diseño secuencial y segmentado. De este modo, no es necesario esperar a que todas las subimágenes pasen por un bloque para comenzar la ejecución del bloque siguiente. El tiempo de procesamiento de esta etapa es lineal con la cantidad de subimágenes N1 que se deben construir, y su complejidad está relacionada con la cantidad de píxeles de la imagen original.
Esta etapa del procesamiento también es obligatoria, aunque, de aquí en adelante, el resto de las etapas son obligatorias sólo para las N1 subimágenes indicadas por el parámetro de calibración que indica el número de subimágenes en que se descompone la imagen (10) y optativas para el resto de subimágenes {f'N1+1, ... , f' D} según el tiempo disponible sobrante.
Conversión del espacio de color y remuestreo En estas etapas se transforma el espacio de color de la imagen de RGB (red, green, blue) a YIQ (Iuminance, in-fase, quadrature) para desvincular la componente de luminancia de las dos de cromancia y se remuestrean las nuevas componentes obtenidas para potenciar aquellas en las que el ojo humano es más sensible.
El elemento conversor (15) de este módulo se encarga de la transformación del espacio de color para obtener las componentes YIQ separadas (22) y el remuestreador (16) recibe esas componentes YIQ separadas (22) y las remuestrea, produciendo una versión de las componentes de cromancia reducidas (23) con menor coste espacial. Los métodos empleados son los tradicionales para realizar estas operaciones.
Estas etapas son obligatorias para aquellas subimágenes que se procesan.
Cálculo de la DCl El calculador DCl (17) ejecuta la DCl independientemente a las componentes de cromancia reducidas (23) de color Y, l' YQ' de cada una de las subimágenes
sucesivamente. Cada componente se subdivide en bloques de 8x8 y a estos bloques se les aplica la transformación.
En esta transformada se incorpora un grado de flexibilidad en el retardo mediante el control del número de coeficientes DCT requeridos de cada matriz de 8x8 y mediante la precisión de las operaciones matemáticas de suma y producto. Este control viene especificado por la unidad de control de tiempo (6) mediante los parámetros de calibración <n1> y <P1>.
El valor del parámetro <n1> indica el número de coeficientes (11) <n> de la DCT que deben ser calculados para cumplir con las restricciones temporales de la aplicación. Este valor puede oscilar entre 1 y 64. De este modo, para un valor de n dado, se hallan sólo los n primeros coeficientes de la matriz de 8x8 según el recorrido en zig-zag conocido. Para ello, se mantiene el cálculo de la DCT 1D para las filas, y sólo se procesa la DCT de las columnas necesarias para obtener los coeficientes indicados.
El valor de <;;1> indica la precisión de operandos (12) en forma de cantidad de bits de los operandos que intervienen en las operaciones de suma y producto que se llevan a cabo en este proceso. Cuantos menos bits se utilicen, menor es el retardo producido por el procesamiento.
Como resultado de esta etapa se obtiene un vector de n1 coeficientes (24) para cada una de las componentes de color de la imagen.
Esta etapa es obligatoria para aquellas subimágenes que se procesan. La parte no obligatoria para estas subimágenes proviene del procesamiento parcial de los coeficientes DCT.
Cuantificador Q y Codificador entrópico En estas etapas se cuantifican los coeficientes (25) obtenidos y se elimina la posible redundancia incorporada en los datos generando una secuencia de información no redundante (26) para cada subimagen.
El cuantificador Q (18) es el encargado del proceso de cuantificación y el codificador entrópico (19) el elemento que elimina la redundancia. Los métodos empleados son los tradicionales para realizar estas operaciones.
Esta etapa es obligatoria para aquellas subimágenes que se procesan.
Finalmente, la imagen resultante (4) comprimida esta formada por la concatenación de la información generada para cada subimagen.
Descompresión de la imagen: Cuando el sistema de procesamiento flexible recibe una imagen entrada (1) digital que está comprimida y una cota de tiempo máximo de procesamiento (2), al igual que en el proceso anterior, la unidad de control de tiempo (6) determina el valor de los parámetros de calibración que ajustan el proceso de descompresión para obtener la imagen resultante (4) en el tiempo indicado. En caso de que este ajuste no sea posible se indica con la línea No_Avaliable (5). A continuación se pone en funcionamiento este módulo descompresor de imágenes (9) tomando como entrada la propia imagen digital comprimida y los parámetros de calibración.
El módulo de descompresión se detalla en la figura 4. Las partes que componen este módulo descompresor son las siguientes: decodificador entrópico (27), decuantificador Q (28), calculador IDCT (29), remuestreador (30), conversor (31), constructor de imagen (32) y postprocesador (33).
Los parámetros de calibración están definidos por el vector <d.,¡ 2>= <n2,N2, P2>, donde <N2> representa el número de subimágenes <N> en que se descompone la imagen (10) para el proceso de reconstrucción, <n2> el número de coeficientes
(11) de la IDCT y <P2> la precisión de los operandos (12) con que se efectúan las operaciones matemáticas.
Los parámetros de calibración que recibe influyen en las siguientes etapas ajustando su tiempo de procesamiento:
- •
- El número de subimágenes <N> en que se descompone la imagen (10) afecta al módulo decodificador entrópico (27).
- •
- El número de coeficientes (11) de la IDCT afecta al módulo calculador IDCT
(29) y al decodificador entrópico (27).
- •
- La precisión de los operandos (12) afecta al módulo calculador IDCT (29).
La salida es la imagen digital descomprimida.
A continuación se presenta la descripción de las etapas que contiene este proceso.
Esta es la primera operación de la fase de descompresión de la imagen y sobre la que influyen los parámetros de calibración <n2> Y <N2>. El decodificador entrópico (27) toma la imagen entrada (1) comprimida compuesta por el conjunto de N1 subimágenes comprimidas según el esquema de compresión anterior y genera los vectores de coeficientes decodificados (25) correspondientes a cada una de ellas.
El parámetro <N2> número de subimágenes <N> en que se descompone la imagen (10) indica cuántas subimágenes se descomprimen para cumplir con el tiempo establecido mientras que <n2> señala el número de coeficientes (11) <n> de la DCT que se completan para cada uno de los vectores.
La calidad de la imagen generada viene limitada por la información recogida en la fase de compresión, por tanto, la consecuencia de aplicar estas restricciones depende de la información que haya sido utilizada en esa etapa. Si los valores de los parámetros temporales de esta fase son iguales o superiores a los utilizados para comprimir, entonces no se produce pérdida adicional de información, mientras que si son inferiores, se desprecian aquellas subimágenes y componentes del vector de coeficientes que no da tiempo a calcular. Las subimágenes con las que no cuenta son las últimas de la secuencia de datos de la imagen comprimida, mientras que los coeficientes desechados son los de mayores frecuencias para mantener la máxima calidad subjetiva que el tiempo disponible permita. Las posiciones de los coeficientes no considerados tienen valor cero.
Esta etapa es obligatoria para las subimágenes que se consideran por <N2>. De aquí en adelante, se procesa los datos de cada subimagen secuencialmente, de modo que la parte no obligatoria corresponde con las subimágenes comprimidas no consideradas.
Esta etapa realiza la operación inversa a la realizada por el cuantificador Q del proceso de compresión siguiendo un método de cálculo conocido. En esta etapa el decuantificador Q (28) obtiene los vectores de coeficientes decuantificados (24).
Esta etapa es obligatoria para las subimágenes consideradas.
Tras la etapa de decuantificación, se procede al cálculo de la IDCT. Para ello, el calculador IDCT (29) va tomando grupos de n elementos y formando una matriz de 8x8 con cada grupo teniendo en cuenta la ordenación en zig-zag seguida por el compresor. Sobre cada una de estas matrices se realiza la transformada inversa siguiendo el mismo patrón que el empleado para la transformada directa, es decir, primero se calcula en la dimensión de la filas y a continuación se hace lo mismo en la dimensión de las columnas.
El parámetro de calibración <n2> indica el número de coeficientes (11) <n> de la DCT, señalando sobre cuántos coeficientes de cada vector se debe realizar el procesamiento en esta etapa, mientras que el parámetro <P2> indica la precisión
requerida para las operaciones de suma y producto que tengan lugar por la transformada.
A la salida del bloque IDCT se tienen todas las matrices de 8x8 que completan las componentes de cromancia reducidas (23) Y, l' YQ' de cada subimagen.
Esta etapa es obligatoria para las subimágenes consideradas.
Remuestreo y conversión Estas operaciones realizan el proceso inverso a las correspondientes del módulo de compresión. El remuestreador (30) realiza la operación inversa al muestreador (16) y el conversor (31) de esta etapa realiza la operación inversa a la conversión (15) del proceso de compresión. En su concepción tampoco hay aportación específica y se ejecutan según los esquemas conocidos para ello.
Estas etapas son obligatorias para las subimágenes consideradas.
Reconstrucción progresiva En esta etapa se compone la imagen original a partir de las subimágenes {f'1, f'2, ... , f'N2} (21) que hayan sido descomprimidas. Para reconstruir la imagen resultante el constructor de imagen (32) va incorporando progresivamente subimagen tras subimagen obteniendo más información cada vez y mejorando así la calidad de la imagen gradualmente. Este proceso finaliza cuando se ha completado la imagen final con todas la subimágenes que el tiempo disponible haya permitido descomprimir. La reconstrucción de la imagen en caso de no utilizar todas las subimágenes se realiza con el criterio de obtener la mejor calidad subjetiva posible. De este modo, los huecos de píxeles libres que correspondan a subimágenes no generadas, se cubren por los píxeles vecinos según un criterio de proximidad. Como es conocida la cantidad de subimágenes de las que se cuenta, el proceso de reconstrucción va formando la imagen original colocando los píxeles de las subimágenes o sus duplicados según el caso.
El procesamiento secuencial realizado permite reconstruir la imagen digital (20) progresivamente conforme vayan llegando subimágenes a esta etapa. De este modo se puede mostrar la imagen al usuario para que perciba el aumento de calidad con cada subimagen obtenida.
Esta etapa es obligatoria para reconstruir la imagen a partir de las subimágenes consideradas.
5 Postprocesado Para finalizar, queda sólo devolver a la imagen su tamaño original, ya que había sido redimensionada durante el preprocesamiento para adecuarla al procesado posterior. Para ello, el postprocesador elimina las filas y columnas añadidas inicialmente obteniendo así la imagen entrada (1) original.
Claims (6)
- REIVINDICACIONES1. Sistema de procesamiento flexible de imágenes que recibe dos entradas: imagen entrada (imagen digital o imagen comprimida) y cota de tiempo máximo, y genera dos salidas: imagen resultante (imagen digital o imagen digital comprimida) y línea No_Avaliable; que comprende un procesador de imágenes digitales flexible formado por un módulo compresor y un módulo descompresor para procesar las imágenes digitales que recibe comprimiéndolas o descomprimiéndolas, y una unidad de control de tiempo para configurar el procesador de imágenes digitales flexible en función de la cota de tiempo y mediante una.;colección de parámetros de calibración d= <n, N, p>, que influyen en el tiempo de procesamiento y la calidad de los resultados, compuesta por la cantidad de coeficientes de la Transformada Discreta del Coseno <n>, la cantidad de subimágenes comprimidas/descomprimidas <N> y la precisión de los operandos suma y producto <p>.
-
- 2.
- Sistema de procesamiento flexible de imágenes según la reivindicación 1 donde los elementos que componen el módulo compresor son los siguientes: preprocesador, subdivisor espacial, conversor, remuestreador, calculador DCT, cuantificador a y codificador entrópico.
-
- 3.
- Sistema de procesamiento flexible de imágenes según la reivindicación 2 donde los parámetros de calibración influyen en los elementos preprocesador, subdivisor espacial y calculador DCT del módulo compresor.
-
- 4.
- Sistema de procesamiento flexible de imágenes según la reivindicación 1 donde los elementos que componen el módulo descompresor son las siguientes: decodificador entrópico, decuantificador A, calculador IDCT, remuestreador, conversor, constructor de imagen y postprocesador.
-
- 5.
- Sistema de procesamiento flexible de imágenes según la reivindicación 4
donde los parámetros de calibración influyen en los elementos decodificador entrópico y calculador IDCT del módulo descompresor. - 6. Sistema de procesamiento flexible de imágenes según la reivindicación 1 5donde la implementación de la unidad de control de tiempo se realiza usando una tabla look-up con el valor de los parámetros asociados a cada una de las restricciones temporales que permita terminar al algoritmo en el tiempo establecido.4~FIGURA 1FIGURA 2FIGURA 3FIGURA4
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES201101362A ES2415755B2 (es) | 2011-12-26 | 2011-12-26 | Sistema de procesamiento flexible de imágenes digitales. |
PCT/ES2012/070826 WO2013098446A1 (es) | 2011-12-26 | 2012-11-26 | Sistema de procesamiento flexible de imágenes digitales |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES201101362A ES2415755B2 (es) | 2011-12-26 | 2011-12-26 | Sistema de procesamiento flexible de imágenes digitales. |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2415755A1 true ES2415755A1 (es) | 2013-07-26 |
ES2415755B2 ES2415755B2 (es) | 2014-02-04 |
Family
ID=48696385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES201101362A Active ES2415755B2 (es) | 2011-12-26 | 2011-12-26 | Sistema de procesamiento flexible de imágenes digitales. |
Country Status (2)
Country | Link |
---|---|
ES (1) | ES2415755B2 (es) |
WO (1) | WO2013098446A1 (es) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63120378A (ja) * | 1986-11-10 | 1988-05-24 | Hitachi Medical Corp | 画像処理装置 |
US6483540B1 (en) * | 1997-06-16 | 2002-11-19 | Casio Computer Co., Ltd. | Image data processing apparatus method and program storage medium for processing image data |
EP1509044A2 (en) * | 2003-08-21 | 2005-02-23 | Matsushita Electric Industrial Co., Ltd. | Digital video signal processing apparatus |
US20070133017A1 (en) * | 2004-02-12 | 2007-06-14 | Hideyuki Kobayashi | Image processing apparatus, photographing apparatus, image processing system, image processing method and program |
-
2011
- 2011-12-26 ES ES201101362A patent/ES2415755B2/es active Active
-
2012
- 2012-11-26 WO PCT/ES2012/070826 patent/WO2013098446A1/es active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63120378A (ja) * | 1986-11-10 | 1988-05-24 | Hitachi Medical Corp | 画像処理装置 |
US6483540B1 (en) * | 1997-06-16 | 2002-11-19 | Casio Computer Co., Ltd. | Image data processing apparatus method and program storage medium for processing image data |
EP1509044A2 (en) * | 2003-08-21 | 2005-02-23 | Matsushita Electric Industrial Co., Ltd. | Digital video signal processing apparatus |
US20070133017A1 (en) * | 2004-02-12 | 2007-06-14 | Hideyuki Kobayashi | Image processing apparatus, photographing apparatus, image processing system, image processing method and program |
Also Published As
Publication number | Publication date |
---|---|
ES2415755B2 (es) | 2014-02-04 |
WO2013098446A1 (es) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11968472B2 (en) | Image pipeline processing method and device | |
AU2018373495B2 (en) | Frequency component selection for image compression | |
US8754827B2 (en) | Updating an image | |
ES2961397T3 (es) | Codificación y reconstrucción de datos residuales en base a información de soporte | |
JP5537293B2 (ja) | 画像符号化装置及び画像復号化装置 | |
US20140153635A1 (en) | Method, computer program product, and system for multi-threaded video encoding | |
KR20150037944A (ko) | 비디오 처리를 위한 송신 장치 및 방법 | |
KR102669366B1 (ko) | 비디오 처리 시스템 | |
US8159606B2 (en) | Method and apparatus for reversible, polynomial based image scaling | |
CN114009027A (zh) | 视频译码中的残差的量化 | |
US20160234521A1 (en) | Parallel decode of a progressive jpeg bitstream | |
TW201904294A (zh) | 數位內容串流壓縮 | |
US11956569B2 (en) | Image processing method and device using a line-wise operation | |
US20050196056A1 (en) | Image coding and decoding method | |
JP2012522285A (ja) | データ及び三次元レンダリングを符号化するためのシステム及びフォーマット | |
ES2415755B2 (es) | Sistema de procesamiento flexible de imágenes digitales. | |
US8787686B2 (en) | Image processing device and image processing method | |
KR101679233B1 (ko) | 디블록킹 필터 및 이를 포함하는 영상 표시 장치 | |
KR20140077757A (ko) | 디지털 사이니지 출력 방법 | |
JP2017050752A (ja) | 画像符号化装置及び方法、並びに、画像復号装置及び方法 | |
JP2019528621A (ja) | 画像コーディング/デコーディング方法、装置及び画像処理機器 | |
TW202218421A (zh) | 內容顯示處理 | |
US9444971B2 (en) | Image processing system, image processing method, and image processing program | |
CN114041290A (zh) | 用于图像处理的组合环路滤波 | |
CN110796590A (zh) | 用于视频处理或编码的可扩缩媒体体系结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG2A | Definitive protection |
Ref document number: 2415755 Country of ref document: ES Kind code of ref document: B2 Effective date: 20140204 |