G.722 Revisited
After my last post, in which I mentioned that G.722 is not well suited for usage over unmanaged networks such as the Internet, I received a few comments on that topic and therefore thought it would be helpful to elaborate further in this posting.
Let me start with trying to straighten out a question mark related to G.722. What is really G.722? When we talk about G.722, do we talk about one codec or the set of codecs that seemingly belong to the same group since they all have names that start with G.722? This set of codecs include, in addition to G.722 itself, G.722.1, G.722.1 Annex C, and G.722.2, which are all very different codecs (one could possibly argue that G.722.1 and G.722.C are not so different since basically G.722.1C is a super wideband version of G.722.1). Since they are distinctly different codecs it is customary to treat them separately and not use the G.722 name for the group of codecs but only for the actual G.722 codec itself. With this cleared out we can focus on the characteristics of G.722.
G.722 was standardized by the ITU-T in 1988 and is a wideband (7 kHz audio bandwidth) speech codec operating at 48, 56 and 64 kb/s. The technology it is based on is called sub-band ADPCM. ADPCM coding is recursive which results in a strong dependency on previously received data when decoding at the current time instant. This obviously has a negative impact on performance when frames of data are lost. Without the proper history of data 100 % correct decoding is not possible and some kind of guesswork has to be included.
Even though G.722 is an old standard it is still being considered for new deployments, such as the New generation DECT (DECT-NG) standard. The main factors making it an attractive choice are that it is a wideband codec with low complexity and no IPR issues. It supports three rates, 48, 56, and 64 kb/s which facilitates some limited adaptation to available bandwidth. However, on the negative side you have to consider that the quality for the bit rate is not very high, and the robustness against packet loss is not the best.
In fact, until recently there was no packet loss concealment (PLC) technique defined for G.722. Implementing PLC was left completely to the device or application manufacturer. The result is that the PLC and, and therefore G.722 performance, varies significantly between implementations. Recently, The ITU added Appendix III and IV to the G.722 standard which specifies two PLC algorithms that can be used with G.722. Appendix III delivers better quality but at the price of significantly increased decoder complexity while the complexity increase when using Appendix IV is negligible. Both are significantly better than typical implementations I have seen previously. However, both algorithms are based on IPR that most likely require a license from the patent holders to be used.
For more details, please read this study of several ITU wideband codecs. The following figure, taken from the France Telecom presentation compares the performance of G.722, G.722.2, and G.729.1:
The conclusion is pretty clear. In clean (no packet loss, no background noise) conditions G.722 at 64 kb/s has noticeably lower quality than G.729.1 and G.722.2 at 24 kb/s. It should be noted that the quality of G.722 at 56 kb/s and 48 kb/s drops significantly over the 64 kb/s mode.
Consider the following figure from the same study for comparison of PLC methods for G.722:
PLC A is Appendix III, PLC C is Appendix IV, and PLC 0 is a brute force method that just sets all missing codewords in the decoder to what corresponds to the minimum value, which give a lower limit on what a PLC method for G.722 can do. If the packet loss concealment methods proposed in the new Appendices to G.722 are used, decent quality can be achieved up to about 5 % packet loss, however less sophisticated methods cannot even handle 1 % of packet loss properly.
In summary, the pros of G.722 are that it is IPR free (PLC not included) and the relatively low complexity. On the negative side you find a high bandwidth utilization, lower quality than other options even at significantly higher bit-rate, and inconsistent packet loss robustness. As has previously been stated, it is clear that the codec in itself is just a small piece of the puzzle and that it is the implementation, more than anything else, that determines the quality.
Links to a few codec comparisons:
http://www.cablelabs.com/specifications/PKT-SP-CODEC-MEDIA-I07-090702.pdf
http://portal.etsi.org/stq/workshop2007presentations/Quinquis_slides.pdf
http://en.wikipedia.org/wiki/Comparison_of_audio_codecs
Tags: G.722, HD-voice, Packet loss concealment, PLC, VoIP, wideband






September 12th, 2009 at 5:21 pm
[...] long ago Dr. Jan Linden, V.P. Of Engineering at GIPS, wrote a really good blog post called G.722 Revisited. In it he considers the trend toward the use of G.722 in the rollout of new wideband telephony [...]