Sie sind auf Seite 1von 5

Congreso Internacional en Ingeniera Electrnica. Mem. Electro 2014, Vol. 36, pp 103-107, Chihuahua, Chih.

Mxico
http://depi.itchihuahua.edu.mx/display/memorias_electro/MemoriaElectro2014
ISSN 1405-2172

103

ARQUITECTURA RECONFIGURABLE PARA ADQUISICIN DE IMGENES
USANDO MUESTREO COMPRESO
Gustavo Gonzlez Garca, Alfonso Fernndez Vzquez, Rodolfo Romero Herrera
Escuela Superior de Cmputo (ESCOM)
Instituto Politcnico Nacional
Departamento de posgrado
Av. Juan de Dios Btiz esq. Av. Miguel Othn de/ Mendizbal, Col. Lindavista. Del. Gustavo A. Madero.
Mxico, D. F., C.P. 07738.
Tel.: 5729-6000 Ext.:52040
e-mail:gusta_si@hotmail.com, afernan@ieee.org, rromeroh@ipn.mx


RESUMEN

En este artculo, nosotros proponemos una arquitectura Softcore
(Sistema en Chip Programable), para la compresin de imgenes
usando muestreo compreso. El tamao de las imgenes en escala
de grises es de 128x128 pixeles. Con la finalidad de contar con un
sistema que requiera pocos recursos en la compresin de datos y
cuente con un alto porcentaje de eficiencia, la arquitectura se
puede implementar en dispositivos reconfigurables como FPGAs.
El Softcore cuenta con una arquitectura RISC de 32 bits y una
arquitectura Harvard. Entre los principales bloques desarrollados
se encuentran: un bloque FPU para las operaciones aritmticas,
un bloque UART para la comunicacin con el dispositivo que
proporcionara las imgenes, un bloque de memoria RAM para el
almacenamiento de datos y un bloque de memoria de Programa.
Palabras Clave: arquitectura reconfigurable, muestreo compreso,
compresin de imgenes, FPGA.

ABSTRACT

In this paper, we propose a Softcore architecture (System On
Programmable Chip, SOPC), for image compression using
compressed sampling. The size of the considered grayscale images
is 128x128 pixels. In order to require few resources in data
compression and to have a high efficiency for the implementation
tasks, the architecture can be implemented on reconfigurable
devices such as FPGA's. The Softcore has an internal 32-bit RISC
and Harvard architectures. The main building block sare the
following: an FUP block for arithmetic operations, an UART
block for communication with the device to provide images, a
block of RAM for data storage and program memory block.
Keywords: Reconfigurable architecture, Compressive Sensing,
image compression, FPGA.

1. INTRODUCCIN

La compresin de datos se basa tradicionalmente en la teora de
Nyquist, donde el procedimiento de compresin de datos
consiste de tres etapas, es decir, muestreo, transformacin y
codificacin. Algunos ejemplos de la aplicacin de la
compresin de datos son los sistemas de codificacin jpg, jpeg,
mp3, mpg, entre otros, los cuales son comunes en la
compresin de imgenes, audio y video. Las desventajas de
utilizar este mtodo tradicional son1) hay una cantidad
considerable de muestras redundantes, las cuales se almacenan
antes de la compresin y 2) el tiempo de funcionamiento del
dispositivo de compresin es limitado debido a los costos que
implica el teorema de Nyquist. Para evitar estas desventajas se
propone un nuevo paradigma de compresin, esto es, muestreo
compreso, el cual es una tcnica universal para comprimir
seales dispersas [1]. El muestreo compreso permite reconstruir
imgenes o seales de inters con precisin, las cuales se
muestrean por debajo del criterio de Nyquist. [2,3].

En este sentido, recientemente, el sistema TamaRISC-CS [1,7]
presenta una arquitectura para realizar Muestreo compreso de
16 bits, la cual cuenta con un conjunto de instrucciones de tipo
RISC. Tambin, tiene la caracterstica de ejecutar la mayor
cantidad de operaciones en un ciclo de reloj. El consumo de
potencia es de 70nW a 1khz. Otra propuesta interesante se
presenta en [5]. Este sistema es de apoyo mdico el cual utiliza
muestreo compreso. Especficamente, el sistema hace la
adquisicin de datos de un ECG (Electrocardiograma).
Finalmente, se ha desarrollado el muestreo compreso en
imgenes de resonancia magntica (MRI) [6], que presenta
como principales caractersticas la propuesta de un bloque para
la adquisicin de datos mediante muestreo compreso y una
propuesta de un modelo de reconstruccin de imgenes.

El objetivo principal de este artculo es proponer el diseo de
una arquitectura Softcore de adquisicin de datos para el
muestreo compreso. Para mostrar el desempeo de la
arquitectura propuesta, se realiza la correspondiente descripcin
en el lenguaje de descripcin de hardware VHDL. La
arquitectura se aplica en el procesamiento y compresin de
imgenes en escala de grises de 128x128 pixeles. Adems,
proponemos una arquitectura reconfigurable, la cual es
implementada sobre un FPGA.

