Theora: duża poprawa DCT

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).

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar michuk
    michuk

    [offtopic]
    * O, kolejny Monty :>
    * O, nius Kocia!
    [/offtopic]

    1. Awatar kocio
      kocio

      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ć. =}

  2. Awatar WoW
    WoW

    Eee gmail nie działa. Dlaczego nie ma jeszcze o tym newsa?

  3. Awatar cysiek10
    cysiek10

    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ż.

    1. Awatar cysiek10
      cysiek10

      Pomieszało mi się, używa transformacji całkowitoliczbowej. Nie wiem o ile to jest lepsze od DCT.

      1. Awatar Jarosław Pelczar
        Jarosław Pelczar

        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.

    2. Awatar fxd
      fxd

      Falkowy jest Snow i Dirac

    3. Awatar sqro
      sqro

      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

    4. Awatar stilgar
      stilgar

      JPEG2K może i jest lepszy na papierze – pod względem wizualnym zdjęcia zapisane w JPEG2K mają widocznego blura.

  4. Awatar czepol
    czepol

    Kurde, nie widzę różnicy między tymi dwoma obrazami, chyba mam już kiepski wzrok 🙁 Czy ktoś jeszcze nie widzi różnicy?

    1. Awatar kocio
      kocio

      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ć).

    2. Awatar itheon
      itheon

      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)

    3. Awatar itheon
      itheon

      pierwszy wygląda jak film w VCD a drugi DVD 😉

    4. Awatar Fazer
      Fazer

      Ja widzę wyraźnie większą ostrość na drugim obrazku. Spójrz zwłaszcza na szczegóły włosów.

    5. Awatar Sławek
      Sławek

      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.

      1. Awatar Ark
        Ark

        > 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 🙂

        1. Awatar Sławek
          Sławek

          To może nie siedzi. Fakt faktem, że są tam dwie osoby(jedna w całości, a także kontur innej).

      2. Awatar czepol
        czepol

        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

  5. Awatar trasz
    trasz

    Czekam z niecierpliwoscia, az w sprawe wlaczy sie Stallman i zacznie nawolywac do bojkotu Theory, bo nie jest na copyleftowej licencji. ;->

    1. Awatar mby7930
      mby7930

      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.

    2. Awatar Ark
      Ark

      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

      1. Awatar trasz
        trasz

        @Ark: Zawsze moga zaczac, gdy tylko pojawi sie prawdziwie wolny – z restrykcjami gwarantujacymi ową wolnosc – odpowiednik.

      2. Awatar kocio
        kocio

        @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…

        1. Awatar trasz
          trasz

          @kocio: Mniemam, iz wynurzenia RMS-a na temat licencji BSD sa ci obce.

        2. Awatar kocio
          kocio

          @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://serwer22962.lh.pl/rms-kontra-de-raadt-pojedynek-w-…

  6. Awatar dan
    dan

    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…

    1. Awatar mareviq
      mareviq

      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

      1. Awatar dan
        dan

        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:)

  7. Awatar n-pigeon
    n-pigeon

    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 🙂

    1. Awatar kocio
      kocio

      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.

      1. Awatar fxd
        fxd

        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…

      2. Awatar dan
        dan

        *podobno* porzucili diraca, ale jak jest naprawde nie wiem.

        1. Awatar kocio
          kocio

          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

    2. Awatar fxd
      fxd

      x264 i h.264? Czy mi się zdaje, czy x264 to jest enkoder/dekoder h.264?
      http://en.wikipedia.org/wiki/X264

      1. Awatar marcinsud
        marcinsud

        o dziwo w naszym języku jest dłuższy artykuł
        http://pl.wikipedia.org/wiki/X264

  8. Awatar fxd
    fxd

    Kwantowania czy kwantyzacji?

    1. Awatar kocio
      kocio

      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?

      1. Awatar jellonek
        jellonek

        fizycy od lat uzywaja okreslenia kwantyzacji 😉

    2. Awatar piczu
      piczu

      Ja uczyłem się o tablicach kwantyzacji

      1. Awatar kocio
        kocio

        OK, dzięki – zmieniłem. A może znasz też polskie tłumaczenie do "Adaptive Quantization"?

        1. Awatar yantar
          yantar

          kwantyzacja adaptacyjna (głowy nie dam ale tak by wychodziło z tego co sie plącze po necie)

        2. Awatar sadi
          sadi

          yantar – prawie na pewno masz rację

        3. Awatar kocio
          kocio

          Dzięki za podpowiedzi — teraz jest już wszystko po polsku (DCT nie będę rozwijał =} ) i mam nadzieję, że poprawnie.

  9. Awatar Eksperymentator
    Eksperymentator

    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ć"

    1. Awatar kocio
      kocio

      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.

  10. Awatar bluszcz
    bluszcz

    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 😉

    1. Awatar kocio
      kocio

      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. ;-}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *