My Writings. My Thoughts.
Not all V.VoIP Solutions are equal
// May 4th, 2012 // No Comments » // Developers, Product, Test Category
Before the launch of iPhone, there was only one real data pipe: Ethernet. Cable and DSL operators in both the consumer and enterprise space have dedicated bandwidth setup to ensure toll quality on the Ethernet based IP phones/Gateways/Routers. With the launch of revolutionary iPhone, consumers really got the taste for Wireless data networks. Not, that the data network was not being used before with Windows Mobile devices and Blackberrys but the extent of usage has been taken to a whole new level. Indeed, it raised eyebrows on the capacity available when the heavy usage brought down the network. For non-real time data, with few jerks and lot of buffering on the handset, this was still acceptable but for real-time voice-over- IP this was far from reality.
There are many challenges with wireless networks such as latency, packet loss, jitter that are inherent attributes of 2.5G/2.75G/3G data networks and unmanaged WiFi hotspots. Though this has been addressed by the 4G networks (I will cover this as a separate topic at a later date) with dedicated bearers and guaranteed bit rate for real-time communications, but this is at its infancy and has to fall back to the legacy networks wherever not available.
These are some of the basic questions to ask –
1. Are the devices capable?
Yes they are now. With WiFi speeds reaching a point where it is more than sufficient for a point-to-point V.VoIP (Voice + Video) communications. But then there can be heavy packet losses, if the same bandwidth is shared between data and voice and if the wireless channels are not exclusively allocated for voice with QoS enabled.
2. Is the Network ready yet?
Which network are we talking about? There are data networks everywhere trying to do real-time voice and video. Most of these work in silos with no inter-working and as a result giving a very bad user experience.
3. Finally, what is the consumer expectation?
Ideally, consumers expect to get the similar or better experience on an IP network as of the circuit-switched network. But due to the inherent limitations, they accept less than perfect quality that is short-lived when it goes beyond the limit due to unpredictability. Also, users do not want to run around to find a WiFi hotspot rather they would like to get a seamless experience while transitioning between the networks.
So, what is the solution? Absolutely, you are right-on – HelloSoft V.VoIP!!
Since the network is not ready for the prime-time, we need to implement some of the smarts in our client that can compensate for all of the above impediments. Some of the techniques that result in superior voice quality include –
• Adapting to dynamic network conditions
• Change to lower bit-rate codec like AMR (4.75kbps) in bandwidth limited 3G network
• Adaptive jitter buffer to smoothen the play out of the voice packets
• Packet loss concealment and redundancy algorithms when there is heavy packet loss within the network
1. Seamless roaming across the networks
• Voice call continuity algorithms provide seamless handoff when moving between WiFi/2.5-3G (IP Networks) to GSM/CDMA (Circuit-Switched).
• IP2IP handoff when moving between WiFi(IP Network) to 2.5-3G(Cellular Data Network)
2. Innovative techniques for Improved User-Experience
• Reducing the inherent latency within the media engine
• Integrating with lower level audio drivers
• Support for wideband codecs
…. and much more!
I hope there is enough to chew on for this week, Stay tuned for more on what Hellosoft is doing to address the needs of V.VoIP and VoLTE in the coming months
Saraj, Hellosoft
We Render Funny
// April 20th, 2012 // No Comments » // Developers, Tools and SDK
We are now back from various shows around the world where we had lots of discussion with developers about the use and longevity of Tile Based Deferred Rendering (TBDR). Some had never heard of it (mainly those who were moving down from the console and PC space) and others who wanted to know if TBDR would ever run out of steam. To that end, we are just setting out the whys and wherefores’ of TBDR to help people’s understanding. If you’re reading this, the chances are you know what Imagination PowerVR is, for those of you who don’t, it’s the mobile GPU architecture found in the majority of all mobile and embedded devices.
If you do, you already know that PowerVR likes to, as we say in the office, “render funny”. Unlike the graphics card in your desktop computer, PowerVR is not an Immediate Mode Renderer (IMR); it is a Tile Based Deferred Renderer (TBDR). Today, we want to explain to you what that means and answer the rather intriguing question of “why?”
What is TBDR?
The question “What is TBDR?” has two different answers, one long, one short, here I hope to furnish you with the short answer (for those interested in the long answer, might I recommend reading the PowerVR Series 5 Architecture Guide for Developers from the PowerVR Insider website www.powervrinsider.com).
The Tiling Bit
Tiling really is as simple as it sounds. On a basic level, the framebuffer is split into little tiles, of a fixed size, with each tile
being drawn individually once an entire scene has been submitted; all the vertex information for a scene is gathered, clipped, projected, culled, and transformed, before being placed into a small container in memory stating which triangle is in which tile. Once the vertex processing is done, fragment processing is performed, but because the location of every triangle is known ahead of time the chip can make what I like to call “informed decisions”.
Informed Decisions or ‘The Deferred Bit’
Obviously any GPU that performs tiling must defer in a sense, but when we at PowerVR talk about ‘Deferring’ we mean something a little different. To us, the “Deferred” step refers to those “informed decisions” I mentioned just a moment ago; what, in technical parlance, is called “Hidden Surface Removal” (HSR).
We should first define one of the great bugbears of modern graphics, “Overdraw”. “Overdraw” is what happens when you draw into a pixel more than once, because you’ve wasted time processing one fragment when it’s going to overwritten by another fragment closer to the camera.
Clearly this is a bad thing, and that’s where those “informed decisions” come in; by knowing ahead of time exactly what fragments of what triangles are going to contribute to the final framebuffer we can safely ignore those that won’t. This process of discarding unrequired fragments is the aforementioned “Hidden Surface Removal” and is a major feature, as you will hopefully understand very soon.
Yes, but…Why?
Whenever you design a new technology it’s important to consider the requirements for that technology. In the case of mobile and embedded systems it’s always been about the big three, power consumption, die size, and performance. You can always make a chip smaller simply by stripping out performance, or letting “Moore’s Law” do the work for you, and save power to boost, but you can do more than that; you can design your technology from the ground up with these things in mind…and that’s where TBDR comes in.
The first of the stages I mentioned previous, “Tiling”, allows the chip to keep an entire section of the framebuffer on chip until it’s completed. If the tile never leaves the chip, then once it’s loaded in, the only system bandwidth you’re going to consume is during texture reads in your fragment shaders. All this saved bandwidth means less power is consumed for each frame, and thanks to clever optimizations on our end your applications performance goes up too.
The second of these stages, the “Deferred” stage, means that the chip doesn’t waste time processing fragments that no-one is ever going to see. These are thrown away. while this saves power, and delivers better performance all on its own, it also saves even more bandwidth; after all, every fragment you’re not processing is a bunch of textures you’re not having to read, which saves even more bandwidth, and even more power, and delivers even better performance.
At the end of the day, Imagination PowerVR does TBDR because we believe it is, fundamentally, a better architecture. “Tiling” and “Deferring” save memory bandwidth, improve performance, and save power, and that’s why it’s so widely adopted in power restricted environments like the mobile and embedded markets.
Our motto for TBDR is ‘Work Smarter, And Harder’
If you want to know more about our technology and products or to simply download the SDK and get working on our Imagination PowerVR graphics family then go here. http://www.imgtec.com/PowerVR/insider/powervr-insider.asp
From Imagination’s PowerVR DevTech team.
New SDK 2.10 is here
// April 5th, 2012 // No Comments » // Developers, Tools and SDK
Our SDK team have been busy putting the final effort into getting the latest incarnation into shape. Now it’s time to unleash the latest update to the Imagination PowerVR Graphics SDK, version 2.10 which is now available for download here http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp . So what can we look forward to in its latest incarnation?
Main features and updates:
- Both PVRTC1 and 2 are now fully supported.
- PVRTC 2 improves the texture quality for UIs and areas of high contrast, introduces sub textures and support for arbitrary Non Power of Two (NPOT textures. Supported by Series5XT and Series6 cores.
- See Press Release here http://www.imgtec.com/news/Release/index.asp?NewsID=671
- The PFX and PVR formats now have a public specification available. The benefit here is that you can now use these formats in their own tools without having to use ours, it also means that other applications (texture viewers, game engines etc.) can use the formats without having to use our PVRScope tool.
- Remote Analysis – PVRTrace can now connect to application via any TCP/IP connection, so that tracing can be done remotely.
- Image Analysis for PVRTune. You can now see every Draw Call to a frame and what renders are being performed.
- PVRShaman (Shader Manager tool) now has post-processing support. You now can do any post processing effect to test and prototype it.
- PVRUniScEditor. We have added new compilers for the Shader Editor. Upgraded forPowerVR Series5XT Cores. PowerVRIncreased accuracy of ‘per line cycle counts’. More information is made available about registers.
- PVRTexLib has been overhauled, with considerable performance and usability improvements. The new interface allows all tasks to be coded and performed much more rapidly.
- PVR Version 3 – To go along with the new version of PVRTexLib, the PVR container has been updated. The new version increases the capabilities of the PVR format in almost every way, and with the addition of custom meta-data allows users to store all manner of engine specific information.
So, lots of improvements and feature additions that should make your lives a lot easier while developing. As IMG are constantly looking to improve on the tools chain, as it is absolutely fundamental to the success of the developer community, so any feedback regarding current features, limitations and future elements you would like to see in the SDK, please go to the forum pages and make those suggestions.
Also note that we are increasing our focus and activity on Social Media so please check back in regularly to see what we are up to in both the PowerVR and the wider Imagination Community blogs and websites. We will be discussing key technologies in the blog, right across the Imagination portfolio, as well as keeping you abreast of news, events and community collaborations. www.powervrinsider.com (website) and pvrinsider.imgtec.com (blog).
We are also expanding our Twitter focus so please follow us on #powervrinsider for the latest and greatest news and articles impacting our developer community.
See you on the site soon. Bryce
PowerVR SDK 2.9 launches
// October 20th, 2011 // No Comments » // Tools and SDK
We are very excited to announce the latest revision of our PowerVR Insider SDK, one of the world’s leading and most comprehensive Graphics SDKs. Revision 2.9 is available now to download for free here: http://www.imgtec.com/powervr/insider/powervr-sdk.asp
Within the SDK we include a set of utilities to help with development, and demos and training courses that help lead the developer in understanding key parts of the tool chain. We have now expanded the SDK with the following content:
Platform Support
• LG Optimus 3D
• Android using Native Activity – Our Android SDK now uses the Android NDK, making it even easier to develop Android applications and create apks. Our SDK now targets Android 2.3 (Gingerbread) as a minimum.
Training Courses
• OpenGL ES 2.0 User Interface demo: Having a fast and responsive user interface is the key to a fluid experience. This demo demonstrates the best means of accelerating a UI within OpenGL ES on a mobile device, as well as thoroughly discussing possible optimizations of the effect for PowerVR hardware.
• OpenGL ES 2.0 Parallax Bump Mapping demo. The parallax bump mapping effect is one of the most advanced, and one of the most widely used bumpmap effects in desktop computing, this training course shows how to implement this effect in OpenGL ES 2.0 and how to optimize the effect for PowerVR hardware.
Demos
• OpenGL ES 1.1 Navigation3D demo. This is an OpenGL ES 1.1 port of our OpenGL ES 2.0 Navigation3D demo, which demonstrates how to optimally load and render real-world 3D navigation data using the SDK’s 3D navigation tools
Utilities
• PVRTrace: TraceGUI has been updated with an improved UI, giving more information per frame and features much improved loading times. Render state tracking has been improved significantly, and the recording libraries and GUI now record extensions. In addition to support for recording graphics API calls on Linux and Windows, the 2.9 SDK introduces Android recording libraries.
• PVRTune: PVRTune has improved support for the latest range of PowerVR GPUs, visualization of multiple render targets in the timing data, process IDs in the timing data, as well as new counters, and the ability for PVRScope enabled applications to send custom marks to PVRTune in real-time.
• PVRShaman: PVRShaman now includes a texture viewer window that allows you to see render targets updating in real time, graphical updates in the form of a view window grid and axis, as well as a considerable improvement in debug output due to improved PVRUniSCoEditor integration. On top of all of this we have a slew of bug fixes, and support for 3D Studio Max and Autodesk Maya user data.
• PVRTexTool: PVRTexTool now has a much higher quality PVRTC compressor, and supports dithering. Max and Maya plug-ins now support the latest versions (2012) on Windows.
• PVRTexLib: The library has been updated with the new PVRTC compressor and dithering as well, and a much anticipated feature – the library is now fully thread safe!
• PVRGeoPOD/Collada2POD: The POD exporter pair have a slightly improved UI, support for the exporting of 3D Studio Max and Autodesk Maya user data. In addition, the PVRGeoPOD plugins have been updated for the latest versions of Max and Maya.
On top of all of this we’ve improved 64bit support throughout, and completely rewritten the user manuals for PVRTrace, PVRShaman, PVRTexTool, PVRGeoPOD, Collada2POD, PVRUniSCoEditor, Filewrap, and PVRVFrame based on your feedback. New manuals for PVRTune, PVRVecEx, PVRTexLib and PVRScope are on their way. Full release notes are available here: http://www.imgtec.com/powervr/insider/sdkdownloads/whats_new.asp
Get the latest utilities and SDK at www.powervrinsider.com.
Regards, Bryce
SGX/SGX-XT Architecture Guide is now online!
// June 22nd, 2011 // No Comments » // Developers, News
The SGX Architecture Guide for Developers document is now publicly available on the SDK Documentation webpage.
It provides an overview, from a graphics developers perspective, of how the POWERVR architecture compares to other solutions, what the benefits of the architecture are and how an application can benefit from its unique approach to 3D graphics acceleration.
PVRTune has been updated!
// June 7th, 2011 // No Comments » // Developers, News, Tools and SDK
PVRTune – the POWERVR GPU performance analysis tool – has been updated.
In additional to a number of performance improvements and bug fixes, support for SGXPerfServer has now been added for Android on ARM platforms.
The updated utility is now live on the PVRTune webpage
PVRTune has gone public!
// April 4th, 2011 // No Comments » // Developers, News, Tools and SDK
After previously being available under NDA, PVRTune – the POWERVR SGX performance analysis tool – is now publicly available!
This begins with the Linux ARM and X86 SGXPerfServer (the device side component of PVRTune) currently available for download, but we will be gradually introducing SGXPerfServer for other OS’s over the coming weeks (including Android and Symbian).
PVRTune is available for download from the utility’s page on our website, so feel free to grab a copy without NDA restrictions!
PowerVR Insider SDK v2.8 is now available
// March 21st, 2011 // No Comments » // Developers, News, Tools and SDK
Version 2.8 of the POWERVR Graphics SDK is now available for download!
New features include the following:
• 64-bit utilities for Linux (Collada2POD CL/GUI, PVRShaman, PVRVFrame and PVRTexTool CL/GUI)
• Android SDK: Modified Android SDK to build with NDK build scripts
• PVRTexLib: 64-bit for all supported platforms
• PVRTexLib: Fast compressor is now thread safe
• PVRTexLib & PVRTexTool: Performance and stability improvements
• PVRTexLib & PVRTexTool: Independent texture channel loading
• PVRShaman: Render to texture functionality
• PVRGeoPOD: plug-ins for Max and Maya 2011
• PVRGeoPOD: plug-in for 32-bit MacOS Maya
• PVRTrace: Specify a start and end frame for recording
• PVRTrace: Specify if you want to record with or without data (e.g. don’t store textures, etc)
• PVRTrace: Android compatible recording libraries
• PVRTraceGUI: Tracked render state (OGLES2 only)
• PVRVFrame: Implemented workaround for ATI Windows Vista/7 10.12 Catalyst drivers issues
• PVRVFrame: MacOS port
• PVRUniSCo: New profile data – Accurate cycles emulation, primary attributes and secondary registers
• PVRUniSCo & PVRUniSCoEditor: MacOS port
• Training courses: OGLES2 EdgeDetection
• Training courses: OGLES2 BinaryShader (example use of the GL_OES_get_program_binary extension)
• Demos: OGLES2 Navigation3D (example use of real-world 3D navigation data, provided by Navteq)
• Tools: Added support and optimisations for 3D data to navigation tools
For more information, please visit our full release notes page
Adieu, GDC 2011!
// March 10th, 2011 // No Comments » // Developers, Events, Games
Wow! Thanks to all the POWERVR Insiders and new comers who visited us at GDC 2011. The show was amazing with too many high points to list. A big thanks though to all the developers who featured POWERVR content and supported us at the show including Adobe, Blackberry, EPIC, Sony, Transgaming, NAVTEQ, Intel, Khronos, Unity, Google and others.
Our session was standing room only, with folks queing outside in the hope of being ‘1 out, 1 in’. Our annual party was shoulder to shoulder too – it’s a good job there’s great camaraderie between Insiders. Thanks to all who joined us at Jillian’s.
We launched v2.8 of our SDK at the show and have away 1000 copies to GDC’ers. For those who missed out it will be at www.powervrinsider.com shortly.
We will be back for GDC 2012 of course – bigger and better. But before then there’s going to be plenty of other developer activities, so watch this space.
GDC 2011 starts in one week
// February 22nd, 2011 // No Comments » // Test Category
If you are visiting GDC 2011 next week why not come along and learn from the experts in mobile graphics? Attend our session on the 28th or please contact louise.jose@imgtec.com if you’d like to arrange a one to one meeting with our development engineers or company representatives at the show.
Or if you can’t make that, please join us for our annual party at on the 1st.
Full details of both below.
Understanding POWERVR SGX Graphics Technology and Optimizing for Great Graphics Performance (Presented by Imagination Technologies)
Speaker/s: Joe Davis (Imagination Technologies) and Gordon MacLachlan (Imagination Technologies)
Day / Time / Location: Monday 28th February 4:15- 5:15 pm Room 120, North Hall
Imagination’s POWERVR SGX and SGX MP graphics IP is a crucial part of today’s consumer electronics market, integrated into a wide variety of the latest mobile, computing and embedded products. Now – with new POWERVR Series6 cores, codenamed ‘Rogue’ on their way and multi-core SGX MP devices already coming to market in smartphones, tablets and games consoles it is becoming increasingly important for developers to understand how to take advantage of this hardware architecture in their applications.
The aim of this session is to give an expert insight into the POWERVR SGX and SGX MP Tile Based Deferred Rendering architecture and explain to developers how they can use the PVRTune analysis utility, and best programming practice, to optimize their applications for todays mobile devices.
Please note that an eligible GDC pass is required to attend this session: Audio Pass, Main Conference Pass, Summits and Tutorials Pass, All Access Pass
The Annual POWERVR Insider Party!
During GDC we’re inviting all mobile developers to help us celebrate over 400 million POWERVR enabled devices!
Meet members of the 22,000 strong POWERVR Insider ecosystem for a drink and a chat. Find out what other leading mobile developers are planning and try to remember what was said the next day ; )
For full locations details RSVP to louise.jose@imgtec.com
And don’t forget to visit us at booth 824 to receive your free and fully featured POWERVR Insider SDK DVD.
..



