En el presente artculo se organiza como sigue. En la seccin 2
se describe el modelo matemtico de Muestreo compreso,
mientras que en la seccin 3 se propone la arquitectura para la
adquisicin de imgenes y se realiza la descripcin de los
principales componentes de la arquitectura. Tambin se
muestra el diagrama a bloques del algoritmo de compresin de
Congreso Internacional en Ingeniera Electrnica. Mem. Electro 2014, Vol. 36, pp 103-107, Chihuahua, Chih. Mxico
http://depi.itchihuahua.edu.mx/display/memorias_electro/MemoriaElectro2014
ISSN 1405-2172

104

imgenes. La seccin 4 trata de la implementacin en VHDL y
los resultados obtenidos. Finalmente en la seccin 5 se dan las
conclusiones del trabajo.

2. MUESTREO COMPRESO

La compresin de seales basada en la teora del muestreo
compreso es como sigue. Considere la seal x, la cual puede ser
representada por medio de una representacin redundante, es
decir:

=
i

i
N
i=1
(1)

donde x es la seal original,

son los coeficientes que


multiplican a

, las cuales son los componentes de la base, y N


es el nmero de funciones base[1-3]. La forma matricial de la
ecuacin (1) es [3-5,9]:

= (2)

donde X es la seal en forma de vector, es la matriz base con

, y el vector decoeficientes de la base est dado por


S

. En muestreo compreso, se realizan K mediciones de la


seal original, donde K<N, las cuales se almacenan en un
vector de mediciones Y, de tal manera que las mediciones se
obtienen de la siguiente forma:

= (3)

donde es la matriz de adquisicin y Y es tambin llamado
vector de medicin con Y

. La razn de compresin es
K
N
.
Sustituyendo de la ecuacin (2) en(3) con = , tenemos:


= (4)

donde tambin es llamada matriz de medicin[1,4].
Generalmente, cada coeficiente de la matriz es una variable
aleatoria con distribucin normal, la cual tiene media cero y
varianza 2/K.

Este artculo presenta una arquitectura reconfigurable que
implementa el primer paso de muestreo compreso, esto es, la
etapa de la adquisicin basada en la ecuacin (4) y se describe
en las Secciones 3 y 4.

3. ARQUITECTURA PARA LA ADQUISICION DE
DATOS
3.1. Caractersticas de la Arquitectura

La arquitectura propuesta en este artculo cuenta con un
conjunto de instrucciones reducido dedicados al algoritmo de
compresin de imgenes que podrn ser ejecutadas en un ciclo
de reloj cada una. Por otra parte la arquitectura interna del
Softcore ser de 32 bits y se basa en una arquitectura de tipo
Harvard. A continuacin se describe la arquitectura propuesta
y sus componentes para muestreo compreso.

3.2. Bloques de la arquitectura

La figura 1 muestra los bloques que conforman la arquitectura
propuesta para realizar el proceso de muestreo compreso. Los
bloques principales son los siguientes: FPU (Floating-point
unit), ALU (Unidad aritmtica y lgica), Registros, Memoria
de datos, memoria de programa, PC (Program Counter),
Unidad de control y el bloque de comunicacin UART. A
continuacin se describen los bloques y su funcionamiento


Figura 1. Arquitectura propuesta del Softcore.

3.3. ALU Y FPU

Estos bloques permiten realizar las operaciones bsicas, por
ejemplo, suma, resta y multiplicacin para punto fijo y punto
flotante. La ALU se describe en lenguaje VHDL con un
esquema de acarreo anticipado. Esto permite un tiempo de
respuesta de 2 retardos de propagacin constantes. Por otra
parte la FPU trabajara con el uso del formato IEEE 754 para
precisin simple [8].

Congreso Internacional en Ingeniera Electrnica. Mem. Electro 2014, Vol. 36, pp 103-107, Chihuahua, Chih. Mxico
http://depi.itchihuahua.edu.mx/display/memorias_electro/MemoriaElectro2014
ISSN 1405-2172

105

3.4. Memoria de datos

La memoria de datos es una implementacin de memoria RAM
la cual tendr una organizacin de 64Kx32 bits. En esta
memoria se localizan tres secciones las cuales cada una
almacenara una matriz para realizar el proceso de compresin
de datos. La primera seccin almacena las variables aleatorias
de la matriz , mientras que la segunda seccin almacena las
muestras de la imagen S. Finalmente la tercera seccin
almacenara la imagen compresa, teniendo un uso aproximado
de memoria RAM de 16K.

3.5. Memoria de Programa

