Naar inhoud springen

G.711: verschil tussen versies

Uit Wikipedia, de vrije encyclopedie
Verwijderde inhoud Toegevoegde inhoud
Lexw (overleg | bijdragen)
cat en subcat
StrepuBot (overleg | bijdragen)
k Parameter verouderd
 
(39 tussenliggende versies door 24 gebruikers niet weergegeven)
Regel 1: Regel 1:
'''G.711''' is een [[ITU]] standaard voor [[datacompressie|audiocompressie]] en -expansie. Het wordt voornamelijk gebruikt in [[telefoon|telefonietoepassingen]]. De standaard werd in [[1972]] vrijgegeven.
'''G.711''' is een [[International Telecommunication Union|ITU]]-standaard voor [[datacompressie|audiocompressie]] en -expansie. Hij wordt voornamelijk gebruikt in [[telefonie]]toepassingen. De standaard werd in [[1972]] vrijgegeven.


De G.711 standaard comprimeert [[Pulscodemodulatie|PCM]] samples, die met een [[bemonsteringsfrequentie|sampling rate]] van 8000 samples per seconde zijn genomen, tot 8-bit waardes. Hierdoor resulteert de G.711 standaard in een gecodeerde [[bitrate]] van 64 kbit/s.
De G.711-standaard comprimeert [[Pulscodemodulatie|PCM]] monsters die met een [[bemonsteringsfrequentie]] van 8000 monsters per seconde zijn genomen, tot 8-bit waardes. Hierdoor resulteert de G.711-standaard in een gecodeerde [[bitrate]] van 64 kbit/s.


Binnen de standaard bestaan twee [[algoritme]]n, het zogenoemde ''μ-law'' (ook wel geschreven als ''mu-law'') algorithme en het ''A-law'' algorithme. μ-law wordt voornamelijk in [[Noord-Amerika]] en [[Japan]] gebruikt, A-law in de rest van de wereld. Beiden gebruiken een [[logaritme|logaritmische]] schaal. A-law is iets recenter dan μ-law, en is specifiek ontwikkeld om simpel in een [[computerprogramma]] te kunnen implementeren.
Binnen de standaard bestaan twee [[algoritme]]n, het zogenoemde ''μ-law''-algoritme (uitgesproken als ''mu-law'' en soms ook geschreven als 'mu-law', of als 'u-law') en het ''A-law''-algoritme. Het μ-law-algoritme wordt voornamelijk in [[Noord-Amerika]] en [[Japan]] gebruikt, het A-law-algoritme in de rest van de wereld. Beide maken gebruik van een [[logaritmische schaal]]. De signaalwaarde <math>x</math> wordt via een logaritmisch functievoorschrift afgebeeld op een waarde <math>y</math>. Op de <math>y</math>-waardes vindt lineaire [[kwantisatie (signaalanalyse)|kwantisatie]] (ook wel uniforme kwantisatie genoemd) plaats met 8 bits per signaalmonster. A-law is iets recenter dan μ-law, en is specifiek ontwikkeld om simpel in een [[computerprogramma]] geïmplementeerd te kunnen worden.


De specificaties van de algorithmen zijn:
De specificaties van de algoritmen zijn:
* μ-law: <math>y = \sgn(x) \cdot \ln(1 + \mu |x|) / \ln(1 + \mu)</math> waarin <math>\mu=255</math>
* μ-law:
* A-law: <math>
*: y = ln(1 + μx) / ln(1 + μ) waarin μ = 255
\begin{cases}y = Ax / (1 + \ln A) \text{ voor } |x| \le 1/A
* A-law:
*: y = Ax / (1 + ln A) voor x <= 1/A en waarin A = 87.6
\\ y = \sgn(x) \cdot (1 + \ln A|x|) / (1 + \ln A) \text{ voor } 1/A \le |x| \le 1
\end{cases}</math>
*: y = (1 + ln Ax) / (1 + ln A) voor 1/A <= x <= 1
:waarin A = 87,6.


De A-law codering kan ook worden weergegeven in onderstaande tabel, waarin het ingangssignaal een 16-bit lineaire samplewaarde is, en het uitgangssignaal een 8-bit A-law gecomprimeerd signaal.
De A-law-codering kan ook worden weergegeven in onderstaande tabel, waarin het ingangssignaal een 16-bit lineaire bemonsteringswaarde is, en het uitgangssignaal een 8-bit A-law gecomprimeerd signaal.


