Di recente Sinologic ha pubblicato un’interessante articolo in cui spiega alcune differenze tra il codec G729 Digium rispetto all’implementazione “libera” via Intel SDK.

Innanzitutto il codec G.729 e’ comperto da brevetto, percui a prescindere dal software utilizzato, bisognerebbe pagare una “licenza” per uso commerciale, quindi anche la versine “libera” non e’ liberamente utilizzabile.

Tuttavia in europa i brevetti software non sono legali (almeno per ora, e speriamo per sempre), percui e’ possibile utilizzare la versione prodotta attraverso le librerie intel senza infrangere alcuna legge.

Ora che sappiamo di poter utilizzare legalmente (grazie Europa)  la versione “libera” qual’e'  la principale differenze tra la versione Digium e quella prodotta con l’sdk Intel?

Bisogna partite spiegando che Digium, appartenendo al consorzio, puo’ usufruire commercialmente dell’algoritmo delle revisioni e tutto il resto, ed ha creato il codec_g729 per Asterisk, apportando verie migliorie, cercando, nella verie release di milgiorare la qualita’ audio e ridurre l’uso della cpu.

Il G.729 non trasmette in alcun modo la voce originale, al suo interno ha un specie di “dizionario di suoni”, una sorta di micro-fonemi, con il quale mappa ogni suono prodotto dalla voce con uno conenuto nel “dizionario”.

Al crescere del “dizionario”, crescono anche i tempi di ricerca del “suono” al suo interno e l’uso di cpu nel tentativo di trovarlo.

Queste verie aggiunte differiscono la versione del codec (a, b, c, d, e, c +f, g…) ognuna con le sue particolarita’, molte vengono usate solo dai sistemi mobili, mentre le piu comuni sono A e B. Digium oltre a produrne una versione per Asterisk (l’intel di base fornisce un sdk non un driver per software specifici)  mantenendolo aggioranto con i vari fonemi, cerca di milgiorarne l’uso di cpu e ottimizzarlo il piu possibile.

Intel come abbiamo detto fornisce un sdk a scopo educativo, liberamente scaricabile, dal quale e’ stato sviluppato un driver per asterisk, tuttavia benche si legga/reperisca come versione OpenSource, i sorgenti del codec non ci sono (e’ in forma binaria), e open non lo e’… tutta via c’e', si puo’ usare e funziona, almeno nella maggior parte dei casi, anche se sono piu di 10 anni che non viene aggioranto con le varie revisioni.

E questo e’ il problema principale, l’sdk e’ sempre lo stesso,  al massimo il driver viene ricompilato per differenti librerie ed architetture e varie versioni di asterisk.

Tags: , , ,

This post has 4 comments.

  1. […] http://www.dailyasterisk.net/2008/03/07/g729-digium-vs-versioni-free/Di recente Sinologic ha pubblicato un’interessante articolo in cui spiega alcune differenze tra il codec G729 Digium rispetto all’implementazione “libera” via Intel SDK. Innanzitutto il codec G.729 e’ comperto da brevetto, … […]

  2. […] http://www.dailyasterisk.net/2008/03/07/g729-digium-vs-versioni-free/Di recente Sinologic ha pubblicato un’interessante articolo in cui spiega alcune differenze tra il codec G729 Digium rispetto all’implementazione “libera” via Intel SDK. Innanzitutto il codec G.729 e’ comperto da brevetto, … […]

  3. Diego
    21 Apr 08
    11:52

    >nnanzitutto il codec G.729 e’ comperto da brevetto
    Il codec non e’ coperto da alcun brevetto. Sono brevettate alcune tecniche utilizzate all’interno del codec.

    >Tuttavia in europa i brevetti software non >sono legali (almeno per ora, e speriamo
    >per sempre), percui e’ possibile utilizzare
    >la versione prodotta attraverso le librerie >intel senza infrangere alcuna legge.

    Magari… Non appena fai girare il codec in un qualche tipo di hardware puoi essere perseguito dal consorzio di imprese che detiene dei diritti su queste tecniche e questo temo valga anche qui in Europa.

    Vedi qui:http://www.soft-switch.org/patents/ar01s06.html

  4. beres
    23 Apr 08
    10:53

    Grazie Diego, link interessate. Difatti il codec g729 ipp e’ in implementazione software e non hardware… certo che in effetti convincere un giudice potrebbe non essere cosa facile :)