Este bloque contendr todas las instrucciones del algoritmo de
muestreo compreso. La memoria es de tipo ROM con una
organizacin 32x41 bits, es decir, con esto tenemos el espacio
necesario para almacenar 32 instrucciones del algoritmo con
una longitud de 41 bits. El bloque PC generara las direcciones
en la memoria de programa, con lo cual cada uno de los
segmentos de la instruccin se distribuir dentro de la
arquitectura.

3.6. Registros

Esta seccin del Softcore est compuesta por 16 registros de
trabajo de 32 bits cada uno, los cuales nombraremos con W0,
W1W15. Este bloque nos permite acceder a dos registros
simultneamente para la ejecucin de cada una de las
instrucciones.

3.7. Bloque UART

Este segmento permite la implementacin del protocolo de
comunicaciones UART.Este bloque esta comunicado con un
Software en un segundo dispositivo, el cual realizara la tarea de
envi de la imagen a comprimir y recibir la compresin de la
misma.

3.8. Unidad de Control

Este es el cerebro dela arquitectura propuesta. Su tarea es
decodificar cada una de las instrucciones del algoritmo de
compresin. Una vez que este determina la instruccin, la
unidad de control activara los bloques correspondientes
mediante un cdigo llamado micro-instruccin. Esta instruccin
se encuentra almacenada en la memoria ROM. Por otra parte,
este bloque tiene la capacidad de ejecutar cada instruccin en
un ciclo de reloj.

3.9. Generador de nmeros aleatorios

La propuesta de implementar un bloque que nos permita
obtener nmeros aleatorios es de gran importancia para
maximizar el rendimiento del algoritmo. Al obtener la matriz
de coeficientes con este bloque dedicado, ahorramos
recursos computacionales debido a que si generamos estos
coeficientes en un equipo de cmputo, el algoritmo tomara
ms recursos y la arquitectura dependera gran parte del equipo
de cmputo.

3.10. Conjunto de instrucciones

En la tabla 1 se muestra el conjunto de instrucciones las cuales
son suficientes para poder realizar correctamente el algoritmo
de compresin de imgenes.

Tabla1: Conjunto de instrucciones.

Instruccin Ejemplo Significado
LI LIWd,#Dato Wd=Dato
LWI LWI WD, Dato Wd=Mem[Dato]
LW LWWd, Dato (Wt) Wd=Mem[Wt+
Dato]
SWI SWI Wd, Dato Mem[Dato]= Wd
SW SWWd, Dato (Wt) Mem[Wt+ Dato]
=Wd
ADD ADD Wd, Wt, Ws Wd=Wt + Ws
SUB SUB Wd, Wt, Ws Wd=Wt-Ws
ADDI ADDIWd, Wt, #Dato Wd=Wt+ Dato
SUBI SUBIWd, Wt,# Dato Wd=Wt- Dato
BEQI BEQIWd, Wt, Dato If(Wt==Wd)go
to Dato
PC =PC+Dato
BNEI BNEIWd, Wt, Dato If(Wt!=Wd)go to
Dato
BLTI BLTI Wd, Wt, Dato If(Wt<Wd) go
toDato
BLETI BLETI Wd, Wt, Dato If(Wt<=Wd)go
to Dato
BGTI BGTI Wd, Wt, Dato If(Wt>Wd) go
toDato
BGETI BGETIWd, Wt, Dato If(Wt>=Wd)go
to Dato
B B Dato go toDato
UARTRX URX Wd,0 Rx =>Wd
UARTTX UTX Wt Tx<=Wt

Congreso Internacional en Ingeniera Electrnica. Mem. Electro 2014, Vol. 36, pp 103-107, Chihuahua, Chih. Mxico
http://depi.itchihuahua.edu.mx/display/memorias_electro/MemoriaElectro2014
ISSN 1405-2172

106



















3.11. Algoritmo de compresin

Para poder desarrollar el algoritmo de compresin de imgenes
usando muestreo compreso, es necesario enfocarnos al
procedimiento de esta teora. El algoritmo propuesto se detalla
en forma de bloques en la figura 2.Primero, es necesario
almacenaren los registros y la memoria el valor 0. Segundo, se
debe obtener la matriz ,la cual es una matriz de coeficientes
aleatorios. En este sentido, diseamos un generador de nmeros
aleatorios, los cuales sern almacenados en una memoria de
64X128 bits. Despus, como se observa en la figura 2,es
necesario un bloque UART para la transmisin y recepcin
serial de los coeficientes de la imagen X y coeficientes S.
respectivamente. La operacin clave en muestreo compreso, es
la multiplicacin de con . El producto se efecta por medio
del vector rengln de la memoria correspondiente a la matriz
y el vector columna correspondiente a la matriz S. El
coeficiente comprimido se obtiene con la suma de la matriz
correspondiente . Finalmente esta muestra ser enviada a un
receptor con el fin de comprimir la imagen 128X128 con 1000
muestras.