:{| class="wikitable"
<table border="1" cellpadding="3" cellspacing="0">
|-
<tr>
! Lineaire ingangswaarde !! Gecomprimeerde code
<td>'''Lineaire ingangswaarde'''</td>
|-
<td>'''Gecomprimeerde code'''</td>
| s0000000WXYZdddd || s000WXYZ
</tr>
|-
<tr>
| s0000001WXYZdddd || s001WXYZ
<td>s0000000WXYZdddd</td>
|-
<td>s000WXYZ</td>
| s000001WXYZddddd || s010WXYZ
</tr>
|-
<tr>
| s00001WXYZdddddd || s011WXYZ
<td>s0000001WXYZdddd</td>
|-
<td>s001WXYZ</td>
| s0001WXYZddddddd || s100WXYZ
</tr>
|-
<tr>
| s001WXYZdddddddd || s101WXYZ
<td>s000001WXYZddddd</td>
|-
<td>s010WXYZ</td>
| s01WXYZddddddddd || s110WXYZ
</tr>
|-
<tr>
| s1WXYZdddddddddd || s111WXYZ
<td>s00001WXYZdddddd</td>
|}
<td>s011WXYZ</td>
</tr>
<tr>
<td>s0001WXYZddddddd</td>
<td>s100WXYZ</td>
</tr>
<tr>
<td>s001WXYZdddddddd</td>
<td>s101WXYZ</td>
</tr>
<tr>
<td>s01WXYZddddddddd</td>
<td>s110WXYZ</td>
</tr>
<tr>
<td>s1WXYZdddddddddd</td>
<td>s111WXYZ</td>
</tr>
</table>


Hierin is ''s'' het tekenbit, WXYZ zijn 4 afzonderlijke bits van de gesamplede waarde, en ''d'' zijn ''don't care'' bits (aangezien deze in het gecodeerde signaal toch weggegooid worden).
Hierin is ''s'' het tekenbit, WXYZ zijn 4 afzonderlijke bits van de bemonsteringswaarde, en ''d'' zijn ''don't care'' bits (aangezien deze in het gecodeerde signaal toch weggegooid worden).


Volgens deze regel wordt een 16-bit sample van 1000000010101111 dus als 10001010 gecodeerd (eerste regel van de tabel) en 0000000110101111 wordt als 00011010 gecodeerd (tweede regel van de tabel).
Volgens deze regel wordt een 16-bit-monster van 1000000010101111 dus als 10001010 gecodeerd (eerste regel van de tabel) en 0000000110101111 wordt als 00011010 gecodeerd (tweede regel van de tabel).


De gecodeerde waarde kan ook gezien worden als een [[floating point]] getal met een 4-bit [[mantisse]] en een 3-bit [[exponent]].
De gecodeerde waarde kan ook gezien worden als een [[floating point]] getal met een 4-bit [[mantisse]] en een 3-bit [[exponent]].


Naast de bovenstaande regel specificeert de standaard dat elk even bit wordt geïnverteerd (een 1 vertaald naar een 0 en een 0 vertaald naar een 1), voordat het monster wordt verstuurd. De bedoeling hiervan is om, ook wanneer het bemonsterde signaal uitsluitend stilte bevat (dus alleen nullen in de lineaire ingangswaarden en dientengevolge ook in de gecodeerde waarden), toch voldoende enen te versturen om zodoende de ontvanger in staat te stellen het gebruikte clock-signaal te reconstrueren.


