MAR, 5 / JUL / 2011

NESTOR: Todo lo que querías saber sobre el códec contestado por sus creadores

Los onomásticos de los códecs lograron mayor repercusión que la calidad del desarrollo. Esa y otras cuestiones son explicadas por Mario Mastriani. Mario Mastriani, a cargo del proyecto, responde en exclusiva todas las dudas sobre el desarrolo argentino del que habló todo el ciberespacio: el primer encoder de video para redes de fibra del mundo.

En virtud de la resonante repercusión nacional e internacional que ha tenido la nota en RedUsers del día 14 de junio del corriente, acerca del codec de video que hemos desarrollado, y consecuentemente con esto los innumerables foros y medios periodísticos que se han hecho eco del tema, tanto locales como foráneos, me veo en la obligación de hacer ciertas aclaraciones, las cuales considero pertinentes.

Hace cosa de dos años fuimos convocados conjuntamente con miembros de otras seis unnexiversidades a una serie de reuniones tendientes a poner en nuestro conocimiento la idea que tenía el gobierno acerca de que un grupo de universidades desarrollara software para la nueva TV Digital, específicamente, la TV Digital Abierta, modalidad Terrestre.

A cada universidad se le dio la oportunidad de que hiciera una presentación (proyecto) referente a su área de experiencia, de manera tal de poder contribuir con la mayor eficiencia posible a la causa.

En virtud de esto, y como director del Laboratorio de Imágenes y Señales (LIS) perteneciente al Sistema NeoTVlabs/CPA/UVT de la Universidad Nacional de Tres de Febrero (UNTreF) formulé una propuesta concerniente al mejor aprovechamiento del ancho de banda, tanto para transmisiones 576p, 720p y 1080i como así también, referente a TV Real 3D y multi-view, así como sus posibilidades de implementación gracias al empleo de catalizadores de compresión, es decir, una serie de técnicas de nuestra absoluta autoría, las cuales permiten que un video sea más y mejor comprimido por el códec que finalmente lo comprime (por ejemplo, MPEG2, H.264, VP8, otros) que si dicho catalizador no fuera usado.

Link: http://pmcg.minplan.gov.ar/html/eventos/presentacion_universidades/untref.php

Se adjuntan papers indicando la originalidad de la línea de investigación. Dado que el acceso a la versión electrónica de los journals donde fueron publicados es paga y restringida, adjunto las separatas de dichos papers directamente, como así también la tesis a la cual están asociados.

En la mencionada tesis, se desarrollan las técnicas de catalización de compresión para el caso intra-frame de los videos a los cuales se aplica.

En una segunda fase de exploración de estas técnicas nóveles, ponemos a la catalización en un contexto de supercompresión, es decir, sobre-compresión o compresión adicional a la realizada por el codec de la eventual norma, la cual implica cuatro papers adicionales.

Ídem al caso anterior, es decir, dado que el acceso a la versión electrónica de los journals donde fueron publicados es paga y restringida, adjunto las separatas de dichos papers directamente.

Dado el éxito de este trabajo, fuimos convocados nuevamente y conjuntamente con otras dos universidades más por una “Comisión ad-hoc” (constituida por empresarios, miembros de sindicatos, asesores de varias empresas, miembros de varias agencias federales, ONGs, etc) a los efectos de generar servicios y soluciones para un mejor aprovechamiento de la red óptica nacional en construcción conocida como “Argentina Conectada”.

Dicho comité nos presentó su propuesta, la cual consistía en la necesidad de desarrollar un códec de video, otro de audio, un datastream/middleware (plataforma sobre la que se montan aplicativos de interactividad) y una norma que protocolizara y diera marco a transmisiones de muy alta resolución, es decir, 4K (3840x2160p) y 4K-3D (3840x2160p-3D), además de transmisiones de Cine Digital, video-on-demand y servicios de Telemedicina.

Esto resultaba del hecho de que dado que Brasil (por primera vez en la historia de ambos países) nos ganó en una carrera tecnológica (a saber: Argentina construyó aviones mucho antes que Embraer, Argentina construyó centrales nucleares mucho antes que Brasil, Argentina construyó cohetes mucho antes que Brasil, Argentina construyó satélites mucho antes que Brasil, Argentina construyó radares mucho antes que Brasil, Argentina enriqueció uranio antes que Brasil, etc.).

Concretamente, la carrera a la que me refiero es aquella por definir una norma de TV Digital HD, y en la cual Brasil nos ganó, y que es un aggiornamiento de la norma japonesa ISDB-T y que es conocida como ISDB-Tb. Por lo tanto, la idea era apresurarse a protocolizar lo antes posible todo lo referente a “Argentina Conectada”, dado que al mismo tiempo Brasil está construyendo “Brasil Conectado”, sobre la cual se transmitirán las imágenes del Mundial de Fútbol Brasil 2014 en 4K-3D, para el que esté en capacidad técnica de reproducirlas.

Links:

De hecho, dentro de pocos meses “Argentina Conectada” y “Brasil Conectado” se tocarán a la altura de la provincia de Misiones.

Motivados con la idea de que nuestro país no perdiera nuevamente el liderazgo en esta área, decidimos aceptar la propuesta. No obstante, el combo completo consistía (lo reitero a riesgo de aburrir) en construir un códec de video, otro de audio, el datastream/middleware y la norma, a lo que objetamos que solo nos encargaríamos del códec de video, para este entonces las otra dos universidades se habían retirado.

Entre tires y aflojes llegamos a un acuerdo mediante el cual nosotros haríamos el códec de video y un add-on para el códec de audio (dado que la UNTreF es una de las tres universidades de América Latina con Ingeniería en Sonido), mientras que sugeriríamos la universidad que se encargaría de la parte de interactividad (lo cual no es ni de cerca la especialidad del personal del LIS) y la norma sería desarrollada en conjunto por todas las partes. Finalizadas las rondas de conversaciones nos presentaron los nombres de los codecs y demás, los famosos nombres o designaciones de divulgación, es decir, NESTOR, KRIS y MAXFLOW, los cuales implicaban la onomástica de cada sub-proyecto, y que rotulaban las carpetas que nos entregaron.

Para la información del gran público, debemos aclarar esto a los efectos de no asignarnos los nombres puesto que en el ámbito científico (que es el único en el que nos movemos) no significan nada, pero en el extra-científico imagino que es muy importante para el posicionamiento de la gente que se tomó el trabajo de crearlos. Por eso, y al solo efecto de no plagiar su creación es que lo aclaro en particular y de paso contesto una pregunta recurrente en infinidad de foros del país y el exterior. Como lo dije en la nota, esos nombres son un homenaje, aprovecho para aclarar que de la gente del comité que los creó, y que nosotros no formamos.

Por otra parte, es cierto que los codecs reciben durante su vida útil una serie de nombres. Por ejemplo el caso del tan mentado H.264 que usa la norma ISDB-Tb (en vigencia en Brasil y Argentina), a saber:

  1. El dado por sus científicos creadores, es decir: Advanced Video Coding (AVC)
  2. El dado por el consorcio MPEG, es decir: MPG-4 Parte 10
  3. El dado por la Unión Internacional de Telecomunicaciones (ITU), es decir, H.264

Pero jamás en mis 22 años de trayectoria en Compresión de Imágenes, Señales y Video oí hablar de la onomástica de divulgación de un códec. (Adjunto mi CV)

En este punto, es importante aclarar que como se puede ver en todo el material adjunto nuestra línea de investigación se basa en un original uso de una herramienta Matemática/Computacional llamada wavelets (onditas), la cual fija inexorablemente los nombres científicos que nosotros le dimos, a saber:

Lossless Wavelets Coding (LWC): Codificación por onditas sin pérdidas

  • LWC-1: Para audio
  • LWC-2: Para still-images (imágenes fijas)
  • LWC-3: Para imágenes médicas seriadas (tomografías y resonancias) para usarse con DICOM 3.0
  • LWC-4: Para video 3D (un caso particular de multi-view, es decir, múltiples cámaras, por eso el 4 de 4 dimensiones manejadas simultáneamente)

