<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1815-5928</journal-id>
<journal-title><![CDATA[Ingeniería Electrónica, Automática y Comunicaciones]]></journal-title>
<abbrev-journal-title><![CDATA[EAC]]></abbrev-journal-title>
<issn>1815-5928</issn>
<publisher>
<publisher-name><![CDATA[Universidad Tecnológica de La Habana José Antonio Echeverría, Cujae]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1815-59282013000100005</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Hardware reconfigurable para la reconstrucción de videos transmitidos por un mazo de fibras incoherente]]></article-title>
<article-title xml:lang="en"><![CDATA[Reconfigurable hardware for reconstruction of transmitted videos using Incoherent Optical Fiber Bundles]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Montejo Valdés]]></surname>
<given-names><![CDATA[Pablo]]></given-names>
</name>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Gardel Vicente]]></surname>
<given-names><![CDATA[Alfredo]]></given-names>
</name>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[García García]]></surname>
<given-names><![CDATA[Jorge]]></given-names>
</name>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Fernández Barbosa]]></surname>
<given-names><![CDATA[Pedro R.]]></given-names>
</name>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Lázaro Galilea]]></surname>
<given-names><![CDATA[Jose Luis]]></given-names>
</name>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Escartín Fernández]]></surname>
<given-names><![CDATA[Victor]]></given-names>
</name>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Instituto Superior Politécnico ¨José Antonio Echeverría¨,Cujae Centro de Investigaciones de Microelectrónica (CIME) ]]></institution>
<addr-line><![CDATA[La Habana ]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Alcalá Centro de Departamento de Electrónica ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>España</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>04</month>
<year>2013</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>04</month>
<year>2013</year>
</pub-date>
<volume>34</volume>
<numero>1</numero>
<fpage>59</fpage>
<lpage>69</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S1815-59282013000100005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S1815-59282013000100005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S1815-59282013000100005&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La transmisión de imágenes mediante mazos de fibras ópticas no coherentes (IOFB) necesita información sobre la posición de cada fibra para ser usada en la reconstrucción de la imagen original. Otro importante requerimiento es poseer suficiente memoria para almacenar la imagen durante su reconstrucción y durante su retransmisión. La mayoría de las veces estos aspectos obligan el uso de memoria externa si se utilizan FPGAs en el sistema. Este trabajo presenta una solución a este problema. Se propone un sistema en un chip capaz de almacenar la información necesaria y las imágenes sobre las que se está trabajando usando un FPGA de bajo costo. Se presentan dos soluciones y se implementa la que resulta más ventajosa. Los resultados son discutidos. El uso de este método hace posible transmitir video usando IOFB y reconstruir las imágenes originales casi en tiempo real, debido a su baja latencia. Esta propuesta podría utilizarse en sistemas autónomos sacando ventaja de su nivel de compactación, fiabilidad y bajo costo.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Image transmission using incoherent optical fiber bundles (IOFB) requires calibration information used for reordering the fiber positions and reconstructing the original image. Another important demand consists in enough memory to store image during reconstruction and during retransmission. Most of the time, these aspects require to use external memory when FPGAs are used. This paper presents a solution in order of resolve this problem. A system on chip is proposed capable of to store needed information and images using a low cost FPGA. Two solutions are presented, the best is implemented. Results are showed. The use of this method makes possible to transmit video using IOFB and reconstruct originals images almost in real time because of its low latency. This proposal could be used in autonomous systems taking advantage of its compaction level, reliability and low costs.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[fibra óptica no coherente (IOFB)]]></kwd>
<kwd lng="es"><![CDATA[FPGA]]></kwd>
<kwd lng="es"><![CDATA[sensor de imagen]]></kwd>
<kwd lng="es"><![CDATA[transmisión de video]]></kwd>
<kwd lng="en"><![CDATA[Incoherent Optical Fiber Bundles (IOFB)]]></kwd>
<kwd lng="en"><![CDATA[FPGA]]></kwd>
<kwd lng="en"><![CDATA[image sensor]]></kwd>
<kwd lng="en"><![CDATA[video transmission]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right">   <font size="2" face="Verdana">      <strong>ARTICULO ORIGINAL</strong></font></p>     <p>&nbsp;</p>     <p><font size="4" face="Verdana"><B>Hardware reconfigurable para la    reconstrucci&oacute;n de videos transmitidos por un mazo de    fibras incoherente</B> </font></p>     <p>&nbsp;</p>     <p><font size="2" face="Verdana"><B><font size="3">Reconfigurable hardware for reconstruction of transmitted videos using Incoherent Optical Fiber Bundles </font></B></font></p>     <P>&nbsp;</p>     <P>&nbsp;</p>     <P><font size="2" face="Verdana"><strong>MSc. Pablo Montejo Vald&eacute;s<font size="2" face="Verdana"><sup>1</sup></font>, Alfredo Gardel Vicente<sup>2</sup>, Jorge Garc&iacute;a    Garc&iacute;a<sup>2</sup>, Pedro R. Fern&aacute;ndez Barbosa<sup>2</sup>, Jose Luis L&aacute;zaro Galilea<sup>2</sup>, Dr. Victor    Escart&iacute;n Fern&aacute;ndez<font size="2" face="Verdana"><sup>1</sup></font> </strong></font></p>     <P><font size="2" face="Verdana"><sup><font face="Verdana, Arial, Helvetica, sans-serif">1</font></sup></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">    Centro de Investigaciones de Microelectr&oacute;nica (CIME), Instituto Superior    Polit&eacute;cnico &uml;Jos&eacute; Antonio Echeverr&iacute;a&uml;, Cujae, La    Habana, Cuba. <a href="mailto:pablo.montejo@electrica.cujae.edu.cu">pablo.montejo@electrica.cujae.edu.cu</a>    , <a href="mailto:victor.escartin@electrica.cujae.edu.cu">victor.escartin@electrica.cujae.edu.cu</a>        <br>   <sup>2</sup> Departamento de Electr&oacute;nica, Universidad de Alcal&aacute;,    Espa&ntilde;a. <a href="mailto:alfredo@depeca.uah.es">alfredo@depeca.uah.es</a>    , <a href="mailto:jorge.garcia@depeca.uah.es">jorge.garcia@depeca.uah.es</a>    , <a href="mailto:lazaro@depeca.uah.es">lazaro@depeca.uah.es</a></font></p>     ]]></body>
<body><![CDATA[<P>&nbsp;</p>     <P>&nbsp;</p> <hr>     <P><font size="2" face="Verdana"><B>RESUMEN </B> </font></p>     <P><font size="2" face="Verdana">La transmisi&oacute;n de im&aacute;genes mediante    mazos de fibras &oacute;pticas no coherentes (IOFB) necesita informaci&oacute;n    sobre la posici&oacute;n de cada fibra para ser usada en la reconstrucci&oacute;n    de la imagen original. Otro importante requerimiento es poseer suficiente memoria    para almacenar la imagen durante su reconstrucci&oacute;n y durante su retransmisi&oacute;n.    La mayor&iacute;a de las veces estos aspectos obligan el uso de memoria externa    si se utilizan FPGAs en el sistema. </font><font size="2" face="Verdana">Este    trabajo presenta una soluci&oacute;n a este problema. Se propone un sistema    en un chip capaz de almacenar la informaci&oacute;n necesaria y las im&aacute;genes    sobre las que se est&aacute; trabajando usando un FPGA de bajo costo. Se presentan    dos soluciones y se implementa la que resulta m&aacute;s ventajosa. Los resultados    son discutidos. </font><font size="2" face="Verdana">El uso de este m&eacute;todo    hace posible transmitir video usando IOFB y reconstruir las im&aacute;genes    originales casi en tiempo real, debido a su baja latencia. Esta propuesta podr&iacute;a    utilizarse en sistemas aut&oacute;nomos sacando ventaja de su nivel de compactaci&oacute;n,    fiabilidad y bajo costo. </font></p>     <P><font size="2" face="Verdana"><B>Palabras claves:</B> fibra &oacute;ptica no coherente (IOFB), FPGA,  sensor de imagen, transmisi&oacute;n de video.    <br> </font></p> <hr>     <P><font size="2" face="Verdana"></font><font size="2" face="Verdana"><B>ABSTRACT</B></font></p>     <P><font size="2" face="Verdana">Image transmission using incoherent optical fiber    bundles (IOFB) requires calibration information used for reordering the fiber    positions and reconstructing the original image. Another important demand consists    in enough memory to store image during reconstruction and during retransmission.    Most of the time, these aspects require to use external memory when FPGAs are    used. </font><font size="2" face="Verdana">This paper presents a solution in    order of resolve this problem. A system on chip is proposed capable of to store    needed information and images using a low cost FPGA. Two solutions are presented,    the best is implemented. Results are showed. </font><font size="2" face="Verdana">The    use of this method makes possible to transmit video using IOFB and reconstruct    originals images almost in real time because of its low latency. This proposal    could be used in autonomous systems taking advantage of its compaction level,    reliability and low costs. </font></p>     <P><font size="2" face="Verdana"><B>Key words: </B>Incoherent Optical Fiber Bundles (IOFB), FPGA, image sensor, video transmission. </font>    <br> </p> <hr>     ]]></body>
<body><![CDATA[<P>&nbsp;</p>     <P>&nbsp;</p>     <P><font size="2"><b><font size="3" face="Verdana">INTRODUCCION</font></b></font></p>     <P>&nbsp;</p>     <P><font size="2" face="Verdana">La transmisi&oacute;n de im&aacute;genes mediante    mazos de fibra &oacute;ptica coherente en ambientes donde el equipamiento electr&oacute;nico    resulta inutilizable o en extremo peligroso es frecuente en la actualidad. Endoscopios    m&eacute;dicos, periscopios y otros aparatos </font><font size="2" face="Verdana">han    sido patentados para lograr estos fines en reactores nucleares, dentro del cuerpo    humano y otros lugares con condiciones adversas para la transmisi&oacute;n de    im&aacute;genes electr&oacute;nicamente <SUP>1</SUP>. </font></p>     <P><font size="2" face="Verdana">Menos frecuente resulta la utilizaci&oacute;n de mazos de fibra &oacute;ptica no coherente para estos fines. El bajo precio de  la propuesta ha atra&iacute;do varios autores al tema a&ntilde;os atr&aacute;s <SUP>2-4</SUP>. Sin embargo, el complejo mecanismo de  reconstrucci&oacute;n de la imagen as&iacute; como la cantidad de informaci&oacute;n a procesar ha mantenido estos algoritmos solo al alcance de  los ordenadores. </font></p>     <P><font size="2" face="Verdana">El uso de FPGAs para acelerar el procesamiento de im&aacute;genes no resulta  nuevo<SUP>5</SUP>. Incluso son empleados para acelerar algoritmos en procesamientos llevados a cabo desde  ordenadores<SUP>6</SUP>. El prop&oacute;sito de este trabajo es  extender el campo de acci&oacute;n de los mismos en la reconstrucci&oacute;n en tiempo pr&aacute;cticamente real de videos transmitidos  por mazos de fibra &oacute;ptica no coherente. </font></p>     <P><font size="2" face="Verdana">Este trabajo tiene como antecedentes m&uacute;ltiples investigaciones llevadas a cabo por el departamento de  electr&oacute;nica (DEPECA) de la Universidad de  Alcal&aacute;<SUP>7-10</SUP>. Especialmente se debe destacar la Tesis doctoral &#171;Modelado  de sistemas de transmisi&oacute;n y reconstrucci&oacute;n de im&aacute;genes basados en mazos de fibra &oacute;ptica no coherentes,  en Departamento de Electr&oacute;nica&#187;  <SUP>11</SUP>. </font></p>     <P><font size="2" face="Verdana"><B>Implementaci&oacute;n</B> </font></p>     <P><font size="2" face="Verdana">El sistema a desarrollar se explica partiendo del esquema mostrado en la <a href="/img/revistas/eac/v34n1/f0105113.jpg">Figura  1</a>. Una taza proyecta su imagen  en uno de los terminales de un mazo de fibras &oacute;pticas. Si se tratara de un mazo coherente, en el otro extremo  se obtendr&iacute;a la imagen de la taza, pero c&oacute;mo este es incoherente el resultado parece ser un conjunto de puntos  sin sentido. Mediante un transductor &oacute;ptico-electr&oacute;nico se captan estos datos y se env&iacute;an al FPGA. El monitor  &#171;1&#187; muestra la escena que est&aacute; captando la c&aacute;mara. Utilizando la informaci&oacute;n de calibraci&oacute;n de este mazo  en espec&iacute;fico, previamente obtenida y almacenada en su interior, el circuito l&oacute;gico programable selecciona y  organiza los p&iacute;xeles de entrada para recuperar la informaci&oacute;n requerida de la imagen original. El monitor &#171;2&#187; muestra  el video de salida del sistema. </font></p>     
]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">Es de destacar algunos aspectos que resultan evidentes en la <a href="/img/revistas/eac/v34n1/f0105113.jpg">Figura  1</a> y no han sido aclarados hasta el momento: </font></p>     
<P><font size="2" face="Verdana">&#183;     Los sistemas de acoplamiento &oacute;ptico. Con el objetivo de simplificar el esquema, se omiten los dispositivos  &oacute;pticos que resultan imprescindibles para el enfoque en la obtenci&oacute;n de la imagen original y el acoplamiento entre  el transductor &oacute;ptico-electr&oacute;nico y el mazo de fibras. </font></p>     <P><font size="2" face="Verdana">&#183;     El uso de im&aacute;genes con escala de grises. Se reserv&oacute; la extensi&oacute;n al uso de sistemas en colores para  trabajos futuros. </font></p>     <P><font size="2" face="Verdana">&#183;     El ruido de &#171;sal y pimienta&#187; obtenido. Este se debe a los espacios entre fibras y a la ausencia de estas,  defectos estos inherentes a la construcci&oacute;n del mazo. Se considera como un aspecto admisible por la aplicaci&oacute;n final  que utilice el sistema. </font></p>     <P><font size="2" face="Verdana"><B>Problem&aacute;tica de alto consumo de memoria</B> </font></p>     <P><font size="2" face="Verdana">El principal problema a vencer para poder enfrentar la reconstrucci&oacute;n de im&aacute;genes de video transmitidas  mediante mazos de fibra &oacute;ptica no coherentes por FPGAs es la relativa baja capacidad de memoria interna de estos. </font></p>     <P><font size="2" face="Verdana">Los transductores &oacute;pticos-electr&oacute;nicos tradicionales env&iacute;an la informaci&oacute;n de video como una secuencia de  p&iacute;xeles barridos de izquierda a derecha y de arriba abajo. El dispositivo l&oacute;gico programable deber&aacute; seguir el mismo  esquema a su salida, sin embargo pudiera darse el caso, en dependencia de la distribuci&oacute;n de las fibras del mazo en  particular con que se est&eacute; trabajando, que el &uacute;ltimo pixel en recibirse sea el del borde superior izquierdo, el primero que  debe transmitirse. Esto explica que para comenzar a transmitir la secuencia de salida es necesario almacenar el  cuadro completo con anterioridad.  </font></p>     <P><font size="2" face="Verdana">As&iacute; mismo tambi&eacute;n se entiende que durante la transmisi&oacute;n no deber&aacute; comenzar a recibirse un nuevo cuadro ya que  esta informaci&oacute;n distorsionar&iacute;a la registrada para algunos p&iacute;xeles del cuadro anterior. Este problema tiene  singular importancia cuando se trata de procesar se&ntilde;al de video, donde los cuadros se suceden con regularidad. </font></p>     <P><font size="2" face="Verdana"><B>Variantes valoradas</B> </font></p>     <P><font size="2" face="Verdana">La                                                                   <a href="#f2">Figura  2</a> presenta la primera variante de soluci&oacute;n valorada. La  idea que se implementa consiste en declarar dos zonas de memoria similares, con capacidad para alojar una imagen  de salida completa cada una. De esta manera cada cuadro consecutivo se almacena en un bloque diferente: mientras  se recibe y organiza uno en una zona de memoria, se transmite el anterior desde la otra zona. </font></p>     ]]></body>
<body><![CDATA[<P align="center"><img src="/img/revistas/eac/v34n1/f0205113.jpg" width="392" height="266"><a name="f2"></a></p>     
<P><font size="2" face="Verdana">El bloque Organizador es el encargado de, con la informaci&oacute;n de calibraci&oacute;n del mazo disponible en TR,  ir asign&aacute;ndole a los p&iacute;xeles que van arribando su posici&oacute;n correcta en el cuadro de salida que corresponda, Frame  Par o Frame Impar. Control selecciona cual de los bloques Frame est&aacute; recibiendo datos desde Organizador y cual  est&aacute; enviando informaci&oacute;n a la salida. </font></p>     <P><font size="2" face="Verdana">Esta variante funciona perfectamente, pero tiene el inconveniente del alto gasto de recursos del FPGA. Se  prob&oacute; con im&aacute;genes de 252 x 252 p&iacute;xeles no consigui&eacute;ndose su implementaci&oacute;n en la serie de integrados de bajo  costo Spartan de Xilinx por lo que hubo que recurrir a la familia Virtex del mismo fabricante, de mayores prestaciones. </font></p>     <P><font size="2" face="Verdana">La segunda variante reduce casi a la mitad los recursos empleados en la anteriormente explicada.  La idea se  puede definir como establecer una nueva secuencia de im&aacute;genes conformando cada una con p&iacute;xeles de cuadros consecutivos. </font></p>     <P><font size="2" face="Verdana">En la pr&aacute;ctica esto no es m&aacute;s que transmitir los cuadros a la salida permitiendo que los nuevos p&iacute;xeles que  arriben cambien parte de su informaci&oacute;n. Como resultado, una imagen transmitida contendr&aacute; informaci&oacute;n de dos  cuadros consecutivos. Se rompe con la correspondencia tradicional donde cada imagen de entrada se corresponde con una  de salida, en este caso un cuadro de salida se compone a partir de partes del &uacute;ltimo que se recibi&oacute; completo y el que  se est&aacute; recibiendo en el momento en cuesti&oacute;n. </font></p>     <P><font size="2" face="Verdana">Este procedimiento trae consigo que aparezcan distorsiones en las zonas del video que presenten movimiento.  Si bien para algunas aplicaciones esto no ser&aacute; un problema a considerar, esta dificultad puede minimizarse hasta  su desaparici&oacute;n utilizando una propiedad t&iacute;pica de estos sistemas de reconstrucci&oacute;n de im&aacute;genes procedentes  de mazos de fibra &oacute;ptica no coherente: la imagen que se recibe posee mucha mayor resoluci&oacute;n que su equivalente  de salida<SUP>11</SUP>. As&iacute;, al ser mucho menor la cantidad de p&iacute;xeles que se deben transmitir que los que se reciben, es  posible, utilizando el mismo reloj del sistema, transmitir varios cuadros en el mismo tiempo que se reconstruye tan solo  uno. Este procedimiento minimiza las variaciones entre im&aacute;genes consecutivas y disminuye sustancialmente  las distorsiones en el video obtenido. </font></p>     <P><font size="2" face="Verdana">El esquema en bloques de esta variante se muestra en la                                                                     <a href="#f3">Figura   3</a>. Control Recepci&oacute;n organiza en Memoria el cuadro que est&aacute; arribando, para ello, sobre escribe los datos de  la imagen anterior conformando la nueva. Al mismo tiempo y en repetidas ocasiones, el bloque Control  Transmisi&oacute;n recorre toda la memoria procesando nuevos cuadros conformados con partes de ambas im&aacute;genes. </font></p>     <P align="center"><img src="/img/revistas/eac/v34n1/f0305113.jpg" width="439" height="204"><a name="f3"></a></p>     
<P><font size="2" face="Verdana"><B>Descripci&oacute;n de la implementaci&oacute;n</B> </font></p>     <P><font size="2" face="Verdana">Para la implementaci&oacute;n del sistema se utiliz&oacute; el System Generator 12.3 de Xilinx sobre Matlab  7.10.0.499 (R2010a) (                                                                                       <a href="/img/revistas/eac/v34n1/f0405113.jpg">Figura  4</a>). </font></p>     
]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">ImagenSerieIn recibe la informaci&oacute;n de los p&iacute;xeles &#171;desorganizados&#187;, mientras ImagenSerieOut transmite el  video ya organizado. PrimerPixel1 se utiliza para marcar el primer pixel de los cuadros de entrada y PrimerPixel indica  su equivalente en los de salida. </font></p>     <P><font size="2" face="Verdana">La                                                                                           <a href="/img/revistas/eac/v34n1/f0505113.jpg">Figura  5</a> muestra la implementaci&oacute;n del  bloque Procesa Imagen. B&aacute;sicamente posee tres partes fundamentales, el bloque de Recepci&oacute;n, el de Transmisi&oacute;n y  una memoria Dual Port RAM. </font></p>     
<P><font size="2"><b><font face="Verdana">Dual Port RAM</font></b></font></p>     <P><font size="2" face="Verdana">Esta memoria debe tener capacidad suficiente para almacenar un cuadro del video de salida completo. Mientras  el circuito Recepci&oacute;n posee capacidad para escribir en cualquiera de sus localizaciones de memoria, Transmisi&oacute;n  puede leerlas, cada uno de forma indistinta sin m&aacute;s arbitraje que el que realiza la propia RAM. </font></p>     <P><font size="2" face="Verdana"><B>Bloque Recepci&oacute;n y Tabla de Reconstrucci&oacute;n</B> </font></p>     <P><font size="2" face="Verdana">Los aportes en el ahorro de recursos de este bloque son los que hacen posible la posterior implementaci&oacute;n en  un FPGA de bajo coste. Es el encargado de recibir la secuencia de pixeles &#171;desorganizada&#187; proveniente de la c&aacute;mara  y con la informaci&oacute;n guardada en la TR ir reconstruyendo la imagen inicial al guardarlos adecuadamente en  la memoria Dual Port RAM. </font></p>     <P><font size="2" face="Verdana">La TR almacena, utilizando para ello un &uacute;nico campo, la direcci&oacute;n absoluta de los p&iacute;xeles de entrada que  poseen informaci&oacute;n &uacute;til para la reconstrucci&oacute;n. La localizaci&oacute;n absoluta de estos en la imagen final se guarda utilizando  2 campos que se corresponden con las coordenadas (x;y). Por &uacute;ltimo se dedica un campo para un factor de  correcci&oacute;n que permite eliminar o minimizar las diferencias existentes entre cada fibra del mazo (principalmente derivadas  de que no todas las fibras aten&uacute;an la luz que transmiten en igual  medida)<SUP>11</SUP>. </font></p>     <P><font size="2" face="Verdana">Esta forma de organizaci&oacute;n resulta ineficiente para el almacenamiento y uso de la TR dentro de un FPGA. Basado  en esto se propone compactar la TR en tres campos:</font></p>     <P><font size="2" face="Verdana">Index_In: Guarda las direcciones relativas de los p&iacute;xeles de entrada que poseen informaci&oacute;n v&aacute;lida. En lugar  de guardar la direcci&oacute;n absoluta, resulta en menor espacio de almacenamiento si se guarda la diferencia existente entre  la direcci&oacute;n de un pixel &uacute;til y el que le sigue. </font></p>     <P><font size="2" face="Verdana">Index_Out: Guarda la direcci&oacute;n absoluta en la imagen final donde debe guardarse el pixel. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">Alfa: Indica el factor de correcci&oacute;n por el cual debe multiplicarse el valor del pixel en cuesti&oacute;n con el objetivo  de corregir variaciones en el grado de atenuaci&oacute;n de cada fibra en particular.  </font></p>     <P><font size="2" face="Verdana">Como muestra la                                                                  <a href="/img/revistas/eac/v34n1/f0605113.jpg">Figura  6</a>, una m&aacute;quina de estado es la encargada    de controlar la generaci&oacute;n de las direcciones para barrer la TR de forma que la informaci&oacute;n propia del pixel que  llega al sistema sea la que se encuentre disponible. Adicionalmente genera la orden de escritura para Dual Port RAM. </font></p>     
<P><font size="2" face="Verdana">El bloque Direciona_TR3 barre las direcciones de la TR hasta que no quedan por llegar pixeles del cuadro que  se est&aacute; recepcionando que contengan informaci&oacute;n de la imagen de salida. La entrada &#171;en&#187; incrementa la direcci&oacute;n  de salida mientras que &#171;rst&#187; lleva a condiciones iniciales al comienzo de un nuevo cuadro. </font></p>     <P><font size="2" face="Verdana">Indica_n_pixels2 es el bloque encargado de indicarle a la m&aacute;quina de estado si el pixel actual est&aacute; registrado en  la TR como un pixel &uacute;til o no. </font></p>     <P><font size="2" face="Verdana"><B>Bloque Transmisi&oacute;n</B></font></p>     <P><font size="2" face="Verdana">Este bloque se caracteriza por su simplicidad (                                                                                <a href="/img/revistas/eac/v34n1/f0705113.jpg">Figura  7</a>).    Dado que esta variante propone independizar la velocidad de fotogramas a la entrada del sistema de la de la    salida, entonces el resultado se reduce a barrer todos los p&iacute;xeles de cada cuadro de forma continua. Se agrega una    se&ntilde;al Ind_Imagen_Out para permitir sincronizar con el comienzo de cada cuadro. </font></p>     
<P>&nbsp;</p>     <P><font size="2"><b><font size="3" face="Verdana">RESULTADOS</font></b></font></p>     <P></p>     <P><font size="2" face="Verdana">La                                                                        <a href="/img/revistas/eac/v34n1/f0805113.jpg">Figura  8</a> muestra dos cuadros no consecutivos de un video  (una diana se desplaza de izquierda a derecha). Tomando los cuadros anteriores al mostrado en la                                                                            <a href="/img/revistas/eac/v34n1/f0805113.jpg">Figura  8</a> (izquierda) y los posteriores al mostrado en la                                                                        <a href="/img/revistas/eac/v34n1/f0805113.jpg">Figura   8</a> (derecha) se conform&oacute; una se&ntilde;al de video que simula una transici&oacute;n abrupta de una escena a otra, como ejemplo  de movimiento en extremo r&aacute;pido. </font></p>     
]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">La reproducci&oacute;n del nuevo video fue captada por un sistema como el descrito en este art&iacute;culo (<a href="/img/revistas/eac/v34n1/f0105113.jpg">Figura  1</a>). Uno  de los cuadros entregados por la c&aacute;mara de video se puede apreciar en la                                     <a href="#F9">Figura  9</a>. </font></p>     
<P align="center"><img src="/img/revistas/eac/v34n1/f0905113.jpg" width="535" height="400"><a name="F9"></a></p>     
<P>    <font size="2" face="Verdana">  </font></p>     <P><font size="2" face="Verdana">El video de salida obtenido alcanz&oacute; 33 cuadros por cada cuadro de entrada. A manera de muestra en la                                                       <a href="#f10">Figura  10</a> se puede observar una selecci&oacute;n de 6 cuadros equidistantes de los 33 cuadros que se corresponden  con la transici&oacute;n desde la                                                                        <a href="/img/revistas/eac/v34n1/f0805113.jpg">Figura  8</a> (izquierda) a la                                                                         <a href="/img/revistas/eac/v34n1/f0805113.jpg">Figura  8</a> (derecha). Se puede apreciar claramente c&oacute;mo aparece una transici&oacute;n aparentemente aleatoria de  una escena a la otra. La reproducci&oacute;n de este video a la nueva velocidad de fotograma produce los mismos  efectos visuales que el video del que se parti&oacute; originalmente. </font></p>     
<P align="center"><img src="/img/revistas/eac/v34n1/f1005113.jpg" width="552" height="419"><a name="f10"></a></p>     
<P><font size="2" face="Verdana">El sistema fue probado a partir de un banco de im&aacute;genes inyectado en un kit FPGA. En principio, esto  permite considerar el trabajo v&aacute;lido para cualquier sistema con independencia de la fuente de imagen utilizada. </font></p>     <P><font size="2" face="Verdana">Para la implementaci&oacute;n se utilizaron resoluciones  de 1024 x 1024 en el video de entrada y de 252 x 252 en  el reconstruido. Esta diferencia permite que mientras un cuadro de entrada demora 31,5ms en procesarse, los  cuadros de salida se obtienen cada 0,952ms. </font></p>     <P><font size="2" face="Verdana">Se trabaj&oacute; con 8 bits/pixel, 4 bits para el factor de correcci&oacute;n (2 bits enteros y 2 bits fracci&oacute;n) y 18 bits para  el direccionado de los p&iacute;xeles &uacute;tiles. </font></p>     <P><font size="2" face="Verdana">Como hardware reconfigurable se ha seleccionado la FPGA XC6SLX150 de la familia Spartan 6 de Xilinx. En  la <a href="/img/revistas/eac/v34n1/t0105113.jpg">Tabla 1</a> se muestran algunos de los resultados alcanzados seg&uacute;n los reportes brindados por la compilaci&oacute;n  del proyecto en la herramienta ISE Design Suite 12.3 de Xilinx, pudiendo llegar a utilizar una se&ntilde;al de reloj  de frecuencia igual a 66 MHz. </font></p>     
<P><font size="2" face="Verdana">El hecho de procesar cada pixel del video de entrada en 2 pulsos de la se&ntilde;al de reloj, posibilita que con una  se&ntilde;al de 15ns de periodo se puedan procesar 31f/s. Para las condiciones hasta aqu&iacute; descritas la frecuencia de salida  fue de 1050 cuadros/s. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">Si definimos la latencia del sistema como el tiempo desde que entr&oacute; un cuadro completo hasta que toda  su informaci&oacute;n se proces&oacute; y transmiti&oacute;, ser&iacute;a con las condiciones hasta aqu&iacute; descritas de 31,5ms.   </font></p>     <P>&nbsp;</p>     <P><font size="3" face="Verdana"><B>CONCLUSIONES</B> </font></p>     <P>&nbsp;</p>     <P><font size="2" face="Verdana">Se conformaron los cuadros del video de salida a partir de la informaci&oacute;n de cuadros consecutivos. Esta    t&eacute;cnica permiti&oacute; reducir casi al 50% el hardware empleado en el sistema. </font></p>     <P><font size="2" face="Verdana">El trabajo realizado en funci&oacute;n de compactar la TR, manteniendo su informaci&oacute;n accesible de forma simple e  inmediata, permiti&oacute; minimizar la cantidad de memoria requerida para su almacenamiento. Esto evit&oacute; tener que recurrir a  memoria externa en un dispositivo de hardware reconfigurable, logrando incluso la utilizaci&oacute;n de familias de bajo coste  como la Spartan 6 de Xilinx. </font></p>     <P><font size="2" face="Verdana">El hecho de implementar este algoritmo en hardware reconfigurable abre la perspectiva de su uso en sistemas  aut&oacute;nomos, pudiendo formar parte de un sistema de visi&oacute;n y/o monitoreo pr&aacute;cticamente en tiempo real debido a su latencia  en extremo reducida. </font></p>     <P>&nbsp;</p>     <P><font size="3" face="Verdana"><B>AGRADECIMIENTOS</B> </font></p>     <P>&nbsp;</p>     ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">Este trabajo ha sido realizado en parte gracias al proyecto ESPIRA (REF-DPI2009-10143) financiado por el    Ministerio de Ciencia e Innovaci&oacute;n de Espa&ntilde;a. </font></p>     <P>&nbsp;</p>     <P><font size="3" face="Verdana"><B>REFERENCIAS</B></font></p>     <P>&nbsp;</p>     <!-- ref --><P><font size="2" face="Verdana">1.     Dujon, G., A. Parker, and A.    Thomas: Visual image Transmission by fibre optic      Cable, The secretary of State for Defence in her Britannic Majesty's Government of UK of GB and Northen Ireland, Patente No.  US 5327514, 1994 </font><!-- ref --><P><font size="2" face="Verdana">2.     Roberts, H.: Robust Incoherent Fiber Optic Bundle  Decoder, Patente No. US 6587189 B1, 2003 </font><P><font size="2" face="Verdana">3.     Demuynck, O. and J.M.  Men&eacute;ndez: &#171;Image Transmission through Incoherent Optical Fiber Bundle:  Methods for Optimization and Image Quality  Improvement&#187; en WSEAS Transactions on signal  processing, Vol 4. No. 9, 2008. </font></p>     <!-- ref --><P><font size="2" face="Verdana">4.     Dujon, G.F.: Calibration of incoherent optical fibre bundles for Image  Transmission, en Dept. of Electrical Eng. and  Electronics., University of Liverpool. UK. 1991.     </font></p>     <P>   <font size="2" face="Verdana">5.     Hiromoto, M., H. Sugano, and R. Miyamoto: &#171;Partially Parallel Architecture for AdaBoost-Based  Detection With Haar-Like Features&#187; en Ieee Transactions on Circuits and Systems for Video Technology, Vol  19. No. 1, 2009. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">6.     Kalomiros, J.A. and J. Lygouras: &#171;Design and evaluation of a hardware/software FPGA-based system    for fast image processing&#187; en Microprocessors and Microsystems, Vol 32. No. 2, 2008. </font></p>     <P><font size="2" face="Verdana">7.     Fern&aacute;ndez, P., et al.: Calibration of  Incoherent Optical Fiber Bundles for Image Transmission.    Fibers Detection, en IEEE International  Symposium on Intelligent Signal Processing. WISP' 2007.    2007: Alcal&aacute; de Henares. Madrid. Spain. </font></p>     <P><font size="2" face="Verdana">8.     Fernandez, P.R., et al.: &#171;Location of Optical Fibers for the Calibration of Incoherent Optical Fiber    Bundles for Image Transmission&#187; en Ieee Transactions on Instrumentation and Measurement, Vol 58. No.    9, 2009. </font></p>     <P><font size="2" face="Verdana">9.     Lazaro, J.L., et al.: &#171;Sensor Calibration Based on Incoherent Optical Fiber Bundles (IOFB) Used    For Remote Image Transmission&#187; en Sensors, Vol 9. No. 10, 2009. </font></p>     <P><font size="2" face="Verdana">10.     Fernandez, P.R., et al.: &#171;A Focusing Method in the Calibration Process of Image Sensors Based on    IOFBs&#187; en Sensors, Vol 10. No. 1, 2010. </font></p>     <!-- ref --><P><font size="2" face="Verdana">11.     Fern&aacute;ndez Barbosa, P.R.: Modelado de sistemas de transmisi&oacute;n y reconstrucci&oacute;n de im&aacute;genes basados    en mazos de fibra &oacute;ptica no coherentes, en Departamento de Electr&oacute;nica. Universidad de Alcal&aacute;:    Alcal&aacute; de Henares. 2011.    </font></p>     <P>&nbsp;</p>     <P>&nbsp;</p>     <P><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Recibido: Diciembre    2012     ]]></body>
<body><![CDATA[<br>   Aprobado: Enero 2013 </font></p>     <P>&nbsp;</p>     <P>&nbsp;</p>     <P>&nbsp;</p>     <P></p>     <P></p>     <P>&nbsp;</p>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dujon]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[A.]]></surname>
<given-names><![CDATA[Parker]]></given-names>
</name>
<name>
<surname><![CDATA[A.]]></surname>
<given-names><![CDATA[Thomas]]></given-names>
</name>
</person-group>
<source><![CDATA[Visual image Transmission by fibre optic Cable]]></source>
<year>1994</year>
<publisher-name><![CDATA[The secretary of State for Defence in her Britannic Majesty's Government of UK of GB and Northen Ireland, Patente No. US 5327514]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[H.]]></surname>
<given-names><![CDATA[Roberts]]></given-names>
</name>
</person-group>
<source><![CDATA[Robust Incoherent Fiber Optic Bundle Decoder]]></source>
<year>2003</year>
<publisher-name><![CDATA[Patente No. US 6587189 B1]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Demuynck]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
<name>
<surname><![CDATA[Menéndez]]></surname>
<given-names><![CDATA[J.M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Image Transmission through Incoherent Optical Fiber Bundle: Methods for Optimization and Image Quality Improvement]]></article-title>
<source><![CDATA[WSEAS Transactions on signal processing]]></source>
<year>2008</year>
<volume>4</volume>
<numero>9</numero>
<issue>9</issue>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dujon]]></surname>
<given-names><![CDATA[G.F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Calibration of incoherent optical fibre bundles for Image Transmission]]></article-title>
<source><![CDATA[Dept. of Electrical Eng. and Electronics.]]></source>
<year>1991</year>
<publisher-name><![CDATA[University of Liverpool]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hiromoto]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[H.]]></surname>
<given-names><![CDATA[Sugano]]></given-names>
</name>
<name>
<surname><![CDATA[R.]]></surname>
<given-names><![CDATA[Miyamoto]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Partially Parallel Architecture for AdaBoost-Based Detection With Haar-Like Features]]></article-title>
<source><![CDATA[Ieee Transactions on Circuits and Systems for Video Technology]]></source>
<year>2009</year>
<volume>19</volume>
<numero>1</numero>
<issue>1</issue>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kalomiros]]></surname>
<given-names><![CDATA[J.A.]]></given-names>
</name>
<name>
<surname><![CDATA[J.]]></surname>
<given-names><![CDATA[Lygouras]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Design and evaluation of a hardware/software FPGA-based system for fast image processing]]></article-title>
<source><![CDATA[Microprocessors and Microsystems]]></source>
<year>2008</year>
<volume>32</volume>
<numero>2</numero>
<issue>2</issue>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kalomiros]]></surname>
<given-names><![CDATA[J.A.]]></given-names>
</name>
<name>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Calibration of Incoherent Optical Fiber Bundles for Image Transmission]]></article-title>
<source><![CDATA[Fibers Detection]]></source>
<year>2007</year>
<publisher-loc><![CDATA[Madrid^eAlcalá de Henares Alcalá de Henares]]></publisher-loc>
<publisher-name><![CDATA[IEEE International Symposium on Intelligent Signal Processing]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kalomiros]]></surname>
<given-names><![CDATA[J.A.]]></given-names>
</name>
<name>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Location of Optical Fibers for the Calibration of Incoherent Optical Fiber Bundles for Image Transmission]]></article-title>
<source><![CDATA[Ieee Transactions on Instrumentation and Measurement]]></source>
<year>2009</year>
<volume>58</volume>
<numero>9</numero>
<issue>9</issue>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kalomiros]]></surname>
<given-names><![CDATA[J.A.]]></given-names>
</name>
<name>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Sensor Calibration Based on Incoherent Optical Fiber Bundles (IOFB) Used For Remote Image Transmission]]></article-title>
<source><![CDATA[Sensors]]></source>
<year>2009</year>
<volume>9</volume>
<numero>10</numero>
<issue>10</issue>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kalomiros]]></surname>
<given-names><![CDATA[J.A.]]></given-names>
</name>
<name>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Focusing Method in the Calibration Process of Image Sensors Based on IOFBs]]></article-title>
<source><![CDATA[Sensors]]></source>
<year>2010</year>
<volume>10</volume>
<numero>1</numero>
<issue>1</issue>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fernández Barbosa]]></surname>
<given-names><![CDATA[P.R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Modelado de sistemas de transmisión y reconstrucción de imágenes basados en mazos de fibra óptica no coherentes]]></article-title>
<source><![CDATA[Departamento de Electrónica]]></source>
<year>2011</year>
<publisher-loc><![CDATA[Alcalá de Henares ]]></publisher-loc>
<publisher-name><![CDATA[Universidad de Alcalá]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
