Internet Low Bitrate Codec: Difference between revisions
GreenC bot (talk | contribs) Rescued 1 archive link. Wayback Medic 2.5 per WP:URLREQ#zdnet.com |
|||
(13 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Audio coding format}} |
|||
{{Infobox file format |
{{Infobox file format |
||
|name = Internet Low Bit Rate Codec (iLBC) |
|name = Internet Low Bit Rate Codec (iLBC) |
||
Line 4: | Line 5: | ||
|logo = |
|logo = |
||
|caption = |
|caption = |
||
|extension = .lbc<ref name="rfc3952">{{cite web |url=http://tools.ietf.org/html/rfc3952 |title=Real-time Transport Protocol (RTP) Payload Format for internet Low Bit Rate Codec (iLBC) Speech |year=2004 | |
|extension = .lbc<ref name="rfc3952">{{cite web |url=http://tools.ietf.org/html/rfc3952 |title=Real-time Transport Protocol (RTP) Payload Format for internet Low Bit Rate Codec (iLBC) Speech |year=2004 |access-date=2011-06-23 |last1=Duric |first1=Alan |last2=Andersen |first2=Soren Vang }}</ref> |
||
|mime = audio/iLBC<ref name="rfc3952" /> |
|mime = audio/iLBC<ref name="rfc3952" /> |
||
|type code = |
|type code = |
||
Line 42: | Line 43: | ||
| operating_system = [[Cross-platform]] |
| operating_system = [[Cross-platform]] |
||
}} |
}} |
||
'''Internet Low Bitrate Codec''' ('''iLBC''') is |
'''Internet Low Bitrate Codec''' ('''iLBC''') is a [[royalty-free]] [[narrowband]] [[Speech communication|speech]] [[audio coding format]] and an [[open-source software|open-source]] [[reference implementation]] ([[codec]]), developed by [[Global IP Solutions]] (GIPS) formerly Global IP Sound (acquired by [[Google Inc]] in 2011<ref>{{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}}</ref>). It was formerly [[freeware]] with limitations on commercial use,<ref>{{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 }}</ref><ref>{{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 }}</ref> but since 2011 it is available under a [[free software]]/open source ([[BSD licenses#3-clause license ("New BSD License" or "Modified BSD License")|3-clause BSD license]]) license as a part of the open source [[WebRTC]] project.<ref name=licence>{{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 }}</ref> 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 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]]/[[Nokia N810|N810]]), [[Polycom IP Phone]], [[Cisco]], [[QuteCom]], [[Tuenti]],<ref>{{ |
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]]/[[Nokia N810|N810]]), [[Polycom IP Phone]], [[Cisco]], [[QuteCom]], [[Tuenti]],<ref>{{Cite web|url=https://vimeo.com/109608566|title=Tuenti+WebRTC (Voip2day 2014)}}</ref> [[Yahoo! Messenger]], [[Ooma]]<ref>{{citation | url= http://support.ooma.com/home/star-codes-on-your-ooma-device/ |title=Ooma * codes|date=12 May 2015 }}</ref> and many others. |
||
iLBC was submitted to IETF in 2002<ref>{{citation |url=http://www.itu.int/itudoc/itu-t/workshop/converge/s6am-p4_pp7.ppt |title=Speech Coders - a VoIP perspective |author=Roar Hagen | |
iLBC was submitted to IETF in 2002<ref>{{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}}</ref><ref>{{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. }}</ref> and the final specification was published in 2004. |
||
==Parameters and features== |
==Parameters and features== |
||
* [[Sampling frequency]] 8 kHz/16 bit (160 samples for 20 ms frames, 240 samples for 30 ms frames) |
* [[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]] |
* Controlled response to [[packet loss]], delay and [[jitter]] |
||
* Fixed [[bitrate]] (15.2 |
* 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) |
* Fixed frame size (304 bits per block for 20 ms frames, 400 bits per block for 30 ms frames) |
||
* Robustness similar to [[pulse |
* Robustness similar to [[pulse-code modulation]] (PCM) with [[packet loss concealment]], like the [[International Telecommunication Union|ITU]]-T [[G.711]] |
||
* CPU load similar to [[G.729A]], with higher basic quality and better response to packet loss |
* CPU load similar to [[G.729A]], with higher basic quality and better response to packet loss |
||
* [[Royalty-free]] |
* [[Royalty-free]] |
||
* Since 2011 it is available under an open source ([[BSD licenses#3-clause license ("New BSD License" or "Modified BSD License")|3-clause BSD license]]) license as a part of the open source [[WebRTC]] project.<ref name=licence /> (previously commercial use of the source code supplied by GIPS required a licence<ref> |
* Since 2011 it is available under an open source ([[BSD licenses#3-clause license ("New BSD License" or "Modified BSD License")|3-clause BSD license]]) license as a part of the open source [[WebRTC]] project.<ref name=licence /> (previously commercial use of the source code supplied by GIPS required a licence<ref>{{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}}</ref>) |
||
* [[PSQM]] testing under ideal conditions yields [[mean opinion score]]s of 4.14 for iLBC (15.2 |
* [[PSQM]] testing under ideal conditions yields [[mean opinion score]]s of 4.14 for iLBC (15.2 kbit/s), compared to 4.3 for [[G.711]] ([[μ-law]]) |
||
==See also== |
==See also== |
||
Line 70: | Line 71: | ||
==External links== |
==External links== |
||
* [https://web.archive.org/web/20110705082246/http://www.webrtc.org/ilbc-freeware Official homepage] |
* [https://web.archive.org/web/20110705082246/http://www.webrtc.org/ilbc-freeware Official homepage] |
||
* [http://ilbcfreeware.org/ iLBC former homepage] |
* [https://web.archive.org/web/20080513185652/http://www.ilbcfreeware.org/ iLBC former homepage] |
||
{{Compression formats}} |
{{Compression formats}} |
||
Line 78: | Line 79: | ||
[[Category:Free audio codecs]] |
[[Category:Free audio codecs]] |
||
[[Category:Open formats]] |
[[Category:Open formats]] |
||
[[Category:Software using the BSD license]] |
|||
[[Category:Formerly proprietary software]] |
Latest revision as of 16:05, 5 July 2024
Filename extension |
.lbc[1] |
---|---|
Internet media type |
audio/iLBC[1] |
Magic number | '#!iLBC30\n' or '#!iLBC20\n'[1] |
Developed by | Global IP Solutions, now Google Inc |
Initial release | 2004[1] |
Type of format | Audio compression format |
Standard | RFC 3951 |
Developer(s) | Global IP Solutions, now Google Inc |
---|---|
Initial release | 2004 |
Written in | C |
Operating system | Cross-platform |
Type | Audio codec, reference implementation |
License | 3-clause BSD |
Website | https://webrtc.org/license/ilbc-freeware |
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[2]). It was formerly freeware with limitations on commercial use,[3][4] 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.[5] 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,[6] Yahoo! Messenger, Ooma[7] and many others.
iLBC was submitted to IETF in 2002[8][9] and the final specification was published in 2004.
Parameters and features
[edit]- 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.[5] (previously commercial use of the source code supplied by GIPS required a licence[10])
- 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
[edit]References
[edit]- ^ a b c d Duric, Alan; Andersen, Soren Vang (2004). "Real-time Transport Protocol (RTP) Payload Format for internet Low Bit Rate Codec (iLBC) Speech". Retrieved 2011-06-23.
- ^ Dana Blankenhorn (2010-05-18). "Why Google bought Global IP Solutions". ZDNet. Archived from the original on May 21, 2010. Retrieved 2011-06-23.
- ^ "Global IP Solutions iLBC Freeware Public License" (PDF). 2008-10-30. Archived from the original (PDF) on October 30, 2008. Retrieved 2011-06-23.
- ^ "iLBCfreeware". Archived from the original on December 19, 2008.
- ^ a b "iLBC Freeware". Archived from the original on 2011-07-05. Retrieved 2011-06-23.
- ^ "Tuenti+WebRTC (Voip2day 2014)".
- ^ Ooma * codes, 12 May 2015
- ^ Roar Hagen, Speech Coders - a VoIP perspective, retrieved 2011-06-23
- ^ Duric, Alan; Andersen, Steven C. (2002). "Internet Low Bit Rate Codec - draft-andersen-ilbc-00.txt". Retrieved 2011-06-23.
- ^ "former GIPS license" (PDF). Archived from the original (PDF) on October 30, 2008.