现在的位置: 首页 > 综合 > 正文

What Android Chipset Can Support Video Calling?

2013年01月02日 ⁄ 综合 ⁄ 共 6559字 ⁄ 字号 评论关闭
文章目录

By Tsahi Levent-Levi

2010 was the year of the Android – it was when Android did it all: got adopted by everyone (besides Apple, RIM, Nokia and Microsoft), went into consumer electronics, found its way to TVs and tablets, became the most selling smartphone OS – you name it.

 

But at the same time Android has failed to deliver in 2010 when it comes to video calling – another trend that is going strong recently. Yes, the new Honeycomb version of Android targeted at tablets will feature a Gtalk video calling client, but this is far from enough in a fragmented world of video calling islands.

 

So it’s no wonder that a lot of the developers we meet are planning on adding video calling capabilities to their new Android based products. The thing they most struggle with, at least at the beginning, is choosing the right chipset for the task. While I have spent some considerable time outlining how to choose a chip for video calling in my designing hardware for HD post series, I think a more focused post on Android can help put things in order.

 

I’ll start from the short answer: it depends. Your choice of chipset depends on what you’re planning on achieving using video calling (resolution, quality, interoperability, scale, etc). Here are a few aspects you need to know about, understand and decide upon.

Software or Hardware?

When selecting a video codec there are two distinct options: a software codec or a hardware one.

For Android – go for the hardware one.

A software codec may be easier to come by and integrate, and it may allow you to port easily between devices to support more handset types, but it will come at a high cost: more CPU usage, less battery life, and most important – lower quality.

There are some more issues with software codecs on Android, such as the fact that Android is not a real time operating system, which makes it a lot harder to deal with VoIP related implementations, and having a video codec taking up most of the CPU doesn’t help at all.

A hardware codec on the other hand is going to take more time to integrate with, will be tailored to a given handset (or at least chipset), will need to be modified with each replacement of the chipset and most probably will require some modifications in the low level parts of the OS (mainly privileged access to the codec itself).

BTW – when you go for a hardware codec, never fully trust the spec sheet of the chipset vendor. In real life you will always reach one scale lower in its performance due to different types of bottlenecks and limitations that are not publicized in these specs (for example, if you want to support the highest resolution you need to disable some of the coding tools in H.264). So if the chip vendor says it can do 1080p encode and decode simultaneously, your realistic target should probably be 720p.

ARM or x86?

There are three main architectures for Android chipsets:

  1. ARM, with the latest standard being dual-core ARM Cortex A9. ARM processors are used in all smartphones, a lot of the new tablets and other consumer electronics. Oh – and the iPhone/iPad as well.
  2. Intel Atom, with some important design wins for tablets in the enterprise market.
  3. MIPS, which goes mainly in TVs, though I haven’t seen a lot of it in 2010.

If you go for a hardware codec, then the selection of the host chip’s architecture itself won’t be the most important thing, at least not if it’s an ARM chip – go for what works for you.

Distinctions between the options

There’s a wide variety of chips that support Android these days. I’d like to outline some of the most common ones that I had the opportunity to learn about a bit more. My knowledge here is not complete to say the least, so if you see any mistakes in it, missing content or additional chipsets –you are more than welcomed to comment on it on this post.

 

Qualcomm Snapdragon

The Qualcomm Snapdragon lineup of chips is probably the most commonly used in the industry today for Android smartphones.

While I don’t know a lot about the inner workings of the Qualcomm’s hardware video codec, it seems like the solution employed by Qualcomm relies on proprietary GPU technology that is used within Qualcomm.

The latest Snapdragon chipset that was just announced is capable of encoding and decoding up to 1080p (but not simultaneously).

Samsung Hummingbird

Samsung is a huge company. In its own phones and devices you will be able to find Qualcomm and NVIDIA chips, as well as chips by TI. That said, Samsung offers today an interesting solution for Android. This family of solutions is called Samsung Hummingbird and is licensed to other companies under the name of S5PC100, S5PC110 or S5PV210.

Samsung are quite aggressive with their pricing and technical specification of these chipsets, placing them as a good candidate for anyone trying to develop an Android based device.

From a video coding perspective, Samsung uses hardware accelerators in their design, with their latest chip capable of encoding and decoding up to 1080p resolutions.

TI OMAP4

TI OMAP4 is another very well known chip when it comes to Android.

TI OMAP4 is different than the rest of the pack because it doesn’t contain the usual set of hardware acceleration for the video codec, but rather a complete DSP complemented with hardware accelerators. This gives TI flexibility that usually isn’t found in other chips.

In a way, the TI OMAP4 is the new version of the TI DM6467 when it comes to hardware acceleration of video codecs – a real treat.

Freescale iMX

Freescale’s iMX chip is used for non-smartphone devices when it comes to Android. It is said to be a good chipset family for automotive entertainment solutions and as such, it comes with some interesting features for video inputs and outputs that you might want to consider.

Other than that expect to find the same video coding specs on the iMX family as in the rest of the pack.

NVIDIA Tegra 2

The NVIDIA Tegra 2 was first announced at CES 2010 but has made its splash appearance during CES 2011, where a lot of vendors have unveiled their Honeycomb Android Tablet that uses a Tegra 2 chip. It seems that Google have selected NVIDIA this time around for the release of Honeycomb as their chipset vendor of choice.

From a video coding perspective, the Tegra 2 holds two separate processors – one an HD video encoder and the other an HD video decoder. While the Tegra 2 is a beast when it comes to graphics performance, I’d suggest checking the video codec for the exact features and tools you expect it to provide and not take as face value the spec sheet.

Intel Atom

Intel has been moving aggressively in the recent years into the mobility arena. Intel Atom is their chipset targeted at tablets and mobile devices. As such, it supports Android.

The Intel Atom chipset is different than the rest of the chipsets outlined here because it isn’t ARM based. While it does support Android, it hasn’t gained much success in smartphones and it is yet to be seen how much market share it will take out of the new tablets market.

Intel Atom is a solid solution for developers who are accustomed to Intel’s software tools and x86 instruction set. Intel has licensed Imagination Technologies hardware video codec and embedded it into their latest Intel Atom chips, making it a good choice for video calling.

Things to Remember with Android

There are a few things to remember while choosing a chipset for Android:

  • The screen size is relatively small. You might not need the full resolution on the receiving end (assuming there’s no HDMI output on your device).
  • The network is WiFi or cellular, which affects the bandwidth you’ll have available. In most cases, this dictates smaller resolutions than HD.
  • Today, VGA looks great on smartphones and is considered to be “high end” for when it comes to video calling.

There are additional useful resources out there about these chipsets. Here’s a very interesting one by Tested with a high level explanation of some of the chipsets above.

抱歉!评论已关闭.