jueves, 22 de febrero de 2007

Artículo: A 3D Character Animation Engine for Multimodal Interaction on Mobile Devices

Resumén esquemático del artículo A 3D Character Animation Engine for Multimodal Interaction on Mobile Devices.

El artículo trata de la implementación de un motor para representar animaciones en un teléfono móvil. Al ser del año 2005 el trabajo no se utilizó el estándar OpenGL-ES, sino que se programó un sistema de representación en 3D partiendo de cero, sobre plataforma Symbian.

Lo más interesante de lo que habla es sobre una desconocida parte del estándar de animación MPEG4 (el que se usa en los vídeos DivX) que se centra en la animación de caras o bustos parlantes. Se parte de tres nociones básicas:

  • Feature Points (FP): Son una serie de puntos clave de la cara para hacer gestos, como el centro de los ojos, los bordes de los labios y de las cejas, la punta de la nariz y de la barbilla, y así hasta 84.

  • Rostro neutral: Es una cara de referencia, a partir de la que se describen los movimientos de los diferentes elementos. En el rostro neutral la boca está cerrada, la mirada dirigida perpendicular al plano de la pantaya, y las cejas perpendiculares al iris.

  • Facial Animation Parameteres (FAP): Son los responsables de describir los movimientos básicos de la cara, tanto a bajo como a alto nivel. El estándar define 66 de bajo nivel y 2 de alto nivel.

A partir de estos tres elementos, se puede describir cualquier animación de la expresión de la cara especificando mediante los FAP los movimientos respecto a la cara neutral. Se pueden encadenar muchas de estas variaciones en un flujo que puede transmitirse haciendo un uso muy eficiente del ancho de banda. Al ser los puntos de referencia independientes del modelo de la cara, una misma animación puede servir para distintos personajes sintéticos.


La siguiente parte del artículo habla sobre la estructura interna del motor de animación, que básicamente viene a ser un decodificador de flujos FAP, dividido en varios bloques o módulos encargados de calcular la animación de la malla del modelo, representarla en pantalla y sincronizarla con el flujo de datos de audio.


A continuación en el artículo se hacen varias medidas de renidimiento, midiendo en distintos modelos de teléfono móvil el número de FPS conseguidos para modelos de varias complejidades (número de polígonos).


Para terminar, se propone una aplicación para el motor, que es un lector animado de mensajes SMS. El servidor que lo recibe decodificaría el texto en audio y en los gestos de la cara al pronunciarlo, y generaría un mensaje multimedia (MMS) con la animación completa.

No hay comentarios: