It’s only mid-week and it’s already been quite a trip in the audio codec landscape. Broadcom announced that they are releasing into open source under the LGPL their BV16 and BV32 audio codecs. The relevant page on their web site includes documents outlining the techniques implemented in the codecs and C source code.
I’m not familiar with either of the Broadcom codecs. I see that they are available in some versions of Counterpath’s X-Lite and Eyebeam soft phones. Support for these codecs in hardware is something that I’m yet to determine.
BV32 is notable for being a wideband codec, supporting 16 KHz sampling and a data rate of 32 kbps. That results in the same usable frequency response as G.722 but at half the bandwidth on-net, not unlike Polycom’s Siren7.
Reading a little of the supporting documentation it seems that Broadcom took deliberate steps to avoid using the more common techniques based on the ACELP concepts, which while effective are patent protected. Instead they started by revisiting a much old technique known as “noise shaping.” Interesting stuff.
I posed a question via twitter this morning, openly wondering how long it might take the guys behind FreeSwitch to get BV16/32 implemented. FreeSwitch was quick to implement wideband codecs like Siren 7/14 and CELT. Within an hour or two I got a response saying that at first glance the project leads were not impressed with the C source code.
Digium’s Kevin Fleming noted that Broadcom has already offered the codecs to the IETF codec working group. The IETF has a meeting in Japan this week. Kevin was searching for Kobe beef, but not finding any. Who would’ve guessed?
The really interesting thing about BV16 and BV32 is that Broadcom has put a lot of work into getting these two codecs included in the Cable TV industries standards for PacketCable 1.5 and PacketCable 2.0. That means that they have something of an inside track with respect to voice rollouts by CableCo’s as the codecs are already part of the specs that define the functionality of the set-top boxes. Remember that Comcast recently became the #3 telco in the US. Cable has made a huge move into voice in recent years.
I must admit that I have to work to keep Broadcom, BroadVoice and BroadSoft from becoming a jumble in my head. Broadcom makes communications enabling chipsets and one of their initiatives is known as the BroadVoice® family of codecs. There is also an ITSP known as Broadvoice. Broadsoft is a major platform for offering hosted IP-PBX services.
Changing Gears: I read a post on the IETF codec mailing list announcing that Ericsson is offering G.719 under royalty free license terms. G.719 is a cooperative effort combining technologies from both Ericsson and Polycom. It’s a relatively new codec, and the first ITU standard full-bandwidth codec. One of it’s more interesting attributes is that it’s equally well suited to both speech and music.
David Rowe is also leading an effort to create a new and open source low bitrate codec. David makes some interesting observations about the nature of codec design:
Proprietary codecs typically have small, novel parts of the algorithm protected by patents. However proprietary codecs also rely heavily on large bodies of public domain work. The patents cover perhaps 5% of the codec algorithms. Proprietary codec designers did not invent most of the algorithms they use in their codec. Typically, the patents just cover enough to make designing an interoperable codec very difficult. These also tend to be the parts that make their codecs sound good.
However there are many ways to make a codec sound good, so we simply need to choose and develop other methods.
This project, known as codec2*, has a very low bitrate target…a mere 2400 bps. It’s intended use is digital audio over HAM radio links. As such it may not be suitable for more common voice applications, but even so the design process that David has detailed is fascinating.
In a kind of related thread, Michael Stanford’s May interview with Jean-Marc Valin, author of SPEEX & CELT seems to be clear about those open source codecs not being patent infringing. I guess that would be an issue that may not be settled definitely without a trip through the courts.
Of course, Skype’s SILK is available royalty-free…and finally starting to show up in real applications like Blabbelon.
Yes, it sure seems that royalty-free is the new fashion in codecs. Unless you’re in the mobile space, where ACELP based AMR and EVRC derivatives still rule the day.
*I am reminded of IBM’s late lamented OS/2, which I used happily for several years.