REKLAMA


Test filtrów renderujących w odtwarzaczach wideo – część I

filtry-renderujace-titlePo serii artykułów o audio wracamy do głównej tematyki serwisu. Pomysł na taki test miałem już dawno, ale nie bardzo wiedziałem jak się za niego zabrać. Wydawało mi się też, że różnice pomiędzy poszczególnymi filtrami renderującymi będą na tyle niewielkie, że ciężko będzie cokolwiek udowodnić bez wykonywania pomiarów. Jakież było jednak moje zdziwienie, gdy zacząłem porównywać te sami klatki filmu wygenerowane różnymi rendererami. Różnice są wyraźnie widoczne! Skąd więc tak dużo krążących opinii, że różnic między rendererami nie ma lub są prawie niedostrzegalne? Wydaje mi się, że wynika to z tego, że gdy normalnie oglądamy film (skupiając się na jego fabule, a nie na pikselach), przyzwyczajamy się do konkretnej „struktury obrazu” i szybko przestajemy zauważać jego defekty. Dlatego przełączając renderer na inny, często trudno na pierwszy rzut oka dostrzec różnice. A jeśli już widzimy jakieś niedociągnięcia obrazu, to zazwyczaj winą za to obarczamy nadmierną kompresję lub złe ustawienia. Tymczasem okazuje się, że dopasowując filtr renderujący do naszych preferencji obrazu możemy zdziałać bardzo wiele, co postaram się udowodnić w tym artykule.

 

Czego dotyczył będzie test?

O jakości wideo generowanego przez dany renderer decydują dwa główne aspekty: jakość obrazu oraz płynność odtwarzania. Jakość generowanego przez renderer obrazu powinna być identyczna, niezależnie od systemu i da się ją ocenić wizualnie. Natomiast płynność odtwarzania zależy w dużym stopniu od systemu – sterowników, pozostałych filtrów biorących udział w procesie odtwarzania i samej wydajności sprzętu. Tak więc w tym teście będę zajmował się wyłącznie jakością obrazu. Pomiar płynności odtwarzania wymaga testów na większej liczbie różnie skonfigurowanych maszyn, czym w tej chwili nie dysponuję, więc pozostawiam to zagadnienie na inny artykuł.

Nie będę też opisywał jak skonfigurować poszczególne renderery, ponieważ tego typu poradników można znaleźć w sieci sporo, a ja nie lubię powielać tego samego.

Część pierwsza testu będzie dotyczyła najczęściej wykonywanego skalowania w górę. W części drugiej zajmę się skalowaniem w dół oraz przetestuję inne, mniej typowe rodzaje obrazu, jak anime i filmy z dużym zaszumieniem. Postaram się również zająć kwestią obciążenia systemu przez renderery.

 

Odrobina teorii, czyli co to jest filtr renderujący (renderer wideo) i jak działa

Kiedy naciskamy przycisk „play” w naszym odtwarzaczu, to zanim na ekranie zobaczymy obraz, komputer musi połączyć ze sobą szereg filtrów DirectShow w układ zwany grafem, który będzie odpowiedzialny za cały proces odtwarzania filmu. Każdy z tych filtrów odpowiada za niewielki wycinek całego procesu. Przykładowy graf filtrów może wyglądać tak:

graf-filtrow

Dzięki temu większość odtwarzaczy daje nam możliwość wyboru, których filtrów mają używać, tak aby dostosować parametry odtwarzania do własnych potrzeb. Oczywiście nie dla każdego będzie to zaletą – początkujący użytkownicy nie będą zainteresowani tak skomplikowaną konfiguracją, najczęściej chcą wcisnąć „play” i cieszyć się filmem dobrej jakości. Dlatego też dużą popularność zdobyły odtwarzacze zmniejszające konfigurację i manipulację filtrami do minimum, jak Splash PRO. Ale są też tacy (do których również ja się zaliczam), którzy lubią sobie „podłubać” w konfiguracji, a takie możliwości daje odtwarzacz MPC-HC.

Wracając jednak do układu filtrów, renderer wideo jest ostatnim w tym układzie filtrem, odpowiedzialnym za odbieranie zdekodowanych wcześniej klatek obrazu z dekodera, konwersję kolorów, skalowanie do rozmiaru pełnego ekranu i ich wyświetlenie. Jak to jednak możliwe, że ta sama klatka obrazu może wyglądać inaczej w zależności od tego, który filtr renderujący ją wygeneruje? W końcu to ten sam obraz… Niestety, dane przekazane z dekodera wideo nie są jeszcze gotową klatką obrazu. Żeby poprawnie wyświetlić ją na ekranie renderer musi najpierw wykonać konwersję kolorów z formatu YUV, w którym przechowuje się filmy, na RGB, którego wymaga monitor/TV. Już na tym etapie dokładność z jaką zostanie wykonana ta konwersja ma spore znaczenie dla jakości. Te same operacje można wykonać na liczbach o większej precyzji, zmniejszając w ten sposób zaokrąglenia wyników obliczeń. Problem stanowią też same sterowniki kart graficznych, które zajmują się pewnymi etapami wyświetlania obrazu wideo. Robią to szybko, ale niestety cierpi na tym dokładność z jaką to robią. Jeśli renderer przejmie te funkcje na siebie i dysponuje dokładniejszymi algorytmami, to jest duża szansa, że obraz będzie miał lepszą jakość. Kolejnym etapem mającym ogromny wpływ na jakość jest proces skalowania obrazu. Kanał chrominancji (koloru) skalowany jest zawsze, wyjątek stanowią filmy z pełnym kodowaniem YUV 4:4:4, ale należą one do rzadkości. Ponieważ informacja o kolorze jest obcinana już na etapie kompresji, renderer musi ją odtworzyć, skalując w górę kanał chrominancji do pełnego rozmiaru klatki. Natomiast kanał luminancji (jasność) ma pełną rozdzielczość, więc może być skalowany w górę, w dół lub w ogóle nieskalowany, w zależności od tego jaka jest rozdzielczość filmu oraz ekranu na którym go wyświetlamy. Jeśli filmy oglądamy na TV Full HD, to w większości przypadków będzie używane skalowanie w górę, dlatego ten właśnie rodzaj skalowania uważam za istotniejszy. Algorytmów skalujących obraz (czyli wykonujących interpolację) jest całkiem sporo. Większość filtrów renderujących korzysta z algorytmu bicubic (dwusześciennego) lub szybszego, ale mniej dokładnego bilinear (dwuliniowego). Wyjątkiem jest filtr madVR, który pozwala wybrać aż 9 różnych algorytmów skalowania i to niezależnie dla chrominancji, luminancji skalowanej w górę oraz w dół.

 

Systemowe filtry renderujące: Overlay Mixer, VMR7, VMR9 i EVR