Consecuente con esto, para nosotros, los científicos del LIS, la única diferencia entre LWC-1 y LWC-4 es el escalamiento dimensional, por lo que el algoritmo es esencialmente el mismo. Por lo tanto, en la onomástica de divulgación hay una contradicción, es decir, si el códec de video se llama NESTOR, debería llamarse NESTOR-4 y el de audio NESTOR-1. No obstante, el de video se llama NESTOR y el de audio KRIS, y a propósito, KRIS es Keeping Rate Inside Sound.

Honestamentem nunca entendí qué significa esto. ¿La tasa cuál? ¿La de compresión? ¿Dentro del sonido, dónde? ¿En el LSB de la codificación en PCM de las samples? ¿Insinúa una automaticidad de tasa de compresión a desplegarse en función de qué? ¿Y en dónde? ¿Hablamos de un comportamiento tipo gusano o robot? ¿O sea, el códec porta inteligencia? En fin, no sé.

Por otra parte, en el caso de MAXFLOW, la interactividad no es objeto de nuestro campo, por eso no me voy a extender al respecto, no resiste nuestro análisis.

Es más, sin ir más lejos, cuando uno habla de muy alta resolución, por ejemplo, 4K-3D, en realidad habla de 3840 x 2160p x 2 x 300-600 FPS, es decir, 3840 x 2160 pixeles por cuadro en barrido progresivo “p” x 2 (strereo, o sea, 3D) y con 300 a 600 cuadros por segundo (esto se hace, por cuanto a mayor resolución, mayor cantidad de cuadros se necesitan para eludir el blur), lo cual genera un volumen de información casi infinitamente superior al audio a transmitir (aunque se trate de audio 5.1 o 7.1).

Ergo, ¿para qué un códec de audio? ¿Qué aporta? Qué ahorra? Está claro que el combo que nos presentaron no tiene una motivación puramente técnica, y como las cosas mueren por el análisis …  De hecho, existe un formidable códec de audio lossless y freeware en Internet con sus APIs y SDKs para diferentes tipos de implementaciones. En definitiva, es por demás obvio que el jugo de la naranja esta exclusivamente en el códec de video. No obstante, lo prometido es deuda, por lo cual llegaremos hasta el final con lo pactado, como siempre ha sido nuestra costumbre, es decir, construimos también el códec de audio.

En otro orden de cosas, y a este respecto, el LWC-4 es putativamente lossless (es decir, sin pérdidas) y a nuestro juicio se impone una aclaración: nuestro códec es lossless por cuanto a tan altas resoluciones es evidente que se harían mucho más explícitas las secuelas de las pérdidas de un códec lossy (con pérdidas). Esto contesta otro aluvión de preguntas de los foros, especialmente uno de España. No obstante, y haciendo hincapié en el Informe 3 que adjunto, el LWC-4 puede trabajar lossy y con un dramático aumento de la tasa final de compresión, no obstante, hay que tener mucho cuidado con el empleo de los catalizadores, puesto que si estos son lossless deben ser abrigados por los codecs, en cambio si los catali-zadores son lossy, deben abrigar a los codecs (ver Fig.1 de dicho informe).

En total, nuestros desarrollos en el campo de la TV Digital son:

  1. Conversor 2D -> 3D para anaglífico y obturación, mediante el cual una transmisión de TV Digital originalmente 2D y con un LCD 2D se puede apreciar la sensación 3D (incluso autoestereoscópica)
  2. Transmisión de 1080p-3D sobre solo 6 segmentos de la norma ISDB-Tb (por primera vez en la historia). De hecho, solo Japón logró transmitir 1080i-3D pero usando los 6 MHz completos de ISDB-T y con una calidad cuestionable teniendo como códec a MPEG2
  3. Transmisión de más altas resoluciones hasta que se rompa la norma ISDB-Tb (i.e., test de stress)
  4. Transmisiones de 4K y 4K-3D sobre redes ópticas.

Estas pruebas se protocolizan en los informes:

En el Informe 1 se explica demasiado ligeramente como trabaja LWC-4 en forma de diagrama, por una cuestión de preservación de la propiedad intelectual, no obstante, deseo aclarar unas virtudes del LWC-4 que lo convierten por lejos en un nuevo paradigma en la historia de los codecs, a saber:

  1. Todos los codecs realizan 3 acciones que definen su funcionamiento: a) detección de escena, b) compensación de movimiento, y c) soporte a ROIs (Regiones de Interés). La compensación de movimiento se realiza por cuanto dentro de una misma escena se detecta qué está quieto y qué se mueve, y se codifica completo en el primer cuadro donde aparecen, del segundo en adelante se lo siguen con vectores objetos del módulo conocido como “compensación de movimiento”. Este módulo es el responsable del 80 % de la demora de una transmisión digital frente a su contraparte analógica. Muchos para el pasado mundial de Sudáfrica contrataron el servicio de cable digital y compraron el LCD, y cuando se hacía un gol se veía primero en el analógico y varios segundos después en el digital y se querían cortar las venas. De hecho, la demora para ISDB-Tb es de 4.5 segundos, mientras que en Europa es de 5.5 segundos con la norma DVB y códec MPEG2. Ahora Europa apuesta a su propio códec, el H.265 que está teniendo infinidad de problemas y que con suerte y super-emparchado verá la luz en el 2013. Finalmente, el soporte a ROI tiene que ver con identificar regiones de alta ergodicidad (luma similar de los pixeles de la región) para atacar la región con la compresión entrópica más apropiada.
  2. El LWC-4 no necesita detectar escena, ni compensar ningún movimiento y no requiere soporte de ROIs. Por qué?  Porque trabaja basado en un paradigma completamente nuevo. Convierte un conjunto de frames (cuadros) de la misma escena o no, en un nuevo conjunto de cuadros de la misma dimensión visualmente indistinguibles pero extremadamente comprometidos morfológica y posicionalmente los unos con los otros, es decir, de altísima información mutua inter-cuadro. Acto seguido se continúa con un procedimiento que elimina la información mutua inter-cuadro (la cual es sumamente alta) quedándose con la primera intacta y de la segunda en adelante primas lejanas de muy baja energía comparativa, las cuales se dirigen sin más al entropy encoding. El primer cuadro es dividido en mosaicos, los cuales se ordenan como un pan en fetas y a los cuales se le aplican el mismo procedimiento que a los cuadros grandes, razón por lo cual, de todo el pa-quete de cuadros (frames) nos quedamos con el primer mosaico del primer frame. El resto se codifica mediante entropy encoding. El mosaico mencionado se lo codifica con JPEG2000 o JPEG-LS.
  3. El precio que se paga por tan excepcionales resultados visuales lossless es un degenerado aumento de la complejidad computacional, la cual es abordada mediante dos herramientas: a) un formidable equipo de científicos computacionales que logran obtener la versión distribuida de cada algoritmo desarrollado, y b) el uso de las placas conocidas como GPGPUs.
  4. Otras dos importantísimas virtudes del LWC-4 frente a sus inexistentes competidores son: a) es lineal con respecto a la resolución y FPS, es decir, si la resolución del video y la cantidad de FPS se multiplica, sencillamente multiplique el poder de cómputo en GPGPUs, y b) es precisamente por esto, el primer códec de video low-latency, es decir, la latencia es independiente del volumen de información procesada y transferida.

Otro error conceptual de algunos foros que deseo esclarecer es el siguiente: hablan con mucha ligereza de que H.264 es open-source. Mucho cuidado muchachos, el algoritmo de un códec surge de un cónclave consensuado por intereses de todo tipo aunque fundamentalmente económicos y de las grandes corporaciones. Dicho algoritmo es abierto, lo que no lo es tanto, es su implementación en una tecnología, a saber:

Existen dos implementaciones en el mundo particularmente sobresalientes en calidad de H.264, una es la de X.264 liderada por un foro internacional con cabeza en Australia, y cuya implementación es puramente software, es decir, intangible, y existe otra que está más orientada a implementaciones en firmware en general y GPGPUs en particular y es la debida a la empresa alemana Main-Concept. Esta última es la mejor implementación de H.264 que existe, pero no es gratis. Cuando uno compra un encoder de por ejemplo una empresa japonesa para un canal de TV digital, parte de lo que lo paga es un gravamen que embolsa las arcas de Main-Concept. ¿Se entendió? Esta es la razón por la cual Europa decidió saltar de MPEG2 a H.265 (High Efficiency Video Coding, codec propio) para no tener que pagar royalties por H.264 a los dueños de la mejor implementación del algoritmo, que a la sazón son también europeos. ¿Se entiende?

En otro foro, señalan que hemos llamado códec a DVB-S2, la verdad que no sé dónde, y que está lleno en Argentina de grupos que programan en placas GPGPUs. Esto es de un foro local y me veo en la obligación de contestar:

  1. No señores, los grupos que hacen HPC en Argentina con GPGPUs no son tantos, y menos aún a tan alto nivel de aplicabilidad, dado que las placas GPGPUs que nosotros usamos no se compran en Galería Jardín, usamos en un mismo experimento de a 8 o 32 y cada una cuesta en el puerto de Bs. As. 6600 U$S o más, no voy a dar marcas ni modelos, solo diré que algunas son rackeables.
  2. A este respecto, para la prueba de 1080p-3D compramos 8 de estas placas e incluso una vez pagas tuvimos una ronda de videoconferencias con el cuartel general en USA a los efectos de convencer a los fabricantes de que no se emplearían en nada más peligroso que pruebas en TV Digital. Los que siguieron estas negociaciones, saben a qué me refiero. De hecho, debo viajar a USA en Octubre a los efectos de ampliar los argumentos dados por videoconferencia a instancias de no interrumpir el flujo de estas placas a nuestro laboratorio. Por eso, jóvenes de los foros, insisto, estas placas GPGPUs no son las que se compran en Galería Jardín.
  3. Toda la programación la realizamos en: Jacket 1.7, CUDA (hoy 4.0), OpenCL y NextStream. Este último es un maravilloso middleware que permite convertir la programación de estas placas en un juego de niños y es un desarrollo absolutamente nacional de la empresa Dixar Inc. S.A. Además permite manejar front-ends y back-ends para programadores Python, Java, C/C++, etc.

Estamos acondicionando un lugar físico (showroom) a los efectos de que delegaciones de distintas universidades que deseen utilizar nuestra tecnología puedan pasar a verla en vivo. Estamos acondicionando un servidor para que se puedan bajar la info completa (4.5 GBytes en inglés). A este respecto aclaro, que todo lo adjunto a esta nota está en español y constituye un porcentaje mínimo de todos los benchmarkings de las pruebas, por lo cual a los que lo piden le damos un DVD lleno con toda la info original, es decir, en inglés, cosa que en los foros a los que llegó también fue objeto de críticas. Muchachos, no hay nada que les venga bien.

Lamento, que la nota del 14 de junio haya salido tan rápido y que no la pudiéramos pulir un poco a los efectos de prever las observaciones que nos hicieron, y mediante las cuales mucha gente se vio afectada en su sensibilidad. También lamento que de todos los foros, blogs, programas de radio, TV, diarios y demás existan dos poblaciones muy bien definidas, no me refiero a oficialistas y oposición, sino a nacionales y extranjeros, dado que los primeros solo se engancharon con lo anecdótico, mientras que los segundos nos pidieron información, nos invitaron a conferencias (en todo el mundo), nos invitan a firmar convenios marco de cooperación, además de felicitarnos. Qué lástima que nosotros, los que creamos esto, nos hayamos quedado en lo accesorio.

–––

Dr. Ing. Mario Mastriani

Profesor Titular
Coordinador de la Carrera de Ingeniería en Computación (CIC)
www.untref.edu.ar/carreras_de_grado/ing_computacion.htm
Director del Laboratorio de Imágenes y Señales (LIS) del Sistema NeoTVLabs/CPA/UVT
www.cpa-untref.org
www.neotvlab.net
Universidad Nacional de Tres de Febrero (UNTreF)
www.untref.edu.ar

¡Comparte esta noticia!