Каква е разликата ABR, VBR и CBR »информационен блог

Това, което отличава ABR, VBR и CBR

Какви са разликите между режим CBR, VBR и ABR? (Във връзка с куца на енкодер).

1. Encoding MP3 случва в блокове: кодираното изображение се разделя на рамки (фреймове) със същия интервал, всеки кадър се кодира и се записват в изходен поток; По този начин, на потока на изхода също има рамкова конструкция.

2. рамки не могат да бъдат кодирани по всяко битрейт, но само на един от входящия таблицата стандартни скорости на MPEG1 Layer III: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320. кодирането на всички междинни битрейт ( "freeformat") стандарт не е предвидено.
влизане

Хората, които използват VBR в Lame, обикновено твърдят, тази фраза: "Аз искам да отида с постоянно качество, а не като постоянна скорост на предаване." Наистина, музиката са прости пасажи, което е достатъчно и 128 Kbit / сек (напр пауза между песните), но има и комплекс, в който хора с добър слух, добро аудио карта и други аудио оборудване, за да чуят компресия артефакти дори и при 320 Kbps / сек. В действителност, този аргумент не е съвсем упълномощена.

Дори и в режим CBR, mp3-енкодер може да преразпределя бита във времето, чрез разпределяне на по-голям или по-малък брой битове, докато комплекс или просто преминаване, която позволява да се подобри общото качество на звука. Това преразпределение на бита се дължи на така наречената битова резервоар: по време на кодиране прости пасажи програмист харчи за тях всички дефинирани от потребителя скорост на предаване, но само около 90%, спестяване на около 10% в резервоара за кодиране на сложни сцени (първоначално празен резервоар). Когато кодираща комплекс пасажи енкодер ще използва 100% от определената битова скорост и се добавят допълнителни битове от резервоара (ако е приложимо, т.е. ако резервоарът е празна). За съжаление, в съответствие със стандартния размер на резервоара е ограничен. Това означава, че ако един прост сигнал трае достатъчно дълго, резервоар натрупва своя обхват до определени максимални граници и допълнително кодиране продължава вече с използването на 100% от битрейта. И обратното, ако съставният сигнал се продължи достатъчно дълго, резервоара (постепенно) взема всички бита и по-нататъшни икономии кодиране отива дори и сега се използва 100% от скоростта на предаване.

Може да се каже, че в резервоара се справя с основната си отговорност - натрупването на "екстра" бита по време на прости пасажи и издаването им като допълнително в кодирането на трудни пасажи, ако не и едно "но": тя има ограничен и освен това много ограничен по размер, което означава, че може да спаси само до определени граници, и отстранени, съответно, също докато резервоарът не се изпразва. Това е да се премахнат основният недостатък на резервоара и е проектирана от ABR.

Основната разлика между ABR от CBR това, че CBR на всички снимки трябва да са с еднакъв размер (т.е. скоростта на предаване за всички рамки трябва да е същото) в ABR, тъй като това ограничение е отстранена, съответно, е възможно вместо стандарта са много ограничени от размера на резервоара се използва в почти безкраен "виртуален" резервоар. Това прилича на следното.

Да предположим, че потребителят е посочил конкретен ABR режим и битрейт B (потребителят може да посочи всяка абсолютната скорост на предаване от 32 до 320, дори от стандартен битрейт мрежа, например може да бъде определен като желаното средно битрейт 129). Енкодер получава парче от аудио (рамка), която трябва да бъде кодиран. По същия начин, както в CBR, определя неговата сложност (ние ще говорим за това по-долу). Ако преминаването е сложно, енкодер и го отвежда повече битове, но не и от резервоар (както в CBR), но просто да се увеличава скоростта на предаване на необходимия брой етапи (избрания битрейта трябва да бъдат включени в стандарта на окото), като по този начин се създава "виртуален танк "(можете да увеличите скоростта на предаване - не е CBR). Какво означава "виртуален контейнер"? Това е проста: ние приемаме, че зададеното от потребителя скорост на предаване B енкодер е малка, е необходимо до К бита (K>, а след това на енкодера избира минимална ставка стандарт малко на N, с управлението: N> = K (възможност за избор на скорости на предаване е това, което ние наричаме "виртуален контейнер" ). кодировката с K Леко парче аудио. Въпреки това, N> = K, което е, ние използвахме по-малко битове, отколкото са в рамката на снимане, така че ние няма да изхвърлите тези допълнителни бита? тези допълнителни битове, които пишем в Той е истински танк. Тъй като ABR имате възможност да използвате "SUP ualny резервоар "няма смисъл да се изгради стандартен резервоар, така че, когато ще следващото парче на аудио за кодиране на бита на резервоара първо ще се използва, а след това на енкодер ще реши кои битрейт изисква по-нататък. С други думи, ако енкодер CBR през цялото време се опитва да натрупа колкото се може повече малко в резервоара, енкодер ABR напротив, се опитва да се отърве от малко в резервоара, тъй като не е необходимо да ги спаси - можете просто да вдигнеш скоростта на предаване.

Прости преходи по-малко битове са кодирани, те се вземат около 95% от споменатите битрейт Б, но сега балансът не е отложен в резервоара, енкодер отнема рамка с по-малка честота. Получената разлика (останалите бита), написани на стандартен резервоар (не хвърлят останалите битове.). Пример. Нека да дойде на "прост" аркада. След това кодиращото устройство се всички битове (ако има такива) в резервоара (настоящи), и след това се търси най-близкия стандарт битрейт, където общият брой на битовете, получени за тази рамка (всички битове от резервоар + взети битрейт) ще бъде 95% от определената скорост на потребителя малко B , кодира и допълнителни битове (ако те са) отново запазва резервоара.

По този начин, използването на контейнер в ABR е различен от CBR. битов курс CBR не може да се променя и резервоара специално презапасяване чрез съхраняване в нея битове, които остават (беше запазена) от кодираща конструкция на предварително определена фиксирана скорост на предаване първоначално време на преминаването проста; ако имате нужда за кодиране на бита и резервоарът е празен - че е празна, няма нищо общо около него, и кодиране е само на посочената скорост на предаване за сметка на качеството. В с променливо малко ABR, а стандартната резервоара всъщност не е необходимо, обаче, тъй като набирането (спускане) скоростта на предаване се случва до известна маса необходимата стойност, която може да бъде по-висок от необходимия брой битове за енкодер, допълнителните битове, разбира се, не се изхвърлят, а се съхранява в резервоара. С други думи, в резервоара стандарт натрупване на CBR - основната цел в ABR има неограничен "виртуален танк", а стандартът, използван за съхраняване на допълнително малко генерирана от разликата между таблица стойности и действителните битрейт необходими битрейт.

VBR - променлив битрейт. Потребителят определя желаното качество. Lame разчита на своята физикоакустичният модел за всеки кадър идентифицира точно броя на битовете, необходими за постигане на определено качество. Потокът от изхода на кадрите съответно имат различни скорости (които винаги се намират в таблицата на стандартните скорости). С помощта на резервоар в VBR ABR абсолютно идентични - за да получите само неизползваните рамки опашки.

Методи за оценка на сложността на сигнала

По този начин, като основната разлика CBR, ABR и VBR, тъй като може да са разбрали от горното, е да се използват различни методи за изчисляване на необходимата кодиране малко количество на всеки кадър.

Методи за оценка на сигнала на: Метод 1 (VBR)

Първият метод се основава на изчисляването на "физикоакустичният маскиране" и "кодиране грешка". Този метод се използва в VBR и теоретично би трябвало да даде максимално качество, ако физикоакустичният модел Lame'a беше перфектна. Методът се основава на много проста идея: да се кодира минималната разпределени броя на битовете, необходими за да отговарят на условието: [oshibka_kodirovaniya] <[порога_маскировки] (то бишь дефекты кодирования должны маскироваться основным сигналом и не должны быть различимы на слух).

Обяснение за маскиране. По-голямата част "аудио компресори със загуби" се използва за компресиране на аудио сигнала характеристики на човешкия слух (за разлика от там audiokompressory използването на функциите на звука), а именно, че не е идеален. Можете да посочите няколко специалност "дефекти" ухо, използвани в компресията на звука: 1) ограничени динамичен обхват. Човек не чува слаби сигнали, или с други думи, съществува определен праг на чуваемост. 2) силни сигнали (особено на шума, не тонален) имат маскиране ефект, да се направи и с двете по време и честота домейн (ако някой "zhahnul" от пистолета и можете да загубите доста слух 8-)), т.е.. д. всемогъщ, особено на шума сигнал на определена честота маски по-скоро слаб сигнал, особено ако тя е в непосредствена честотен диапазон и маскиран сигнал не може да се кодира, защото хората не могат да чуят. маскиращ праг може да се увеличи с няколко децибела намаляване на качеството на кодиране (обяснение за това: по-лошо качество на кодирането, толкова повече артефакти и смущения в звука, и така е необходим по-силен сигнал, за да прикрие смущението).

Плюс това този метод: теоретичен максимум качеството на. Минуси: ниска скорост и факта, че се дължи на физикоакустичният модел не е идеален в Lame, постоянна скорост на предаване е за подценяване, съответно, не е подходящ за употреба без фиксирана долната граница от около 112. 128 КБ / с, а оттам режим VBR принцип не се препоръчва за употреба при ниска средна битрейт. Язовирът в VBR е сведена до минимум, поради което не се препоръчва ограничаване на скоростта на предаване по-горе (обяснение: като почти резервоар в VBR не, ако ограничите скоростта на предаване от върха, някои кадри от "трудно" Музиката не може да бъде достатъчно битове за кодиране на аудио, защото допълнителните битове вземат никъде - не резервоар и битрейт е ограничено, такива рамки ще бъдат кодирани само от броя на битовете е наличен в - т.е. в максимално допустимото битрейт, което може да доведе до лошо качество на код ация).

Методи за оценка на сигнала на: Метод 2 (ABR / CBR) Вторият метод се основава на изчисляване възприятие ентропията (РЕ), характеризиращ се с сложността на кодирания сигнал (на комплексен сигнал, по-голямата PE). Този метод се използва, когато кодираща CBR и ABR. Механизмът за изчисляване на сложността на сигнала, използвайки PE е напълно различен от този механизъм, използван в VBR. Без да навлизаме в много подробности трябва да се спомене, че ако в първия метод на изчисляване на сложност сигнал проведена на базата на свойствата на маскиране, в този метод, сложността на сигнала се оценява от опитите да се предскаже, че по-сложен сигнал (плик се държи хаотично), толкова по-трудно е предвидима и Следователно, повече битове, необходими за кодиране на сигнала. По време на енкодер се опитва да предвиди сигнал, а след това сравнява прогнозира сигнал с оригинала, по-малко от предвиденото сигнал съвпада с оригинала, толкова повече битове, отделено за програмиране. Важно е да се отбележи, че се използват за изчисляване на сложност сигнал методи коренно се отразят разликите с помощта на техните механизми. По този начин, съществена разлика между ABR / CBR (с помощта на описания метод) и VBR (който използва метода 1, описан по-горе) са все още в това, че изборът на битрейт ABR / CBR не е енкодер и потребителя, само ламе добавя / заема малък брой битове по време, кодираща сложни / прости места, съответно (която се изчислява и РЕ). С други думи, в зависимост от изчислената PE, да се добавя избрания потребител битрейт (или изважда от) желания броя на битовете, който се реализира от механизъм с резервоар (виртуален или реален). По този начин, когато се използва вторият метод, а именно потребителят избира скоростта на предаване (VBR енкодер, когато реши стойност на битрейт), PE е само да го поправя с резервоара, в зависимост от сложността на музиката. Това се случва по този начин.

CBR. за всеки кадър се разпределят "основен", постоянно количество битове, каза 90% от скоростта на предаване, и "допълнителни" променлива. Обикновено пасажи са кодирани при използване на 90 процента, а останалите 10% процента от бита, натрупани в резервоара (както е описано в началото), докато неговото пълнене, след което кодиране е проста пасажи оставя цялата битрейт (тъй като няма място за спести бита). Трудни пасажи са кодирани с помощта на обща скорост на предаване на резервоара плюс допълнителните битове се отстраняват, освен ако тя все още има бита. Предимства: недостатъци съвместимост: поради малкия размер на резервоара често пъти се заплаща допълнителни битове за кодиране на трудните места.

ABR. При кодиране ABR използвате резервоара е сведена до минимум, това е просто по-просто, не е необходимо, в действителност ние можем да използваме ABR дограма със стъклопакет с различна скорост на предаване и, съответно, не се натрупва бита в резервоара (ABR механизъм работи е обяснено в примера по-горе). След изчисляване на PE и необходимия "допълнителна сума" бит, Lame просто избира минималната ставка малко, което да задържа общо необходимия брой битове (скорост на предаване е избрана от таблицата). Битът за остатъчни вещества не се изхвърля и се натрупва в резервоар.

Забележка: това би било погрешно да се мисли, че тя не се използва в психоакустика CBR и ABR - разбира се, че не е. Такова нещо като преразпределението на бита, отредени кодиращ рамка между всички честотни ленти, тя се намира на психоакустика.

Така че, за кратко. CBR / ABR и VBR Lame различават по различните методи за изчисляване на необходимия брой на битовете за кодиране, и като резултат, различен "философия" на използване на резервоара. В CBR и ABR основно броят на битовете, определени за кодиране на рамката, определена от потребителя, когато програмата се изпълнява: или -b --abr ключове за CBR или ABR, съответно. Броят на допълнителни битове, необходими за кодиране на трудни места, изчислени по същата формула, въз основа на изчисляването на PE. Разликата между CBR и ABR само, че начинът CBR, скоростта на предаване е постоянна и енкодер за използването на допълнителни части от контейнера силно ограничени от размера на резервоара, в режима на работа на ABR в енкодер, че е възможно да се промени скоростта на предаване, като че с помощта на "виртуален контейнер" неограничен размер, и присъства само резервоарът се използва за съхранение на непотърсени бита.

В VBR използва напълно различен метод. Потребителят определя качеството и куц независимо, въз основа на психоакустичен модел (понякога не е съвършен), изчислява броя на битовете, необходими за кодиране на предварително определен качество на всеки отделен кадър. Работа с резервоара в ABR и VBR същото.

Ето защо, в VBR режим енкодер избира битрейт за рамки в ABR / CBR енкодер избира само допълнителни битове за скоростта на предаване, зададен от потребителя.

Silvitremont.ru тук в този сайт, аз намерих това, което е необходимо, и ремонта на апартаменти Mytishchi нареди.