4. IMPLEMENTACION Y RESULTADOS

Se han implementado los bloques de la arquitectura. La
descripcin de los bloques de la arquitectura se ha realizado
con el Lenguaje de descripcin de Hardware VHDL, utilizando
la herramienta Quartus II Web Edition en su versin 13.1 de
Altera utilizando como dispositivo el FPGA Cyclone IV
EEP4CE115F29C7. Tambin cada bloque fue simulado en el
entorno de ModelSim 10.1d de Altera.

En la tabla 2 se muestran los resultados ms importantes
obtenidos. Primeramente se menciona los componentes
utilizados. Este es, el rea total que ocupa la arquitectura
propuesta, el clculo del rendimiento de la arquitectura, la
frecuencia mxima de trabajo y el consumo energtico que
tiene la misma al trabajar a la mxima frecuencia. Estos datos
se obtienen considerando que el dispositivo se encuentra
trabajando a 1200 mV a 85C.

Tabla 2. Resultados de sntesis lgica de la Arquitectura
propuesta y anlisis de optimizacin.


5. CONCLUSIONES

Este artculo present una nueva propuesta de adquisicin de
imgenes usando muestreo compreso. Nuestra propuesta ha
derivado en una arquitectura softcore, la cual es descrita en
VHDL. En este sentido, se han descrito los bloques principales
de la arquitectura y su modo de funcionamiento. De igual forma
se presenta el algoritmo que se ha implementado con el
conjunto de instrucciones del Softcore. En el algoritmo
propuesto, para una imagen de 128 X 128, solo se requiere
almacenar 1000 muestras correspondientes. Este nmero de
muestras es suficiente para poder realizar la recuperacin de la
imagen. Entonces, podemos concluir que muestreo compreso
de imgenes es eficiente cuando se utiliza la arquitectura
propuesta. Finalmente cabe mencionar que el trabajo a futuro
ser realizar la segmentacin de la arquitectura (pipeline) para
aumentar la eficiencia del reloj del Softcore y obtener un
rendimiento superior.

Total de elementos Combinacionales 6491
Total de Registros 8544
Multiplicadores utilizados 7
Frecuencia Mxima 15 MHz
Total de disipacin de energa 156.9 mW
Disipacin de energa de la
Arquitectura
102 mW
Figura 2. Algoritmo de Compresin.
Congreso Internacional en Ingeniera Electrnica. Mem. Electro 2014, Vol. 36, pp 103-107, Chihuahua, Chih. Mxico
http://depi.itchihuahua.edu.mx/display/memorias_electro/MemoriaElectro2014
ISSN 1405-2172

107

AGRADECIMIENTOS

Se agradece a COFFA y a la Escuela Superior de Cmputo del
Instituto Politcnico Nacional por el apoyo recibido a travs del
proyecto SIP-IPN 20141476.

6. REFERENCIAS

[1] J. Constantin, A. Dogan, TamaRISC-CS: An Ultra-Low-Power
Application Specific Processor for Compressed Sensing, IEEE, 2012.
[2] D. L. Donoho, "Compressed sensing", IEEE Trans. on Information
Theory, vol. 52, no. 4, pp. 1289-1306,2006.
[3] R. G. Baraniuk, "Compressed sensing, IEEE Signal Processing Mag.,
vol.24, July 2007.
[4] SONY, STANFORD, NEW CAMERA CHIP CAPTURES ONLY
WHAT IT NEEDS, IEEE Spectrum, pp. 11-12, March 2013.
[5] M. R. Dixon, E. G. Allstot, D. J. Allstot, Compressed Sensing System
Considerations for ECG and EMG Wireless Biosensors, IEEE Trans. on
biomedical circuits and systems, Vol. 6, No. 2, April 2012.
[6] M. Lustig, D.L. Donoho, J.M. Santos,J.M. Pauly,Compressed Sensing
MRI, IEEE Signal Processing Mag., Vol. 25, No. 2, March 2008.
[7] J. Constantin, A. Dogan, O. Andersson,An Ultra-Low-Power
Application-Specific Processor with Sub-VT Memories for Compressed
Sensing, VLSI-SoC, Springer, pp. 88-106, October 2012.
[8] W. Kahan,IEEE Standard 754 for Binary Floating-Point Arithmetic,
Elect. Eng. & Computer Science, University of California, October 1997.
[9] D. L. Donoho, "Compressed sensing," IEEE Trans. on Information
Theory, vol. 52, no. 4, pp. 1289-1306,2006.
[10] A. Y. Dogan, C. 1., R. M., B. A., and A. D., "Multi-core
architecturedesign for ultra-low-power wearable health monitoring
systems," inDesign, Automation Test in Europe Conference Exhibition,
pp. 988-993, March 2012.

Das könnte Ihnen auch gefallen