Overlay Mixer (mikser nakładki) – prawdopodobnie najszybszy sposób renderowania wideo. Tryb nakładki polega na tym, że dane wideo są przekazywane bezpośrednio do pamięci karty graficznej z pominięciem procesora. Dlatego nie są możliwe żadne dodatkowe manipulacje na obrazie. Podczas odtwarzania z użyciem miksera nakładki wyłączone zostają kompozycje pulpitu i zmieniany jest tryb kolorów w systemie.

Video Mixing Renderer 7 (VMR7) to już dość stary filtr wprowadzony wraz z Windows XP, używający technologii DirectDraw 7. W większości systemów korzysta on z trybu nakładki wideo, ale z możliwością dodatkowego wyświetlanie napisów. Ma możliwość alokowania klatki obrazu jako płaszczyzny 3D.

Video Mixing Renderer 9 (VMR9) można nazwać wersją rozwojową VMR7. Wprowadzony wraz z DirectX 9 (dokładniej wykorzystuje Direct3D 9). Nie korzysta z trybu nakładki, przez co może być nieco wolniejszy od VMR7. Umożliwia dodatkowe przetwarzanie obrazu (czy wychodzi mu to na dobre – o tym dalej). Wprowadza możliwość wykorzystania pełnoekranowego trybu Direct3D, co zwiększa płynność obrazu – niestety w MPC-HC ten tryb często powoduje problemy, a jeśli działa jest dość niewygodny w użyciu.

Enhanced Video Renderer (EVR) to w miarę nowy renderer wprowadzony wraz z Windows Vista. Zawiera wbudowany mikser, który może wyświetlać równocześnie do 16 strumieni wideo. W wielu poradnikach wymieniany jako filtr zalecany. Wspiera renderowanie przy użyciu DXVA (DirectX Video Acceleration), jeśli dekoder wideo również pracuje z jego wykorzystaniem. Zmniejsza to znacząco obciążenie systemu, ponieważ większą część procesu odtwarzania przejmuje karta graficzna. Niestety w wielu systemach DXVA sprawia problemy (złe odwzorowanie kolorów, problemy ze zgodnością i inne).

 

madVR – renderer stawiający jakość ponad wydajnością

Jeśli nie słyszałeś jeszcze o madVR, a jesteś fanem dobrej jakości obrazu, to jak najszybciej nadrób zaległości i zapoznaj się z tym filtrem. Nie jest to jednak renderer dla każdego – wymaga w miarę mocnego sprzętu. Podstawa to dedykowana karta graficzna zgodna z Direct3D 9 i Pixel Shader 3.0. Karty zintegrowane w większości mają zbyt małą wydajność i obraz może nam klatkować. Procesor też ma spore znaczenie, ale jeśli nasz komputer nie jest netbook’iem z wyjątkowo słabym procesorem lub nie ma ponad 7-8 lat, to w kwestii procesora powinien dać sobie radę. Ale co wyróżnia ten renderer na tle innych? Po pierwsze wszystkie obliczenia wykonywane są z dokładnością 16 bitów na kanał i dopiero w chwili wyświetlania klatki na ekranie następuje zaokrąglenie do wymaganych 8 bitów na kanał. Po drugie w odróżnieniu od innych rendererów, madVR nie przekazuje karcie graficznej pewnych zadań, które ona zazwyczaj wykonuje przy wyświetlaniu wideo, ponieważ sterowniki karty graficznej optymalizowane są pod kątem wydajności, a nie jakości. Zamiast tego do wszystkich zadań wykorzystuje jednostki Pixel Shader karty graficznej, które pracują jako jednostki obliczeniowe, wykonując wewnętrzne algorytmy wbudowane w madVR. Dlatego tak istotna jest tutaj czysta wydajność obliczeniowa karty graficznej. MadVR może również wykonywać kalibrację kolorów urządzenia wyświetlającego przy pomocy tablic 3D LUT, choć to już zabawa dla bardziej zaawansowanych użytkowników. Jest jeszcze jedna bardzo istotna cecha wyróżniająca ten renderer – płynność obrazu. Przyznaję, że w pierwszej kolejności to właśnie idealna płynność przekonała mnie do madVR, podczas gdy z innymi rendererami miałem z tym ciągłe problemy. W dużej mierze odpowiada za to funkcja „Enable automatic fullscreen exclusive mode”, czyli automatyczne przełączanie w pełnoekranowy tryb wyłączności oraz odpowiednio dobrane bufory.

W teście wykorzystałem madVR w wersji 0.86.10

 

Splash PRO Picture2 renderer – nowa jakość rodem z Polski

Odtwarzacz Splash PRO firmy Mirillis stanowi zamknięty układ, tzn. użytkownik nie ma możliwości wyboru, ani wykorzystania żadnych zewnętrznych filtrów – wszystko jest wbudowane w odtwarzacz i skonfigurowane ze sobą. Jak to często bywa w przypadku produktów komercyjnych trudno doszukać się tutaj technicznych szczegółów. Producenci obiecują nam, że jakość obrazu będzie bardzo dobra, a odtwarzacz nie obciąża specjalnie systemu. Splash PRO ukierunkowany jest na początkującego użytkownika, którego rzadko interesują szczegóły techniczne, stąd pewnie takie, a nie inne potraktowanie tematu. Jak już wcześniej wspominałem, konfiguracja tego programu jest ograniczona do minimum, więc nie wiemy nic na temat tego, jakiej metody skalowania używa, ani jak przetwarza obraz. Właściwie jedyne istotne dla jakości obrazu ustawienie tego odtwarzacza to „Detail Boost”, czyli podbicie detali (przekłada się na ogólne wyostrzenie klatki). Możemy je regulować w przedziale 1-10 lub zupełnie wyłączyć. Swoją drogą przydałoby się coś takiego w madVR. Są jeszcze ciekawe funkcje zwiększające płynność odtwarzania, ale to zagadnienie na oddzielny test.

W teście wykorzystałem odtwarzacz Splash PRO w wersji 1.13.2

 

To tyle jeśli chodzi o teorię i opisy. Przejdźmy teraz do najważniejszego, czyli testów…

 

Test pierwszy: skalowanie w górę filmu 720p dobrej jakości

Parametry filmu: kompresja H.264 (x264); rozdzielczość 1280×536; bitrate 4131 Kb/s.
Za dekoder posłużył CoreAVC – włączony deblocking, dithering i akceleracja CUDA.

Skalowanie było niewielkie, bo do wymiarów 1357×568, czyli rozdzielczości panelu LCD typowego laptopa (współczynnik skalowania wyniósł 1,06).

 

Do pierwszego testu wybrałem początkową klatkę filmu z logiem pewnej wytwórni. Klatka moim zdaniem świetnie nadaje się do tego typu badania, ponieważ mamy tam ostre krawędzie występujące na literach, ładne przejścia tonalne, typowe lekko rozmyte krawędzie oraz pojedyncze jasne punkty na czarnym tle. Można powiedzieć, że wszystko co trzeba do tego typu testów mamy na jednej klatce.

 

Pierwszy rzut oka na całą klatkę – wrażenia ogólne

Najpierw seria pełnowymiarowych klatek wygenerowanych przez poszczególne renderery. Wszystkie są zrzutami ekranu, zapisane bezstratnie w 24-bitowym PNG, więc widzimy dokładnie to samo co podczas odtwarzania filmu.

01.OverlayMixer 02.VMR7 03.VMR9-bicubic 04.EVR-bicubic 05.madVR-NearestNeighbor 06.madVR-Bilinear 07.madVR-MitchellNetravali 08.madVR-CatmullRom 09.madVR-Bicubic60 10.madVR-Bicubic100 11.madVR-SoftCubic50 12.madVR-Lanczos4t 13.madVR-Spline4t 14.madVR-Jinc4t 15.SplashPRO-db1 16.SplashPRO-db5 17.SplashPRO-db10

 

Opisy nie zastąpią obejrzenia wszystkich klatek i wyciągnięcia własnych wniosków. Ale jeśli nie masz czasu na takie analizy to poniżej moje wnioski…

Overlay Mixer i VMR7 prawdopodobnie generują identyczne klatki. Oba filtry dają wyraźnie rozmyty obraz, z utratą detali, ale z niezłej jakości gradientami. Subiektywnie najgorszy obraz generuje filtr VMR9. Klatka jest zbyt ciemna w porównaniu z pozostałymi, gradienty szybko zanikają i pojawia się bardzo wyraźny banding (dla początkujących: patrz mój starszy artykuł). Obraz jest mocno wyostrzony (głównie kontury obiektów, ale przekłada się to na całość obrazu) i zbyt mocno podciągnięty jest kontrast, przez co obraz miejscami wygląda trochę sztucznie. Przypuszczam, że twórcom filtra nie bardzo podobał się rozmyty obraz, który generowała poprzednia wersja, czyli VRM7 i na siłę chcieli go wyostrzyć, co niestety nie wyszło za dobrze. Równie ostry obraz generuje EVR, ale obraz wygląda zdecydowanie lepiej. Ma lepszą równowagę tonalną, gradienty są bardziej gładkie i lepiej rozciągnięte, chociaż banding nadal jest widoczny. W odróżnieniu od filtrów systemowych, zarówno madVR, jak i Splash PRO generują bardziej plastyczny i naturalny obraz. Na tym etapie trudno dostrzec więcej detali różniących poszczególne klatki. Dlatego dalej będziemy analizować ich powiększone fragmenty.

 

Druga seria: wycięta środkowa część klatki, powiększona 2-krotnie:

p01.OverlayMixer-pow2x p02.VMR7-pow2x p03.VMR9-bicubic-pow2x p04.EVR-bicubic-pow2x p05.madVR-Bilinear-pow2x p06.madVR-MitchellNetravali-pow2x p07.madVR-CatmullRom-pow2x p08.madVR-Bicubic60-pow2x p09.madVR-Bicubic100-pow2x p10.madVR-SoftCubic50-pow2x p11.madVR-Lanczos4t-pow2x p12.madVR-Spline4t-pow2x p13.madVR-Jinc4t-pow2x p14.SplashPRO-db1-pow2x p15.SplashPRO-db5-pow2x p16.SplashPRO-db10-pow2x

 

Potwierdziło się, że Overlay Mixer i VMR7 dają identyczne klatki (nie oznacza to jednak, że w każdym systemie tak będzie), więc dalej będę brał pod uwagę tylko filtr VMR7. VMR9 oraz EVR mocno wyostrzają klatkę, aplikując algorytm uwydatniania konturów (Edge Enhancement). W wyniku tego powstają bardzo wyraźne efekty overshoot/undershoot (jasne/ciemne otoczki na krawędziach), których brak przy VMR7. Faktura kontynentów jest trochę nienaturalna – zbyt duże wyostrzenie (chociaż rozumiem, że taki obraz może mieć swoich zwolenników). Klatki pochodzące od tych trzech rendererów bardzo wyraźnie różnią się od siebie.

Jeśli chodzi o madVR to ostrość generowanych przez niego klatek jest mniejsza od VRM9 i EVR, ale większa od VMR7. Faktura kontynentów wygląda bardzo naturalnie – mają one zupełnie inną kolorystykę od klatek generowanych przez pozostałe filtry. Przypuszczam, że madVR wykonuje dodatkowo jakąś operację na kolorach, bo kolorystyka sprawia wrażenie cieplejszej (widać to np. na gradiencie otaczającym kulę ziemską).

Jeśli zaś chodzi o renderer odtwarzacza Splash PRO to jego jakość jest zaskakująco dobra. Przyznaję, że spodziewałem się czegoś zbliżonego do filtrów systemowych, a tymczasem ten odtwarzacz może spokojnie konkurować z rewelacyjnym madVR. Analizując nasze powiększone fragmenty klatek widać, że najbardziej zbliżony do madVR obraz daje najniższe ustawienie Detail Boost 1 i to uważam za najlepsze jakościowo. Różni go natomiast odwzorowaniem kolorów (bardzo zbliżone lub identyczne jak w rendererach systemowych). Wyższe ustawienie moim zdaniem wyostrzają już zbyt mocno. Przy Detail Boost 5 siła wyostrzenia jest zbliżona do rendererów VMR9 i EVR, jednak nie jest to zwykły algorytm uwydatniania konturów i trzeba przyznać, że obraz jest tu dużo lepszej jakości. Widać, że algorytm wyostrzający został lepiej dobrany – kontrastowe krawędzie wyostrzane są mocniej, natomiast mniej kontrastowe pozostają dość łagodne (VMR9 i EVR traktują cały obraz tak samo).

 

Metody skalowania w rendererze madVR, a ostrość obrazu

Przy tym powiększeniu można już próbować oceniać jakość skalowania filtra madVR. Zaznaczę od razu, że nie testowałem jaki ma wpływ na obraz włączenie dodatkowego filtra anti-ringing. Chciałem przetestować „czyste” algorytmy skalowania. Poza tym filtr ten wyjątkowo mocno obciąża sprzęt, w porównaniu do efektu który daje. Uznałem więc, że generowanie tak dużej liczby dodatkowych klatek z widocznym efektem tego filtra nadmiernie skomplikuje i tak złożony już test.

Jeszcze jedna uwaga: testując daną metodę skalowania ustawiałem ten sam algorytm zarówno dla chrominancji jak i luminancji. Inaczej trudno byłoby zbadać wszystkie możliwe kombinacje.

Pierwszy wniosek jest taki, że wszystkie metody skalowania dają dość podobny do siebie obraz. Różnice, można powiedzieć, są kosmetyczne. Wyjątek stanowi algorytm Nearest Neighbor (najbliższego sąsiada), którego efekt jest nie do przyjęcia – klatkę umieściłem tylko w celach poglądowych i dalej nie będę brał tego skalowania pod uwagę.

