Lankide:Margisa/Proba orria

Wikipedia, Entziklopedia askea


Artikulu hau, osorik edo zatiren batean, ingelesezko wikipediako «Speech coding» artikulutik itzulia izan da. Jatorrizko artikulu hori GFDL edo CC-BY-SA 3.0 lizentzien pean dago. Egileen zerrenda ikusteko, bisita ezazu jatorrizko artikuluaren historia orria.



Ahozko kodegailu-deskodegailu edo ahozko kodek ere ezagututa, ahotsa kodetzeko tresna bat da. Ahotsa duten audio digitaleko seinaleen datuak konprimitzeko erabiltzen da. Ahots-kodifikazioak ahots-parametro espezifikoen zenbatespena erabiltzen du ahots-seinalea modelatzeko, audio-seinalea prozesatzeko teknikak erabiliz. Datu generikoen konpresio-algoritmoekin konbinatuta, bit-fluxu (bit-puskazko arkitektura) trinko baten ondoriozko parametro modelatuak irudikatzeko.

Ahotsa kodetzeko aplikazio batzuk telefonia mugikorra eta IP gaineko ahotsa (VoIP) dira. Telefonia mugikorrean gehien erabiltzen den ahots-kodetze teknika prediktibo lineala (LPC) da; aldiz, VoIP aplikazioetan gehien erabiltzen dena LPC teknikak eta kosinu aldatuaren eraldaketa (MDCT) dira.

Dena hau hobeto ulertzeko eta nola lan egiten duten jakiteko, seinale motak zeintzuk diren eta soinu-kalitatearen zenbait ezaugarriak ulertu behar dira.

Seinale motak: Analogiko Vs digital[aldatu | aldatu iturburu kodea]

Analogiko[aldatu | aldatu iturburu kodea]

Mundu analogiko batean bizi gara. Zerbait analogiko egiten duena da balio biren arteko balio kopuru amaigabe izatea. Adibidez, soinua erabiliz, bolumena atribututzat hartuta: Soinu batek bolumen 1 edota 10 bolumen izan ditzake, bi balio horien artean, balio kopuru amaigabea izan dezake.

Hurrengo grafikoan horren froga ikus dezakegu:

Bolumen seinalea denbora zehar.

Ikusten denez ΔT tartean, nahiz eta ΔT tarte infinitesimal txikia izan, bolumena kopuru infinitesimal batean handituko litzateke. [1]

Digital[aldatu | aldatu iturburu kodea]

Fenomeno digitalak aztertzen ditugunean, bi balioen arteko balio kopuru amaigabe ez duen zerbaiti buruz hitz egiten ari gara, zenbaki diskretu eta mugatu bati buruz baizik. Aurreko adibide bera erabiliz, soinu baten bolumenean denboran zehar izandako aldaketaren irudikapen digitala honela ikusiko da:

Bolumen seinalea denbora zehar.

Ikusten denez, kurba ez dela leuna, baizik eta balio desberdinak dituela denbora aurrera egin ahala, eta ezin dituela izan bitarteko baliorik. Balio posibleen kopuru finko bat baino ez dagoenez, tartea (ΔT) behar bezain txikia bihurtzen bada, bolumenean ez da aldaketarik izango ΔT denboran. [1]

Soinu-kalitatearen ezaugarriak[aldatu | aldatu iturburu kodea]

Zenbat eta pauso gehiago hartzean soinu irudikapen digitalizatuan, orduan eta zehaztasun handiagoz irudikatuko da jatorrizko soinua. Hau eginez, handiagoa izango da erreprodukzioaren kalitatea. "Urrats" kopurua, batez ere, bi faktoreren araberakoa da: laginketa-maiztasuna eta bit-sakonera.

Laginketa-maiztasuna[aldatu | aldatu iturburu kodea]

Lagin-maiztasun adibidea. Uhin gorriaren forma soinua da eta puntu urdinak laginak dira

Laginketa-maiztasuna soinu bat lagintzeko edo "entzuteko" eta kodifikatzeko maiztasunari dagokio. Grabatzen den lagin bakoitza balio digital espezifiko batek adierazten du. Eskuineko irudia laginketa nola funtzionatzen den erakusten du.

Uhin gorriaren forma soinua da eta puntu urdinek laginak adierazten dituzte. X ardatza denbora da eta Y ardatza lagin bakoitzari 0tik 15era esleitutako balioak erakusten ditu. Lagin bakoitzerako balio digitala dugunean, bat eta zero gisa adierazteko behar den guztia bitar kode bihurtzea da.

Laginketa-maiztasuna handitzen bada (puntu urdinen kantitatea), informazio gehiago kodetuko du. Erreproduzitzen denean irudikapen zehatzagoa izaten eta soinu-kalitate hobea emanez. Laginketa-tasa hertz unitatez neurtzen da, maiztasun-unitate bat baita. Adibidez, 1 kHz-eko laginketa-maiztasun batek esan nahi du soinua 1000 aldiz mugitzen dela segundoero.

