Проект за аудио кодирање

кодирање

Ова проект третира Аудио кодирање. Извадок од документот може да се погледне подолу (приближно 2 страници).

Архивата содржи 1 датотека док де 29 страници .

Надзорен наставник/презентиран на наставникот: Јуријану Маријана

Препорачуваме добро да го разгледате изводот и дадените слики и доколку е она што ви треба за вашата документација, можете да го преземете. Само ти треба 5 поени.

Извадок од документот

Од 1980-тите, кратко време по појавувањето на првиот компјутер, беше откриено дека просторот што е достапен на кој било медиум што може да складира податоци (тврд диск, дискета, стример, оптички диск) станува недоволен за релативно кратко време. Да се ​​добие уред за складирање поголем капацитет не е секогаш решение бидејќи вклучува големи трошоци или незгодно ракување (особено за флопи дискови), а да не го спомнувам фактот дека не се безбедни сите медиуми - флопи дискови, на пример, имајќи големи шанси да не успеат по некое време. Така се роди идејата за компресија на податоци (компресија), информацијата може да се архивира, зафаќајќи помал простор од првичниот. Ние нема да правиме историја на програмите што ја олесниле оваа операција, ќе го споменеме само фактот дека PKZIP и ARJ доминираа во периодот од крајот на 80-тите и почетокот на 90-тите, а потоа, по 1995 година, ќе се појават две нови. софтвер посветен на оваа намена, со перформанси супериорни во однос на двата претходно споменати: RAR и ACE.

Со појавата на Интернет, се појави нова алатка за компресија: брзината на телефонската линија (или кој било друг вообичаен начин на пренесување во 90-тите) беше многу мала, неспоива со обемот на податоци што се посакуваа да се преземат од светската мрежа. Во моментов, за програма што зафаќа 20 MB, ќе треба време на пренос од околу еден час на редовна врска со dial-up, додека времето е преполовено доколку е компресирано. Ова заштедува пари и време. Дури и модемите вршат компресија внатрешно, но тоа е далеку од пред-форматите WinRAR или WinACE, на пример.

Се разбира, во случај на компресија на софтвер, неопходна е последователна декомпресија, операција за која е потребно време. Наместо тоа, постои можност за транспарентна компресија, податоците се подложени на оваа операција без корисникот да го знае тоа. Со други зборови, податоците се компресираат и декомпресираат автоматски - очигледно со повеќе или помалку забележливо намалување на работната брзина, но предноста е јасна: корисникот повеќе не мора да се грижи за компресија, едноставно ја извршува програмата компресија и тоа прави сè за него. Овој начин на компресирање на податоците се нарекува компресија во реално време.

Поаѓајќи од оваа идеја, компресијата во реално време може да биде тотална или делумна. Најдобар пример за целосна компресија во реално време е компресија на партиции, со користење на софтвер како DoubleSpace, DriveSpace, Stacker, итн. Лошите страни се големи и се состојат во намалена можност за контрола и висок ризик од загуба на податоци. Авторите на овој софтвер веројатно не сметаа дека е потребно да ги развиваат на високо ниво на квалитет, па тие исчезнаа неколку години.

Делумната компресија во реално време може да биде илустрирана со системот за компресија обезбеден од Windows 2000/XP, оперативниот систем нуди можност за намалување на просторот окупиран од податоците, преку датотечниот систем NTFS, ова по цена на намалување (обично незначителна) брзина За работа. Компресијата може да се направи на ниво на датотека, па ако ретко сте користеле податоци на вашиот хард диск, можете да се одлучите за ова решение.

Исто така, делумна компресија можеме да ја наречеме случајот кога датотеката првично е компресирана, таа автоматски ќе се декомпресира при бирање. Програмата за декодер, која автоматски ги декомпресира информациите, работи совршено транспарентно, корисникот не знаејќи дека неговите податоци не се во чиста форма, туку се кодирани од алгоритам за компресија. Такви примери се формати на слики (JPG, GIF, PNG), видео (AVI, MPG, MOV) и звук (MP3, MPC, OGG, итн.). Во овој проект ќе се занимаваме со второто.

Како да се компресираат податоците

Да претпоставиме дека имаме датотека што ја содржи низата "AAABBBBBCCCDDDDEFF". Еден метод за компресирање е да додадете број на повторувања на буквата за која станува збор, што резултира со "3A5B3C4D1E2F". Заштедив 6 бајти, што е 50% од зафатениот простор. Се разбира, примерот е тривијален, компресијата се базира на многу посложени и поефикасни алгоритми Хафман, Лемпел-Зив итн.

Да земеме друг пример: низата „AAABBBBCCCDDDEEEFFFGGG“. Забележуваме дека секоја буква се повторува три пати, освен "Б" и "Е", кои имаат фактор на повторување 4, соодветно. Ако факторот е сепак 3, ќе добиеме, според заеднички алгоритам "3 ( ABCDEFG) “наместо„ 3A4B3C3D2E3F3G “, заштедувајќи повеќе простор. Се поставува прашањето ако можеме да сториме без информации поврзани со исклучок од „правилото на 3“, добивајќи загубена компресија, декомпресираната датотека подоцна не е идентична со оригиналната. Во случај на програми, ова е невозможно, единствен модифициран бит што генерално доведува до неможност на програмата да работи или евентуално до ненормално однесување; како на пример, ако некои од буквите што ги сочинуваат зборовите во менито за апликација се променети или во програма посветена на математичари, бројот pi има „малку“ изменета вредност, на пример 3,10 или 3,25? Во случај на датотеки што содржат податоци како што се филмови, слики или звук, недостатокот на информации може да се занемари (или слушне, според случајот). Класични примери се загубени формати на видео и аудио компресија - загубени, како што се JPG, MPG, MP3. Спротивно на тоа, компресијата без загуби се нарекува без загуба.