Skip to main content

Topic: Voice Codec for Mobile Network (Read 8572 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • iwod
  • [*][*][*]
Voice Codec for Mobile Network
I am wondering how does the current voice codec Wideband AMR compared to Opus? And why aren't we using Opus on 4G LTE All packet network instead when the Internet has decided on Opus.

Would switching to Opus be hard ( aren't these spec defined, or could software be updated to use it? ) ( If LTE is all packet based i see no reason why not possible )

And on such as low bitrate, would voice cancellation, multiple microphone helps more then a codec change in voice quality?


  • Dynamic
  • [*][*][*][*][*]
Voice Codec for Mobile Network
Reply #1
AMR-NB and AMR-WB seem to be competitive with Opus or better for mono speech from about 6 to 16 kbps, and Opus seems to have taken the lead by around 24 kbps. The speech oriented tests reported to the IETF and referenced in the Wikipedia page opus (audio format) are worth a look. Packet Loss Concealment etc. seems to be better in Opus than AMR-WB, as is latency.

Opus is a new standard. AMR-WB has been around a bit longer, as have LTE and true 4G.

The standards adopted for connection to traditional phone networks and phone numbers tend to get set in stone earlier and bodies other than IETF and W3C (which are involved with standards using Opus) are more important for official codecs required for interoperability (e.g. ITU-T), though since 2G mobile, extensions such as the GSM EFR codec have been usable when both handsets (or handset plus base station connecting to POTS) supported them and network capacity was sufficient. I don't know if Opus can be introduced in the same way or whether limitations such as strict CBR requirements might prevent that. As LTE is a step towards 4G, rather than true 4G, there might be scope for introduction of Opus at another stage.
Dynamic – the artist formerly known as DickD

  • ziemek.z
  • [*]
Re: Voice Codec for Mobile Network
Reply #2
Opus 1.2 is now available, now encoder is capable of fitting fullband speech into 14 kbps (whereas AMR-WB encodes only wideband all the time, regardless of the bitrate used).

G.722.2 has now serious competition...
sox -e float -b 32 -V4 -D gain -1 rate -v 48000 norm -1
opusenc --bitrate 96

  • butrus
  • [*]
Re: Voice Codec for Mobile Network
Reply #3
I am wondering how does the current voice codec Wideband AMR compared to Opus? And why aren't we using Opus on 4G LTE All packet network instead when the Internet has decided on Opus.

Because there are patent fees on AMR*.

  • ziemek.z
  • [*]
Re: Voice Codec for Mobile Network
Reply #4
And why aren't we using Opus on 4G LTE All packet network instead when the Internet has decided on Opus.

Because there are patent fees on AMR*.
And that's another reason against using AMR and for switching to Opus.
sox -e float -b 32 -V4 -D gain -1 rate -v 48000 norm -1
opusenc --bitrate 96

  • butrus
  • [*]
Re: Voice Codec for Mobile Network
Reply #5
And why aren't we using Opus on 4G LTE All packet network instead when the Internet has decided on Opus.

Because there are patent fees on AMR*.
And that's another reason against using AMR and for switching to Opus.

Not for those who earn money on those patents...

  • kode54
  • [*][*][*][*][*]
  • Administrator
Re: Voice Codec for Mobile Network
Reply #6
It's obviously a good reason for those who have to pay those patent licensing fees.

  • polemon
  • [*][*][*][*]
Re: Voice Codec for Mobile Network
Reply #7
Well, the ITU numbering scheme is confusing, the numbers aren't at all consecutive or descriptive, etc.

AMR-WB is ITU G.722.2, its patents will expire around 2024 while AMR (NB) will probably expire around 2019-2020 (AMR (NB) has no ITU number, because it hasn't been adopted as an ITU standard).
ITU G.722 is an entirely different codec, which patents have expired earlier this year and it is now effectively a free codec.

ITU G.722.1 also exists and is an entirely different codec yet again, however I've forgotten when its patents will expire.

ITU G.729 and its variants are a very popular codec, which is still under some non-expired patents, but they're free of charge, apparently. Most of the patents expired in January 2017.

ITU G.729.1 is yet another codec, but it is designed to interoperate with G.729, and I haven't really looked into it.

The codecs in use on these systems are rather old. Which one we use is more about consensus, hence entities like the ITU "govern" these things, and try to provide "standards" which should be implemented and/or adhered to by companies, providers, etc.

If you were to switch to Opus, you can do that, but you'd have to provide for a certain pressure to implement that feature into the phone app of the ... phones (*sigh*). Only then you could start using Opus for voice communication. Implementing this new codec into all the places where it's relevant, PBXes, and all that, would cost money. So companies aren't going to start implementing that codec if they don't absolutely have to. Keeping an older codec is just cheaper at this point, especially given some of them are actually dropping out of patent protection.

Having said that, what about new networks. This is an entirely different animal, and actually possibly a viable entry point for things like Opus. 5G is "in development" - whatever that means. This implies however, that this generation block isn't finalized, and there's no reason why something like Opus couldn't be adopted for it.

Given that 5G (https://en.wikipedia.org/wiki/5G) is essentially an TCP/IP packet WAN similar to WiFi WLAN, it essentially detaches fromt the requirement of making calls "on the network" instead the phone app will essentially just be a client program on your device, unpertaining to the carrier network. So from that alone it is at least conceivable, that you can just download whatever client phone app, similar to WhatsApp or Telegram, and use that for making calls (similar to how we used Skype for a while). However things like standards aren't gonna go away any time soon.

The problem is ineroperability between networks. This problem has been solved rather well with standards up to this point. This works on a global scale, and because we have gateways between land lines, VoIP and the various generations of cellphones, we can make calls back and forth without caring about the underlying technology. But what makes this rather smooth interoperation possible, is consensus on a set of codecs making it possible to predict which one to use, etc.

We see this with various messaging apps. Things like WhatsApp and Telegram are widely used, but they don't interoperate with each other, and that is a huge problem when it comes to making calls. For this to really work, we'd need to make Opus "a standard" in an ITU sense.

So to basically make a switch to Opus, we'd first need to get Opus to be adopted by an entity like ITU, and then have that being used for the next generation of cellular connectivity. I don't see how "backporting" Opus onto LTE networks would be any viable or profitable endeavor for the companies running these networks. Unless there's a profit marging to have, they won't budge in that direction.