Soinua digitalizatzean, digitalizatu nahi duzun soinuaren maiztasun altuenaren bikoitza den laginketa-maiztasuna erabili behar dela ikusi zen, soinua doitasunez erreproduzitzeko. Honi Nyquisten teorema deitzen zaio. Giza ahotsak 4000 Hz-eko maiztasunak izan ohi ditu; beraz, 8000 Hz-eko laginketa-maiztasuna nahikoa da laginketa kalitate onargarriz egiteko. Horregatik, askotan, 8 kHz-eko laginketa-maiztasuna aurkitzen da ahotserako erabiltzen diren kodeketan.

Laginketa-maiztasun nahiko altua izanez gero, erreproduzitutako soinua hain zehatza izan daiteke, ezen giza belarriak ezin baitu bereizi haren eta jatorrizkoaren arteko aldea. CD kalitatea duen musika, digitalizazio horren adibide bat da. Giza entzumenak, normalean, 22 kHz-erainoko frekuentziak dituzten soinuak entzun ditzake. Horregatik, CD kalitatedun musikak 44 kHz-eko laginketa-maiztasunak gainditzen ditu, maiztasun entzungarri altuenaren bikoitza. [1]

Bit-sakonera[aldatu | aldatu iturburu kodea]

Bit-sakontasuna ulertzeko, hurrengo grafikoa aztertuko dugu:

Bit-sakontasunaren arazoak.

Puntu urdinak ez datozte bat zehazki uhin gorriaren formarekin. Lagin bakoitzak 0tik 15era bitarteko balio osoak baino ezin ditu izan. Grafikoaren zenbait eremutan, puntuak 12,7an edo 14,6an jarri behar dira. Baina, hori ezinezkoa denez, puntuak gertuen dagoen zenbaki osoan jartzen dira.

Lagin bakoitzaren zehaztasuna handitzeko, hura irudikatzeko 16 balio bakarrik izan beharrean, 32, 64,128 edo gehiago izan daitezke. Zenbat eta handiagoa izan lagineko balioen kopurua, orduan eta zehatzago izango baita soinuaren irudikapena. Ezaugarri horri bit-sakonera esaten zaio. Grafiko hauek erakusten dute bit-sakontasun handiagoak irudikapen digital zehatzagoa sor dezakeela:

Bit-sakontasunaren zenbait adibide.

4 biteko bit-sakontasun batek, lagin bakoitzerako, 2^4 = 16 balio emango ditu, eta 16 biteko bit-sakontasun batek, berriz, lagineko 2^16 = 65536 balio, banako-lagin bakoitzaren hurbilketaren zehaztasuna izugarri handituz. [1]

Kuantifikazio digitala[aldatu | aldatu iturburu kodea]

A/D bihurgailu prozesua[2]

Kuantifikazio digitaleko prozesua seinale analogiko jakin baten anplitude-balioak hartzen diren laginketa-etaparen ondorengoa da. Prozesu honen helburua balio horiek bitekin kuantifikatzea da, mailak esleituz.

Etapa honetan laginari balio bat ematen zaio, baina ez da digitala. Puntu honetan erabakitzen da laginaren balioa, hurbilketaren bidez, aurrez finkatutako mailen tartearen barruan dagoen eta kodifikazioan erabilitako kodearen arabera aurrez ezarritako balio bat esleitzen zaio.[2]

Kuantifikazio motak[aldatu | aldatu iturburu kodea]

Hainbat kuantifikazio teknika daude:

Kuantifikazio uniformea[aldatu | aldatu iturburu kodea]

Zenbatzaile uniformeetan (kuantifikazio lineala), berreraikitze-mailen arteko distantzia beti bera da. Ez dute inolako usterik egiten kuantifikatu beharreko seinalearen izaerari buruz, eta horregatik ez dituzte emaitza onenak ematen. Hala ere, abantailatzat dute errazenak direla inplementatzerako orduan.[2]

Kuantifikazio ez-uniformea[aldatu | aldatu iturburu kodea]

Kuantifikazio ez-uniformea (kuantifikazio ez-lineala), frekuentzia-banda jakin batean sentikorragoak izango diren zenbait seinale ez-homogeneoak prozesatzen direnean aplikatzen da.

Kasu honetan, seinalearen entropia bera aztertu eta kuantifikazio-mailak modu ez-uniformean esleitu behar dira (bit rate aldakor bat erabiliz), zabalera azkarrago aldatzen den hertzei maila gehiago esleitzeko (informazio-dentsitate handiagoa dute).

Digitalizazioan zehar kuantifikazio ez-uniforme bat erabili denean, zirkuitu ez-lineal bera erabili behar da deskodetzean, seinalea behar bezala berregin ahal izateko.[2]

Kuantifikazio logaritmikoa[aldatu | aldatu iturburu kodea]

Kuantifikazio logaritmikoa (kuantifikazio eskalarra) kuantifikazio digitalaren mota bat da. Bertan datu-tasa aldagaitz bat erabiltzen da, baina kuantifikazio uniformetik bereizten da kuantifikazioaren aurreko urrats gisa seinalea konpresore logaritmiko batetik pasarazten dela.