In ASCII-teksten wordt vaak ''A-law'' aangeduid met PCMA en ''μ-law'' met PCMU.<ref>[https://web.archive.org/web/20190904034900/http://what-when-how.com/voip/g-711-compression-voip/ G.711 compression (VoIP)], what-when-how.com</ref>
Naast de bovenstaande regel specificeert de standaard dat elk even bit wordt geïnverteerd (een 1 vertaald naar een 0 en een 0 vetaald naar een 1), voordat de sample wordt verstuurd. De bedoeling hiervan is om, ook wanneer het gesamplede signaal uitsluitend [[stilte]] bevat (dus alleen nullen in de lineaire ingangswaarden en dientengevolge ook in de gecodeerde waarden), toch voldoende enen te versturen om zodoende de ontvanger in staat te stellen het gebruikte [[clock-signaal]] te reconstrueren.

== Referenties ==
{{References}}


== Externe links ==
== Externe links ==
* {{en}} [http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-G.711 ITU-T G.711 pagina]
* {{en}} [http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-G.711 ITU-T G.711]
* {{en}} [https://web.archive.org/web/20111105022454/http://www.en.voipforo.com/codec/codecs-g711-alaw.php G.711 codec process]

{{Navigatie bestandsformaten gecomprimeerde media}}


[[Categorie:Compressieformaat]]
[[Categorie:Compressieformaat]]
[[Categorie:Algoritme]]
[[Categorie:Algoritme]]

[[ca:G.711]]
[[de:G.711]]
[[en:G.711]]
[[fr:G.711]]
[[pl:G.711]]
[[ru:G.711]]

Huidige versie van 3 apr 2022 om 20:04

G.711 is een ITU-standaard voor audiocompressie en -expansie. Hij wordt voornamelijk gebruikt in telefonietoepassingen. De standaard werd in 1972 vrijgegeven.

De G.711-standaard comprimeert PCM monsters die met een bemonsteringsfrequentie van 8000 monsters per seconde zijn genomen, tot 8-bit waardes. Hierdoor resulteert de G.711-standaard in een gecodeerde bitrate van 64 kbit/s.

Binnen de standaard bestaan twee algoritmen, het zogenoemde μ-law-algoritme (uitgesproken als mu-law en soms ook geschreven als 'mu-law', of als 'u-law') en het A-law-algoritme. Het μ-law-algoritme wordt voornamelijk in Noord-Amerika en Japan gebruikt, het A-law-algoritme in de rest van de wereld. Beide maken gebruik van een logaritmische schaal. De signaalwaarde wordt via een logaritmisch functievoorschrift afgebeeld op een waarde . Op de -waardes vindt lineaire kwantisatie (ook wel uniforme kwantisatie genoemd) plaats met 8 bits per signaalmonster. A-law is iets recenter dan μ-law, en is specifiek ontwikkeld om simpel in een computerprogramma geïmplementeerd te kunnen worden.

De specificaties van de algoritmen zijn:

  • μ-law: waarin
  • A-law:
waarin A = 87,6.

De A-law-codering kan ook worden weergegeven in onderstaande tabel, waarin het ingangssignaal een 16-bit lineaire bemonsteringswaarde is, en het uitgangssignaal een 8-bit A-law gecomprimeerd signaal.

Lineaire ingangswaarde Gecomprimeerde code
s0000000WXYZdddd s000WXYZ
s0000001WXYZdddd s001WXYZ
s000001WXYZddddd s010WXYZ
s00001WXYZdddddd s011WXYZ
s0001WXYZddddddd s100WXYZ
s001WXYZdddddddd s101WXYZ
s01WXYZddddddddd s110WXYZ
s1WXYZdddddddddd s111WXYZ

Hierin is s het tekenbit, WXYZ zijn 4 afzonderlijke bits van de bemonsteringswaarde, en d zijn don't care bits (aangezien deze in het gecodeerde signaal toch weggegooid worden).

Volgens deze regel wordt een 16-bit-monster van 1000000010101111 dus als 10001010 gecodeerd (eerste regel van de tabel) en 0000000110101111 wordt als 00011010 gecodeerd (tweede regel van de tabel).

De gecodeerde waarde kan ook gezien worden als een floating point getal met een 4-bit mantisse en een 3-bit exponent.

Naast de bovenstaande regel specificeert de standaard dat elk even bit wordt geïnverteerd (een 1 vertaald naar een 0 en een 0 vertaald naar een 1), voordat het monster wordt verstuurd. De bedoeling hiervan is om, ook wanneer het bemonsterde signaal uitsluitend stilte bevat (dus alleen nullen in de lineaire ingangswaarden en dientengevolge ook in de gecodeerde waarden), toch voldoende enen te versturen om zodoende de ontvanger in staat te stellen het gebruikte clock-signaal te reconstrueren.

In ASCII-teksten wordt vaak A-law aangeduid met PCMA en μ-law met PCMU.[1]

  1. G.711 compression (VoIP), what-when-how.com
[bewerken | brontekst bewerken]
  • (en) ITU-T G.711
  • (en) G.711 codec process