Jeśli szukamy miękkiego obrazu, bez podkreślonych konturów i uwydatnionych detali, to na pierwszym miejscu poleciłbym algorytm Bilinear (dwuliniowy). Dodatkową jego zaletą jest to, że należy on do jednej z najmniej złożonych obliczeniowo metod skalowania, więc nie będzie nadmiernie obciążał naszego komputera. Co do miejsca drugiego, miałem spory problem w jego wyborze, bo różnice są naprawdę mikroskopijne, ale uznałem że należy się ono algorytmowi Mitchell-Netravali, a zaraz za nim SoftCubic (softness 50). Zaznaczam, że ustawienie softness 50 jest najmniej „rozmiękczające” obraz – max. to softness 100 i przy tym ustawieniu prawdopodobnie filtr mógłby zająć pierwsze miejsce w opisywanej kategorii (nie testowałem jednak tego ustawienia). Miękkie algorytmy skalowania mają jeszcze dodatkową cechę: maskują artefakty kompresji, więc filmy gorszej jakości będą wyglądały przy ich użyciu lepiej, niż przy algorytmach dających ostry obraz.

Teraz coś o przeciwnym biegunie – metody dające ostry i detaliczny obraz. Zdecydowanie najostrzejszy obraz otrzymamy przy skalowaniu Bicubic (sharpness 100). Za nim Lanczos oraz minimalnie dalej Spline oraz Jinc (z tych dwóch nie jestem w stanie wskazać, który daje ostrzejszy obraz). Trzy ostatnie metody testowałem z ustawieniem 4 tap.

Więcej o metodach skalowania madVR w teście drugim: skalowania filmu SD słabej jakości.

 

Trzecia seria: niewielki fragment zawierający dwa gradienty oraz typowe kontrastowe krawędzie, powiększenie 6-krotne:

r01.OverlayMixer-pow6x r02.VMR7-pow6x r03.VMR9-bicubic-pow6x r04.EVR-bicubic-pow6x r05.madVR-Bilinear-pow6x r06.madVR-MitchellNetravali-pow6x r07.madVR-CatmullRom-pow6x r08.madVR-Bicubic60-pow6x r09.madVR-Bicubic100-pow6x r10.madVR-SoftCubic50-pow6x r11.madVR-Lanczos4t-pow6x r12.madVR-Spline4t-pow6x r13.madVR-Jinc4t-pow6x r14.SplashPRO-db1-pow6x r15.SplashPRO-db5-pow6x r16.SplashPRO-db10-pow6x

 

Gradienty (banding)

Zarówno w madVR, jak i Splash PRO gradienty są dużo lepszej jakości niż w rendererach systemowych – łagodne i z ładnym rozciągnięciem. Jeśli chodzi o banding, to Splash PRO z Detail Boost 1 w zestawieniu z madVR wypadają bardzo podobnie – artefakt ten jest w ogóle niezauważalny. Początkowo chciałem postawić pomiędzy tymi filtrami znak równości, lecz po dłuższej analizie stwierdziłem, że Splash PRO ma jednak tendencję do minimalnie nierównego przedstawiania gradientu, chociaż nie nazwałby tego jeszcze bandingiem. Jeśli zaś należysz do wielbicieli wyostrzonego obrazu to Detail Boost 5 daje mniejszy banding od EVR (o VMR9 nie wspominam, bo tam banding jest tragiczny). Zwróciłem też uwagę, że niektóre renderery mają tendencję do wprowadzania w różnych miejscach klatki (głównie na gradientach, ale nie tylko), jakby przekłamanych pikseli. Nie jest to typowy banding, ponieważ nie tworzy typowych dla niego pasm, są to raczej niewielkie kilkupikselowe „twory”. Prawdopodobnie są to artefakty kompresji, wzmocnione przez filtrację wyostrzającą. Tego typu artefaktów pojawia się znacznie więcej przy bardziej wyostrzonym obrazie. Przy analizowanym powiększeniu klatki można powiedzieć, że madVR i Splash PRO z Detail Boost 1 dają bardzo gładki, pozbawiony tych artefaktów obraz. Natomiast porównanie Detail Boost 5 i EVR wychodzi zdecydowanie na korzyść Splash PRO – ilość artefaktów jest tam dużo mniejsza (zwróć uwagę na gradient – poświatę otaczającą Ziemię oraz obszar morza między literami E i R). Przy ustawieniu Detail Boost 10 wyostrzenie jest bardzo mocne, przez co nasilenie różnych artefaktów jest też skrajnie duże i wątpię, żebyś kogoś taki obraz przekonał.

 

Kontrastowe krawędzie (ringing, aliasing)

W Splash PRO praktycznie wyeliminowano ringing na krawędziach, a mimo to obraz nadal pozostaje ostry – jest to duży plus tego renderera. MadVR zupełnie pozbywa się ringingu w miękkich metodach skalowania, w tych ostrych nadal jest on widoczny. Niestety, dla odmiany Splash PRO ma wyraźną tendencję do dodawania aliasingu („schodkowania”) na krawędziach. MadVR pod tym względem wypada zdecydowanie lepiej – aliasing nie jest widoczny nawet w najostrzejszych metodach skalowania jak Bicubic 100 czy Lanczos. Uczciwie trzeba jednak przyznać, że oba te defekty są na tyle niewielkie, że przy normalnym oglądaniu nie powinny specjalnie rzucać się w oczy (może poza filmami anime).

 

Naturalność oddania barw i równowaga tonalna

W tym porównaniu zdecydowanie wygrywa madVR. Ogólna jasność klatki jest niemal identyczna – widać to choćby po długości rozciągnięcia gradientów. We fragmentach gdzie dominuje intensywny kolor, madVR bardziej naturalnie oddaje barwy i przejścia pomiędzy nimi. Doszukałem się informacji, że filtr ten ma wbudowane tablice konwersji barw YV12 → RGB, osobne dla różnych rozdzielczości (w oficjalnym opisie madVR ta informacja nie jest jednak potwierdzona). Powoduje to, że madVR daje wrażenie bardziej detalicznego obrazu, nawet jeśli w rzeczywistości ilość detali jest taka sama. Oto jak wygląda rozkład składowych RGB na poszczególnych poziomach jasności (cienie/półtony/światła) dla identycznego fragmentu klatki:

RGB-SplashPRO-vs-madVR

To co widać od razu to przesunięcie w madVR składowej czerwonej w kierunki poziomów świateł, co oznacza, że jasne obszary klatki będą miały w tym rendererze cieplejszą barwę – pokrywa się to z wcześniejszymi obserwacjami. W składowej zielonej różnice są niedostrzegalne, natomiast składowej niebieskiej w Splash PRO jest minimalnie więcej w poziomach cieni. Z tych wykresów niestety nie wynika skąd w madVR tak dobra separacja poszczególnych obszarów barw. Splash PRO ma tendencję do zlewania ich ze sobą – szczególnie w obrębie barwy zielonej (ale może to wynikać ze specyfiki danej klatki i wymaga dalszych testów).

 

Czwarta seria: niewielki fragment zawierający kontrastowe krawędzie konturów liter oraz bardzo drobne detale, powiększenie 6-krotne:

d02.VMR7-pow6x d03.VMR9-bicubic-pow6x d04.EVR-bicubic-pow6x d05.madVR-Bilinear-pow6x d06.madVR-MitchellNetravali-pow6x d07.madVR-CatmullRom-pow6x d08.madVR-Bicubic60-pow6x d09.madVR-Bicubic100-pow6x d10.madVR-SoftCubic50-pow6x d11.madVR-Lanczos4t-pow6x d12.madVR-Spline4t-pow6x d13.madVR-Jinc4t-pow6x d14.SplashPRO-db1-pow6x d15.SplashPRO-db5-pow6x d16.SplashPRO-db10-pow6x

 

Seria ta potwierdza wcześniejsze spostrzeżenia, ale dodaje też kilka nowych. Pierwsze co od razu rzuca się w oczy to mocno postrzępione krawędzie liter (aliasing) w Splash PRO. To jednak zauważyliśmy już wcześniej. Przyjrzyjmy się teraz dokładności odwzorowania detali. Klatka ze Splash PRO sprawia wrażenie mniej detalicznej – tak jakby skalowanie było mniej precyzyjne lub był to efekt sporego aliasingu. Wróciłem do poprzedniej serii klatek, ponieważ nie zwróciłem wtedy na to uwagi i rzeczywiście… tam też jest to widoczne. Mimo, że ostrość pozornie pozostaje taka sama, to drobne kilkupikselowe detale są jakby „napompowane”, przez co bardziej zlewają się ze sobą. Co ciekawe zwiększenie Detail Boost nie powoduje znaczącej poprawy tego stanu.

Zaobserwowałem także, że na płaskich, jednobarwnych obszarach Splash PRO generuje minimalnie więcej artefaktów, gdy w madVR są one prawie idealnie wyrównane (chociaż tutaj różnice są naprawdę minimalne).

 

Test drugi: skalowanie w górę (SD → Full HD) filmu SD słabej jakości

Parametry filmu: kompresja MPEG-4 ASP (Xvid); rozdzielczość 672×288; bitrate 999 Kb/s.

W tym teście skalowanie jest zdecydowanie większe, bo rozdzielczość jest niemal potrajana (współczynnik skalowania wynosi 2,857). W układzie grafu mamy inne filtry źródłowe i dekodery, więc można spodziewać się odmiennych wyników niż w poprzednim teście.

 

Pierwszy rzut oka na całą klatkę – wrażenia ogólne

01.VMR7 02.VMR9-bicubic 03.EVR-bicubic 04.madVR-Bilinear 05.madVR-MitchellNetravali 06.madVR-CatmullRom 07.madVR-Bicubic60 08.madVR-Bicubic100 09.madVR-SoftCubic50 10.madVR-Lanczos4t 11.madVR-Spline4t 12.madVR-Jinc4t 13.SplashPRO

 

Pierwszą różnicą jest to, że w tym teście renderery VMR9 i EVR prawdopodobnie generują identyczne klatki. Film ma sporo artefaktów kompresji, które są bardzo mocno wzmacniane przez agresywny algorytm uwydatniania konturów w tych dwóch filtrach, przez co klatki wyglądają naprawdę fatalnie. Tak więc zdecydowanie odradzam używania rendererów VMR9 i EVR do odtwarzania filmów słabszej jakości. VMR7 jak w poprzednim teście, daje lekko rozmyty, ale przyjemny dla oka obraz – artefakty kompresji są mocno zamaskowane.

Dosyć zaskakujące okazały się klatki wygenerowane przez Splash PRO – renderer prezentuje zupełnie inny obraz niż w poprzednim teście. Nie działają tutaj mechanizmy wyostrzania Detail Boost, ani pozostałe „polepszacze”. Obraz jest rozmyty w podobnym stopniu co w VMR7. Widać też wyraźnie, że przeprowadzana jest filtracja usuwająca artefakty kompresji, przez co obraz wygląda idealnie gładko. Gdybym nie miał punktu odniesienia w postaci klatek z pozostałych rendererów to powiedziałbym, że obraz wygląda wręcz idealnie. Porównując jednak efekty z tym co wygenerował madVR, to mam mieszane uczucia. Po pierwsze, jak każda filtracja, ta ma też swoje minusy – z niepożądanymi artefaktami usuwa z obrazu również pewne drobne detale. Akurat w testowym filmie artefaktów było zdecydowanie więcej niż tych detali, które chcielibyśmy oglądać, więc można uznać, że efekt filtracji jest pozytywny. Z ciekawości sprawdziłem efekty tej filtracji na innym filmie wyjątkowo dobrej jakości, skompresowanym Xvid-em i muszę przyznać, że obraz nie został „wyprany” z detali, tak jak się tego obawiałem. Utrata detali była widoczna, ale dopiero pod dużym powiększeniem (normalnie nie było widać różnic), więc trzeba przyznać, że algorytm filtracji artefaktów w Splash PRO jest wyjątkowo dobrze dobrany.

Klatki wygenerowane przez madVR mają większą ostrość od Splash PRO. Różnice pomiędzy poszczególnymi metodami skalowania są bardziej widoczne niż w poprzednim teście. Naturalność oddania barw charakterystyczna dla madVR jest widoczna, ale różnice między nim, a pozostałymi rendererami są już mniejsze (pewnie dlatego, że kolorystyka testowej klatki jest bardziej wyblakła).

 

Druga seria: wycięta prawa-górna część klatki, powiększona 2-krotnie:

p01.VMR7-pow2x p02.VMR9-bicubic-pow2x p03.EVR-bicubic-pow2x p04.madVR-Bilinear-pow2x p05.madVR-MitchellNetravali-pow2x p06.madVR-CatmullRom-pow2x p07.madVR-Bicubic60-pow2x p08.madVR-Bicubic100-pow2x p09.madVR-SoftCubic50-pow2x p10.madVR-Lanczos4t-pow2x p11.madVR-Spline4t-pow2x p12.madVR-Jinc4t-pow2x p13.SplashPRO-pow2x

 

Metody skalowania w rendererze madVR – jakość skalowania

Zacznę od tego, że moje wnioski nie do końca pokrywają się z legendą przedstawiającą jakość skalowania poszczególnych metod, która znajduje się w madVR.

Algorytmu Bilinear przy tak dużym współczynniku skalowania nie polecam, ponieważ dodaje on naprawdę spory aliasing. Szczegóły obrazu przyjmują nienaturalną, bardziej kwadratową strukturę, przez co w pewnym stopniu tracona jest szczegółowość obrazu. Najlepiej widać to na dwóch skośnych liniach (uchwyt lampki), które mają wyraźnie ząbkowany kształt. Miejscami pojawiają się też drobne poziome i pionowe artefakty, których nie widać w pozostałych metodach skalowania. Uściślijmy jednak, że te wszystkie wady metody Bilinear występują wyłącznie w tym teście, czyli przy dużym współczynniku skalowania. W teście poprzednim zachowywał się on całkiem nieźle i dawał po prostu mocno rozmyty obraz. Bardzo prawdopodobny jest więc wniosek, że metoda Bilinear daje tym gorszy efekt, czym wyższy jest współczynnik skalowania obrazu. Zauważyć można również, że Bilinear wygenerował klatkę identyczną do VMR7 (pomijając charakterystyczną dla madVR kolorystykę), czyli wszystko o czym pisałem dotyczy również tego renderera. Dowodzi to również, że VMR7 używa skalowania Bilinear. Mitchell-Netravali oraz SoftCubic 50 to kolejne mocno zmiękczające obraz metody – bardzo dobrze ukrywają artefakty kompresji, ringing nie występuje, a aliasing praktycznie niezauważalny (pod dużym powiększeniem widać minimalny, ale podczas normalnego oglądania nie wierzę, żeby ktoś go dostrzegł). Różnice między obiema metodami są minimalne, ale gdybym miał wybierać to postawiłbym na Mitchell-Netravali, ponieważ daje odrobinę ostrzejszy obraz, generując przy tym mniejsze artefakty. Bardziej ostry obraz otrzymamy metodami Catmull-Rom oraz Bicubic 60. Ten drugi jest minimalnie ostrzejszy, ale zaczyna pojawiać się lekki ringing, natomiast Catmull-Rom dla odmiany dodaje większy aliasing. Skalowania Bicubic 100 nie polecam – obraz jest wprawdzie najostrzejszy ze wszystkich metod, ale dodaje bardzo mocny ringing (do tego dość nieprzyjemny, o wyraźnie schodkowym przebiegu) oraz równie spory aliasing (tylko Bilinear dodaje mocniejszy). Poza nim najbardziej wyostrzające i przez wiele osób preferowane metody to Lanczos, Spline i Jinc. Lanczos jest z tej trójki najbardziej ostry, ale dodaje spory, widoczny bez powiększania ringing i delikatny aliasing. Spline kosztem minimalnie mniejszej ostrości, daje wyraźnie mniejszy ringing i aliasing porównywalny z Lanczos. Jinc z ostrością niemal identyczną co Spline – dodaje spory ringing (minimalnie większy od Lanczos), ale za to pozbywa się zupełnie aliasingu. Czasami robi to nawet zbyt agresywnie, ale ogólny efekt jest niezły, ponieważ większe obiekty mają bardziej wyraźne kształty, natomiast te jedno- czy kilkupikselowe nierówności są przez niego maskowane. Warto jeszcze wspomnieć, że te dwie ostatnie metody, a w szczególności Jinc mają pewną drobną wadę – wymagają największej mocy obliczeniowej, więc u posiadaczy starszych kart graficznych mogą wystąpić problemy z płynnością odtwarzania. Gdybym miał polecić którąś z tych dających ostry obraz metod skalowania to moim faworytem jest Spline – ostrość na dobrym poziomie i stosunkowo niewielkie artefakty, które nie powinny przeszkadzać w oglądaniu.

 

Trzecia seria: niewielki fragment zawierający dwie skośne linie oraz kilka kontrastowych krawędzi, powiększenie 4-krotne:

a01.VMR7-pow4x a02.VMR9-bicubic-pow4x a03.EVR-bicubic-pow4x a04.madVR-Bilinear-pow4x a05.madVR-MitchellNetravali-pow4x a06.madVR-CatmullRom-pow4x a07.madVR-Bicubic60-pow4x a08.madVR-Bicubic100-pow4x a09.madVR-SoftCubic50-pow4x a10.madVR-Lanczos4t-pow4x a11.madVR-Spline4t-pow4x a12.madVR-Jinc4t-pow4x a13.SplashPRO-pow4x

 

Wprawne oko może tutaj zauważyć, że klatki pochodzące z VMR9 i EVR nie są jednak identyczne. Różnice są dosłownie kilkupikselowe i można je zauważyć na kontrastowych krawędziach. Dla użytkownika są to jednak zmiany bez żadnego znaczenia.

Przyglądając się klatkom wygenerowanym przez Splash PRO oraz VMR7 widać, że są to dokładnie te same klatki, tylko przefiltrowane przez Splash PRO w celu usunięcia z obrazu niskich częstotliwości. Wszystkie bardziej kontrastowe krawędzie obiektów są dokładnie takie same, więc nie ma tutaj wątpliwości: Splash PRO do odtwarzania filmu w teście drugim używa prostego skalowania Bilinear, podobnego do tego z renderera VMR7. Postanowiłem iść tym tropem dalej i wyciągnąć jeszcze więcej na temat Splash PRO. Ponakładałem różne filtry wyostrzające na klatki, ale tym razem te w rozdzielczości HD z testu pierwszego i wyszło mi, że tu również możemy mieć do czynienia ze skalowaniem Bilinear, tylko później wyostrzonym. Jako dowód zamieszczam poniżej fragmenty klatek z VMR7 oraz Splash PRO, gdzie widać niemal identyczną strukturę artefaktów blokowych (w ciemnym obszarze, gdzie kończy się gradient). Dla porównania te same fragmenty pochodzące z VMR9 i madVR, gdzie tego podobieństwa nie ma:

01.VMR7-sharp-filtering 02.SplashPRO-sharp-filtering 03.VMR9-sharp-filtering 04.madVR-Lanczos-sharp-filtering

 

Tak więc Splash PRO swoją jakość zawdzięcza nie zaawansowanym metodom skalowania, czy zwiększonej precyzji, ale właśnie odpowiednio dobranym filtrom. Nie sugeruję, że to złe podejście, po prostu inne. Niech użytkownicy już sami wybiorą co bardziej im odpowiada.

Po tej krótkiej serii klatek zauważyłem jeszcze coś ciekawego, a mianowicie, że madVR prawdopodobnie stosuje delikatny dithering. Normalnie jest on niewidoczny, ale po mocnym przefiltrowaniu klatki, dokładnie widać jego strukturę. Pewnie dzięki temu madVR tak dobrze radzi sobie z gradientami, pozbywając się zupełnie bandingu.

 

Splash PRO i tryby filtracji obrazu

Postanowiłem jeszcze sprawdzić kiedy Splash PRO używa, trybu wyostrzającego, a kiedy redukującego artefakty filmu. Oba testy znacząco różniły się od siebie, więc nie do końca wiadomo co było odpowiedzialne za aktywowanie danego trybu. Wykonałem dodatkowe testy (nie zamieszczam klatek) i okazało się, że tryb filtracji nie zależy od rozdzielczości filmu, czy współczynnika skalowania, ale od standardu kompresji (x264 / Xvid). W odtwarzaczach wideo każdy standard kompresji obsługuje inny dekoder wideo, więc te cechy obrazu (wyostrzanie lub filtracja artefaktów) mogą bardziej zależeć od dekodera, niż od renderera.

 

Na koniec postanowiłem jeszcze sprawdzić skąd się bierze w Splash PRO tak duży aliasing, który jest największą bolączką tego odtwarzacza. Dlatego wykonałem dodatkowy test…

 

Test skalowania w górę składowej chrominancji (koloru)

Nie podaję parametrów filmu, bo nie ma to tutaj większego znaczenia. Przypuszczałem, że aliasing w Splash PRO jest wynikiem nienajlepszego skalowania chrominancji. Niedokładność w takim skalowaniu jest najbardziej widoczna przy składowych czerwonych, więc wybrałem fragment klatki z kontrastowymi czerwonymi paskami:

c01.VMR7-skalowanie-koloru-pow4x c02.VMR9-skalowanie-koloru-pow4x c03.EVR-skalowanie-koloru-pow4x c04.madVR-Bilinear-skalowanie-koloru-pow4x c05.madVR-Spline4t-skalowanie-koloru-pow4x c06.SplashPRO-db1-skalowanie-koloru-pow4x

 

Wygląda, że moje przypuszczenia były jednak słuszne – Splash PRO wypadł w tym teście najsłabiej. Nawet stosujący to samo skalowanie VMR7 wygenerował obraz lepszej jakości. Na czerwonych paskach występuje ogromny aliasing, którego nie widać w miejscach, gdzie kolorystyka jest bardziej stonowana. Moim zdaniem dowodzi to, że Splash PRO ma niedopracowany algorytm skalowania chrominancji, który w dużym stopniu jest powodem tak dużego aliasingu.

 

Podsumowanie jakości skalowania w górę – na podstawie oceny wizualnej

To dla tych, którzy wolą zwięzłe tabelki, zamiast przydługawych czasem opisów :)
Spędziłem wiele godzin porównując ze sobą testowe klatki i ich powiększenia, więc mogę powiedzieć, że jestem pewny tych wyników. Jeśli ktoś chce spytać dlaczego nie pokrywają się one z tym co podpowiada madVR, to odpowiadam: nie mam pojęcia. Mogę tylko przypuszczać, że twórca madVR mógł używać metod pomiarowych lub też przyjął jakieś inne kryteria oceny niż ja. Najbardziej zastanawiające, dlaczego w niektórych metodach wskazywana jest tam tak duża obecność aliasingu. Ja musiałem się naprawdę sporo naszukać, żeby znaleźć jego choćby śladowe ilości.

 

Jak czytać tabelkę?

Dla tych, którzy nie czytali całego artykułu, a chcieliby skorzystać z tej tabeli… Wartości ujemne wprowadziłem po to, aby zaznaczyć, że oceniana cecha wpływa negatywnie na jakość obrazu. Jeśli wyniki testu pierwszego i drugiego wyraźnie różniły się od siebie rozbijałem ocenę na dwie wartości. Oznaczenie „o/u” oznacza efekt overshoot/undershoot, czyli czarne/białe otoczki na krawędziach (inaczej ringing krawędziowy). Występuje we wszystkich metodach, które stosują algorytm uwydatniania konturów (Edge Enhancement) lub inną filtrację wyostrzającą. Trzeba też pamiętać, że czym ta filtracja jest bardziej intensywna, tym bardziej wzmacniane są wszystkie artefakty danego filmu i tym samym spada jego jakość.

Poniżej zapowiadana tabela:

Renderery-wideo-jakosc-skalowania-tabela

 


Opublikowano: 13 paź 2014 / Kategoria: jakość obrazu » ocena subiektywna, testy i porównania / 8 514 wyświetleń

Odpowiedzi: 15 do wpisu “Test filtrów renderujących w odtwarzaczach wideo – część I”

  1. Dawid pisze:

    W końcu nowy artykuł:) Jak zawsze świetny:) Pozdrawiam! I pisz częściej;)

  2. Franek pisze:

    Jak długo powstaje taki artykuł? Pytam z czystej ciekawości

    • qbakos pisze:

      Ten akurat powstawał około miesiąca i nie był to wcale najdłużej tworzony artykuł. Test ustawień preset w x264 zajął mi ok. 3 miesiące :) Pewnie można by to zrobić szybciej, ale wiadomo, codziennie się nad tym też nie chce siedzieć.
      To tak gdyby ktoś się dziwił czemu tak rzadko są aktualizacje strony…

  3. Lolek pisze:

    Widać nakład pracy włożonej w przygotowanie testu, mam jednak sugestię co do uzupełnienia. Jako że główną zaletą EVR jest możliwość bezpośredniej współpracy ze sprzętowym dekoderem DXVA, moim zdaniem warto by porównać uzyskane wyniki z dekoderem sprzętowym (np. poprzez LAVfilters) zamiast CoreAVC, ponieważ wiele tutaj zależy od zastosowanego dekodera. A skoro w grę wchodzą rozwiązania sprzętowe, w perspektywie warto by takie testy przeprowadzić na układach trzech wiodących producentów:)

    • qbakos pisze:

      CoreAVC również wykorzystuje wspomaganie sprzętowe: CUDA i DXVA do wyboru. Z tym, że nie ma żadnej różnicy w klatkach przy włączonej i wyłączonej akceleracji sprzętowej… no dobrze, przy DXVA + madVR jest na moim sprzęcie różnica w jasności klatki, a w niektórych przypadkach rozjeżdżają się kolory, ale to są typowe błędy wyświetlania, a nie różnice które można by brać pod uwagę do testu.
      EVR jest po prostu mocno przeciętnym rendererem. Lepszy obraz moim zdaniem generuje stary VMR7, niestety odrobinę zbyt rozmyty.
      Postaram się przetestować też LAVfilters i zobaczymy czy wpłynie to na jakość klatek. A co do testów na układach wiodących producentów to sugerujesz, że klatki mogą inaczej wyglądać na GeForce’ach, a inaczej na Radeonach?

  4. Wasilewska pisze:

    Jestem pod wrażeniem, że ktoś ma taką wiedzę i zdecydowanie jako umysł ścisły potrafi ją przekazac w sposób humanistyczny tak czytelnie.

  5. Kosmetolog pisze:

    Staram się to wszystko dogonić, ogarnąć. Podobno granice wieku należy pokonywać. : ) Dobrze się czyta.

  6. Kopczynski pisze:

    Fajnie opisane, szczegółowo i bez zbędnych konkluzji. Dzięki.

  7. karol pisze:

    Jak dla mnie b.dobry przekaz wiedzy. Jestem na stażu jako grafik komputerowy, wiele mogę poduczyć się z Twojego bloga.

  8. Piotr pisze:

    Jakie są optymalne ustawienia do madVR?

    Np. w image upscaling nie wiem czy w ogóle coś powianiem wybrać skoro nie oglądam wideo mniejszej rozdzielczości niż mój wyświetlacz (zawsze jet to 1080p z Blu Ray Disc lub YouTube)
    W image downscaling: domyślnie oglądam na wyświetlaczu o rozdzielczości ekranu 1920 x 1080 i video także 1080p, ale jeśli oglądam na ekranie laptopa o rozdzielczości 1366 x 768 to tak opcja jest przydatna czy nie?

    Wiem tyle że:
    - image upscaling to algorytmy którymi powiększamy rozdzielczość obrazu naszego wideo
    - image downscaling to algorytmy do obniżania rozdzielczości obrazu, jeśli wideo które oglądamy ma większą rozdzielczość niż nasz ekran.
    Ale image doubling i chroma upscaling nie rozumiem o co chodzi, na forum videoaudio.pl/forum/Ustawienia-Madvr-t8521.html odnośnie chroma upscaling jest napisane coś takiego „wideo yuv ma oddzielone dwa kanały informacji o kolorach. Trzeba najpierw powiększyć ich rozdzielczość do rozdzielczości luma aby dalej działać na obrazie.” co oznacza to zdanie?

    I jeszcze jedno co tak naprawdę powinno się wybrać w konfiguracji dekodera wideo LAV Video lub CoreAVC w sekcji: Hardware Acceleration, Hardware Decoder to use:

    Zazwyczaj wszędzie jest napisane że:
    Dla kart AMD powinien to być DXVA2 (copy-back) albo DXVA2 (native). Dla kart Nvidii należy użyć NVIDIA CUVID, a dla grafiki Intela – Intel QuickSync
    Ale na forum forum.kodi.tv/showthread.php?tid=209596 jest coś takiego
    Intel: Intel QuickSync
    AMD: DXVA2 (copy-back)
    Nvidia: DXVA2 (copy-back)
    *NVIDIA CUVID is known to be less efficient with regards to performance and power consumption. The justification for this claim comes from this post.

    • qbakos pisze:

      To od początku… Co do ustawień skalowania, to bez względu na to co zazwyczaj oglądamy, proponuje jednak poświęcić chwilę na ich odpowiednie ustawienie. Jeśli rozdzielczość obrazu = rozdzielczości wyświetlacza, to image up/down scaling rzeczywiście nie będzie miało znaczenia, ale chroma upscaling ZAWSZE będzie przeprowadzane. A to dlatego, że składowe koloru (inaczej chrominancja) są zapisywane z mniejszą rozdzielczością niż cały obraz (proszę poczytać o standardzie kodowania YUV oraz chroma subsampling: 4:2:0, 4:2:2 i inne – może to sporo wyjaśnić). MadVR jest w tym wyjątkowo dobry o czym pisałem w tym artykule. To mniej więcej jest napisane w tym zdaniu, które Pan przytacza :)

      Teraz sprawa który algorytm skalowania wybrać. Myślę, że tu nie ma jednoznacznej odpowiedzi i niech Pan nie wierzy różnym forom, gdzie często można spotkać dziwne opinie, że czym „wyższy” algorytm tym lepsza jakość. Zbyt dużo czynników ma tutaj znaczenie, jak choćby to jaki jest współczynnik skalowania, jaka jest jakość obrazu itp. Do tego dochodzą jeszcze indywidualne preferencje – jeden woli obraz miękki, ktoś inny ostry. Myślę, że moja ostatnia tabelka w tym artykule może Panu sporo pomóc. Jeśli chodzi o mój wybór to uważam, że do filmów dobrej jakości (na pewno Blu-ray o których Pan wspominał) najlepsze są dwie ostatnie metody: Spline i Jinc. Jeśli film jest średniej i słabej jakości to można pomyśleć o metodach Catmull-Rom lub Mitchell-Netravali, które powinny ładnie wygładzić wszelkie artefakty filmu.
      Co do oglądania z YouTube to tam jakość jest zazwyczaj dość słaba. Nawet FullHD jest tam chyba tylko z nazwy. Poza tym ustawienia madVR dotyczą wyłącznie odtwarzacza (głównie MPC-HC), a z YouTube obraz idzie przez przeglądarkę, ale to chyba Pan wie ;)
      Przy oglądaniu na laptopie to wykorzystywane są oba skalowania: image i chroma scaling.

      Co do ostatniego pytania to potwierdzam pierwsze zdanie: na kartach Nvidii zdecydowanie lepiej działa CUVID (CUDA), a na kartach AMD – DXVA. Z kartami Intela nie miałem do czynienia. Ale… jednych i drugich kart są na rynku dziesiątki modeli, więc też trudno tutaj uogólniać. Ja mogę powiedzieć, że na mojej karcie (nie najnowsza już GT 540M) CUDA działa dużo lepiej i pod względem wydajności jak i zgodności z resztą oprogramowania. Nie wiem jak sprawa wygląda na najnowszych modelach Nvidii. Być może tam obsługa DXVA została lepiej dopracowana.
      Na koniec mała rada: wiele z tych ustawień najlepiej sprawdzić samemu, a nie opierać się w ciemno na opiniach innych. To wymaga sporo czasu, ale też wiele się Pan przy tym nauczy i satysfakcja zawsze większa :)

  9. Piotr pisze:

    Chwiałbym jeszcze zapytać jakim oprogramowaniem robi się takie zrzuty obrazu jak w tym artykule?

  10. qbakos pisze:

    To jest zwykły klawisz Print Screen z programu odtwarzającego, potem do Photoshopa i dalsza obróbka jak powiększanie i wyrównywanie klatek co do jednego piksela (z czym czasem jest dużo zabawy, bo występują przesunięcia pomiędzy MPC-HC, a Splash PRO)

  11. Daniel pisze:

    Witam, miałem okazje w artykule o x264 z Tobą (qbakos) rozmawiać, jak byś potrzebował mocy obliczeniowej do swoich artykułów to mogę pomóc. Na marginesie spytam czy można obrać jakąś wersje x264 jako kompromis miedzy wydajnością sprzętowa a jakością (dostępną dzięki kodekowi)?

    • qbakos pisze:

      Z tego co wiem, to czym nowsza wersja x264 tym lepiej (zarówno dla jakości jaki i wydajności), więc nie wiem czy jest jakiś kompromis ;)
      Co do „pożyczenia” mocy obliczeniowej to dzięki za propozycję… odezwę się jeśli będzie potrzebna.

Musisz mieć włączoną obsługę JavaScript, aby dodawać komentarze!

Zostaw odpowiedź


CommentLuv badge

Następny / poprzedni artykuł:



Kategorie

O autorze

    Nazywam się Jakub Kościelny. Na forach jako qbakos. Technikami przetwarzania i kompresji wideo interesuję się właściwie od studiów, czyli już dość długo.
    Kilka lat temu postanowiłem połączyć to hobby z czymś poważniejszym i zacząłem o tym pisać, robić badania, pomiary.
    Na tej stronie zebrałem to wszystko w mam nadzieję przystępnej formie i udostępniłem zainteresowanym tą tematyką.
    A przy okazji mam motywację, aby cały czas szukać nowych tematów na artykuły... oraz zgłębiać tajniki WordPressa. Zapraszam :)