ir a inicio...

Proyectos de investigación y tesis en Ingeniería y Ciencias Informáticas

Codec para reuniones virtuales

Diseño y desarrollo de un codec original para reuniones virtuales con exportación del Desktop a participantes remotos.

Contexto

El proyecto comprende el diseño y desarrollo de un componente para la ejecución de reuniones virtuales por Internet donde una participante puede exportar su Desktop a los demás participantes de la reunión.

En particular, el software será un codecs adaptativo para transferencia de Desktop en las reuniones virtuales del software neos 2.

El software Neos para reuniones virtuales

Neos es una plataforma para reuniones virtuales para organizaciones. Está pensado para el uso de los equipos distribuidos en su trabajo diario, con una dinámica donde las reuniones pueden ser programadas o espontáneas sumando personas y herramientas a una sesión. Las principales herramientas interactivas son presencia y chat, intercambio de archivos, presentaciones a distancia, pizarra digital compartida, voz por Internet, anotador personal en las reuniones. Neos ofrece infraestructura singular para entrelazar los servicios interactivos en la sistemas de información de la organización, almacenar, clasificar y recuperar las sesiones "tal como ocurrieron" para cumplimiento regulatorio y gestión del conocimiento.

El proyecto

Se trata de diseñar y construir un Codec adaptativo diseñado específicamente para la transferencia de desktop entre usuarios remotos dentro de una reunion virtual. Incluye

1) Análisis y Diseño: Identificar los casos de uso más frecuentes de una aplicación en cuanto a gráfica. determinando factores como: - Utilización de colores (cantidad y distribución). - Requerimiento visual de la aplicación, se debe preservar el contraste para facilitar la lectura (texto o diagramas) o es de tipo fotográfico (donde es más importante la preservación de color) ?. - Variación en el tiempo de la pantalla. Estática, variación erratica (video) o variación ordenada (scrolling: MS Word, web browsers) ?

Ponderar el uso de cada grupo de aplicaciones identificados en el punto anterior. Muestreo en una serie de usuarios potenciales de application sharing. Sensar usuarios de aplicaciones de tipo CAD, powerpoint, fotos, paginas web etc. Tomar capturas de las aplicaciones utilizadas, analizarlas y clasificarlas.

Establecer el orden de importancia de cada uno de los tipos basado en la frecuencia de uso. 2) Desarrollar los codecs para cada caso, basandose en las hipótesis establecidas previamente. 3) Diseñar y desarrollar un modelo estadístico de analisis del flujo de datos que determine cuando es conveniente cambiar el método de compresión. Esto puede ser realizado mediante el análisis de las imágenes, ineficiencia del codec actual (baja compresión) etc. De esta manera crear un codec definitivo que sea adaptativo y combine las capacidades de cada uno de los creados anteriormente.

4) Implementar en el cliente neos

5) Trabajo final de testing y benchmarking con codecs y aplicaciones existentes

Requisitos

  • Muy buenos conocimientos de Diseño Orientado a Objetos
  • Buenos conocimientos de Teoría de las comunicaciones y Teoría de la Información
  • Dominio de Programación con threads
  • Conocimientos de desarrollo con C++ para Windows o Linux
  • Deberán tener o adquirir durante el proyecto conocimientos de SIP, RTP, y Codecs de audio, video, imágenes y textos.

Qué es un Codec ?

"A codec is a device or program capable of performing encoding and decoding on a digital data stream or signal. The word codec may be a combination of any of the following: 'Compressor-Decompressor', 'Coder-Decoder', or 'Compression/Decompression algorithm'.

Codecs (in the modern, software sense) encode a stream or signal for transmission, storage or encryption and decode it for viewing or editing. Codecs are often used in videoconferencing and streaming media applications.

A video camera's analogue-to-digital converter (ADC) converts its analogue signals into digital signals, which are then passed through a video compressor for digital transmission or storage. A receiving device then runs the signal through a video decompressor, then a digital-to-analogue converter (DAC) for analogue display. A "codec" is a generic name for a video conferencing unit.

An audio compressor converts analogue audio signals into digital signals for transmission or storage. A receiving device then converts the digital signals back to analogue using an audio decompressor, for playback."

Codec para reuniones virtuales
Diseño y desarrollo de un codec original para reuniones virtuales con exportación del Desktop a participantes remotos.
FileSystem distribuido para servicios de Internet masivos
Diseño y desarrollo de un pseudo File System distribuido (llamado JuanjoFS) que provea servicios de versionado, transaccionalidad atómica y sincronización automática.
Softphone multiplataforma
Infraestructura para telefónos por software Open Source con un alto grado de robustez y eficiencia en el ruteo del audio, con integración a productos de colaboración interactiva permitiendo que las sesiones de conversación se graben, clasifiquen, organicen y accedan como parte de los sistemas de información de la organización. El proyecto comprende el desarrollo de una librería de comunicaciones para un Softphone SIP y un cliente SoftPhone.
Framework para telefonía IP en Erlang
Cada vez más, y en especial a partir de los grandes servicios en la Internet, el software requiere la ejecución concurrente de muchos procesos. Erlang es un lenguaje funcional que, en la tradición de Lisp, ofrece un paradigma nuevo para el desarrollo de software concurrente, mucho más simple y escalable que los lenguajes tradicionales como C++, Java y C#. Los beneficios principales de desarrollar con Erlang es simplificar muchísimo la solución de problemas tales como los sistemas de Internet donde acceden decenas o cientos de miles de personas a aplicaciones distribuidas con alta disponibilidad. El proyecto es hacer un framework que permitirá el desarrollo de aplicaciones que hagan uso de los sistemas de telefonía IP más importantes muy fácilmente.