Seinalea konpresore logaritmiko batetik pasarazten da kuantifikazioa egin aurretik. Ondoriozko seinalean tentsioaren anplitudeak aldaketa hain maldatsuak ez dituenez, kuantifikazio-zarata handia sortzeko aukerak behera egiten du. Seinale digitala erreproduzitu aurretik, hedagailu batetik igaro beharko du. Kuantifikazio honetan kuantifikazio-urrats txikiak izango ditugu zabaltasun-balio txikietarako eta kuantifikazio-urrats handiak anplitude-balio handietarako. Horrek bereizmen handiagoa ematen du seinale ahuletan, bit rate berdineko kuantifikazio uniformearekin alderatuta, baina bereizmen txikiagoa zabalera handiko seinaleetan. Sistemaren irteeran, seinale digitalak hedagailu batetik igaro behar du, eta horrek konpresore logaritmikoaren alderantzizko funtzioa betetzen du. Konpresio eta espantsio prozedura bateratuari companding esaten zaio ingelesez.[3]

Mu Lege (µ-law) eta A Lege (A-law) algoritmoek kuantifikatzaile logaritmikoen adibide gisa balio dute.[2]

Mu Lege eta A Lege konpresio grafikoa.
Kuantifikazio bektoriala[aldatu | aldatu iturburu kodea]

Kuantifikazio bektoriala kuantifikazio digital mota bat da. Prozesua berdina izan daiteke, kuantifikazio uniformea (CBRa (ingelesetik dator CBR: constant bit rate) erabiltzen du) edo kuantifikazio ez-uniformea (VBRa (variable bit rate) erabiltzen du) erabiliz. Berezitasuna da, banaka atxikitako laginak kuantifikatu beharrean, lagin-blokeen arabera kuantifikatzen direla. Horrela, kuantifikazio eraginkorragoa lortzen da.

Lagin-bloke bakoitza bektore bat balitz bezala tratatuko da; hortik dator kuantifikazio mota honen izena.

Kuantifikazio bektoriala kuantifikazio-modalitate guztietatik eraginkorrena da kuantifikazio-erroreari dagokionez. Hala ere, eragozpen bat da kodetze hori lortzeko prozesu informatikoak oso konplexuak direla.[2]

Ahots-kodifikatzaileak[aldatu | aldatu iturburu kodea]

Giza ahotsaren gainerako alderdi guztien antzeko irudikapen digitala egin daiteke, hala nola tonuarena(neurtzeko hertz unitatea (ziklo/segundo) erabiltzen da) eta tinbrearena(altuera eta intentsitate bereko bi soinu desberdintzea ahalbidetzen duen ezaugarria da) adibidez.

Kategoriak[aldatu | aldatu iturburu kodea]

Ahots-kodifikatzaileak bi motatakoak dira:

  1. Uhin-formako kodifikatzaileak
  2. Vocoder-ak

Zenbait kodifikatzaile[aldatu | aldatu iturburu kodea]

G.711[aldatu | aldatu iturburu kodea]

G.711 kodifikatzailea ITU-T definituriko estandar bat da audioaren kodifikaziorako. Estandar hau telefonian gehien erabiltzen da. G.711 estandarrak giza ahotsa digitalki kodetzen du, 8 biteko bereizmena duten hitzak erabiltzen ditu eta 8000 lagin segundoko hartzen ditu eta 64 Kbit/s-ko datu-fluxua du.

G.729[aldatu | aldatu iturburu kodea]

G.729 giza ahotsa konprimitzeko algoritmo bat da. Giza ahotsa 10 milisegundoko zatietan konprimatzen du.

G.729 VoIP-ren gaineko ahots-aplikazioetan erabiltzen da gehienbat, banda zabalean eskakizun txikiak dituelako. G.729 estandarrak 8 kbit/s-ko bit-tasari eragiten dio, baina luzapenak daude, eta horiek ere 6.4 kbit/s-ko eta 11.8 kbit/s-ko tasak ematen dituzte elkarrizketan kalitate txarragoa edo hobea izateko, hurrenez hurren.[4]


Erreferentziak[aldatu | aldatu iturburu kodea]

  1. a b c d (Ingelesez) Noworatzky, Daniel. «Demystifying codecs, part 1: Digitizing the human voice» info.teledynamics.com (Noiz kontsultatua: 2022-11-28).
  2. a b c d e f (Gaztelaniaz) Cuantificación digital. 2021-08-16 (Noiz kontsultatua: 2022-11-28).
  3. «Companding» www.dspguide.com (Noiz kontsultatua: 2022-11-28).
  4. «G.729 : Codificación de la voz a 8 kbit/s mediante predicción lineal con excitación por código algebraico de estructura conjugada» www.itu.int (Noiz kontsultatua: 2022-11-29).

Ikus, gainera[aldatu | aldatu iturburu kodea]

Kanpo estekak[aldatu | aldatu iturburu kodea]

Wikimedia Commonsen badira fitxategi gehiago, gai hau dutenak: Margisa/Proba orria