piątek, 26 kwietnia 2019

Kompresja stratna, jakość dźwięku - gdzie jest haczyk?

Czy kompresja stratna jest słyszalna? To zależy. Przy wysokich przepływnościach nie jest, natomiast gdy bitrate jest niskie można ją usłyszeć. Ale to czy jest 128 kb/s czy też 192 nie mówi nam wszystkiego. Można usłyszeć artefakty kompresji przy 192 kb/s, a staną się one niemożliwe do zauważenia jeśli przepływność wyniesie "tylko" 128 kb/s. Wszystko zależy od tego jak były kodowane poszczególne pliki.

128 może być lepsze niż 192. Niemożliwe? Całkiem możliwe. Ważne jest kilka rzeczy, np. to czy została wybrana opcja "stereo" czy też "joint stereo". Większość audycji czy też utworów muzycznych charakteryzuje to, że zawartość obu kanałów stereofonicznych jest do siebie podobna. Z tego powodu korzystniejsze jest kodowanie joint stereo, które jest w takim przypadku bardziej efektywne. Pliki mają lepszą jakość przy danej przepływności niż przy użyciu metody "stereo". Opis, jak się koduje Joint Stereo. "Stereo" natomiast polega na kodowaniu dwu kanałów niezależnie, czyli coś w rodzaju dwa razy mono, więc bitrate jest dzielone w jakimś sensie na pół. Jeśli joint stereo ma 128 kb/s, to można powiedzieć, że każdy z kanałów stereo ma przepływność zbliżoną do tej wartości, natomiast przy zwykłym stereo każdy kanał ma do dyspozycji tylko jej połowę. To duże uproszczenie, ale chodzi o podkreślenie pewnej cechy kodowania, a nie oddanie dokładnej jego natury. Dla tych którzy chcą się dowiedzieć więcej detali jest link powyżej, od tego miejsca można zacząć dalsze szukanie.

Inna rzecz polega na tym, że bitrate może być ustawione na sztywno, albo może być zmienne. Każda audycja zawiera fragmenty, kiedy wystarczy bardzo niska przepływność, a są też takie, kiedy potrzebna jest cała "moc przerobowa". Kodowanie ciszy nie wymaga zbyt wielu informacji, złożone pasaże muzyczne wręcz przeciwnie.

Jak widać wykorzystanie joint stereo i zmiennego bitrate pozwala na osiągniecie znacznie lepszej jakości przy porównywalnej wadze plików niż gdy jest kodowanie stereo ze stałym bitrate.

Plik VBR ze średnim bitrate 128 kb/s ma fragmenty, kiedy przepływność wzrasta nawet do 320 kb/s oraz takie, gdy spada znacznie poniżej 128, wszystko w zależności od potrzeb. Można powiedzieć, że taki plik ze średnim bitrate 128 w pewnych przypadkach będzie brzmiał bardzo podobnie lub identycznie jak taki mający sztywno ustawione 320 kb/s i na dodatek będzie mieć znacznie mniejszą wagę, co zawsze jest korzystne.

Oczywiście są wyjątki i stereo da lepszy efekt w przypadku, gdy np. dwie osoby mówiły do dwóch mikrofonów. W tym przypadku nagranie nie ma elementów wspólnych. Natomiast zmienne bitrate zawsze daje przewagę.

Jest jeszcze opcja doboru częstotliwości próbkowania. Dla nagrań radiowych zawsze wystarczy 32 kHz, bo radio nie nadaje nic powyżej 15 kHz. Niższe próbkowanie w tym przypadku oznacza brak pustych bitów i cała przepływność może być wykorzystana na kodowanie dźwięku, a nie szumów i sygnału pilota stereo, a także ciszy, która generalnie panuje powyżej 15 kHz. Ogólnie rzecz biorąc, wybierając nieco niższą średnią przepływność, aby mieć mniejsze pliki, oczywiście w przypadku VBR, w ogóle warto dać niższe próbkowanie, bo kodek i tak odfiltruje wyższe częstotliwości, co widać szczególnie dobrze w przypadku mp3.

Teraz wypada się zastanowić nad dwiema rzeczami. Po pierwsze dlaczego radiofonia i telewizja zdają się stosować wyłącznie stałe bitrate z próbkowaniem 48 kHz? Przyznam, że nie mam kompletnych informacji, ale wszystkie kanały tv, które sprawdzałem mają stały bitrate audio, natomiast bitrate wideo jest już zmienny. Radio także korzysta ze stałego bitrate. Jeśli ktoś zna kanały tv i radiowe, które mają zmienny bitrate dźwięku może to sprostować w komentarzu. Natomiast 48 kHz to zawsze jest marnotrawstwo. 44,1 kHz w zupełności wystarczy, a w przypadku radia 32kHz będzie ok.

Druga sprawa polega na tym, że wciąż są osoby, które kodują swoje prywatne nagrania w stereo i ze stałym bitrate i jeszcze na dodatek z samplingiem 48 kHz. Trudno w to uwierzyć, ale tak jest i popełniają one wszystkie możliwe do zrobienia błędy o których tu była mowa plus jeszcze inne, także obniżające jakość. Paradoksalnie jeśli tego typu ludzie zabierają głos w dyskusji o jakości dźwięku, to zawsze krytykują nadawców i producentów za złą jakość. Tylko, że w praktyce jeżeli ktoś sam coś koduje to robi to tak, że jakość siada.W zasadzie każda decyzja, którą podjął zmieniając domyślne ustawienia programu, którego używa powodują obniżenie jakości nagrań.

Jeśli zatem już coś nagrywać, to warto to zrobić samemu, w domyśle - dobrze. Jak to robić zostało już opisane we wcześniejszych postach. Nie ma sensu słuchać czyichś nagrań, bo nie będą one zrobione dobrze. Problem nie do rozwiązania to jakość, którą oferują nam nadawcy i w ogóle fonografia. Ale tu jest więcej problemów niż sposób kodowania. Nawet odsłuchując nową płytę w formacie bezstratnym często słyszy się coś, co jest absolutnie niestrawne. To już osobny temat.

W dyskusjach dotyczących jakości dźwięku w telewizji i w radio wszyscy są za poprawieniem jakości, wszyscy słyszą niedostatki, natomiast jeśli przyjdzie co do czego, czyli ludzie sami coś sobie nagrywają, to już nie dostrzegają błędów, które sami robią, natomiast o słyszeniu niedoskonałości własnej pracy nie ma nawet mowy. Kiedy ktoś krytykujący innych robi coś samodzielnie natychmiast kompletnie głuchnie. Taki paradoks. To jest właśnie ten haczyk, na który się wszyscy łapią.