Internet Low Bitrate Codec
{{short description|Audio coding format}}
{{Infobox file format
|name = Internet Low Bit Rate Codec (iLBC)
|icon =
|logo =
|caption =
|type code =
|uniform type =
|magic = '#!iLBC30\n' or '#!iLBC20\n'
|owner = Global IP Solutions, now Google Inc
|released = {{Start date|2004|df=yes}}
|latest release version =
|latest release date =
|genre = Audio compression format
|containerfor =
|containedby =
|extendedfrom =
|extendedto =
|standard = RFC 3951
|url =
}}
{{Infobox software
| name = iLBC Speech Coder
| logo =
| screenshot =
| caption =
| collapsible =
| author =
| developer = Global IP Solutions, now Google Inc
| released = 2004
| programming language = C
| size =
| language =
| genre = Audio codec, reference implementation
| license = 3-clause BSD
| website = [https://webrtc.org/license/ilbc-freeware https://webrtc.org/license/ilbc-freeware]
| latest_release_version =
| latest_release_date =
| latest_preview_version =
| latest_preview_date =
| operating_system = Cross-platform
}}
Internet Low Bitrate Codec (iLBC) is a royalty-free narrowband speech audio coding format and an open-source reference implementation (codec), developed by Global IP Solutions (GIPS) formerly Global IP Sound (acquired by Google Inc in 2011{{cite web |url=http://www.zdnet.com/blog/open-source/why-google-bought-global-ip-solutions/6501 |archive-url=https://web.archive.org/web/20100521163742/http://www.zdnet.com/blog/open-source/why-google-bought-global-ip-solutions/6501 |url-status=dead |archive-date=May 21, 2010 |title=Why Google bought Global IP Solutions |author=Dana Blankenhorn |website=ZDNet |date=2010-05-18 |access-date=2011-06-23}}). It was formerly freeware with limitations on commercial use,{{cite web|url=http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf |title=Global IP Solutions iLBC Freeware Public License |date=2008-10-30 |access-date=2011-06-23 |url-status=dead |archive-url=https://web.archive.org/web/20081030043137/http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf |archive-date=October 30, 2008 }}{{cite web|url=http://www.ilbcfreeware.org/ |title=iLBCfreeware |url-status=dead |archive-url=https://web.archive.org/web/20081219092331/http://www.ilbcfreeware.org/ |archive-date=December 19, 2008 }} but since 2011 it is available under a free software/open source (3-clause BSD license) license as a part of the open source WebRTC project.{{cite web |url=http://www.webrtc.org/ilbc-freeware |title=iLBC Freeware |access-date=2011-06-23 |url-status=dead |archive-url=https://web.archive.org/web/20110705082246/http://www.webrtc.org/ilbc-freeware |archive-date=2011-07-05 }} It is suitable for VoIP applications, streaming audio, archival and messaging. The algorithm is a version of block-independent linear predictive coding, with the choice of data frame lengths of 20 and 30 milliseconds. The encoded blocks have to be encapsulated in a suitable protocol for transport, usually the Real-time Transport Protocol (RTP).
iLBC handles lost frames through graceful speech quality degradation. Lost frames often occur in connection with lost or delayed IP packets. Ordinary low-bitrate codecs exploit dependencies between speech frames, which cause errors to propagate when packets are lost or delayed. In contrast, iLBC-encoded speech frames are independent and so this problem will not occur.
iLBC is defined in RFC 3951. It is one of the codecs used by Gizmo5, WebRTC, Ekiga, Google Talk, Maemo Recorder (on the Nokia N800/N810), Polycom IP Phone, Cisco, QuteCom, Tuenti,{{Cite web|url=https://vimeo.com/109608566|title=Tuenti+WebRTC (Voip2day 2014)}} Yahoo! Messenger, Ooma{{citation | url= http://support.ooma.com/home/star-codes-on-your-ooma-device/ |title=Ooma * codes|date=12 May 2015 }} and many others.
iLBC was submitted to IETF in 2002{{citation |url=http://www.itu.int/itudoc/itu-t/workshop/converge/s6am-p4_pp7.ppt |title=Speech Coders - a VoIP perspective |author=Roar Hagen |access-date=2011-06-23}}{{cite web |url=http://tools.ietf.org/html/draft-andersen-ilbc-00 |title=Internet Low Bit Rate Codec - draft-andersen-ilbc-00.txt |year=2002 |access-date=2011-06-23 |last1=Duric |first1=Alan |last2=Andersen |first2=Steven C. }} and the final specification was published in 2004.
Parameters and features
- Sampling frequency 8 kHz/16 bit (160 samples for 20 ms frames, 240 samples for 30 ms frames)
- Controlled response to packet loss, delay and jitter
- Fixed bitrate (15.2 kbit/s for 20 ms frames, 13.33 kbit/s for 30 ms frames)
- Fixed frame size (304 bits per block for 20 ms frames, 400 bits per block for 30 ms frames)
- Robustness similar to pulse-code modulation (PCM) with packet loss concealment, like the ITU-T G.711
- CPU load similar to G.729A, with higher basic quality and better response to packet loss
- Royalty-free
- Since 2011 it is available under an open source (3-clause BSD license) license as a part of the open source WebRTC project. (previously commercial use of the source code supplied by GIPS required a licence{{Cite web|url=http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf|archive-url=https://web.archive.org/web/20081030043137/http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf|url-status=dead|title=former GIPS license|archive-date=October 30, 2008}})
- PSQM testing under ideal conditions yields mean opinion scores of 4.14 for iLBC (15.2 kbit/s), compared to 4.3 for G.711 (μ-law)
See also
References
{{reflist|2}}
External links
- [https://web.archive.org/web/20110705082246/http://www.webrtc.org/ilbc-freeware Official homepage]
- [https://web.archive.org/web/20080513185652/http://www.ilbcfreeware.org/ iLBC former homepage]
{{Compression formats}}
{{Compression Software Implementations}}