Adobe CS5, Mercury playback engine y Nvidia

Desde hace ya un tiempo los chip gráficos (GPU) son más grandes y potentes que los procesadores principales de los equipos (CPU). Por ejemplo, la GPU de Nvidia GT200 (comercializada en los productos GeForce GTX260 y GTX280) tienen 1,4 billones de transistores y un consumo a plena carga de unos 260 W. Por contra una CPU como el Core i7 de Intel (Nehalem) sólo tiene 781 millones de transistores (muchos de los cuales pertenecientes a una generosa cache L3 de 8 MB, o sea, no usados para el cálculo) y un consumo mucho menor. Toda esta potencia de cálculo estaba casi exclusivamente reservada para el software de juegos 3D (el motor del desarrollo gráfico de la última década), ya que muy pocas otras aplicaciones hacen uso de ella, si exceptuamos el reducido y especifico campo del diseño asistido por ordenador (CAD) y del soft de corrección de color de alto nivel. Incluso con el uso del lenguaje gráfico OpenGL, que auxilía al software gráfico en la visualización de gráficos 3D (geometría, materiales, luces, etc) y operaciones 2D (desplazamiento, reescalado, rotaciones, etc), liberando a la CPU de estas tareas, la utilización de la tarjeta gráfica es poco más que subóptima. El término GPGPU (General-purpose computing on graphics processing units, o procesamiento de propósito general en chips gráficos) se acuño para denominar el conjunto de aplicaciones que intenta utilizar esta potencia de cálculo no aprovechada. No en vano la tarjeta gráfica con GPU esta presente en la gran mayoría de los equipos de sobremesa, es un elemento de serie, no un extra. Aunque no todos los problemas se pueden beneficiar del cálculo por GPU.
Para la próxima suite de edición de video y postproducción CS5, Adobe tomó la decisión de desarrollar las aplicaciones principales (Premiere Pro y After Effects) sólo para sistemas de 64 bits (Windows 7 y OSX 10.6), a lo que añade ahora la utilización de tarjetas gráficas con soporte CUDA, el entorno de desarrollo para computo GPGPU de Nvidia (lo que no deja de sorprender ya que en el segmento profesional Nvidia domina claramente con un porcentaje cercano al 90% con sus tarjetas Quadro). Más información aquí en esta página oficial de Adobe. El Mercury playback engine, basado en CUDA, es capaz de reproducir varias capas de vídeo en HD y 4K simultáneamente con varias correcciones de color, filtros y reescalados aplicados, en tiempo real. Como suena, es mejor que lo vean Vds mismos en acción en el avance presentado por Dave Helmly en Adobe.tv. Esta nueva tecnología empieza ya a nombrarse como game changer, el término anglosajón que denomina el elemento decisivo que provoca un cambio, en este caso de tendencia en el panorama general de la videoedición. Pero de momento no dejan de ser especulaciones, ya que si bien manifiesta bastante potencial, habrá que esperar hasta su salida, prevista para el próximo abril. Y a partir de ahí ver como evoluciona.
Donde si habrá repercusiones, e importantes, será para la base de usuarios de Adobe. Por lo pronto quedan fuera las tarjetas de AMD, ya que no soportan CUDA. Entre los requisitos ya publicados puede verse el soporte, de momento, de pocas tarjetas: la GeForce GTX285 y las Quadro CX/4800/5800, una tarjeta de “juegos” (relativamente asequible) y tres profesionales, mucho más caras. El soporte CUDA también tendrá repercusiones para los usuarios de Adobe en la plataforma Mac. Si bien la GeForce GTX285 y la QuadroFX 4800 son soportadas en OSX, la implementación de CUDA es solo de 32 bits, y al ser los controladores obra de Apple, mucho me temo que el rendimiento no será el mismo que en Windows. Sobre este respecto pueden leer un interesante artículo en Ars Technica: A second look at the Nvidia Quadro FX 4800 Mac Edition.
Otro punto importante será el papel de las tarjetas de vídeo (I/O) de terceros (Matrox, Blackmagic y Aja, principalmente), que tendrá que cambiar. Hasta ahora la edición de vídeo (sobre todo HD) era una tarea que demandaba mucha potencia de hardware, potencia suplida por estas tarjetas aceleradoras y con interfaces adecuadas (componentes, SDI, etc), pero el hardware informático es cada día es más potente. David Newman, CTO de Cineform, creadores del motor acelerador PropectHD por software, ya lo indicaba hace poco: "No estamos haciendo el disparatado nivel de integración del pasado con Prospect, ya que la nueva API [se refiere a la versión CS4] no lo va a apoyar, ni los ordenadores actuales justifican la mejoras que tuvimos que hacer en el pasado para hacer que Premiere trabajará mejor. Sabemos que algún día Premiere + un PC moderno estarán en un punto donde no se necesitará ninguna aceleración de terceros y estamos planeando en función de este hecho" (DVinfo.net, 9 de noviembre de 2009). Más claro imposible. Además, cada vez son más populares los formatos basados en fichero (MXF, Sony XDCam, Redcode, raw, etc) que no necesitan de captura por medio de una tarjeta. Estos fabricantes también incluyen su propio motor de reproducción mediante hardware (Axio, RT.X2, Decklink, Xena) complementando el nativo de Adobe. Queda por ver como se podrán complementar con el nuevo motor Mercury. En este sentido el temprano anuncio deberá facilitar la puesta al día de las soluciones de estos fabricantes, al contrario de lo que paso con el lanzamiento de Premiere CS4, que cambio su API (funciones y procedimientos que permiten su utilización por terceros) al parecer sin previo aviso. Y facilitar también la migración de los usuarios, que duda cabe.
Otro punto de estas tarjetas es la salida de monitor que proporcionan, tanto en compuesto, componentes y ahora HDMI (en un nivel asequible) como por SDI para la alta gama. Factor éste importante para una correcta visualización del material editado y su corrección de color. Pues bien, las tarjetas gráficas que soportarán el Mercury también disponen de salida HDMI y DisplayPort (ambas interfaces con 10 bits) pudiendo por tanto proporcionar perfectamente una salida de monitor de calidad. La gama profesional QuadroFX también dispone de una tarjeta auxiliar con salida SDI (RGB 4:4:4 hasta 12 bits) pero a un precio realmente altísimo. No entiendo como Blackmagic, por ejemplo, puede comercializar una tarjeta con entradas/salidas SDI por 300 $ y la tarjeta SDI de Nvidia costar unos 4.000 $. Claro que Nvidia no tiene competencia en este campo y provee a un mercado minoritario y con grandes presupuestos, así que sólo cabe esperar que al acceder a un mercado más amplio bajen el precio.
Si bien en el sector profesional broadcast y de cine digital la interfaz SDI todavía tiene mucha importancia (Sony HDCAM SR, salida 4:4:4 sin compresión en cámaras de vídeo y cine digital, monitorizado para corrección de color de alto nivel, etc), a un nivel más asequible, donde no sea necesario salida SDI, una Quadro FX4800 con DisplayPort puede también proporcionar una excelente monitorización, junto con el monitor HP Dreamcolor (LP2480zx), por ejemplo.
También para los usuarios de la cámara RedOne tendrá repercusiones. Hace poco lanzaron al mercado su tarjeta Red Rocket (4.750 $) para decodificar (debayering) en tiempo real los ficheros R3D 4K, además de proporcionar visualización 4K vía DVI y 2K vía DualLik SDI. Pues bien, por lo visto en el avance presentado por Adobe una tarjeta GTX285 (unos 300 €) puede hacer prácticamente lo mismo, si exceptuamos la salida SDI. Sin comentarios.
Precisamente, esta capacidad de realizar el demosaicing en tiempo real de los ficheros 4K de la RedOne me hace pensar que también podrá hacer lo mismo con el formato raw cinemaDNG, proporcionando a este formato la posibilidad de edición nativa y en tiempo real, sin necesidad de transcodificar a otro códec, como pasa actualmente.
Es posible que Premiere Pro CS5, nativo 64 bits y con su revolucionario motor, sea una apuesta ganadora. Pero con que sólo consiga olvidar a los usuarios de Adobe el mal sabor de boca de la versión actual, ya será un éxito.
muy interesante y muy buen articulo. como siempre es un placer leer los articulos de esta pagina. un saludo y feliz Navidad
ResponderEliminarGracias Pedro. Encantado de verte por aquí. Feliz año nuevo.
ResponderEliminarAñadir que la QuadroFX 3800 se ha añadido a la lista de tarjetas certificadas por Adobe.
ResponderEliminarPágina de Nvidia con información y ejemplos:
ResponderEliminarhttp://www.nvidia.com/object/adobe_mercury_playback_engine.html
Hola, Manuel felicidades por el blog.
ResponderEliminarUna preguntilla ¿donde has visto que la tarjeta nvidia gtx 285 este soportada?
Un saludo
Hola, pasate por esta página: http://www.adobe.com/products/creativesuite/production/performance/
ResponderEliminarOye, y las tarjetas de portatiles quadro por qué no son compatibles? Es esta lista muy cerrad o se abrirá en el futuro? Tengo una nueva quadro M3800 y me fastidia no poderla usar con mi portatil para el premiere por problema de drivers.
ResponderEliminarA partir del lunes (presentación del CS5) habrá más información sobre que tarjetas serán soportadas. De todas formas el Premiere CS5 siempre lo podras usar sin aceleración de hardware.
ResponderEliminarMuy buen articulo.. felicidades
ResponderEliminar