Theora: duża poprawa DCT
- Dodano: 14 maja 2009
- Wprowadził: kocio
- Komentarze: 47
Chris „Monty” Montgomery dał znać, że prace nad systematycznymi poprawkami kodeka Theora trwają. Właśnie udało się usunąć jeden z dwóch dużych problemów tego kodeka — tak duży, że efekty widać na pierwszy rzut oka.
W raporcie „demo7” widać dwie zakodowane klatki z filmu, z których pierwsza to efekt pracy kodu Theora 1.0, a druga to bieżąca wersja gałęzi Thusnelda z poprawionym algorytmem DCT. Ilość szczegółów obrazu w nowej wersji jest znacznie wyższa, co zwiększa szanse na uznanie Theory za sieciowy standard kodowania obrazu, zwłaszcza wobec coraz bliższej premiery Firefoksa 3.5, który będzie miał wbudowaną własną obsługę tego formatu.
Początkowo deweloperzy Theory podejrzewali, że nadmierne „rozmywanie” obrazu w 95% wynika z problemów tablic kwantyzacji, ale okazało się, że DCT ma na to o wiele większy wpływ, niż sądzili. Przy okazji porównywania współczynnika PSNR Theory z kodekiem x264 wyszło też na jaw, że FFmpeg zawierał poważne błędy, które przy zastosowaniu popularnego konwertera ffmpeg2theora wyraźnie pogarszały i tak słabe wyniki Theory (w nowszych wersjach FFmpeg błędy te już nie występują). Potem okazało się jeszcze, że FFmpeg pogarszał także wyniki x264. Po skorygowaniu tych błędów test PSNR nadal wykazuje wyższość kodowania obrazu przez x264, ale widać skokowy wzrost jakości w kolejnych wersjach Theory dla niskich przepływności (do ok. 250 kbit/s).
Prace nad Thusneldą nadal trwają. Obecnie na celowniku są wspomniane wyżej tablice kwantyzacji Theory (kwantyzacja adaptacyjna) i jest to ostatni duży element całej układanki — prawdopodobnie będzie to temat raportu „demo8″. Potem zostanie tylko dopracowywanie detali do wydania wersji 1.1.
Na początku kwietnia Monty opublikował raport „demo6„, w którym m.in. wyjaśnia swoje długie milczenie i wspomina o marcowej premierze libTheora 1.1 alfa1 (zawierającej kod Thusneldy).
Więcej informacji: http://web.mit.edu/xiphmont/Public/theor...demo7.html
Znalazłeś literówkę? Zgłoś ją używając formularza!
Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.
Niusy na podobny temat:
Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.
47 komentarzy
Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.


[offtopic]
* O, kolejny Monty :>
* O, nius Kocia!
[/offtopic]
Nie mogłem się powszczymać =} zwłaszcza, że ktoś mnie wyręczył w poinformowaniu o oFono i nie miałem dylematu na czym się skupić. =}
Eee gmail nie działa. Dlaczego nie ma jeszcze o tym newsa?
H.264 używa transformacji falkowej więc i tak będzie lepszy. Tak jak JPEG2000 jest lepszy od JPEGa. No ale nie tylko jakość się liczy ale wolność i cena też.
Pomieszało mi się, używa transformacji całkowitoliczbowej. Nie wiem o ile to jest lepsze od DCT.
DCT może być zaimplementowane za pomocą fixed point (liczby stałoprzecinkowe) oraz floating point (zmiennoprzecinkowe). Metoda fixed point przydaje się do używania na urządzeniach typu embedded jak np. telefony komórkowe, które przeważnie nie posiadają wbudowanej jednostki zmiennoprzecinkowej.
Falkowy jest Snow i Dirac
h.264 oparty jest na całkowitoliczbowej transformacie DCT – wykorzystywany jest tam tzw algorytm 'liftingu' znany z falek -jest to całkowitoliczbowe przybliżenie (obarczone minimalnym błędem) DCT zmiennoprzecinkowego.
Więc nie tu czai sie przewaga h.264
JPEG2K może i jest lepszy na papierze – pod względem wizualnym zdjęcia zapisane w JPEG2K mają widocznego blura.
Kurde, nie widzę różnicy między tymi dwoma obrazami, chyba mam już kiepski wzrok
Czy ktoś jeszcze nie widzi różnicy?
Współczuję. ;-}
Hint: wzorek na brzegu koszuli na szyi, widoczne na drugim obrazku pojedyncze blond włosy (większy kontrast) i rzęsy (na pierwszym prawie ich nie widać).
o_0 no to czas do okulisty bo różnica jest naprawdę duża !
widać ja przede wszystkim na twarzy,włosach i bluzie(zwłaszcza na szwach)
pierwszy wygląda jak film w VCD a drugi DVD
Ja widzę wyraźnie większą ostrość na drugim obrazku. Spójrz zwłaszcza na szczegóły włosów.
Początkowo obserwowałem twarz(w zasadzie, to nie twarz, lecz policzki) i kontur tego człowieka po prawej. Wydawało mi się, że nawet się pogorszyło. Zwróć jednak uwagę na twarz osoby pośrodku(tej siedzącej). Różnica jest znaczna.
> twarz osoby pośrodku(tej siedzącej)
O_O
kurde Ty masz naprawdę dobry wzrok, ja widzę jedną osobę i nie jestem w stanie stwierdzic czy ona siedzi
To może nie siedzi. Fakt faktem, że są tam dwie osoby(jedna w całości, a także kontur innej).
Uff, okazało się jednak że nie oczy nadają się do wymiany, lecz stary monitor
Jestem teraz w szkole i od razu zauważyłem różnicę. Na pierwszym obrazku blizny (szramy) są rozmazane, na drugim już nie – są idealnie ostre
Czekam z niecierpliwoscia, az w sprawe wlaczy sie Stallman i zacznie nawolywac do bojkotu Theory, bo nie jest na copyleftowej licencji. ;->
Ja czekałem aż się włączy pewnie znany fiksat na punkcie Stallmana i nie zawiodłem się, więc może ty też dostąpisz łaski.
Biedne dziecko, będziesz musiał czekać i czekać…
Problem w tym że Stallman zaczął już bojkotować.
Bojkotują np tutaj : http://www.fsf.org/resources/formats/playogg/
Nie ma co, bojkot jak ch*j
@Ark: Zawsze moga zaczac, gdy tylko pojawi sie prawdziwie wolny – z restrykcjami gwarantujacymi ową wolnosc – odpowiednik.
@Ark: Trzeba odróżniać implementację kodeka (program do kodowania-odkodowywania) od jego formatu. Akurat tu nie ma to wielkiego znaczenia, ale czasem ma spore.
Format Ogg Theora jest całkiem wystarczający technicznie i przeciw niemu nikt z szeroko pojętego środowiska FLOSS raczej nie zaprotestuje, bo nie zawiera patentów i jest już jakoś rozpowszechniony w sensie narzędzi i zakodowanych materiałów. Zwłaszcza gdy się okazuje, że nie jest fundamentalnie skopany i można z niego jeszcze wycisnąć coś przyzwoitego (opisane w niusie zmiany są w kodzie – Thusnelda nie łamie zgodności z formatem Theora 1.0).
Natomiast co do wzorcowej implementacji algorytmów (czyli libtheora), to niby mógłby protestować, ale nie sądzę, żeby to robił, bo licencja jest zgodna z copyleft (BSDL-new). Zresztą RMS rozumie potrzebę rozróżniania aplikacji od bibliotek, które mogą być wykorzystywane z mniejszą ilością warunków (i stąd np. LGPL). *Jeśli* powstanie alternatywny kod na LGPL i pod auspicjami GNU, to zapewne będzie właśnie tę wersję promować, ale nie sądzę, żeby przez to marudził na wzorcową wersję.
Generalnie masz rację – PlayOgg świadczy o tym, że FSF (czyli RMS też) nie ma nic przeciwko Theorze w całości. Zresztą coraz mniej dosłownie zajmuje się samym oprogramowaniem (poza wskazywaniem krytycznych braków do nadrobienia), a przesuwa się w kierunku akcji uświadamiających i ogólnie wpływających na zmiany w prawie – polecam świeżą lekturę:
http://torrentfreak.com/the-war-on-sharing-why-th…
@kocio: Mniemam, iz wynurzenia RMS-a na temat licencji BSD sa ci obce.
@trasz: Oczywiście nie są i wiem jakie cele stawia sobie w GPL. Trzeba tylko rozumieć, że "nie polecam"* (z OpenBSD ostatnio) to nie jest specjalnie mocny atak, niezależnie od temperatury emocji.** Szkoda na to czasu, mnie wystarczy że rozumiem jakie ma w związku z BSD obiekcje – niewolne oprogramowanie w portach, czyli zarzuty wobec projektu, a nie licencji.
* http://kerneltrap.org/OpenBSD/That_Which_We_Call_…
** http://osnews.pl/rms-kontra-de-raadt-pojedynek-w-…
Nie wiem dlaczego Theora jest porównywana z h.264. To dwa inne światy. Jak juz, to porównywać do mpeg4-asp (xvid/dvix). A co do psnr… Od jakiegoś czasu x264 ma optymalizacje ktore zwiększaja jakość bez wpływu na wynik psnr (lub go nawet pomniejszając), tak więc porównywanie samego psnr jest niemiarodajne…
owszem, PSNR jest niemiarodajne, ale ma tą zaletę nad jakością postrzeganą że PSNR można wyliczyć matematycznie, co daje porównanie obiektywne pod tym względem że wynik jest powtarzalny (z dokładnością do błędów numerycznych) niezależnie d tego:
- jaki komputer liczy
- jak się ten komputer czuje
- jak bardzo komputer nie lubi danego kodeka
- którą nogą wstał rano procesor
- czego się komputer nasłuchał od innych komputerów obeznanych w temacie
- co ten komputer liczył wcześniej
zapewniam cię że gdy tylko ktoś wymyśli matematyczną metodę obliczania jakości postrzeganej (w sensownym czasie) to zastąpi ona PSNR w takich wykresach
Ojoj nie neguje psnr
Aby porównywać obydwa kodeki trzeba wyłączyć te optymalizacje (psy rdo jak sie nie myle) co pogorszy wynik x264. Jednak i tak theora zawsze bedzie w tyle wiec nie robmy z tego zachodu:)
Porównywać do x264 i H.264 powinno się Diraca który jest OS i falkowym kodekiem.
Trzeba przyznać że już różnica w Theorze jest znacząca, jeśli jeszcze ją poprawią będzie naprawdę fajnie
Porównuje się po prostu lidera współczesnej jakości (H.264) z najpopularniejszym rozwiązaniem ze stajni "alternatywnej" (Theora) – bo kogo obchodzi jak się ma ta nowa "nadzieja białych" do wczorajszych standardów, takich jak DivX/XviD? Nieważne jaką techniką jest robione, już znacznie ważniejsze jakiej mocy obliczeniowej wymaga, czyli współczynnik jakości do wymaganej mocy procesora, i OIDP to jest szansa dla Theory w starciu z H.264.
Tylko o Diracu jakoś dziwnie cicho – nie rozumiem czemu.
Z tego co czytałem, nie ma wystarczająco wydajnego kodera (Schroedinger nie daje wystarczająco dobrej jakości, a Dirac-dev jest jednowątkowy i niezoptymalizowany – ffmpeg przy kodowaniu uzywa drugiego, przy dekodowaniu pierwszego) i nadal nie jest dobrze wspierany przez odtwarzacze (ale ostatnio chyba zyskał poprawne wsparcie matroski i mplayera)
Próbowałem się tym bawić, ale za mało się znam na kodowaniu. Wyjątkowo mało ustawień w porównaniu z h.264, w zasadzie to ustawia się jakość i tyle…
*podobno* porzucili diraca, ale jak jest naprawde nie wiem.
Jak ktoś zna jakieś szczegóły kto, czy, kiedy i ew. dlaczego porzucił, to bardzo proszę o info (z linkiem najlepiej). Po samym repo patrząc nie jest źle – projekt żyje:
http://diracvideo.org/git
x264 i h.264? Czy mi się zdaje, czy x264 to jest enkoder/dekoder h.264?
http://en.wikipedia.org/wiki/X264
o dziwo w naszym języku jest dłuższy artykuł
http://pl.wikipedia.org/wiki/X264
Kwantowania czy kwantyzacji?
Nie wiem, nie znalazłem tłumaczenia tego wyrażenia i zaryzykowałem własne – a jak się o tym mówi w branży?
fizycy od lat uzywaja okreslenia kwantyzacji
Ja uczyłem się o tablicach kwantyzacji
OK, dzięki – zmieniłem. A może znasz też polskie tłumaczenie do "Adaptive Quantization"?
kwantyzacja adaptacyjna (głowy nie dam ale tak by wychodziło z tego co sie plącze po necie)
yantar – prawie na pewno masz rację
Dzięki za podpowiedzi — teraz jest już wszystko po polsku (DCT nie będę rozwijał =} ) i mam nadzieję, że poprawnie.
W trakcie lekury tego newsa przypomniało mi się (nie pamiętam skąd je znam) zdanie:
"Po co myśleć, skoro można eksperymentować"
Komu to zarzucasz? Jeśli już to trzeba by programistom On2, którzy zaprojektowali kodek (i format) VP3, a Theora to jest rozwijanie i (jak w Thusneldzie) poprawianie po nich. Monty uważa zresztą, że w kwestii kodeków liczy się głównie dopracowywanie szczegółów, a mniej jakieś genialne ogólne pomysły.
Spodziewałem się rewolucji, natomiast obydwie klatki wyglądają po prostu kiepsko i rozmyte.
Przepraszam, jeśli uraziłem jakieś wpatrzone we FLOSS osobistości
Pierwsza wygląda kiepsko i jest rozmyta, druga wygląda przyzwoicie. Nie wszystko, co jest gorsze od h.264, to zaraz śmieć. =} Przepraszam, jeśli uraziłem perfekcjonistów. ;-}