Wednesday, April 20, 2011

OpenGL ES 1.x and 2.X


Intel platforms, the new BCM chipsets and STM chipsets all now support OpenGL ES 2.x. It seems 2011 is the year 3D graphics become a reality in the TV industry, at least for those of us working in the industry. The consumer will most likely see effects of this en masse in 2012.

Now, as detailed in my previous article, OGL-ES 2.X and 1.X are practically different languages, requiring very different approaches to coding. Infact I would say OGL-ES 2.X onwards require graphics programmers. However OpenGL-ES 1.X requires no such expertise and is infact "obvious".

The good news is that OGL-ES 2.X chipsets are backward compatible. This means OGL-ES 1.X is easy to use on these new chipsets.

In a recent trial in my office a programmer who had never programmed graphics before, started with OpenGL 1.X and within 2 weeks had a full 3D user interface running on a set top box with smoothly scaled and moving video, smooth animations. Better yet, he had done it to a 3rd party spec (and so had a precise design to master). 30 fps HD resolution, scaling and moving video, 3D user interface.

The conclusion? Any competent programmer can have modern user interfaces running in a short time on set tops.

Youview Graphics Specification

Youview, the renamed Project Canvas is not a bad specification. Its obvious it has been created with considerable real world experience of key areas that need to be defined for a broad purpose hybrid platform. The specification can be downloaded at the resources site. Covering areas of hardware and software I was naturally curious what it has to say about graphics.

To summarise:
  • Blitter graphics required (filled boxes, scaled images, alpha blending)
  • RGBA8 and RGBBA4 formats
  • DirectFB acceleration
  • MHEG mandated
For a spec that must target as many entry level platforms as possible, it seems to make sense. Keep the platform cheap and single chip. Reduce memory requirements. Still no requirement for vector acceleration or 3d. The most the spec is brave enough to say is that OpenGL (or OpenVG) could be used.

Yet, for a spec that is scheduled to launch in 2012, its a little worrying. Iphone 5 (q1?), ipad 2, Samsung Galaxy (2?) are all going to be available and competing for business, not to mention other smart phones, tablets and laptops. There seems to be no model for device capability discovery, effectively preventing an apps store model exploiting higher spec hardware, for encouraging games on STBs for example. The spec several times mentions FLASH applications, though its obvious FLASH cannot run well on this platform.

We have seen time and again in the DTV world in Europe that if something is not mandated, it does not happen. If Youview succeeds in its ambitions to become a European wide platform for hybrid content delivery, graphics on DTV will fall two to three generations behind competing devices in Europe.

Augmented Reality TV Graphics

With the advent of smart phones and pad type devices, augmented reality is becoming, ahem, a reality. Augmented reality is the idea that a screen is held infront of a something you are looking at in the real world and the screen projects an aimge of that thing and adds some (3d) graphics to it.

In the TV world, Kia have jumped on this and produced adverts.



Infact simpler approaches can be used and a logo on screen can cause a companion screen , when pointed at the logo, to run certain advertising, whcih does not have to match exactly what is on screen. A similar idea is seen here for Superbowl.



Now the ideas start to come thick and fast.
It would be possible to "zoom reality" by simulcasting broadcast and IP signals and having a device zoom the IP stream while the TV plays the live broadcast. If placed correctly in augmented reality, this would seem to zoom the TV image but maintain quality. All sorts of things arise from this...

* A ball in a football match could be highlighted on the companion device held infront of the viewer.
* Character names could be added above the characters
* Face tracking and subtitles could be used to place speech bubbles next to charcaters
* Adverts could suddenly spring from objects on the screen (clothing, jewelry etc)
* You could even carry your favourite TV clips on your t-shirt...



The possibilities are endless...