Picture Size Optimization for Embedded Systems

If you are developing an embedded system that requires a graphical user interface, you’ll likely have quite a few icons and/or images to store in the flash/rom. If your hardware has limited space, you may have to optimize the size of picture so that they can fit into your flash with no or minimal loss of quality. Reducing  image size may also be of interest for mobile websites that can be accessed by devices with lower hardware specs and relatively low network throughput (EDGE/3G). I’ll use GIMP 2.6 – The GNU Image Manipulation Program to work on pictures in order to optimize their size. Selecting the picture format The most common picture file formats are bmp, jpg, png and gif. BMP File Format (aka Bitmap Image File or Device Independent Bitmap) can not compress images except for 8-bit color depth, so it is not suitable for embedded systems. JPG File Format compresses images but is lossy (the level of loss …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

What is Augmented Reality ? How to develop Augmented Reality applications ?

Now, we start to hear many smartphones or tablet pc feature Augmented Reality (AR). But what is it exactly ? Are there any applications right now? How to development application making use of Augmented Reality? Augmented Reality Definition Ronald Azuma’s definition says that Augmented Reality: combines real and virtual is interactive in real time is registered in 3D Augmented Reality Applications Augmented Reality usually involves a real-life background capture (image or video) which is then going through image recognition and finally some data is overlaid on top of this background. Here’s a some of applications that are available today (commercially or experimentally): PSV Eindoven has created an application to track offside at football matches. Augmented Reality Business cards can be scanned, recognized and a video presentation of the person and/or the company on the business card can be played back. Augmented Reality can help you find your way (and your holes) at golf courses. There are numerous Augmented Reality maps …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Digital Signage: Implementing a smooth scrolling text

Many digital signage hardware feature scroll text. However, in many cases the scrolling text is either not smooth, sometimes teared or very slow. It may depends on the performance of the hardware used but also on the implementation of the software. Once easy way to implemented scrolling text is just to redraw the text again and again at different position. However, this is very slow and yields poor results unless maybe you have a Truetype accelerator or similar hardware font accelerator. The next step is then to convert the text into pixmaps. This can either be done in the digital signage manager software (Windows PC/MAC or Linux based) or the digital signage player. Doing so in the latter makes it much more flexible. So you may create 2 pixmaps whose width and length match the region to be displayed, you write the text on those 2 pixmaps, then simply move those 2 pixmaps, and once one is fully displayed, you …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

How to do a framebuffer screenshot

I’ll explain how to do framebuffer screenshots on 16-bit and 32-bit framebuffer. For 16-bit this is fully based on http://docs.blackfin.uclinux.org/doku.php?id=framebuffer Capturing screenshots Whatever the bit-depth of your framebuffer, the first step is to capture the frambuffer raw data on the board: Now the you need to take the raw image, and convert it to a standard image format. This step depends on what type of display is there Converting 16-bit Framebuffer screenshot (RGB565) into png To convert the raw rgb data extracted from /dev/fb0, use iraw2png perl script To do the conversion, type the following command in the host: where 640 and 480 are respectively the width and height of your framebuffer. This has been tried on a 16-bit framebuffer on EM8620 series. Converting 32-bit Framebuffer screenshot (ARGB, RGBA, BGRA…) into png The solution proposed here is not as neat as the blackfin’s solution for 16-bit framebuffer, however this still works. First you’ll need to install Gimp 2 in your …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Digital Signage Standard by POPAI

Currently digital signage implementations are mainly proprietary, and that means once you choose a vendor you are stuck with it, unless you completely change your network and the way you manage your content or handles separate systems. If the digital signage industry really wants to take off some standards are needed. One of the first standard for digital signage has been released by POPAI (Point of Purchase Advertising International). This first standard is to promote interoperability between different providers by defining Screen Media Formats (Click to open the standard) basically telling which video and audio codecs and containers (“Wrappers”)  and which and picture formats  should/could be supported by digital signage players and providing different levels of standard profiles and extended profiles a bit like it is done in MPEG-4 specifications. POPAI also used to provide some media samples to test your system previously available at www.popai.com/DS/ContentSamples but the link is now dead. You may have to contact them to get …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Digital Signage Features – A Quick Guide to Select Your Digital Signage Solution

There are a lot of different digital signage solutions around and it may be difficult to find which one is right for you since there can be quite a few different features and options. So I’ll do my best to explain the main features to guide your choice if you are planning to purchase a digital signage solution (embedded signage player, content management software and server). I’ll focus this post on the digital signage player, but bear in mind the content manager software is equally very important. [ad#Google Adsense – Wide Banner] Hardware features Video outputs: composite, component (YPbPr), VGA, DVI, HDMI, LVDS The capability to output simultaneously to different video outputs maybe an advantage if your plan is to use one player to output to several monitors. Video resolution: Standard Definition (e.g. NTSC) vs. High Definition (e.g. 1080p) This is a simple choice based on costs and whether you need to output HD content and the size of your …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Where to get video, audio and image samples

If your system is dealing with media files such as video, audio and image you’d better get some samples to make sure your system can play most of them or at least can match (or beat) the competition using the same platform. So I’ve collected some links for just doing that. mplayer test samples: http://samples.mplayerhq.hu/ – Over 42 GB / a few thousand files of diverse audio and video files. Microsoft HD Showcase – http://www.microsoft.com/windows/windowsmedia/musicandvideo/hdvideo/contentshowcase.aspx – A must to test wmv, wma and wma pro decoding capabilities. For testing MKV videos, you’ll most likely need to download some videos using bittorrent or emule. To search for video you can use sites such as http://www.isohunt.to or http://www.verycd.com/. Very CD is actually one of the top website in China in terms of traffic. You can also convert some other videos to MKV using some MKV editors my favorite being mkvtoolnix. For graphics you’ll find plenty of gif, jpeg and png (and other …

Support CNX Software – Donate via PayPal or become a Patron on Patreon