Tuesday, October 11, 2011

G.726, transcoding and smart codecs

DECT uses the G.726 codec to transmit the voice over the air, no matter what codec was negotiated on the SIP side. Ops that is not 100 % correct, in the new DECT standard (CatIQ), the air interface also supports other codecs like G.711 or G.722; but let’s forget about this for now and until CatIQ handsets are widely available.

G.726 is one of those good-old ITU codecs. It is in the same area like G.711, G.729, G.721 and also G.722 with constant bitrate, no matter if you are talking or not or if you are playing music on hold. It probably comes from the time when telephone calls were running on slots with fixed bitrates (TDM), and having a bit rate of 32 Kbit/s allowed to have actually two phone calls in one 64 Kbit/s second slot (that’s really 64000 bit/s, not 64 * 1024 as we would assume in the computer age). Anyway, for the air interface it makes a lot of sense to pick a fixed rate codec as well, because—guess what—DECT is also using TDM slots for the voice and transmitting bits over the air cost a lot of energy and spectrum, so limiting it somehow makes a lot of sense.

We can be happy that they chose 32 Kbit/s and not less. In GSM, they usually use only 13.2 Kbit/s where the voice quality really suffers. Even if you use a great microphone, compressing voice to that level will have to throw a lot of information away, so that cell phones using the GSM standard have little potential for good audio quality. Anyway, in DECT they decided to use another codec, and that codec was G.726. It compresses the voice not too much, and it is actually difficult to tell the difference to G.711, the codec that is still mostly used in digital voice. The G.726 is pretty friendly to the CPU, and it causes only very little delay with the encoding and decoding. The other reason to go for G.726 is that it is not as heavily patented as for example G.729. IMHO a great choice that many service providers should seriously consider!

There is one more reason why providers should consider G.726: Transcoding. If you are calling from a DECT device, you want to avoid that the voice has to be transcoded from G.726 into linear and then into G.711 or something else. This is because every transcoding step reduces the quality of the signal. Even if you are transcoding from a “bad” codec to a “good” codec, you are loosing information, and it will sound worse. Something like the 1 x 1 of the information science: You can only loose information, not add something.

Well, that might not be true forever, even in the codec world. Maybe one day we will have a codec that knows the speakers voice so well, that it can figure out what is being said and synthesize the missing spectrum. It would also be useful for filling up gaps when packets get lost—assuming the codec really knows what is being said. We have to be careful here: Maybe one day you are talking to the bank with the super codec, the bank guy asks you if you really want to purchase one million snom shares, you say “no” but right at that moment there is a lot of packet loss, and the smart codec kicks in and synthesizes a perfect “yes” and the deal is done. That’s where I prefer a dumb codec like G.726.


  1. But isn't the M9 a CatIQ phone? It's got G722 in there!

    Care to elaborate?

  2. The m9 does support G.722, but it does not make it to the air interface. Before that, the G.722 call is chopped down to G.726 narrowband. I know that is kind of pointless. But remember DECT lives in the TDM world and sending another codec is a major problem, you now need more than just one 32 kbit/s timeslot. There are only few CatIQ devices in the market yet, which is an indication that this is more than just adding a G.722 codec... However, the m9 is still digital and better than analog, even if not CatIQ.

  3. Huh? But the m9 is advertised everywhere as doing Cat-IQ... but not on the Snom website though. What is this? The Gigasets do have Cat-IQ, or at least it's mentioned on their web site.

    Indeed what is the point of having G.722 if is doesn't? If it really doesn't have it, then why bothering with G.722? Is it going to be implemented with new firmware? Please explain!

  4. The biggest problem with G.722 is not the codec itself, it is the general acoustic performance. In contrast to the desktop models, the microphone is not in front of the mouth; it is more on the cheek. You might be ending up in wideband noise if you just take the microphone and send it out. On the speaker side, the problem is not so big. But also keep here in mind that in contast to the handset from the desktop phones, the dect handset does not close the ear.

    CatIQ is a lot more than the codec. It is a good thing that many features have been standardized in CatIQ; however I would say the market share from a number perspective of CatIQ handsets must be less than one percent right now and while it is always good to have a extra logo on the gift box, customers don't really demand it today.

  5. Thanks for the quick reply. I understand the marketing behind CatIQ, though I don't understand the technology very well, other than it's a standard that allows for more data types send over the DECT signal. I guess in the future what we are going to is some kind of power-efficient smart phone equipped with DECT and able to access the internet for simple functions like e-mail and a simple internet browser; great for consumers and business alike.

    Still, G.722 audio seems nice to have already. Saying no-one wants to use it is a bit speculative. These kind of quality functions fall into the category 'nice to have, even though you don't notice it immediately'. It still contributes to the usability of the phone. Though maybe the microphone on the m9 is not suited to wide-band audio. However, I don't believe it's impossible getting it to work well using a modern microphone. So what about when using a head set?

    Ultimately it boils down to one question: is it theoretically possible, hardware wise, even if it would require a firmware overhaul, to pass native wideband audio to the handset?

  6. It would be possible and franky, it was on the to-do list from day one. It is not trivial from a protocol perspective as it really screws up fundamentals of the "old" DECT protocol (this is probably a reason for the slow pickup by all vendors). And keep in mind that one wideband call takes up two slots for voice. So the m9 would have only two parallel calls at the same time. This is not a protocol limitation, but a hardware limitation with the chipset on the m9. But it is possible to do that with a software update.

    The big question is now the market will evolve. I posted something about "Dectdroid" which does make sense from a technological point of view. But one thing is sure: DECT as a cheap, reliable, digital cordless voice device has a market, in the PSTN space and increasingly also in the VoIP space.

    If I would have to make a decision, I would prefer 4 G.726 calls compared to 2 G.722 calls.