Пређи на садржај

Teorija kodiranja

С Википедије, слободне енциклопедије
Dvodimenzionalna vizualizacija Hamingovog rastojanja, kritične mere u teoriji kodiranja.

Teorija kodiranja je studija koja proučava svojstva kodova i njihovu prikladnost za specifične primene. Kodovi se koriste za kompresiju podataka, kriptografiju, otkrivanje i ispravljanje grešaka, prenos podataka i skladištenje podataka. Kodovi se proučavaju u različitim naučnim disciplinama - poput teorije informacija, elektrotehnike, matematike, lingvistike i računarske nauke - u svrhu dizajniranja efikasnih i pouzdanih metoda prenosa podataka. To obično uključuje uklanjanje suvišnih vrednosti i ispravljanje ili otkrivanje grešaka u prenešenim podacima.

Postoje četiri vrste kodiranja:[1]

  1. Kompresija podataka (ili, kodiranje izvora)
  2. Kontrola greške (ili odiranje kanala)
  3. Kriptografsko kodiranje
  4. Linijsko kodiranje

Kompresija podataka pokušava da ukloni suvišnost podataka iz nekog izvora kako bi se što efikasnije prenosili. Na primer, Zip komprimovanje podataka čini datoteke podataka manjim u svrhe poput smanjenja internetskog prometa. Kompresija podataka i ispravljanje grešaka mogu se proučavati u kombinaciji.

Ispravljanje grešaka dodaje ekstra bitove kako bi prenos podataka bio robusniji na smetnje koje nastaju na kanalu prenosa. Obični korisnik možda nije svestan mnogih vidova primene u kojima se koristi korekcija grešaka. Tipični muzički CD koristi Rid-Solomonov kod za korigovanja impakta ogrebotina i prašine. U ovoj aplikaciji kanal prenosa je sam CD. Mobilni telefoni takođe koriste tehnike kodiranja za korekciju slabljenja i buke prenosa visokih frekvencija. Modemi podataka, telefonski prenosi i Mreža dubokog svemira agencije NASA, svi koriste tehnike kodiranja kanala kako bi prenosili bitove, na primer turbo kod i LDPC kodove.

Istorija teorije kodiranja

[уреди | уреди извор]

Godine 1948. Klod Šanon je objavio „Matematičku teoriju komunikacija”, članak u dva dela u julskom i oktobarskom broju tehničkog časopisa Bell Sistem.[2][3][4][5] Ovaj rad se fokusira na problem najboljeg kodiranja informacije koje pošiljalac želi da prenese. U ovom fundamentalnom radu on je koristio alate teorije verovatnoće, koje je razvio Norbert Viner, a koji su u to vreme bili u počenim stupnjevima primene u teoriji komunikacije. Šanon je razvio informacionu entropiju kao meru neizvesnosti u poruci, čime je esencijalno začeo polje teorije informacija.[6]

Golajov binarni kod razvijen je 1949. godine.[7][8] To je kod za ispravljanje grešaka kojim se mogu ispraviti do tri greške u svakoj 24-bitnoj reči i detektovati četvrta. Ričard Heming je osvojio Tjuringovu nagradu 1968. godine za svoj rad u Belovim laboratorijma na numeričkim metodama, sistemima automatskog kodiranja i kodovima za detektovanje i korigovanje grešaka. On je izumeo koncepte poznate kao Hemingovi kodovi, Hemingovi prozori, Hemingovi brojevi i Hemingovo rastojanje.

Nasir Ahmed je 1972. godine predložio diskretnu kosinusnu transformaciju (DCT), koju je razvio sa T. Natarajanom i K. R. Raom 1973. godine.[9] DCT je najčešće korišten algoritam kompresije s gubitkom, i osnova za multimedijske formate kao što su JPEG, MPEG i MP3.

Kodiranje izvora

[уреди | уреди извор]

Cilj kodiranja izvora je da se izvorni podaci učiniti manjim.[10][11]

Podaci se mogu videti kao randomne promenljive , gde se javlja sa verovatnoćom .

Podaci se kodiraju nizovima (rečima) preko abecede .

Kod je funkcija

(ili ako prazan niz nije deo alfabeta).

je kodna reč asocirana sa .

Dužina kodne reči se piše kao

.

Očekivana dužina koda je

Spajanjem kodnih reči se dobija .

Kodna reč praznog niza je sam prazni niz:

  1. je nesingularno ako je injektivno.
  2. je jedinstveno dekodivo ako je injektivno.
  3. je trenutno ako nije prefix od (i suprotno).

Entropija izvora je mera informacija. U osnovi, izvorni kod pokušava da smanji suvišnost koja postoji u izvoru, i da predstavi izvor s manjim brojem bitova koji sadrže više informacija.

Kompresija podataka koja izričito pokušava da minimizuje prosečnu dužinu poruka prema određenom pretpostavljenom modelu verovatnoće naziva se entropijsko kodiranje.

Različite tehnike koje koriste sheme kodiranja izvora pokušavaju da ostvare granicu entropije izvora. C(x) ≥ H(x), gde je H(x) entropija izvora (bit-stopa), a C(x) je bit-stopa nakon kompresije. Konkretno, nijedna šema kodiranja izvora ne može nadmašiti entropiju izvora.

Faks transmisija koristi jednostavno kodiranje dužine izvođenja. Kodiranje izvora uklanja sve suvišne podatke prema potrebama predajnika, smanjujući opseg neophodan za prenos.

Neuralno kodiranje

[уреди | уреди извор]

Neuralno kodiranje je polje povezano sa neuronaukom koje se bavi načinom na koji su senzorne i druge informacije u mozgu predstavljene mrežama neurona. Glavni cilj proučavanja neuronskog kodiranja je karakterizacija odnosa između stimulusa i pojedinca ili odgovora neurona i odnosa između električne aktivnosti neurona u celini.[12] Smatra se da neuroni mogu kodirati digitalne i analogne informacije,[13] i da neuroni slede principe teorije informacija i komprimuju informacije.[14] Oni detektuju i koriguju greške[15] u signalima koji se šalju kroz mozak i širi nervni sistem.

  1. ^ James Irvine; David Harle (2002). „2.4.4 Types of Coding”. Data Communications and Networks. John Wiley & Sons. стр. 18. ISBN 9780471808725. „There are four types of coding 
  2. ^ Shannon, Claude Elwood (jul 1948). „A Mathematical Theory of Communication” (PDF). Bell System Technical Journal. 27 (3): 379—423. doi:10.1002/j.1538-7305.1948.tb01338.x. hdl:11858/00-001M-0000-002C-4314-2. Архивирано из оригинала (PDF) 15. 7. 1998. г. „The choice of a logarithmic base corresponds to the choice of a unit for measuring information. If the base 2 is used the resulting units may be called binary digits, or more briefly bits, a word suggested by J. W. Tukey. 
  3. ^ Shannon, Claude Elwood (oktobar 1948). „A Mathematical Theory of Communication”. Bell System Technical Journal. 27 (4): 623—666. doi:10.1002/j.1538-7305.1948.tb00917.x. hdl:11858/00-001M-0000-002C-4314-2. 
  4. ^ Robert B. Ash. Information Theory. New York: Interscience, 1965. ISBN 0-470-03445-9. New York: Dover 1990. ISBN 0-486-66521-6. стр. v.
  5. ^ Yeung, R. W. (2008). „The Science of Information”. Information Theory and Network Coding. стр. 1—01. ISBN 978-0-387-79233-0. doi:10.1007/978-0-387-79234-7_1. 
  6. ^ Shannon, Claude Elwood; Weaver, Warren (1949). A Mathematical Theory of Communication (PDF). University of Illinois Press. ISBN 0-252-72548-4. Архивирано из оригинала (PDF) 15. 7. 1998. г. 
  7. ^ Golay, Marcel J. E. (1949). „Notes on Digital Coding”. Proc. IRE. 37: 657. 
  8. ^ Berlekamp, E.R. (1974), Key Papers in the Development of Coding Theory, I.E.E.E. Press, стр. 4 
  9. ^ Nasir Ahmed. „How I Came Up With the Discrete Cosine Transform”. Digital Signal Processing, Vol. 1, Iss. 1, 1991. стр. 4—5. 
  10. ^ Mahdi, O.A.; Mohammed, M.A.; Mohamed, A.J. (novembar 2012). „Implementing a Novel Approach an Convert Audio Compression to Text Coding via Hybrid Technique” (PDF). International Journal of Computer Science Issues. 9 (6, No. 3): 53—59. Архивирано из оригинала (PDF) 28. 12. 2018. г. Приступљено 6. 3. 2013. 
  11. ^ Wade, Graham (1994). Signal coding and processing (2 изд.). Cambridge University Press. стр. 34. ISBN 978-0-521-42336-6. Приступљено 22. 12. 2011. „The broad objective of source coding is to exploit or remove 'inefficient' redundancy in the PCM source and thereby achieve a reduction in the overall source rate R. 
  12. ^ Brown EN, Kass RE, Mitra PP (maj 2004). „Multiple neural spike train data analysis: state-of-the-art and future challenges”. Nat. Neurosci. 7 (5): 456—61. PMID 15114358. S2CID 562815. doi:10.1038/nn1228. 
  13. ^ Thorpe, S.J. (1990). „Spike arrival times: A highly efficient coding scheme for neural networks” (PDF). Ур.: Eckmiller, R.; Hartmann, G.; Hauske, G. Parallel processing in neural systems and computers (PDF). North-Holland. стр. 91—94. ISBN 978-0-444-88390-2. Приступљено 30. 6. 2013. 
  14. ^ Gedeon, T.; Parker, A.E.; Dimitrov, A.G. (proleće 2002). „Information Distortion and Neural Coding”. Canadian Applied Mathematics Quarterly. 10 (1): 10. CiteSeerX 10.1.1.5.6365Слободан приступ. Архивирано из оригинала 17. 11. 2016. г. Приступљено 02. 09. 2019. 
  15. ^ Stiber, M. (jul 2005). „Spike timing precision and neural error correction: local behavior”. Neural Computation. 17 (7): 1577—1601. PMID 15901408. S2CID 2064645. arXiv:q-bio/0501021Слободан приступ. doi:10.1162/0899766053723069. 

Spoljašnje veze

[уреди | уреди извор]