Jump to content

Internet Low Bitrate Codec: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #61. Punctuation goes before References. Do general fixes if a problem exists. - using AWB (11700)
GreenC bot (talk | contribs)
Rescued 1 archive link. Wayback Medic 2.5 per WP:URLREQ#zdnet.com
 
(27 intermediate revisions by 24 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 |accessdate=2011-06-23}}</ref>
|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 30: Line 31:
| developer = [[Global IP Solutions]], now [[Google Inc]]
| developer = [[Global IP Solutions]], now [[Google Inc]]
| released = 2004
| released = 2004
| latest_release_version =
| latest_release_date =
| latest_preview_version =
| latest_preview_date =
| frequently updated =
| programming language = [[C (programming language)|C]]
| programming language = [[C (programming language)|C]]
| operating_system = [[Cross-platform]]
| operating_system_desc =
| size =
| size =
| language =
| language =
| status =
| genre = [[Audio codec]], [[reference implementation (computing)|reference implementation]]
| genre = [[Audio codec]], [[reference implementation (computing)|reference implementation]]
| license = [[BSD licenses|3-clause BSD]]
| license = [[BSD licenses|3-clause BSD]]
| website = [http://www.webrtc.org/ilbc-freeware http://www.webrtc.org/ilbc-freeware]
| 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 an [[open source]] [[royalty-free]] [[narrowband]] [[Speech communication|speech]] [[audio coding format]] and reference [[codec]] implementation, developed by [[Global IP Solutions]] (GIPS) formerly Global IP Solutions (acquired by [[Google Inc]] in 2011<ref>{{cite web |url=http://www.zdnet.com/blog/open-source/why-google-bought-global-ip-solutions/6501 |title=Why Google bought Global IP Solutions |author=Dana Blankenhorn |date=2010-05-18 |accessdate=2011-06-23}}</ref>). It was formerly [[freeware]] with limited commercial use,<ref>{{cite web |url=http://web.archive.org/web/20081030043137/http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf |title=Global IP Solutions iLBC Freeware Public License |format=PDF |date=2008-10-30 |accessdate=2011-06-23}}</ref><ref>{{cite web |url=http://web.archive.org/web/20081219092331/http://www.ilbcfreeware.org/ |title=iLBCfreeware}}</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 |accessdate=2011-06-23}}</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).
'''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 the case of 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 unfortunately results in error propagation 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]], [[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}}</ref> and many others.
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 |accessdate=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 |accessdate=2011-06-23}}</ref> and the final specification was published in 2004.
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&nbsp;kHz/16 bit (160 samples for 20 ms frames, 240 samples for 30 ms frames)
* [[Sampling frequency]] 8&nbsp;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 kbit/s for 20 ms frames, 13.33 kbit/s for 30 ms frames)
* Fixed [[bitrate]] (15.2&nbsp;kbit/s for 20 ms frames, 13.33&nbsp;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 code modulation]] (PCM) with [[packet loss concealment]], like the [[International Telecommunication Union|ITU]]-T [[G.711]]
* 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>[http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf former GIPS license]</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 kbit/s), compared to 4.3 for [[G.711]] ([[µ-law]])
* [[PSQM]] testing under ideal conditions yields [[mean opinion score]]s of 4.14 for iLBC (15.2&nbsp;kbit/s), compared to 4.3 for [[G.711]] ([[μ-law]])


==See also==
==See also==
Line 72: Line 70:


==External links==
==External links==
* [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 80: Line 78:
[[Category:Speech codecs]]
[[Category:Speech codecs]]
[[Category:Free audio codecs]]
[[Category:Free audio codecs]]
[[Category:Open formats]]
[[Category:Software using the BSD license]]
[[Category:Formerly proprietary software]]

Latest revision as of 16:05, 5 July 2024

Internet Low Bit Rate Codec (iLBC)
Filename extension
.lbc[1]
Internet media type
audio/iLBC[1]
Magic number'#!iLBC30\n' or '#!iLBC20\n'[1]
Developed byGlobal IP Solutions, now Google Inc
Initial release2004 (2004)[1]
Type of formatAudio compression format
StandardRFC 3951
iLBC Speech Coder
Developer(s)Global IP Solutions, now Google Inc
Initial release2004
Written inC
Operating systemCross-platform
TypeAudio codec, reference implementation
License3-clause BSD
Websitehttps://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]

See also

[edit]

References

[edit]
  1. ^ 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.
  2. ^ Dana Blankenhorn (2010-05-18). "Why Google bought Global IP Solutions". ZDNet. Archived from the original on May 21, 2010. Retrieved 2011-06-23.
  3. ^ "Global IP Solutions iLBC Freeware Public License" (PDF). 2008-10-30. Archived from the original (PDF) on October 30, 2008. Retrieved 2011-06-23.
  4. ^ "iLBCfreeware". Archived from the original on December 19, 2008.
  5. ^ a b "iLBC Freeware". Archived from the original on 2011-07-05. Retrieved 2011-06-23.
  6. ^ "Tuenti+WebRTC (Voip2day 2014)".
  7. ^ Ooma * codes, 12 May 2015
  8. ^ Roar Hagen, Speech Coders - a VoIP perspective, retrieved 2011-06-23
  9. ^ Duric, Alan; Andersen, Steven C. (2002). "Internet Low Bit Rate Codec - draft-andersen-ilbc-00.txt". Retrieved 2011-06-23.
  10. ^ "former GIPS license" (PDF). Archived from the original (PDF) on October 30, 2008.
[edit]