Beiträge von prunedtree

    > Ich habe die MPEG4 ASP Specs jetzt nicht zur Hand,

    ich habe sie nie zur hand gehabt, aber ich habe genuck mit MPEG4(a)sp codecs gespielt um eine gute idee zu haben ;)

    >aber ich vermute, dass adaptive Quantisierung auch mit einem Syntaxelement im Macroblock Layer gemacht wird. Ist das richtig?

    ja .. ich wird es später erklären.

    >Zu 1.+2. Dieses Lambda wird so gewählt, dass Pixel, bei denen der Fehler sichtbarer ist ein größeres Lambda bekommen, und Pixel, bei denen der Fehler nicht so sichtbar ist, ein kleineres Lambda. Hab ich das so richtig verstanden?

    ja

    >Dann ist es eher der Fall, dass XviD einen Modus wählt, der mehr Distortion aber weniger Rate hat.

    modus, bewegung vectoren, trellis quant, ect ... alle die whäle die R-D optimisiert sind. XviD benutzt ein lambda von ein lamda = f(quant) formel, aber andere lambda könnten benutzt werden.

    >Da müsste man also quasi ein Lambda Table für jeden Block (oder Macroblock oder Pixel) haben (falls es das nicht schon irgendwo gibt), und dieses dem HVS Modell entsprechend abändern.

    ja. Dass wär, was syskin mit HVS-plugin machen wollte ... but es wahr nie implementiert.

    >Das Problem ist nur, dass ich nicht genau weiß ob ich das auch programmieren kann. Bei AQ ist das relativ einfach, weil der ganze Code an einer Stelle ist, recht übersichtlich, und ich nur die Formel ändern muss Aber ich kann mich mal in den Code stürzen, vielleicht wird es was.

    vielleicht... ich denke AQ ist so suboptimal dass es zu schwierich etwas überall gutes zu machen.

    > BTW: "pruned trees" werden doch bei Wavelets verwendet, oder?

    man kann 'prune' viele verschidene 'trees' :)
    es gebt keine tiefe grund dass ich diese nick benutze, aber ich bin keine wavelets fan : DCT mit lapping/TDAC (time domain aliasing cancellation) kann das selbe performance reichen, ist schneller, und ich finde es eleganter ^^

    > Kann es sein, dasa AQ nur bei P und I Frames, nicht aber bei B-Frames greift.

    ja.
    AQ kann in allen vops benutzen werden (aber für B-vops ist es nicht in XviD implementiert, und es ist nich gerade das selbe)
    die MB-modus fur I,P und S vops sind die selben, in XviD : INTRA, INTRA_Q, INTER, INTER_Q, INTER4V, NOT_CODED genannt.
    INTRA_Q ist wie INTRA, und INTER_Q ist wie INTER, aber mit ein dquant symbol. als ihr sehen können, beide INTER4MV und AQ können nich gleichzeitich gewhält werden ... und INTER4MV ist sehr benutz ^^

    AQ ist durch das dquant symbol implementiert. Das dquant symbol is zwei bits lang, so AQ kann nucht currentQ bei -2/-1/+1/-2 ändern. zwei bits kann sehr teuer sein, und es ist hart zwischen 4mv und AQ zu wälhen... und die qualität sprunch zwischen verschidenen quantizern wenn mann ein höher bitrate hat sind zu gross (q2-3-4 zum Beispiel)

    Ich denke das RDO model weiter zu mitbringen ist dass bestest weg, und MPEG4avc besser fur HVS tweaks als HVS MPEG4asp ist.

    hi ^^

    Cruncher hat mir dieses discution gezeigt, und als ich ein bischen anüng über XviD und videocoding habe, kann ich vielleicht helfen.

    Es ist OT aber als sie sehen können, mein deutsch is sehr schlecht (es tut mir lied), so bitte zeigen sie mir meine felher, es wird mich spass machen ^^ (ich mochte deutsch und nicht english schreiben, weil dieses forum eine gutes möglichkeit um mein deutsch zu verbessern ist ... und es gibt viel arbeit >_>)

    Ich denke ich habe nicht zu viel schwirichkeiten um deutsch zu lesen, als ich ungefer alles auf dieses forum verstehe (sie brauchen nicht an mir english zu sprechen ... aber ich muss mich angstrennen, ich habe kein deutsch seit einige jahre gemacht, und ich bin französe ^^)

    Zuruck zu thema :
    Die idee, bessere HVS modellen in XviD zu benutzen, ist eine gute idee, aber ich denke sie mussen an einige punkte aufpassen. zum beispiel, AQ (adaptive quantization) im MPEG4 scheint suboptimal zu mir weil es zu viel bits kostet.

    Eine besserer weg fur HVS modellen könnte das folgende sein :
    1. Ein lambda fur jedes pixel (oder block, macroblock, ...) wählen
    2. Xvid wird diese lambda benutzen fur die R-D (rate distortion) formel : rate+lambda*distortion (dieses formel zu minimisiren ist RDO (RD optimisation))

    ich bin nicht zicher, aber ich denke fur sehr kleine quantizer, lambda can besser (weicher ?) qualität ändern als eine grosses quantizer sprung (q2->q3 zum beispiel)

    Noch besser, man kann contrast masking biss zum pixel level machen (wie SNS / spatial noise shaping) und es ist sehr effizient : es kostest keinen bits :)

    nur mein zwei (euro) cents ^^