TłoEdit
Algorytm stratnej kompresji danych audio MP3 wykorzystuje percepcyjne ograniczenie ludzkiego słuchu zwane maskowaniem słuchowym. W 1894 roku amerykański fizyk Alfred M. Mayer doniósł, że ton może być niesłyszalny przez inny ton o niższej częstotliwości. W 1959 roku Richard Ehmer opisał kompletny zestaw krzywych słuchowych dotyczących tego zjawiska. W latach 1967-1974 Eberhard Zwicker prowadził prace w zakresie dostrajania i maskowania krytycznych pasm częstotliwości, które z kolei opierały się na fundamentalnych badaniach w tej dziedzinie prowadzonych przez Harveya Fletchera i jego współpracowników z Bell Labs.
Kodowanie percepcyjne zostało po raz pierwszy użyte do kompresji kodowania mowy za pomocą kodowania liniowego (LPC), które wywodzi się z pracy Fumitady Itakury (Uniwersytet Nagoya) i Shuzo Saito (Nippon Telegraph and Telephone) w 1966 roku. W 1978 r. Bishnu S. Atal i Manfred R. Schroeder w Bell Labs zaproponowali kodek mowy LPC, zwany adaptacyjnym kodowaniem predykcyjnym, który wykorzystywał psychoakustyczny algorytm kodowania wykorzystujący właściwości maskowania ludzkiego ucha. Dalsza optymalizacja dokonana przez Schroedera i Atala wraz z J.L. Hallem została opisana w pracy z 1979 roku. W tym samym roku, psychoakustyczny kodek maskujący został również zaproponowany przez M.A. Krasnera, który opublikował i wyprodukował sprzęt dla mowy (nie nadający się do wykorzystania jako kompresja bitowa muzyki), ale publikacja jego wyników w stosunkowo mało znanym Lincoln Laboratory Technical Report nie wpłynęła natychmiastowo na główny nurt rozwoju psychoakustycznych kodeków.
Dyskretna transformata kosinusowa (DCT), rodzaj kodowania transformacyjnego dla kompresji stratnej, zaproponowana przez Nasira Ahmeda w 1972 roku, została rozwinięta przez Ahmeda wraz z T. Natarajanem i K. R. Rao w 1973 roku; opublikowali oni swoje wyniki w 1974 roku. Doprowadziło to do opracowania zmodyfikowanej dyskretnej transformaty kosinusowej (MDCT), zaproponowanej przez J.P. Princena, A.W. Johnsona i A.B. Bradleya w 1987 roku, w następstwie wcześniejszych prac Princena i Bradleya z 1986 roku. MDCT stał się później główną częścią algorytmu MP3.
Ernst Terhardt i in. skonstruowali w 1982 roku algorytm opisujący maskowanie słuchowe z dużą dokładnością. Praca ta stanowiła uzupełnienie wielu raportów autorów sięgających Fletchera oraz pracy, która wstępnie określiła krytyczne współczynniki i krytyczne szerokości pasma.
W 1985 roku Atal i Schroeder przedstawili code-excited linear prediction (CELP), oparty na LPC algorytm percepcyjnego kodowania mowy z maskowaniem słuchowym, który osiągnął znaczący jak na swoje czasy stopień kompresji danych. W 1988 r. w czasopiśmie IEEE Journal on Selected Areas in Communications ukazało się sprawozdanie na temat szerokiej gamy (głównie percepcyjnych) algorytmów kompresji dźwięku. Wydanie „Voice Coding for Communications” opublikowane w lutym 1988 roku donosiło o szerokiej gamie ustalonych, działających technologii kompresji bitów audio, z których niektóre wykorzystywały maskowanie słuchowe jako część swojego podstawowego projektu, a kilka pokazywało implementacje sprzętowe w czasie rzeczywistym.
DevelopmentEdit
Geneza technologii MP3 jest w pełni opisana w pracy profesora Hansa Musmanna, który przewodniczył grupie ISO MPEG Audio przez kilka lat. W grudniu 1988 roku MPEG zaapelował o opracowanie standardu kodowania audio. W czerwcu 1989 roku zgłoszono 14 algorytmów kodowania audio. Ze względu na pewne podobieństwa między tymi propozycjami kodowania, zostały one zgrupowane w czterech grupach rozwojowych. Pierwszą grupą była ASPEC, przez Fraunhofer Gesellschaft, AT&T, France Telecom, Deutsche i Thomson-Brandt. Druga grupa to MUSICAM, przez Matsushita, CCETT, ITT i Philips. Trzecia grupa to ATAC, przez Fujitsu, JVC, NEC i Sony. A czwartą grupą był SB-ADPCM, autorstwa NTT i BTRL.
Bezpośrednimi poprzednikami MP3 były „Optimum Coding in the Frequency Domain” (OCF) i Perceptual Transform Coding (PXFM). Te dwa kodeki, wraz z wkładem Thomson-Brandt w postaci block-switching, zostały połączone w kodek o nazwie ASPEC, który został zgłoszony do MPEG, i który wygrał konkurs jakości, ale został błędnie odrzucony jako zbyt skomplikowany do wdrożenia. Pierwszą praktyczną implementacją kodera percepcyjnego (OCF) w sprzęcie (sprzęt Krasnera był zbyt kłopotliwy i powolny do praktycznego zastosowania), była implementacja kodera z transformacją psychoakustyczną opartego na układach DSP Motoroli 56000.
Innym poprzednikiem formatu i technologii MP3 jest kodek percepcyjny MUSICAM oparty na 32-pasmowym banku filtrów z arytmetyką całkowitą, napędzanym przez model psychoakustyczny. Został on zaprojektowany przede wszystkim dla Digital Audio Broadcasting (radio cyfrowe) i telewizji cyfrowej, a jego podstawowe zasady zostały ujawnione społeczności naukowej przez CCETT (Francja) i IRT (Niemcy) w Atlancie podczas konferencji IEEE-ICASSP w 1991 roku, po tym jak od 1989 roku pracowali nad MUSICAM z firmami Matsushita i Philips.
Kodek ten włączony do systemu nadawczego wykorzystującego modulację COFDM został zademonstrowany w eterze i w terenie przez Radio Canada i CRC Canada podczas targów NAB (Las Vegas) w 1991 roku. Implementacja części audio tego systemu nadawczego była oparta na dwuprocesorowym koderze (jeden dla transformaty podpasmowej, jeden dla modelu psychoakustycznego zaprojektowanego przez zespół G. Stolla (IRT Niemcy), znanego później jako model psychoakustyczny I) i dekoderze czasu rzeczywistego wykorzystującym jeden układ DSP Motorola 56001 z oprogramowaniem arytmetyki liczb całkowitych zaprojektowanym przez zespół Y.F. Dehery (CCETT, Francja). Prostota odpowiedniego dekodera wraz z wysoką jakością dźwięku tego kodeka wykorzystującego po raz pierwszy częstotliwość próbkowania 48 kHz, format wejściowy 20 bitów/próbkę (najwyższy dostępny standard próbkowania w 1991 roku, kompatybilny ze standardem profesjonalnego cyfrowego wejścia studyjnego AES/EBU) były głównymi powodami późniejszego zaadoptowania cech MUSICAM jako podstawowych cech zaawansowanego cyfrowego kodeka kompresji muzyki.
Podczas prac nad oprogramowaniem kodującym MUSICAM, zespół Stoll’a i Dehery’ego dokładnie wykorzystał zestaw wysokiej jakości materiałów do oceny dźwięku, wybranych przez grupę profesjonalistów audio z Europejskiej Unii Nadawców, a następnie wykorzystanych jako referencja do oceny kodeków kompresji muzyki. Technika kodowania podpasmowego okazała się skuteczna, nie tylko dla percepcyjnego kodowania wysokiej jakości materiałów dźwiękowych, ale szczególnie dla kodowania krytycznych perkusyjnych materiałów dźwiękowych (bębny, trójkąt,…), ze względu na specyficzny efekt maskowania czasowego podpasmowego banku filtrów MUSICAM (ta zaleta jest specyficzną cechą technik kodowania z krótką transformatą).
Jako doktorant na niemieckim Uniwersytecie Erlangen-Nuremberg, Karlheinz Brandenburg rozpoczął pracę nad cyfrową kompresją muzyki we wczesnych latach 80-tych, skupiając się na tym, jak ludzie postrzegają muzykę. Swoją pracę doktorską ukończył w 1989 roku. MP3 wywodzi się bezpośrednio z OCF i PXFM, stanowiąc wynik współpracy Brandenburga – pracującego jako badacz podoktorski w AT&T-Bell Labs z Jamesem D. Johnstonem („JJ”) z AT&T-Bell Labs – z Fraunhofer Institute for Integrated Circuits, Erlangen (gdzie pracował z Bernhardem Grillem i czterema innymi badaczami – „The Original Six”), przy stosunkowo niewielkim wkładzie gałęzi MP2 psychoakustycznych koderów podzakresowych. W 1990 roku Brandenburg został adiunktem w Erlangen-Nuremberg. W tym czasie kontynuował pracę nad kompresją muzyki wraz z naukowcami z Instytutu Heinricha Herza Towarzystwa Fraunhofera (w 1993 roku dołączył do zespołu Fraunhofer HHI). Piosenka „Tom’s Diner” Suzanne Vega była pierwszym utworem, który posłużył Karlheinzowi Brandenburgowi do opracowania formatu MP3. Brandenburg przyjął tę piosenkę do celów testowych, słuchając jej wielokrotnie i za każdym razem udoskonalając schemat, upewniając się, że nie wpływa on negatywnie na subtelność głosu Vegi.
StandaryzacjaEdit
W 1991 roku istniały dwie dostępne propozycje, które były oceniane pod kątem standardu audio MPEG: MUSICAM (Masking pattern adapted Universal Subband Integrated Coding And Multiplexing) oraz ASPEC (Adaptive Spectral Perceptual Entropy Coding). Technika MUSICAM, zaproponowana przez firmy Philips (Holandia), CCETT (Francja), Institute for Broadcast Technology (Niemcy) i Matsushita (Japonia), została wybrana ze względu na jej prostotę i odporność na błędy, jak również ze względu na wysoki poziom efektywności obliczeniowej. Format MUSICAM, oparty na kodowaniu podpasmowym, stał się podstawą formatu kompresji MPEG Audio, włączając w to, na przykład, strukturę ramki, format nagłówka, częstotliwości próbkowania, itp.
Podczas gdy wiele z technologii i pomysłów MUSICAM zostało włączonych do definicji MPEG Audio Layer I i Layer II, sam bank filtrów i struktura danych oparta na 1152 próbkach (format pliku i strumień zorientowany bajtowo) MUSICAM pozostały w formacie Layer III (MP3), jako część nieefektywnego obliczeniowo hybrydowego banku filtrów. Pod przewodnictwem profesora Musmanna z Uniwersytetu Leibniza w Hanowerze, redakcja standardu została powierzona Leonowi van de Kerkhof (Holandia), Gerhardowi Stoll (Niemcy) i Yves-François Dehery (Francja), którzy pracowali nad warstwą I i warstwą II. ASPEC był wspólną propozycją AT&T Bell Laboratories, Thomson Consumer Electronics, Fraunhofer Society i CNET. Zapewniała ona najwyższą wydajność kodowania.
Grupa robocza, w skład której wchodzili van de Kerkhof, Stoll, Leonardo Chiariglione (CSELT VP for Media), Yves-François Dehery, Karlheinz Brandenburg (Niemcy) i James D. Johnston (Stany Zjednoczone) zaczerpnęli pomysły z ASPEC, zintegrowali bank filtrów z Layer II, dodali kilka własnych pomysłów, takich jak wspólne kodowanie stereo MUSICAM i stworzyli format MP3, który został zaprojektowany tak, aby osiągnąć tę samą jakość przy 128 kbit/s, co MP2 przy 192 kbit/s.
Algorytmy dla MPEG-1 Audio Layer I, II i III zostały zatwierdzone w 1991 roku i sfinalizowane w 1992 roku jako część MPEG-1, pierwszego pakietu standardów MPEG, który zaowocował międzynarodowym standardem ISO/IEC 11172-3 (a.k.a. MPEG-1 Audio lub MPEG-1 Part 3), opublikowanym w 1993 roku. Pliki lub strumienie danych zgodne z tym standardem muszą obsługiwać częstotliwości próbkowania 48k, 44100 i 32k i nadal są obsługiwane przez obecne odtwarzacze i dekodery MP3. W ten sposób pierwsza generacja MP3 zdefiniowała 14 × 3 = 42 interpretacje struktur danych ramki MP3 i układów wielkości.
Dalsze prace nad MPEG audio zostały zakończone w 1994 roku jako część drugiego pakietu standardów MPEG, MPEG-2, bardziej formalnie znanego jako międzynarodowy standard ISO/IEC 13818-3 (a.k.a. MPEG-2 Part 3 lub kompatybilny wstecz MPEG-2 Audio lub MPEG-2 Audio BC), pierwotnie opublikowany w 1995 roku. MPEG-2 Part 3 (ISO/IEC 13818-3) zdefiniował 42 dodatkowe szybkości bitowe i częstotliwości próbkowania dla MPEG-1 Audio Layer I, II i III. Nowe częstotliwości próbkowania są dokładnie o połowę niższe niż te pierwotnie zdefiniowane w MPEG-1 Audio. Ta redukcja częstotliwości próbkowania służy zmniejszeniu dostępnej wierności częstotliwości o połowę, przy jednoczesnym zmniejszeniu bitrate o 50%. MPEG-2 Part 3 również ulepszył dźwięk MPEG-1 poprzez umożliwienie kodowania programów audio z więcej niż dwoma kanałami, aż do 5.1 wielokanałowego. MP3 zakodowane w MPEG-2 skutkuje połową pasma odtwarzania MPEG-1 odpowiedniego dla fortepianu i śpiewu.
Trzecia generacja strumieni danych (plików) w stylu „MP3” rozszerzyła idee i implementację MPEG-2, ale została nazwana MPEG-2.5 audio, ponieważ MPEG-3 miał już inne znaczenie. To rozszerzenie zostało opracowane w Fraunhofer IIS, zarejestrowanym posiadaczu patentu na MP3, poprzez zmniejszenie pola synchronizacji ramki w nagłówku MP3 z 12 do 11 bitów. Podobnie jak w przypadku przejścia z MPEG-1 na MPEG-2, MPEG-2.5 dodaje dodatkowe częstotliwości próbkowania, dokładnie o połowę mniejsze niż te dostępne w MPEG-2. W ten sposób rozszerza zakres MP3 o ludzką mowę i inne zastosowania, ale wymaga tylko 25% szerokości pasma (reprodukcji częstotliwości) możliwej do uzyskania przy użyciu częstotliwości próbkowania MPEG-1. Chociaż nie jest to standard uznany przez ISO, MPEG-2.5 jest szeroko obsługiwany zarówno przez niedrogie chińskie i markowe cyfrowe odtwarzacze audio, jak i przez programy komputerowe kodujące, dekodujące (FFmpeg) i odtwarzające (MPC) MP3, dodając 3 × 8 = 24 dodatkowe typy ramek MP3. Każda generacja MP3 obsługuje zatem 3 częstotliwości próbkowania, dokładnie o połowę mniejsze niż poprzednia generacja, co daje w sumie 9 odmian plików w formacie MP3. Tabela porównawcza częstotliwości próbkowania pomiędzy MPEG-1, 2 i 2.5 jest podana w dalszej części artykułu. MPEG-2.5 jest obsługiwany przez LAME (od 2000), Media Player Classic (MPC), iTunes i FFmpeg.
MPEG-2.5 nie został opracowany przez MPEG (patrz wyżej) i nigdy nie został zatwierdzony jako międzynarodowy standard. MPEG-2.5 jest więc nieoficjalnym lub prawnie zastrzeżonym rozszerzeniem formatu MP3. Niemniej jednak jest on wszechobecny i szczególnie korzystny dla aplikacji mowy ludzkiej o niskiej przepływności.
Wersja | International Standard | First edition public release date | Latest edition public release date |
---|---|---|---|
MPEG-1 Audio Layer III | ISO/IEC 11172-3 (MPEG-1 Part 3) | 1993 | |
MPEG-2 Audio Layer III | ISO/IEC 13818-3 (MPEG-2 Part 3) | 1995 | 1998 |
MPEG-2.5 Audio Layer III | nonstandard, proprietary | 2000 | 2008 |
- Norma ISO ISO/IEC 11172-3 (a.k.a. MPEG-1 Audio) zdefiniowała trzy formaty: MPEG-1 Audio Layer I, Layer II i Layer III. Norma ISO ISO/IEC 13818-3 (a.k.a. MPEG-2 Audio) zdefiniowała rozszerzoną wersję MPEG-1 Audio: MPEG-2 Audio Layer I, Layer II i Layer III. MPEG-2 Audio (MPEG-2 Part 3) nie powinien być mylony z MPEG-2 AAC (MPEG-2 Part 7 – ISO/IEC 13818-7).
Wydajność kompresji koderów jest zwykle definiowana przez współczynnik bitowy, ponieważ współczynnik kompresji zależy od głębokości bitowej i częstotliwości próbkowania sygnału wejściowego. Niemniej jednak, współczynniki kompresji są często publikowane. Mogą one wykorzystywać parametry Compact Disc (CD) jako referencje (44.1 kHz, 2 kanały przy 16 bitach na kanał lub 2×16 bit), lub czasami parametry Digital Audio Tape (DAT) SP (48 kHz, 2×16 bit). Współczynniki kompresji z tym ostatnim odniesieniem są wyższe, co pokazuje problem z używaniem terminu współczynnik kompresji dla koderów stratnych.
Karlheinz Brandenburg użył nagrania CD z piosenką Suzanne Vega „Tom’s Diner” do oceny i udoskonalenia algorytmu kompresji MP3. Utwór ten został wybrany ze względu na jego niemal monofoniczną naturę i szerokie spektrum, dzięki czemu łatwiej jest usłyszeć niedoskonałości formatu kompresji podczas odtwarzania. Niektórzy określają Suzanne Vega mianem „matki MP3”. Ta konkretna ścieżka ma interesującą właściwość, ponieważ oba kanały są prawie, ale nie całkowicie takie same, co prowadzi do przypadku, w którym Obuuszna Depresja Poziomu Maskowania powoduje przestrzenne demaskowanie artefaktów szumu, chyba że koder odpowiednio rozpozna sytuację i zastosuje korekty podobne do tych wyszczególnionych w modelu psychoakustycznym MPEG-2 AAC. Niektóre bardziej krytyczne fragmenty audio (glockenspiel, trójkąt, akordeon, itd.) zostały wzięte z referencyjnej płyty kompaktowej EBU V3/SQAM i były używane przez profesjonalnych inżynierów dźwięku do oceny subiektywnej jakości formatów MPEG Audio. LAME jest najbardziej zaawansowanym koderem MP3. LAME zawiera kodowanie o zmiennej przepływności VBR, które używa parametru jakości zamiast celu przepływności. Późniejsze wersje 2008+) wspierają cel jakościowy n.nnn, który automatycznie wybiera częstotliwość próbkowania MPEG-2 lub MPEG-2.5 jako odpowiednią dla nagrań ludzkiej mowy, które potrzebują tylko 5512 Hz rozdzielczości pasma.
Going publicEdit
Referencyjna implementacja oprogramowania symulacyjnego, napisana w języku C i znana później jako ISO 11172-5, została opracowana (w latach 1991-1996) przez członków komitetu ISO MPEG Audio w celu produkcji plików MPEG Audio zgodnych z bitami (Layer 1, Layer 2, Layer 3). Został on zatwierdzony jako projekt komitetu raportu technicznego ISO/IEC w marcu 1994 r. i wydrukowany jako dokument CD 11172-5 w kwietniu 1994 r. Został zatwierdzony jako projekt raportu technicznego (DTR/DIS) w listopadzie 1994 r., sfinalizowany w 1996 r. i opublikowany jako międzynarodowa norma ISO/IEC TR 11172-5:1998 w 1998 r. Oprogramowanie referencyjne w języku C zostało później opublikowane jako swobodnie dostępny standard ISO. Pracując w czasie nierzeczywistym na wielu systemach operacyjnych, było ono w stanie zademonstrować pierwsze sprzętowe dekodowanie w czasie rzeczywistym (oparte na DSP) skompresowanego dźwięku. Niektóre inne implementacje w czasie rzeczywistym koderów i dekoderów MPEG Audio były dostępne dla celów transmisji cyfrowej (radio DAB, telewizja DVB) dla odbiorników konsumenckich i set top boxów.
7 lipca 1994, Fraunhofer Society opublikowało pierwszy programowy koder MP3, nazwany l3enc. Rozszerzenie nazwy pliku .mp3 zostało wybrane przez zespół Fraunhofera 14 lipca 1995 r. (wcześniej pliki nosiły nazwę .bit). Dzięki pierwszemu programowemu odtwarzaczowi MP3 w czasie rzeczywistym WinPlay3 (wydanemu 9 września 1995 r.) wiele osób mogło kodować i odtwarzać pliki MP3 na swoich komputerach. Ze względu na stosunkowo małe dyski twarde w tamtych czasach (≈500-1000 MB) kompresja stratna była niezbędna do przechowywania na domowym komputerze muzyki z wielu albumów w postaci pełnych nagrań (w przeciwieństwie do notacji MIDI lub plików tracker, które łączyły notację z krótkimi nagraniami instrumentów grających pojedyncze nuty). Jak dźwięk badacz Jonathan Sterne zauważa: „Australijski haker nabył l3enc używając skradzionej karty kredytowej. Następnie haker dokonał inżynierii wstecznej oprogramowania, napisał nowy interfejs użytkownika i rozprowadził go za darmo, nazywając go „thank you Fraunhofer””.
Przykładowa implementacja FraunhoferaEdit
Haker o pseudonimie SoloH odkrył kod źródłowy referencyjnej implementacji MPEG „dist10” krótko po jej wydaniu na serwerach Uniwersytetu w Erlangen. Stworzył on wersję o wyższej jakości i rozpowszechnił ją w Internecie. Kod ten zapoczątkował powszechne zgrywanie płyt CD i cyfrową dystrybucję muzyki jako MP3 przez Internet.
Dystrybucja internetowaEdit
W drugiej połowie lat 90-tych pliki MP3 zaczęły rozprzestrzeniać się w Internecie, często za pośrednictwem podziemnych sieci pirackich piosenek. Pierwszy znany eksperyment z dystrybucją internetową został zorganizowany na początku lat 90. przez Internet Underground Music Archive, lepiej znany pod akronimem IUMA. Po kilku eksperymentach z nieskompresowanymi plikami audio, archiwum to zaczęło dostarczać przez ogólnoświatowy Internet o niskiej prędkości niektóre skompresowane pliki MPEG Audio w formacie MP2 (Layer II), a później pliki MP3, gdy standard ten został w pełni ukończony. Popularność plików MP3 zaczęła gwałtownie rosnąć wraz z pojawieniem się odtwarzacza audio Winamp firmy Nullsoft, wydanego w 1997 roku. W 1998 r. ukazał się pierwszy przenośny półprzewodnikowy cyfrowy odtwarzacz audio MPMan, opracowany przez firmę SaeHan Information Systems z siedzibą w Seulu w Korei Południowej, a następnie w 1998 r. do sprzedaży trafił odtwarzacz Rio PMP300, mimo wysiłków RIAA zmierzających do prawnego stłumienia tego procesu.
W listopadzie 1997 r. strona internetowa mp3.com oferowała za darmo tysiące plików MP3 stworzonych przez niezależnych artystów. Niewielki rozmiar plików MP3 umożliwił powszechną wymianę plików peer-to-peer z muzyką zgraną z płyt CD, co wcześniej byłoby prawie niemożliwe. Pierwsza duża sieć wymiany plików peer-to-peer, Napster, została uruchomiona w 1999 roku. Łatwość tworzenia i dzielenia się plikami MP3 spowodowała powszechne naruszenie praw autorskich. Duże firmy fonograficzne argumentowały, że to swobodne dzielenie się muzyką obniża sprzedaż i nazwały to „piractwem muzycznym”. Zareagowały na to, wytaczając procesy Napsterowi (który został ostatecznie zamknięty, a następnie sprzedany) oraz indywidualnym użytkownikom, którzy zaangażowali się w wymianę plików.
Nieautoryzowana wymiana plików MP3 jest kontynuowana w sieciach peer-to-peer nowej generacji. Niektóre autoryzowane serwisy, takie jak Beatport, Bleep, Juno Records, eMusic, Zune Marketplace, Walmart.com, Rhapsody, zatwierdzona przez przemysł nagraniowy reinkarnacja Napstera, oraz Amazon.com sprzedają bez ograniczeń muzykę w formacie MP3.