<?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-59282014000300005</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Modelo funcional de un decodificador H.264/AVC]]></article-title>
<article-title xml:lang="en"><![CDATA[Functional Model of an H.264 decoder]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Landrove Gámez]]></surname>
<given-names><![CDATA[Orlando]]></given-names>
</name>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Instituto de Investigación y Desarrollo de Telecomunicaciones  ]]></institution>
<addr-line><![CDATA[La Habana ]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2014</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2014</year>
</pub-date>
<volume>35</volume>
<numero>3</numero>
<fpage>48</fpage>
<lpage>59</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S1815-59282014000300005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S1815-59282014000300005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S1815-59282014000300005&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La Televisión Digital Terrestre (TVD-T) es una tecnología en constante desarrollo, con elevada actualidad de acuerdo al Estado del Arte. Su adopción, así como sustitución de la tradicional cadena de transmisión analógica es un hecho en muchos países del mundo, debido a sus múltiples ventajas y correspondencia con otras tecnologías modernas. Cuba, como otros, se encuentra en franco despliegue de la misma, con programas definidos por cada una de las entidades responsables de su apropiada implementación, donde la asimilación de tecnología resulta decisivo para un desarrollo real e independiente en este campo. Entre los bloques básicos que conforman la cadena de Televisión Digital, la compresión y descompresión de video constituyen un elemento esencial, en un escenario donde el ancho de banda para la transmisión es finito y cotizado. H.264/MPEG-4 Parte 10 es actualmente el estándar de compresión de video mayormente empleado para la radiodifusión de Televisión Digital. Los receptores que cumplan con H.264 deben tener la capacidad de decodificar su formato. En este trabajo se describe la utilización de software descrito en lenguaje C para modelar el funcionamiento de un decodificador H.264. Se utiliza un FPGA Virtex 5, de Xilinx, para empotrar un sistema con PowerPC como elemento principal que soportará el modelo propuesto. A través de la Tarjeta de Desarrollo ML507 se demuestra el funcionamiento del sistema. Para esto se utilizan ficheros de video comprimidos con el formato H.264 que a su vez son decodificados obteniéndose ficheros de video en formato descomprimido YCbCr. Estos constituyen el resultado del experimento.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Terrestrial Digital Television. (DTV-T) is a constantly evolving technology with current update according to the State of the Art. Its adoption, as well as replacing the traditional analog transmission chain is a fact in many countries, because of its many advantages and synergy with other modern technologies. Cuba, like others, is already in deployment phase, following scripts defined by entities in charge of its proper implementation, where the assimilation of technologies is crucial for a real and independent development in this field. Among the basic blocks that make up the Digital TV chain, the compression and decompression of video are an essential element in a scenario where the bandwidth for transmission is finite and quoted. H.264/MPEG-4 Part 10 is currently the video compression standard widely used for digital television broadcasting. Receptors that fulfill H.264 must be able to decode the format. This paper described the use of software in C language to model the performance of an H.264 decoder. FPGA Virtex 5 from Xilinx is used to embed a system with PowerPC as the main element that will support the proposed model. Through the ML507 Development Board is realized the system operation. H.264 video format files are used, which in turn are decoded to obtain uncompressed video files using YCbCr format. These become the result of the experiment.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[TVD-T]]></kwd>
<kwd lng="es"><![CDATA[H.264]]></kwd>
<kwd lng="es"><![CDATA[YCbCr]]></kwd>
<kwd lng="es"><![CDATA[FPGA]]></kwd>
<kwd lng="es"><![CDATA[lenguaje C]]></kwd>
<kwd lng="es"><![CDATA[sistema embebido]]></kwd>
<kwd lng="es"><![CDATA[VHDL]]></kwd>
<kwd lng="en"><![CDATA[DTV-T]]></kwd>
<kwd lng="en"><![CDATA[H.264]]></kwd>
<kwd lng="en"><![CDATA[YCbCr]]></kwd>
<kwd lng="en"><![CDATA[FPGA]]></kwd>
<kwd lng="en"><![CDATA[C language]]></kwd>
<kwd lng="en"><![CDATA[embedded system]]></kwd>
<kwd lng="en"><![CDATA[VHDL]]></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>Modelo funcional de un decodificador H.264/AVC</B></font></p>     <P>&nbsp;</p>     <P><font size="2"><b><font size="3" face="verdana">Functional Model of an H.264 decoder.</font></b></font></p>     <P>&nbsp;</p>     <P>&nbsp;</p>     <P><font size="2"><b><font face="verdana">Ing. Orlando Landrove G&aacute;mez </font>   </b> </font></p>     <P><font size="2" face="verdana">1. LACETEL, Instituto de Investigaci&oacute;n    y Desarrollo de Telecomunicaciones. La Habana, Cuba. E-mail:   </font>   <font size="2" face="verdana"> <a href="mailto:landrove@lacetel.cu">landrove@lacetel.cu</a></font></p>     <P>&nbsp;</p>     ]]></body>
<body><![CDATA[<P>&nbsp;</p> <hr>     <P><font size="2"><b><font face="verdana">RESUMEN</font></b></font></p>     <P><font size="2" face="verdana">La Televisi&oacute;n Digital Terrestre (TVD-T) es una tecnolog&iacute;a en constante desarrollo, con elevada actualidad de  acuerdo al Estado del Arte. Su adopci&oacute;n, as&iacute; como sustituci&oacute;n de la tradicional cadena de transmisi&oacute;n anal&oacute;gica es un hecho  en muchos pa&iacute;ses del mundo, debido a sus m&uacute;ltiples ventajas y correspondencia con otras tecnolog&iacute;as modernas.  Cuba, como otros, se encuentra en franco despliegue de la misma, con programas definidos por cada una de las  entidades responsables de su apropiada implementaci&oacute;n, donde la asimilaci&oacute;n de tecnolog&iacute;a resulta decisivo para un   desarrollo real e independiente en este campo. Entre los bloques b&aacute;sicos que conforman la cadena de Televisi&oacute;n Digital,  la compresi&oacute;n y descompresi&oacute;n de video constituyen un elemento esencial, en un escenario donde el ancho de  banda para la transmisi&oacute;n es finito y cotizado. H.264/MPEG-4 Parte 10 es actualmente el est&aacute;ndar de compresi&oacute;n de  video mayormente empleado para la radiodifusi&oacute;n de Televisi&oacute;n Digital. Los receptores que cumplan con H.264 deben  tener la capacidad de decodificar su formato. En este trabajo se describe la utilizaci&oacute;n de software descrito en lenguaje C  para modelar el funcionamiento de un decodificador H.264. Se utiliza un FPGA Virtex 5, de Xilinx, para empotrar un  sistema con PowerPC como elemento principal que soportar&aacute; el modelo propuesto. A trav&eacute;s de la Tarjeta de Desarrollo  ML507 se demuestra el funcionamiento del sistema. Para esto se utilizan ficheros de video comprimidos con el formato H.264   que a su vez son decodificados obteni&eacute;ndose ficheros de video en formato descomprimido YCbCr. Estos  constituyen el resultado del experimento. </font></p>     <P><font size="2" face="verdana"><strong>Palabras claves:</strong> TVD-T, H.264, YCbCr, FPGA, lenguaje C, sistema embebido, VHDL.  </font></p>       <br> <hr>     <P><font size="2"><font face="verdana"><strong>ABSTRACT</strong></font></font></p>     <P><font size="2" face="verdana">Terrestrial Digital Television. (DTV-T) is a constantly evolving technology with current update according to    the State of the Art. Its adoption, as well as replacing the traditional analog transmission chain is a fact in    many countries, because of its many advantages and synergy with other modern technologies. Cuba, like others,    is already in deployment phase, following scripts defined by entities in charge of its proper implementation,    where the assimilation of technologies is crucial for a real and independent development in this field. Among the    basic blocks that make up the Digital TV chain, the compression and decompression of video are an essential element    in a scenario where the bandwidth for transmission is finite and quoted. H.264/MPEG-4 Part 10 is currently the    video compression standard widely used for digital television broadcasting. Receptors that fulfill H.264 must be able    to decode the format. This paper described the use of software in C language to model the performance of an    H.264 decoder. FPGA Virtex 5 from Xilinx is used to embed a system with PowerPC as the main element that will    support the proposed model. Through the ML507 Development Board is realized the system operation. H.264 video    format files are used, which in turn are decoded to obtain uncompressed video files using YCbCr format. These become    the result of the experiment. </font></p>     <P><font size="2"><font face="verdana"><strong>Key words:</strong> DTV-T, H.264, YCbCr, FPGA, C language, embedded system, VHDL.    </font> </font></p>       <br> <hr>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<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">El creciente desarrollo de la tecnolog&iacute;a de video digital impone su inclusi&oacute;n en m&uacute;ltiples escenarios actuales, tanto    en sistemas integrados de telecomunicaciones, aplicaciones espec&iacute;ficas, como en el consumo general de la poblaci&oacute;n    a trav&eacute;s de numerosos tipos de  dispositivos electr&oacute;nicos que soportan varios de los formatos de video existentes. </font></p>     <P><font size="2" face="verdana">En el caso de la Televisi&oacute;n Digital (TVD), la compresi&oacute;n de video digital juega un importante papel en un escenario  en que el ancho de banda de transmisi&oacute;n es limitado, por tanto la optimizaci&oacute;n en su aprovechamiento es  determinante para implementar nuevos servicios que demanden grandes vol&uacute;menes de informaci&oacute;n.  </font> <font size="2" face="verdana"><a href="/img/revistas/eac/v35n3/f0105314.jpg">(Figura 1)</a></font></p>     
<P><font size="2" face="verdana">El desarrollo de t&eacute;cnicas, as&iacute; como la estandarizaci&oacute;n de complejos algoritmos permiten la transmisi&oacute;n de  informaci&oacute;n de video utilizando menor cantidad de datos, sin afectar la apreciaci&oacute;n subjetiva del ojo humano. Algunas de  estas t&eacute;cnicas han sido estandarizadas y documentadas para la disposici&oacute;n y total compatibilidad de productos afines en  el mercado. </font></p>     <P><font size="2" face="verdana"><B>Formatos de Video que m&aacute;s se utilizan en Televisi&oacute;n Digital.</B> </font></p>     <P><font size="2" face="verdana">Los formatos de compresi&oacute;n m&aacute;s importantes de acuerdo al alcance y a su utilizaci&oacute;n  son publicados y  reconocidos por organizaciones especializadas, tales como la Uni&oacute;n Internacional de  Telecomunicaciones<SUP>1</SUP>,  Organizaci&oacute;n Internacional para la  Estandarizaci&oacute;n<SUP>2</SUP>, Grupo de Experto en Imagines y  Movimiento<SUP>3</SUP>. A continuaci&oacute;n se comentan  los tres est&aacute;ndares que actualmente lideran la compresi&oacute;n de video en la TVD-T. </font></p>     <P><font size="2" face="verdana"><I>ISO/IEC 13818-2 (H.262 o MPEG-2 Parte 2)</I>, conocido por MPEG-2 para Video. Este formato fue desarrollado  en 1994 y es utilizado para transmisiones de TVD-T, TVD-C (Televisi&oacute;n Digital por Cable) y TVD-S (Televisi&oacute;n  Digital Satelital) [1].Toma experiencias similares de MPEG-1, pero a&ntilde;ade caracter&iacute;sticas como el soporte de  video entrelazado, presenta algoritmos de predicci&oacute;n para cuadros presentes, posteriores y bidireccionales, mayor tasa  de bits as&iacute; como una serie de perfiles y niveles para definir aplicaciones espec&iacute;ficas dentro del propio  est&aacute;ndar. Adem&aacute;s  MPEG-2 soporta videos de varios tipos de relaciones de aspecto, formatos 4:2:2 y 4:4:4, adaptaci&oacute;n  frame/field <SUP>4</SUP> DCT<SUP>5</SUP>, entre otros [2]. MPEG-2 parte 2 es todav&iacute;a usado en muchos escenarios. Muchos operadores,  tanto para radiodifusi&oacute;n como para sat&eacute;lites y cables utilizan este formato. La gran mayor&iacute;a de Set-top  boxes<SUP>6</SUP>, soportan su decodificaci&oacute;n. </font></p>     <P><font size="2" face="verdana"> No obstante, otros formatos m&aacute;s recientes incorporan nuevos algoritmos y t&eacute;cnicas convirti&eacute;ndoles en  m&aacute;s eficientes, de esa manera algunos como H.264 alcanzan un mayor despliegue y soporte por muchos de  los operadores en el mundo. Mientras que otros como AVS, crece entre los consumidores y en el mercado cada vez m&aacute;s. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana"><I>IEEE Std. 1857&#153;-2013 (AVS1-P2)</I>, conocido como AVS para Video. Este c&oacute;dec fue desarrollado por el grupo  AVS, en su gran mayor&iacute;a desarrolladores chinos, totalmente respaldados por su gobierno y en conjunto de  muchas universidades e instituciones cient&iacute;ficas. Su prop&oacute;sito fue reducir la dependencia de regal&iacute;as y patentes  de est&aacute;ndares extranjeros. En febrero el a&ntilde;o 2006 oficialmente fue un est&aacute;ndar nacional para la TVD. En octubre  del 2009, la UIT-T para IPTV reconoci&oacute; a AVS como uno de los tres c&oacute;dec para este servicio, junto a H.264/AVC  y MPEG-2 [3]. Asimismo en junio del 2011 se determina que AVS es el &uacute;nico est&aacute;ndar de video obligatorio para  los productos destinados al mercado chino. En noviembre 2012 se lleva a la pr&aacute;ctica esta decisi&oacute;n, donde todos los  Set-top Box deben soportar de manera obligatoria el c&oacute;dec AVS. </font></p>     <P><font size="2" face="verdana">Los desarrolladores de AVS alegan que este c&oacute;dec tiene similar eficiencia que H.264/AVC, empleando un 30%  menos de complejidad en su implementaci&oacute;n [3]. Adem&aacute;s refieren que AVS contiene la mitad de las patentes esenciales  que H.264/AVC. Actualmente existen m&aacute;s de 25 fabricantes de chips que adoptaron AVS en sus soluciones, la  mayor&iacute;a de estas en decodificadores. Estos fabricantes se distribuyen entre China continental, Taiw&aacute;n, EEUU, Europa,  Jap&oacute;n y Corea del Sur. </font></p>     <P><font size="2" face="verdana"><I>ISO/IEC 14496-10 (H.264/AVC o MPEG-4 Parte  10)</I>, conocido por distintas maneras: H.264, MPEG-4 Parte 10  y AVC<SUP>7</SUP>. Fue desarrollado por el grupo de expertos JVT (Joint Video Team), como resultado de la  colaboraci&oacute;n conjunta entre MPEG y  VCEG<SUP>8</SUP>, y su primera versi&oacute;n apareci&oacute; en el a&ntilde;o 2003. Su prop&oacute;sito fue optimizar la tasa  de bits en comparaci&oacute;n con est&aacute;ndares anteriores, sin aumentar demasiado su complejidad para que fuera  posible llevarse a la pr&aacute;ctica implementaciones del mismo. Actualmente es el c&oacute;dec de video m&aacute;s utilizado por  los proveedores de servicio, siendo aprobado por  DVB<SUP>9</SUP> y ATSC<SUP>10</SUP>. H.264/AVC es cada vez m&aacute;s utilizado  en transmisiones de Televisi&oacute;n Digital de Alta Definici&oacute;n (HDTV), servicios de streams de video a trav&eacute;s de  internet como YouTube, servicios entre tel&eacute;fonos m&oacute;viles, por formatos de grabaci&oacute;n como DVD entre otros. </font></p>     <P><font size="2" face="verdana">Desde el punto de vista de propiedad intelectual, este c&oacute;dec no es libre de usar sin pago de  regal&iacute;as. Implementaciones y reproducci&oacute;n de t&eacute;cnicas para el desarrollo de aplicaciones H.264/AVC est&aacute;s sujetas al pago  de licencias por parte de sus desarrolladores. El tema de patentes para este formato es complejo, ya que  existen consorcios que se encargan de estos temas legales. Es algo muy importante tener en cuenta para  cualquier adopci&oacute;n y despliegue de soluciones empleando H.264/AVC. </font></p>     <P><font size="2" face="verdana"><B>Sistema empotrado en FPGA.</B> </font></p>     <P><font size="2" face="verdana">El uso de la tecnolog&iacute;a FPGA permite responder tanto a necesidades de velocidad de procesamiento, a trav&eacute;s  del dise&ntilde;o mediante lenguajes de descripci&oacute;n de hardware (Hardware Description Lenguage, HDL), como  requerimientos de an&aacute;lisis y c&oacute;mputo utilizando microprocesadores empotrados en el chip. A trav&eacute;s de m&oacute;dulos de propiedad  intelectual (Intellectual Property, IP), se conforma un sistema flexible, con capacidad de brindar rapidez y complejidad de an&aacute;lisis.  </font></p>     <P><font size="2" face="verdana"> El sistema que se utiliza en este trabajo est&aacute; basado en el microprocesador PowerPC 440 (PPC) empotrado en un  FPGA de la familia Virtex5 de Xilinx. A trav&eacute;s de la tarjeta de Desarrollo ML507, que contiene como elemento principal el  FPGA XC5VFX70T, se modela el funcionamiento de un decodificador H.264, el cual basa su hardware en un sistema  embebido con PPC y otros perif&eacute;ricos. </font></p>     <P>&nbsp;</p>     <P><font size="3" face="verdana"><B>CONTENIDO</B> </font></p>     <P>&nbsp;</p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana">Para <B><I>LACETEL</I></B>, Instituto de Investigaci&oacute;n y Desarrollo de Telecomunicaciones de Cuba, resulta    cient&iacute;ficamente atractivo consolidar soluciones referentes a TVD. <B><I>LACETEL</I></B> tiene, entre otras responsabilidades, la de ser l&iacute;der    en la Transferencia de Tecnolog&iacute;a de China a Cuba en el proyecto de despliegue de la TVD en nuestro pa&iacute;s. El estudio    de c&oacute;dec de video para TVD resulta un tema importante para un futuro en que se logre la independencia de esta    tecnolog&iacute;a en el pa&iacute;s. </font></p>     <P><font size="2" face="verdana">H.264/AVC es el c&oacute;dec m&aacute;s utilizado en la actualidad por los consumidores de TVD. Su estudio e investigaci&oacute;n  abarca varias etapas, desde la b&uacute;squeda de informaci&oacute;n, las pruebas con equipamientos que lo soporten, hasta el  acercamiento m&aacute;s profundo al desarrollar m&oacute;dulos propios. </font></p>     <P><font size="2" face="verdana">El trabajo describe la concepci&oacute;n de un modelo pr&aacute;ctico de un decodificador H.264/AVC. Este modelo presenta  los siguientes objetivos: </font></p>     <P><font size="2" face="verdana">&#183;     Consolidar el estudio y las hip&oacute;tesis de dise&ntilde;o de los m&oacute;dulos que conforman el formato H.264/AVC. </font></p>     <P><font size="2" face="verdana">&#183;     Ser un punto de referencia te&oacute;rico y pr&aacute;ctico para los siguientes pasos de optimizaci&oacute;n de los m&oacute;dulos. </font></p>     <P><font size="2" face="verdana">&#183;     Constituir la base para una soluci&oacute;n apta para la decodificaci&oacute;n en tiempo real. </font></p>     <P><font size="2" face="verdana"><B>H.264/AVC. Caracter&iacute;sticas generales.</B> </font></p>     <P><font size="2" face="verdana">De manera general, un codificador de video comprime la informaci&oacute;n en un formato que contenga menos espacio en  el momento de ser almacenada o transmitida. El decodificador, de manera inversa, convierte el video comprimido en  el formato original, descomprimido. En realidad el formato descomprimido despu&eacute;s del proceso de decodificaci&oacute;n no  es precisamente id&eacute;ntico al original, debido a las p&eacute;rdidas durante el proceso de compresi&oacute;n. El t&eacute;rmino <I>codec </I>se debe a la asociaci&oacute;n de las palabras en ingl&eacute;s  en<B><I>co</I></B>der y <B><I>dec</I></B>oder. </font></p>     <P><font size="2" face="verdana">Una imagen digitalizada est&aacute; formada por unidades denominados macrobloques. Cada macrobloques  contiene informaci&oacute;n de 16x16 p&iacute;xeles correspondiente a muestras de luminancia y componentes de color. Los macrobloques  a su vez conformar&aacute;n los llamados <I>slice<SUP>11</SUP>.</I> Cada campo en el caso de un formato entrelazado, o cada cuadro si se  tratase de un formato progresivo se le llamar&aacute; Imagen. Cada Imagen estar&aacute; compuesta por uno o m&aacute;s slice. En el caso del  video entrelazado, cada cuadro est&aacute; formato por dos im&aacute;genes pertenecientes a dos campos correspondientes: campo par  y campo impar. Por otra parte, en el video progresivo, cada cuadro est&aacute; formado por una sola imagen. Esta imagen,  por tanto, contiene la totalidad de los macrobloques del cuadro. </font></p>     <P><font size="2" face="verdana">De manera general, en el codificador se realiza una predicci&oacute;n de los macrobloques a partir de  macrobloques pertenecientes a slices de referencia. El macrobloque predicho ser&aacute; sustra&iacute;do al macrobloque que en ese momento  se est&eacute; procesando, obteni&eacute;ndose un llamado macrobloque residuo. Este macrobloque, conformado en teor&iacute;a por  la diferencia entre el macrobloque actual y aquel predicho, contendr&aacute; menos energ&iacute;a y su tama&ntilde;o en cantidad de  informaci&oacute;n ser&aacute; menor que cualquiera de los macrobloques que le dieron origen. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana">No obstante, al macrobloque residuo se les aplica t&eacute;cnicas con el prop&oacute;sito de disminuir la cantidad de informaci&oacute;n  a transmitir o guardar. Se le aplica transformada para separar los datos m&aacute;s importantes de otros redundantes.  Adem&aacute;s, se cuantifica y se codifica por entrop&iacute;a. De esta manera el dato es mandado hacia el decodificador que a su vez  realizar&aacute; el proceso inverso. </font></p>     <P><font size="2" face="verdana">Cuando el dato es codificado, adem&aacute;s de mandarse al decodificador, de forma paralela tambi&eacute;n ser&aacute; objeto del  proceso inverso como parte del propio proceso de codificaci&oacute;n, con el objetivo de comparar, obtener informaci&oacute;n del  error involucrado y ajustar el mecanismo para la siguiente predicci&oacute;n. <a href="/img/revistas/eac/v35n3/f0205314.jpg">(Figura 2)</a> </font></p>     
<P><font size="2" face="verdana">En el decodificador aparecen los bloques de decodificaci&oacute;n por entrop&iacute;a, re-escale, transformada inversa,  predicci&oacute;n, para reconformar el macrobloque residuo. Por otra parte, se predice el macrobloque de referencia de la misma manera  en que fue predicho por el codificador. De esta forma, al macrobloque de referencia predicho se le a&ntilde;ade la  informaci&oacute;n obtenida del macrobloque residuo, obteni&eacute;ndose como resultado el macrobloque decodificado, el cual ocupar&iacute;a  un lugar dentro del slice que est&eacute; siendo decodificando en ese momento. <a href="/img/revistas/eac/v35n3/f0305314.jpg">(Figura 3)</a> </font></p>     
<P><font size="2" face="verdana">De manera general, el Est&aacute;ndar <I>ISO/IEC 14496-10 (H.264/AVC o MPEG-4 Parte  10)</I> rige las especificaciones que debe tener la cadena de datos codificados para que un decodificador H.264/AVC pueda realizar el proceso. Solo  el Bitstream<SUP>12</SUP> y las Sintaxis quedan sujeto al Est&aacute;ndar, quedando total flexibilidad para el dise&ntilde;o e implementaci&oacute;n  de t&eacute;cnicas y soluciones siempre que estas cumplan con las especificaciones impuestas para el Bitstream [5]. </font></p>     <P><font size="2" face="verdana">Actualmente H.264/AVC contiene 21 perfiles y 17 niveles. Los perfiles son el conjunto de algoritmos y  herramientas definidos en el Est&aacute;ndar orientados a una aplicaci&oacute;n determinada. Los niveles especifican la capacidad de  procesamiento que el sistema debe poseer para cubrir la demanda de esa aplicaci&oacute;n. De esta manera, es posible para los  dise&ntilde;adores implementar soluciones orientadas a un d&uacute;o perfil-nivel. Especificar el perfil y el nivel de una aplicaci&oacute;n implica  cumplir con aquellos algoritmos y capacidad de procesamiento que el Est&aacute;ndar dicta para dicho dueto. Por tanto, las  soluciones ser&aacute;n compatibles de acuerdo al tipo de aplicaci&oacute;n conque sea concebida, sin tener que implementarse todo el  est&aacute;ndar. Nuevos perfiles y niveles han ido apareciendo debido a la demanda video en alta definici&oacute;n, transmisi&oacute;n de flujos  de videos escalables usados en videoconferencias, vigilancia, as&iacute; como el auge de la Televisi&oacute;n 3D. </font></p>     <P><font size="2" face="verdana">Por ejemplo, para que una implementaci&oacute;n pueda asegurar que cumple con H.264/AVC en el perfil  Principal<SUP>13</SUP> esta debe poseer los algoritmos y herramientas definidos en el Est&aacute;ndar para ese perfil. Algunos de ellos son [4]: </font></p>     <P><font size="2" face="verdana">&#183;     Predicci&oacute;n Intra-trama: 9 modos de predicci&oacute;n para bloques de luminancia de 4x4 p&iacute;xeles, 4 modos para  bloques de luminancia de 16x16, 4 modos para bloques de croma. </font></p>     <P><font size="2" face="verdana">&#183;     N&uacute;mero de tramas de referencia para predicci&oacute;n: Menor e igual que 16. </font></p>     <P><font size="2" face="verdana">&#183;     Tama&ntilde;o de bloque de compensaci&oacute;n de movimiento: 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4. </font></p>     <P><font size="2" face="verdana">&#183;     Modo de predicci&oacute;n de tramas B: Utilizaci&oacute;n de 2 vectores movimiento que se codifican. Modo  directo independiente, espacial y temporal. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana">&#183;     Compensaci&oacute;n de movimiento: Compensaci&oacute;n de &#189; y &#188; de pixel. </font></p>     <P><font size="2" face="verdana">&#183;     Transformaci&oacute;n y Cuantificaci&oacute;n: Transformada de 4x4 p&iacute;xeles. </font></p>     <P><font size="2" face="verdana">&#183;     Codificaci&oacute;n por Entrop&iacute;a:  CAVLC<SUP>14</SUP>, CABAC<SUP>15</SUP>.  </font></p>     <P><font size="2" face="verdana">&#183;     Filtro de Lazo: Procesamiento a bloques de 4x4 p&iacute;xeles. </font></p>     <P><font size="2" face="verdana"><B>PowePC 440. Caracter&iacute;sticas generales</B> </font></p>     <P><font size="2" face="verdana">PowerPC 440 (PPC440) es un microprocesador embebido de 32 bit desarrollado por IBM. PPC440 comparte la  arquitectura RISC, donde el limitado n&uacute;mero de instrucciones permite simplificar la unidad de decodificaci&oacute;n. Su dise&ntilde;o  escalar, bajo consumo, flexibilidad y capacidad de procesamiento lo sit&uacute;an como uno de los microprocesadores importantes  en el Estado del Arte de los n&uacute;cleos embebidos. </font></p>     <P><font size="2" face="verdana">Utiliza la tecnolog&iacute;a de bus CoreConnect entre los perif&eacute;ricos que conforman el sistema. Los que demanden  altas velocidades se interconectar&aacute;n a trav&eacute;s del bus  PLB<SUP>16</SUP> de 128 bit [6].  </font></p>     <P><font size="2" face="verdana">PowerPC 440 presenta 32KB de cache para instrucciones y la misma cantidad para datos. Su  MMU<SUP>17</SUP> soporta tama&ntilde;os m&uacute;ltiples de paginados, varios atributos para protecci&oacute;n del almacenamiento, as&iacute; como opciones para el control  de acceso. Posibilita interfaces para controlador de alta velocidad, controlador  APU<SUP>18</SUP>, e interfaz para conexi&oacute;n de un  co-procesador a la medida del usuario. Soporta 16 tipos de interrupciones clasificadas en cr&iacute;ticas o no cr&iacute;ticas. Soporta  3 temporizadores con una base de tiempo de 64 bits, as&iacute; como 7 etapas de pipeline [7]. </font></p>     <P><font size="2" face="verdana">Existen muchos proveedores con herramientas y soluciones completas de desarrollo para PowerPC440,  incluyendo compiladores para C/C++, depuradores, modelos funcionales de bus, ambientes co-simuladores  hardware/software, modelos para simulaci&oacute;n en VHDL y Verilog entre otros. <a href="/img/revistas/eac/v35n3/f0405314.jpg">(Figura 4)</a></font></p>      
<P><font size="2" face="verdana"><b>H.264/AVC. Referencias. Joint Video Team.</b></font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana">Joint Video Team (JVT) es un grupo experto en codificaci&oacute;n de im&aacute;genes y video que desarrollaron el est&aacute;ndar  H.264/AVC [9]. Como parte del soporte al est&aacute;ndar, fue desarrollado por este grupo versiones de software de referencia.  Estas versiones, modeladas en lenguaje C, tiene el prop&oacute;sito de constituir una referencia pr&aacute;ctica para el  estudio, investigaciones e implementaciones de H.264/AVC. </font></p>     <P><font size="2" face="verdana">El software de referencia es una versi&oacute;n libre, y como su nombre indica, es una referencia de la norma. Su uso  es aconsejable en las implementaciones tanto en codificaci&oacute;n como decodificaci&oacute;n, y cumplir los requerimientos  del software brinda total compatibilidad con el Est&aacute;ndar. </font></p>     <P><font size="2" face="verdana">El presente trabajo consult&oacute; la versi&oacute;n JM 18.4 del software de referencia. Esta versi&oacute;n permite ser compilada  para ambiente .NET, UNIX, o WINDOWS usando  GCC<SUP>19</SUP>.   </font></p>     <P><font size="2" face="verdana">La versi&oacute;n est&aacute; organizada para obtener 2 ejecutables: el codificador H.264 y el decodificador H.264. Ambos  tienen ficheros fuentes comunes para su compilaci&oacute;n, tanto cabeceras (extensi&oacute;n .h) como ficheros de  implementaci&oacute;n (extensi&oacute;n .c). Sin embargo, es posible la compilaci&oacute;n de ambos por separado, obteni&eacute;ndose su  ejecutable correspondiente. </font></p>     <P><font size="2" face="verdana">La soluci&oacute;n para el codificador presenta 94 ficheros cabeceras (.h) y 112 ficheros de implementaci&oacute;n (.c). La  soluci&oacute;n del decodificador presenta 39 ficheros cabeceras (.h) y 52 ficheros de implementaci&oacute;n (.c). En este trabajo se  utiliz&oacute; Visual Studio 2008 para compilar las fuentes. </font></p>     <P><font size="2" face="verdana">El ejecutable del codificador requiere entradas en formato de video descomprimido (extensi&oacute;n .yuv) y brinda a la  salida el video codificado en H.264/AVC, con extensi&oacute;n .264. De forma inversa, el ejecutable del decodificador requiere a  su entrada un formato de video comprimido, y a su salida brinda el video descomprimido (extensi&oacute;n .yuv). </font></p>     <P><font size="2" face="verdana">De esta manera, para la comprobaci&oacute;n de los 2 softwares se llev&oacute; a cabo el siguiente procedimiento: </font></p>     <P><font size="2" face="verdana">1.     Codificar un video YUV utilizando el ejecutable codificador. </font></p>     <P><font size="2" face="verdana">2.     Reproducir el video codificado (formato .264) mediante software visores y players H.264 (VLC, Media  Player Classic) </font></p>     <P><font size="2" face="verdana">3.     Analizar y comprobar la estructura del stream mediante el software analizador de video Elecard Stream  Analizer 2.1.2 </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana">4.     Decodificar el video utilizando el ejecutable decodificador. </font></p>     <P><font size="2" face="verdana">5.     Reproducir la salida del decodificador, el video descomprimido en formato YUV con los  reproductores correspondientes. </font></p>     <P><font size="2" face="verdana">Tanto el video codificado como el video decodificado son propiamente reproducidos por los players de video.  Adem&aacute;s, mediante el software Elecard es mostrado su correspondencia con el formato H.264/AVC. <a href="/img/revistas/eac/v35n3/f0505314.jpg">(Figura 5)</a> y <a href="#f6">(Figura 6)</a> </font></p>     
<P align="center"><img src="/img/revistas/eac/v35n3/f0605314.jpg" width="488" height="303">   <a name="f6"></a></p>     
<P></p>      <P><font size="2" face="verdana">A trav&eacute;s del software decodificador, se descomprimi&oacute; el video H.264/AVC obtenido por el software codificador  <a href="/img/revistas/eac/v35n3/f0705314.jpg">(Figura 7)</a>. De esta forma, se recoge a la salida del decodificador la misma secuencia en formato YUV <a href="/img/revistas/eac/v35n3/f0805314.jpg">(Figura 8)</a>.</font></p>     
<P><font size="2" face="verdana">El procedimiento llevado a cabo demuestra la factibilidad de utilizar el software JM 18.4 como referencia de    estudio, gu&iacute;a e implementaci&oacute;n de soluciones referentes al c&oacute;dec H.264. Adem&aacute;s de la prueba visual, se ha corroborado    la secuencia del stream a trav&eacute;s del analizador Elecard Stream Analizer 2.1.2. Este muestra las sintaxis y el formato    correcto de la trama codificada. <a href="/img/revistas/eac/v35n3/f0905314.jpg">(Figura 9)</a> </font></p>     
<P><font size="2"><b><font face="verdana">Modelo Decodificador H.264/AVC sobre FPGA.</font></b></font></p>     <P><font size="2" face="verdana">Una de las m&uacute;ltiples ventajas de los sistemas embebidos sobre FPGA es la capacidad de an&aacute;lisis y c&oacute;mputo a trav&eacute;s  de softwares en alto nivel que permiten establecer modelos de sistemas en tiempos relativamente breves. Para validar  la posibilidad de implementar una soluci&oacute;n de un decodificador conforme a la norma H.264 se utiliz&oacute; un sistema  con microprocesador empotrado en un FPGA Virtex 5, de Xilinx. Para ello se utiliz&oacute; la tarjeta de Desarrollo ML507,  que contiene dentro del FPGA un n&uacute;cleo PowerPC 440. </font></p>     <P><font size="2" face="verdana">Para el sistema empotrado se utiliz&oacute; los siguientes m&oacute;dulos: </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana">&#183;     PowerPC440 v1.01a. Microprocesador del sistema y elemento principal. </font></p>     <P><font size="2" face="verdana">&#183;     M&oacute;dulo para el controlador de la memoria FLASH de la tarjeta ML507.    </font></p>     <P><font size="2" face="verdana">&#183;     M&oacute;dulos para atenci&oacute;n del puerto RS232. Se utiliza para reportar actividad del sistema. </font></p>     <P><font size="2" face="verdana">&#183;     Modulo para memoria DDR-2 de la tarjeta ML507.En la memoria se trabajar&aacute; con datos din&aacute;micos. </font></p>     <P><font size="2" face="verdana">&#183;     M&oacute;dulo para el controlador de Compact Flash. En esta memoria se almacenar&aacute;n los videos de entrada al sistema  y la salida decodificada. </font></p>     <P><font size="2" face="verdana">De esta manera el sistema en el FPGA queda listo para soportar un software en alto nivel que sirva como modelo  para una soluci&oacute;n de un decodificador H.264/AVC. Para esto se trabaj&oacute; con los ficheros fuentes en lenguaje C, JM  18.4. Como parte del proceso, se lleg&oacute; a una profundidad del funcionamiento del software para poder modificar su  flujo, algunas estructuras, eliminar elementos redundantes para el objetivo trazado. A continuaci&oacute;n se ejemplifican  algunas modificaciones: </font></p>     <P><font size="2" face="verdana">&#183;     Extracci&oacute;n de ficheros fuentes necesarios para compilar el software para el decodificador H.264/AVC. </font></p>     <P><font size="2" face="verdana">&#183;     Modificaci&oacute;n de cada funci&oacute;n para introducir y almacenar ficheros al sistema. Se sustituyeron por nuevas  funciones para el sistema de ficheros y algunas API para el controlador de la Compact Flash en el sistema embebido. </font></p>     <P><font size="2" face="verdana">&#183;     Modificaci&oacute;n de las funciones de configuraci&oacute;n del sistema. En su lugar se crearon funciones con  configuraciones fijas, las cuales para poder ser modificadas ser&aacute; necesario editar los ficheros .h </font></p>     <P><font size="2" face="verdana">&#183;     Dejar sin acci&oacute;n las opciones de  MVC<SUP>20</SUP>. El c&oacute;digo analiza esas opciones, no v&aacute;lidas en el stream utilizado en  este trabajo. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana">&#183;     Modificar algunos tipos de datos de variables tipo char, por variables enteras. Estas variables  tomaban valores distintos provocados por la diferencia de las plataformas x86 y PowerPC. Esto provocaba errores en  el proceso de decodificaci&oacute;n. </font></p>     <P><font size="2" face="verdana">&#183;     Reducci&oacute;n del n&uacute;mero de Sintaxis para la decodificaci&oacute;n por Entrop&iacute;a. De esta forma se concentra  solamente en aquellas sintaxis que el stream codificado solicitar&iacute;a. No obstante, a pesar de que el fichero codificado  utiliza solamente CABAC, entre las opciones presentes en el software se dejaron tanto las herramientas de CABAC  como CAVLC. </font></p>     <P><font size="2" face="verdana">&#183;     Introducir comentarios en funciones y ficheros para se&ntilde;alizar el flujo del software. </font></p>     <P><font size="2" face="verdana">&#183;     A&ntilde;adir nuevos ficheros cabeceras (.h) y ficheros de implementaci&oacute;n (.c) para complementar las  librer&iacute;as existentes con las nuevas funciones utilizadas por la plataforma empotrada en el FPGA. </font></p>     <P><font size="2" face="verdana">Se obtuvo un conjunto de ficheros fuentes con la capacidad de ser soportado por la plataforma PowerPC embebida  en el FPGA. Se compil&oacute; el sistema y se descargaron los ficheros a la tarjeta. Los pasos para la comprobaci&oacute;n del  modelo dentro del FPGA fueron los siguientes: </font></p>     <P><font size="2" face="verdana">&#183;     Almacenar el fichero codificado en H.264/AVC en la Compact Flash de la tarjeta ML507. El fichero es el  mismo utilizado como entrada del decodificador compilado en Visual Studio. De esta manera se compara el  procesamiento de ambos software decodificadores (software en la PC y el sistema en FPGA) a partir de la misma entrada de video. </font></p>     <P><font size="2" face="verdana">&#183;     Correr el sistema, verificando su funcionamiento al decodificar el fichero comprimido en la Compact Flash  y brindando su salida en un fichero YUV dentro de la propia Compact Flash. </font></p>     <P><font size="2" face="verdana">&#183;     Retirar la Compact Flash de la tarjeta e insertarla en el puerto de la PC. Verificar la estructura del fichero  decodificado por el FPGA y su similitud con aquel decodificado en la PC. </font></p>     <P><font size="2" face="verdana">&#183;     Analizar el stream a trav&eacute;s del software Elecard Stream Analizer 2.1.2. Reproducir el fichero y verificar  visualmente la validez del fichero descomprimido, as&iacute; como el correcto funcionamiento del modelo decodificador dentro  del FPGA. </font></p>     <P><font size="2" face="verdana">El fichero obtenido, tiene igual tama&ntilde;o e id&eacute;ntica estructura que el fichero obtenido por el software  decodificador compilado en Visual Studio <a href="/img/revistas/eac/v35n3/f0705314.jpg">(Figura 7)</a>. El fichero fue verificado por varios reproductores de formato YUV,  visualizando exactamente los mismos frames que los mostrados en la <a href="/img/revistas/eac/v35n3/f0805314.jpg">Figura 8</a>. </font></p>     
]]></body>
<body><![CDATA[<P>&nbsp;</p>     <P><font size="3" face="verdana"><B>CONCLUSIONES</B> </font></p>     <P>&nbsp;</p>     <P><font size="2" face="verdana">&#183;     El sistema embebido sobre FPGA utilizando microprocesadores embebidos como PowerPC, puede ser    utilizado para el soporte de complejos softwares de alto nivel. El resultado obtenido dentro de un FPGA en este trabajo    es el mismo que el que se obtiene dentro de una PC convencional. </font></p>     <P><font size="2" face="verdana">&#183;     Crear un modelo de referencia de un decodificador H.264/AVC es fundamental para el proceso de  implementaci&oacute;n de soluciones afines. Constituye un elemento importante para planificar futuras soluciones. </font></p>     <P><font size="2" face="verdana">&#183;     El modelo dentro del sistema embebido independiza la soluci&oacute;n del software en la PC y lo ubica en un  ambiente indicado para futuras modificaciones y bondades que brinda la tecnolog&iacute;a FPGA. </font></p>     <P><font size="2" face="verdana">&#183;     El modelo no est&aacute; apto para soluciones en tiempo real. Su prop&oacute;sito fundamental es constituir la base te&oacute;rica  y pr&aacute;ctica para optimizaciones, modificaciones, relaci&oacute;n e intercambio de m&oacute;dulos software por otros de tipo  hardware que permitan mayor velocidad de procesamiento. De esta forma, de manera segura y precisa, se avanzar&aacute; hacia  una soluci&oacute;n en tiempo real totalmente compatible con la norma H.264/AVC.  </font></p>     <p>&nbsp;</p>     <p><font size="2" face="verdana"><B>(Footnotes)</B> </font> </p>     <P><font size="2" face="verdana"><SUP>1</SUP></font><font size="2" face="verdana">ITU, por sus siglas en ingl&eacute;s: International Telecommunication Union. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana"><SUP>2</SUP></font><font size="2" face="verdana">ISO, por sus siglas en ingl&eacute;s: International Organization for Standarization </font></p>     <P><font size="2" face="verdana"><SUP>3</SUP></font><font size="2" face="verdana">MPEG, por sus siglas en ingl&eacute;s: Motion Picture Expert Group. </font></p>     <P><font size="2" face="verdana"><SUP>4</SUP></font><font size="2" face="verdana">Frame</font><font size="2" face="verdana">/field: original en ingl&eacute;s. Cuadro/campo en su traducci</font><font size="2" face="verdana">&oacute;n al espa&ntilde;ol. </font></p>     <P><font size="2" face="verdana"><SUP>5</SUP></font><font size="2" face="verdana">DCT,</font><font size="2" face="verdana">por sus siglas en ingl</font><font size="2" face="verdana">&eacute;s. Discrete Cosine Transform. </font></p>     <P><font size="2" face="verdana"><SUP>6</SUP> Set-top Box </font> <font size="2" face="verdana">(STB):</font><font size="2" face="verdana">original en ingl</font><font size="2" face="verdana">&eacute;s: refiere a receptor digital para servicios de TV, como STB-C, STB-IP, STB-T, STB-S </font></p>     <P><font size="2" face="verdana"><SUP>7</SUP> AVC, </font> <font size="2" face="verdana">por sus siglas en ingl</font><font size="2" face="verdana">&eacute;s. Advanced Video Coding. </font></p>     <P><font size="2" face="verdana"><SUP>8</SUP> VCEG,</font><font size="2" face="verdana">por sus siglas en ingl</font><font size="2" face="verdana">&eacute;s. Video Coding Expert Group </font></p>     <P><font size="2" face="verdana"><SUP>9</SUP></font><font size="2" face="verdana">DVB, por sus siglas en ingl&eacute;s: Digital Video Broadcasting. Est&aacute;ndar de modulaci&oacute;n utilizado    en TVD.     </font></p>     <P><font size="2" face="verdana"><SUP>10</SUP></font><font size="2" face="verdana">ATSC, por sus siglas en ingl&eacute;s: Advanced Television System Commitee. Estandar de    modulaci&oacute;n utilizado en TVD. </font></p>     <P><font size="2" face="verdana"><SUP>11</SUP></font><font size="2" face="verdana">Slice, por su origen en idioma ingl&eacute;s. </font></p>     ]]></body>
<body><![CDATA[<P><font size="2" face="verdana"><SUP>12</SUP> Bitstream,</font><font size="2" face="verdana">por su origen en idioma ingl&eacute;s. </font></p>     <P><font size="2" face="verdana"><SUP>13</SUP> Main Profile. O</font><font size="2" face="verdana">riginal en idioma ingl</font><font size="2" face="verdana">&eacute;s. Referido a uno de los perfiles definidos en el Est&aacute;ndar. </font></p>     <P><font size="2" face="verdana"><SUP>14</SUP></font><font size="2" face="verdana">CAVLC. Por sus siglas en ingl&eacute;s: Context Adaptive Variable Length Coding. </font></p>     <P><font size="2" face="verdana"><SUP>15</SUP></font><font size="2" face="verdana">CABAC. Por sus siglas en ingl&eacute;s: Context Adaptive Binary Arithmetic Coding. </font></p>     <P><font size="2" face="verdana"><SUP>16</SUP></font><font size="2" face="verdana">PLB. Por sus siglas en ingl&eacute;s: Processor Local Bus. </font></p>     <P><font size="2" face="verdana"><SUP>17</SUP> MMU. Por sus siglas en ingl&eacute;s: Memory Management Unit. </font></p>     <P><font size="2" face="verdana"><SUP>18</SUP></font><font size="2" face="verdana">APU. Por sus siglas en ingl&eacute;s: Auxiliary Processor Unit. </font></p>     <P><font size="2" face="verdana"><SUP>19</SUP></font><font size="2" face="verdana">GCC: Por sus siglas en ingl&eacute;s: GNU Compiler Collection. </font></p>     <P><font size="2" face="verdana"><SUP>20</SUP></font><font size="2" face="verdana">MVC:</font><font size="2" face="verdana">Por sus siglas en ingl&eacute;s: MultiView Video Coding. </font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><strong><font size="3" face="verdana">REFERENCIAS</font></strong></p>     <P>&nbsp;</p>     <!-- ref --><P><font size="2" face="verdana">1.     HANZO, L. CHERRIMAN, P. STREIT.J.:  Video Compression and Communications.    Second Edition. Ed. John Wiley &amp; Sons, Ltd. West Sussex, Gran Breta&ntilde;a 2007.     </font></p>     <!-- ref --><P><font size="2" face="verdana">2.     WANG, YAO: &#171;Video Processing &amp; Communications&#187;. Polytechnic Institute of NYU. Brookling, NY11201.     </font></p>     <!-- ref --><P><font size="2" face="verdana">3.     GAO, WEN. READERS, CLIFF. WU, FENG. HE, YUN. YU, LU. LU, HANQING. YANG, SHIQIANG.    HUANG, TIEJUN. PAN, XINDE.: &#171;AVS- The Chinese Next-Generation Video Coding Standard&#187;    . </font></p>     <!-- ref --><P><font size="2" face="verdana">4.     HUANG, TIEJUN. MA, SIEWI.: &#171;AVS-The Video Coding Standard for DTV and Other Applications&#187;    China-Cuba Primer Foro Internacional de Televisi&oacute;n Digital. La Habana, Cuba, marzo 20, 2013.     </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><P><font size="2" face="verdana">5.     RICHARDSON, IAN E.: The H.264 Advanced Video Compression    Standard. Second Edition.Ed. John Wiley    &amp; Sons, Ltd. Wiltshire, Gran Breta&ntilde;a, 2010.     </font></p>     <!-- ref --><P><font size="2" face="verdana">6.     XILINX: &#171;Virtex-5 FPGA Embedded Processor Block with PowerPC 440 Processor (v1.01a)&#187;. Julio 2011.     </font></p>     <!-- ref --><P><font size="2" face="verdana">7.     IBM MICROELECTRONICS DIVISION: &#171;The PowerPC 440 Core.    A High-performance, superscalar processor core for embedded application&#187;. 1999.     </font></p>     <!-- ref --><P><font size="2" face="verdana">8.     XILINX: &#171;Virtex-5 FPGA Embedded Processor Block with PowerPC 440 Processor (v1.01a)&#187;. Julio 2011.     </font></p>     <!-- ref --><P><font size="2" face="verdana">9.     JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG &amp; ITU-T VCEG: &#171;H.264/14496-10 AVC Reference Software Manual&#187;. Junio 2009.    </font></p>     ]]></body>
<body><![CDATA[<P>&nbsp;</p>     <P>&nbsp;</p>     <P><font size="2" face="verdana">Recibido: Julio 2014     <br>   Aprobado: Septiembre 2014</font></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[HANZO]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[CHERRIMAN]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[STREIT]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<source><![CDATA[Video Compression and Communication]]></source>
<year>2007</year>
<edition>Second</edition>
<publisher-name><![CDATA[Ed. John Wiley & Sons, Ltd. West Sussex]]></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[WANG]]></surname>
<given-names><![CDATA[YAO]]></given-names>
</name>
</person-group>
<source><![CDATA[Video Processing & Communications]]></source>
<year></year>
<publisher-loc><![CDATA[Brookling ]]></publisher-loc>
<publisher-name><![CDATA[Polytechnic Institute of NYU]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GAO]]></surname>
<given-names><![CDATA[WEN]]></given-names>
</name>
<name>
<surname><![CDATA[READERS]]></surname>
<given-names><![CDATA[CLIFF]]></given-names>
</name>
<name>
<surname><![CDATA[WU]]></surname>
<given-names><![CDATA[FENG]]></given-names>
</name>
<name>
<surname><![CDATA[HE]]></surname>
<given-names><![CDATA[YUN]]></given-names>
</name>
<name>
<surname><![CDATA[YU]]></surname>
<given-names><![CDATA[LU]]></given-names>
</name>
<name>
<surname><![CDATA[LU]]></surname>
<given-names><![CDATA[HANQING]]></given-names>
</name>
<name>
<surname><![CDATA[YANG]]></surname>
<given-names><![CDATA[SHIQIANG]]></given-names>
</name>
<name>
<surname><![CDATA[HUANG]]></surname>
<given-names><![CDATA[TIEJUN]]></given-names>
</name>
<name>
<surname><![CDATA[PAN]]></surname>
<given-names><![CDATA[XINDE]]></given-names>
</name>
</person-group>
<source><![CDATA[AVS- The Chinese Next-Generation Video Coding Standard]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HUANG]]></surname>
<given-names><![CDATA[TIEJUN]]></given-names>
</name>
<name>
<surname><![CDATA[MA]]></surname>
<given-names><![CDATA[SIEWI]]></given-names>
</name>
</person-group>
<source><![CDATA[AVS-The Video Coding Standard for DTV and Other Applications]]></source>
<year>marz</year>
<month>o </month>
<day>20</day>
<publisher-loc><![CDATA[La Habana ]]></publisher-loc>
<publisher-name><![CDATA[China-Cuba Primer Foro Internacional de Televisión Digital]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[RICHARDSON]]></surname>
<given-names><![CDATA[IAN E.]]></given-names>
</name>
</person-group>
<source><![CDATA[The H.264 Advanced Video Compression Standard]]></source>
<year>2010</year>
<edition>Second</edition>
<publisher-name><![CDATA[Ed. John Wiley & Sons, Ltd. Wiltshire]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[RICHARDSON]]></surname>
<given-names><![CDATA[IAN E.]]></given-names>
</name>
</person-group>
<person-group person-group-type="editor">
<name>
</name>
</person-group>
<source><![CDATA[Virtex-5 FPGA Embedded Processor Block with PowerPC 440 Processor (v1.01a)]]></source>
<year>Juli</year>
<month>o </month>
<day>20</day>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[RICHARDSON]]></surname>
<given-names><![CDATA[IAN E.]]></given-names>
</name>
</person-group>
<person-group person-group-type="editor">
<name>
</name>
</person-group>
<source><![CDATA[The PowerPC 440 Core. A High-performance, superscalar processor core for embedded application]]></source>
<year>1999</year>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[RICHARDSON]]></surname>
<given-names><![CDATA[IAN E.]]></given-names>
</name>
</person-group>
<person-group person-group-type="editor">
<name>
</name>
</person-group>
<source><![CDATA[Virtex-5 FPGA Embedded Processor Block with PowerPC 440 Processor (v1.01a)]]></source>
<year>Juli</year>
<month>o </month>
<day>20</day>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[RICHARDSON]]></surname>
<given-names><![CDATA[IAN E.]]></given-names>
</name>
</person-group>
<person-group person-group-type="editor">
<name>
</name>
</person-group>
<source><![CDATA[H.264/14496-10 AVC Reference Software Manual]]></source>
<year>Juni</year>
<month>o </month>
<day>20</day>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
