Efika 5200B Project
Resolution Independent Rendering Engine for HDTVin category Hardware
proposed by likewise on 4th June 2006 (accepted on 7th October 2006)
Project Summary
Next generation computer GUI\'s are based fully on vector graphics rendered fonts, widgets, icons and windows. This is worthwhile because of todays high resolution screens, but the real benefit is that the content is resolution independent and can be displayed on whatever screen in its best representation.
For television broadcast graphics rendering, with the transition to HDTV, there is similar interest in this.
I would like to use existing vector rendering engine technology (cairographics.org, antigrain.com) and optimize this for the PowerPC platform, then measuring bottlenecks for subsequent offloading to hardware acceleration in custom logic (VHDL, FPGA) connected to the PowerPC bus. Then bring this available to broadcasters.
Typical applications are (vector based) logo insertion, high quality subtitle rendering using vector fonts, of-air metered representation and monitoring of signal qualities.
Project Blog Entries
posted by likewise on 15th November 2006
Drifting off today, getting acquinted with several PowerPC GNU toolchain build environments, I drifted off reading some of the Datasheets of current PowerPC processors.
It's good to see that between MPC5200 and the MPC8641D, there is room for devices like the MPC8343, which do a whole lot of stuff in only a little more than 2 Watts of power.
Region-based graphics overlay
posted by likewise on 13th November 2006
We decided to take a region-based approach for the vector graphics; the PowerPC will render each vector graphics element into a (framebuffer) region in local SDRAM, which is then DMA transferred to the FPGA SDRAM as a rectangle region (RGBA).
The FPGA appears as a local bus memory device.
The common datastructure is a look-up table containing all regions. For each video pixel, at most one region can overlap. During the video scan, for each pixel, the FPGA does a lookup, calculates the memory address and alpha-blends the pixel values from video and graphics.
Using the FPGA SDRAM controller, we found that each region may not be smaller than 8 pixels in order to still have enough bandwidth in the worst-case layout (where a horizontal video line is fully occupied with regions)
Graphics libraries are cross-compiled on OpenEmbedded
posted by likewise on 13th November 2006
A suite of open-source graphics libraries has been compiled using the OpenEmbedded cross-toolchain and package build environment. Most of the challenge and work was in removing the dependencies on X11. A complete overlay is now available which can be cross-compiled to PowerPC. As I do not have PowerPC hardware yet, a different platform was targetted.