| Treppeneffekte aus MJPG rausrechnen (DigiCam Video)
Frage von Oliver Pfeiffer:
Hallo,
meine Kamera (;Canon PowerShot S80) interpoliert bei der Videoaufnahme nicht anständig, so dass wirklich böse Treppeneffekte entstehen. Die Dateien werden als MJPG erzeugt. Meine Idee war, mir eine Filtersequenz in Virtualdub zu konfigurieren, die ich automatisiert über die Videoclips laufen lassen kann, um die Treppeneffekte und evntl. Rauschen zu entfernen.
Leider gelingt es mir nicht (;ohne das Bild völlig weichzuzeichnen) die Treppeneffekte zu eliminieren.
Ich habe einmal einen geschnittenen Ausschnitt (;~800 KB) ohne Weiterverarbeitung unter folgendem Link abgelegt, damit man sehen kann, wie das Original ausschaut ...
http://www.tzi.de/~pfeiffer/share/treppeneffekt.zip
Hat da jemand eine Idee, wie ich ohne extremes Blurren, diese Treppenstufen wegbekomme? Für Hilfe wäre ich wirklich sehr dankbar, weil meine Möglichkeiten und mein fachliches Verständnis erschöpft sind. :(;(;
Danke!
-- cu o.pfeiffer
ICQ# 84320006 eMail oliver.pfeiffer@gmx.net -------------------------------------------- TECHNOLOGIE - ZENTRUM INFORMATIK / UNIVERSITAET BREMEN / GERMANY
Antwort von Heiko Nocon:
Oliver Pfeiffer wrote:
>meine Kamera (;Canon PowerShot S80) interpoliert bei der Videoaufnahme nicht >anständig, so dass wirklich böse Treppeneffekte entstehen.
Das hat mit der Interpolation rein garnichts zu schaffen.
>Die Dateien >werden als MJPG erzeugt.
Das ist das Problem. Die verwendete Bitrate war einfach viel zu niedrig für MJPEG. Was du da als Treppen siehst, sind extreme Blockartefakte, die das direkte Resultat der viel zu geringen Bitrate sind.
>Meine Idee war, mir eine Filtersequenz in >Virtualdub zu konfigurieren, die ich automatisiert über die Videoclips >laufen lassen kann, um die Treppeneffekte und evntl. Rauschen zu entfernen. > >Leider gelingt es mir nicht (;ohne das Bild völlig weichzuzeichnen) die >Treppeneffekte zu eliminieren.
Ja klasse! Du hättest vielleicht erwähnen sollen, welche Filter du in deiner "Filtersequenz" verwendet hast?
>Hat da jemand eine Idee, wie ich ohne extremes Blurren, diese Treppenstufen >wegbekomme?
Wenn überhaupt irgendwie, dann natürlich mit einem DeBlocking-Filter. Allerdings: Aus dem räudigen Quellmaterial kann auch der beste DeBlocking-Filter wohl keine auch nur halbwegs akzeptable Qualität mehr rausholen.
Antwort von Oliver Pfeiffer:
Heiko Nocon wrote in
> Das hat mit der Interpolation rein garnichts zu schaffen.
Ich denke schon! Die Kamera nimmt während der Videoaufnahme die Einzelbilder vom Bildsensor in der physikalischen hohen Auflösung und rechnet diese ohne Interpolation durch einfaches entfernen der Zeilen/Spalten auf die eingestellte Videogröße runter. Dabei entstehen diese schrecklichen Treppenstufen. Danach erst wird das Bild durch den JPEG Encoder mit niedriger Qualität geprügelt, wo zusätzlich noch die schrecklichen Kompressionsartefakte entstehen.
Die fehlende Interpolation bei Videoaufnahmen der S80 hat auch die c't in Ausgabe 23/05 bemängelt (;-> Treppeneffekte). Den Effekt kann man ja leicht mit interpolationsfreien Skalierung in jedem Bildprogramm nachvollziehen. Das Resultat sieht genauso aus wie auf dem Video (;halt nur ohne Artefakte).
> Ja klasse! Du hättest vielleicht erwähnen sollen, welche Filter du in > deiner "Filtersequenz" verwendet hast?
Das gezeigte Beispielvideo ist unbearbeitet (;außer Crop). Meine spätere angedachte Filtersequenz sieht so aus:
- Treppenstufen entfernen - Artefakte entfernen (;Deblocking) - Rauschen entfernen (;Denoising) - 1 Pixel Radius Gaussian Blur - Kontrast und Farbsättigung anpassen - MJPEG 85% Quality neu codieren
>>Hat da jemand eine Idee, wie ich ohne extremes Blurren, diese >>Treppenstufen wegbekomme? > > Wenn überhaupt irgendwie, dann natürlich mit einem DeBlocking-Filter.
Der Deblocking hilft sehr schön gegen die Artefakte aber leider nicht gegen die Treppenstufen. Habe ich schon ausprobiert.
> Allerdings: Aus dem räudigen Quellmaterial kann auch der beste > DeBlocking-Filter wohl keine auch nur halbwegs akzeptable Qualität > mehr rausholen.
Ok, das Video ist mit hohem ISO aufgenommen, weil es abends bei schlechter Beleuchtung gefilmt wurde. Wenn ich am Tage draußen kurze Filme aufnehme, dann sehen die ziemlich prima aus (;lediglich diagonale Linien haben halt massive Treppenstufen). Bei besserer Helligkeit sind auch mehr Details zu erkennen und die Artefakte nehmen deutlich ab.
-- cu o.pfeiffer
ICQ# 84320006 eMail oliver.pfeiffer@gmx.net -------------------------------------------- TECHNOLOGIE - ZENTRUM INFORMATIK / UNIVERSITAET BREMEN / GERMANY
Antwort von Oliver Pfeiffer:
Oliver Pfeiffer wrote in
> - Treppenstufen entfernen > - Artefakte entfernen (;Deblocking) > - Rauschen entfernen (;Denoising) > - 1 Pixel Radius Gaussian Blur > - Kontrast und Farbsättigung anpassen > - MJPEG 85% Quality neu codieren
Die Reihenfolge würde ich dann natürlich hinsichtlich der Qualität optimieren. Vermutlich macht das Denoising in einem früheren Schritt mehr Sinn. Aber solange ich die Treppenstufen nicht wegbekomme, brauche ich gar nicht anfangen ... :(;(;
-- cu o.pfeiffer
ICQ# 84320006 eMail oliver.pfeiffer@gmx.net -------------------------------------------- TECHNOLOGIE - ZENTRUM INFORMATIK / UNIVERSITAET BREMEN / GERMANY
Antwort von Heiko Nocon:
Oliver Pfeiffer wrote:
>> Das hat mit der Interpolation rein garnichts zu schaffen. > >Ich denke schon! Die Kamera nimmt während der Videoaufnahme die >Einzelbilder vom Bildsensor in der physikalischen hohen Auflösung und >rechnet diese ohne Interpolation durch einfaches entfernen der >Zeilen/Spalten auf die eingestellte Videogröße runter. Dabei entstehen >diese schrecklichen Treppenstufen.
Nein. Denk doch mal logisch oder probiere es einfach mal aus. Wenn du von hoher Auflösung durch einfaches Weglassen von Zeilen/Spalten auf eine niedrige Auflösung umrechnest, dann kann bei einer 45°-Kante auch wieder nur eine 45°-Kante rauskommen, mit einer maximalen Stufengröße von genau zwei Pixeln. Das bei nichtganzzahliger Skalierung, ansonsten ist es sogar nur ein Pixel.
In deinem Beispielvideo haben nun aber gerade die Kanten-Details, wo man die Artefakte am allerdeutlichsten sieht, näherungsweise 45°. (;Schulter im Gegenlicht der Lampe). Und diese Stufen sind erheblich höher als zwei Pixel. Ich würde sogar, ganz ohne nachzuzählen, meinen Arsch darauf verwetten, daß sie ziemlich genau 8 oder 16 Pixel groß sind.
Demzufolge kann es sich hier nicht um ein Problem mit einer dummen Skalierungsroutine handeln.
>Danach erst wird das Bild durch den JPEG >Encoder mit niedriger Qualität geprügelt, wo zusätzlich noch die >schrecklichen Kompressionsartefakte entstehen.
Du meinst die Moskito-Artefakte. Die kommen noch dazu. Und wenn du genau hinschaust, wirst du festellen, daß diese jeweils in einer blockartigen Ansammlung auftreten und daß die Größe dieser Blöcke ziemlich exakt der Größe der Treppen entspricht. Ein sicherer Hinweis, daß tatsächlich allein die magelnde Bitrate Schuld ist.
>Die fehlende Interpolation bei Videoaufnahmen der S80 hat auch die c't in >Ausgabe 23/05 bemängelt
Ja, wirklich traurig. Die c't ist leider schon lange nicht mehr das, was sie einmal war...
Antwort von Oliver Pfeiffer:
Heiko Nocon wrote in
> Nein. Denk doch mal logisch oder probiere es einfach mal aus.
Eigentlich brauche ich das nicht auszuprobieren, gerade weil es ja (;nach meinem Verständnis) so logisch ist. ;))
Aber ich mach das jetzt mal eben und stelle das Ergebnis online, das erspart vielleicht einiges an Text ...
> Wenn du > von hoher Auflösung durch einfaches Weglassen von Zeilen/Spalten auf > eine niedrige Auflösung umrechnest, dann kann bei einer 45°-Kante auch > wieder nur eine 45°-Kante rauskommen, mit einer maximalen Stufengröße > von genau zwei Pixeln
Das streite ich ja auch gar nicht ab. Deswegen sehen ja die 45° Kanten auf dem Video (;z.B. die Fliesen) noch halbwegs akzeptabel aus (;mal von den Artefakten abgesehen).
> Du meinst die Moskito-Artefakte. Die kommen noch dazu. Und wenn du genau > hinschaust, wirst du festellen, daß diese jeweils in einer blockartigen > Ansammlung auftreten und daß die Größe dieser Blöcke ziemlich exakt der > Größe der Treppen entspricht. Ein sicherer Hinweis, daß tatsächlich > allein die magelnde Bitrate Schuld ist.
Auf den Fliesen sind die Abstände der Treppenstufen anders als bei der Tischkante!
-- cu o.pfeiffer
ICQ# 84320006 eMail oliver.pfeiffer@gmx.net -------------------------------------------- TECHNOLOGIE - ZENTRUM INFORMATIK / UNIVERSITAET BREMEN / GERMANY
Antwort von Oliver Pfeiffer:
Oliver Pfeiffer wrote in
> Aber ich mach das jetzt mal eben und stelle das Ergebnis online, das > erspart vielleicht einiges an Text ...
So hat doch ein wenig länger gedauert, musste erstmal ne Bildbearbeitung finden, mit der man saubere 45° reine schwarz/weiß Bilder zeichnen und OHNE interpolation skalieren kann.
Ich habe je zweimal eine 45° Linie gezeichnet und eine Tischkanten ähnliche Linie und das ganze auf 75% skaliert. Erst ohne und dann mit Interpolation.
Hier das Ergebnis:
http://www.tzi.de/~pfeiffer/share/linien-original.gif http://www.tzi.de/~pfeiffer/share/linien-skaliert.gif http://www.tzi.de/~pfeiffer/share/linien-skaliert-interpolation.gif
-- cu o.pfeiffer
ICQ# 84320006 eMail oliver.pfeiffer@gmx.net -------------------------------------------- TECHNOLOGIE - ZENTRUM INFORMATIK / UNIVERSITAET BREMEN / GERMANY
Antwort von Heiko Nocon:
Oliver Pfeiffer wrote:
>Ich habe je zweimal eine 45° Linie gezeichnet und eine Tischkanten ähnliche >Linie und das ganze auf 75% skaliert. Erst ohne und dann mit Interpolation. > > >Hier das Ergebnis: > >http://www.tzi.de/~pfeiffer/share/linien-skaliert.gif
Ja, und hier siehst du ganz deutlich, was ich sagte bzw. schrieb. Beim runterskalieren können selbst bei einem vollig dummen "Weglassen-Algorithmus" in der Nähe von 45° niemals Stufen >2Pixel auftreten. Das kann frühesten bei weniger als 30° oder mehr als 60° passieren.
Antwort von Oliver Pfeiffer:
Heiko Nocon wrote in
> Ja, und hier siehst du ganz deutlich, was ich sagte bzw. schrieb. Beim > runterskalieren können selbst bei einem vollig dummen > "Weglassen-Algorithmus" in der Nähe von 45° niemals Stufen >2Pixel > auftreten. Das kann frühesten bei weniger als 30° oder mehr als 60° > passieren.
Ich möchte insbesondere die Treppenstufen bei den 10° Kanten eleminieren, die z.B. bei der unteren horizontalen Tischkante sofort ins Auge springen. Da sieht man das Problem am schlimmsten, wie ich finde.
Aber ich vermute, wo beim Runterskalieren ohne Interpolation schlichtweg wichtige Informationen verloren gegangen sind, da kann man nachträglich auch nichts mehr "zurückrechnen".
Ein weiteres Indiz für das Runterskalieren ohne Interpolation ist, dass die Videos alle überschärft aussehen, weil natürlich auch weiche Kanten verloren gegangen sind und somit viele Linien im Film künstlich scharf aussehen.
Und last but not least natürlich scheinbar flimmernde horizontale oder vertikale Kanten, die bei geringfügiger Bewegung der Kamera teilweise ganz verschwinden oder an Stärke verlieren, um dann gleich wieder aufzutauchen. Das passiert bei korrekter Interpolation einfach nicht, Artefakte hin oder her.
Das Flimmern ist schön zu sehen, z.B. bei den Pflastersteinen unten in folgendem Video aufgenommen mit derselben Kamera:
http://img2.dpreview.com/reviews/S80/MVI 2528.AVI
-- cu o.pfeiffer
ICQ# 84320006 eMail oliver.pfeiffer@gmx.net -------------------------------------------- TECHNOLOGIE - ZENTRUM INFORMATIK / UNIVERSITAET BREMEN / GERMANY
Antwort von Heiko Nocon:
Oliver Pfeiffer wrote:
>Aber ich vermute, wo beim Runterskalieren ohne Interpolation schlichtweg >wichtige Informationen verloren gegangen sind
Du willst oder kannst es selbst mit eigenhändig vorgenommener Beweisaufnahme nicht verstehen.
Tja, tut mir leid, da kann ich dann wohl auch nicht mehr weiterhelfen. Gegen willkürliche Ignoranz des Offensichtlichen kann man einfach nix machen.
Antwort von Oliver Pfeiffer:
Heiko Nocon wrote in
> Du willst oder kannst es selbst mit eigenhändig vorgenommener > Beweisaufnahme nicht verstehen.
Ich bin doch ganz locker, Du versuchst mir hier etwas aufzuzwängen, das Du bisher nicht belegen konntest (;aus meiner Sicht). Aber ich lasse mich gerne belehren, wenn Du mir eine Erklärung lieferst, wie z.B. die flimmernden Pflastersteine in dem Video von dp-review bei leichter Kamerabewegung sonst zustande kommen sollten (;ja ganz sicher nicht durch Artefakte).
-- cu o.pfeiffer
ICQ# 84320006 eMail oliver.pfeiffer@gmx.net -------------------------------------------- TECHNOLOGIE - ZENTRUM INFORMATIK / UNIVERSITAET BREMEN / GERMANY
Antwort von Martin Niedernolte:
Heiko Nocon wrote on Mon, 30 Jan 2006 18:12:36 0100:
>In deinem Beispielvideo haben nun aber gerade die Kanten-Details, wo man >die Artefakte am allerdeutlichsten sieht, näherungsweise 45°. (;Schulter >im Gegenlicht der Lampe). Und diese Stufen sind erheblich höher als zwei >Pixel. Ich würde sogar, ganz ohne nachzuzählen, meinen Arsch darauf >verwetten, daß sie ziemlich genau 8 oder 16 Pixel groß sind.
Wirklich 8 Pixel hohe Treppen im Bereich der Schulter? Vielleicht 8 Pixel *breit* (;und das wäre dann ja nur eine Frage des Winkels solange man nicht auf MPEG-Blöcke abhebt), aber doch nicht *hoch*? Ich sehe höchstens 2 Pixel hohe Treppen. Und der rechte Teil der Schulter hat auch nur ca. 20 Grad zur Waagrechten.
Warum es jetzt 2 Pixel sind, weiß ich auch nicht ganz genau, aber AFAIR werden bei videofähigen Digitalkameras wie bei Camcordern sog. Interline Transfer Sensoren eingesetzt, bei denen man eine höhere Framerate erreicht, indem man (;sozugagen interlaced) immer nur jede zweite Zeile ausliest, was vielleicht in Kombination mit einer "dummen Skalierungsroutine" (;z.B. zuerst fehlende Zeilen hochinterpolieren und dann "Weglassen-Algorithmus") zu 2 Pixel hohen Treppen führen mag.
>Demzufolge kann es sich hier nicht um ein Problem mit einer dummen >Skalierungsroutine handeln. > >>Danach erst wird das Bild durch den JPEG >>Encoder mit niedriger Qualität geprügelt, wo zusätzlich noch die >>schrecklichen Kompressionsartefakte entstehen. > >Du meinst die Moskito-Artefakte. Die kommen noch dazu. Und wenn du genau >hinschaust, wirst du festellen, daß diese jeweils in einer blockartigen >Ansammlung auftreten und daß die Größe dieser Blöcke ziemlich exakt der >Größe der Treppen entspricht. Ein sicherer Hinweis, daß tatsächlich >allein die magelnde Bitrate Schuld ist. ^^^^^^ Die Treppen in den Linien des Fußbodenteils der Theke stimmen aber IMHO nicht mit den Grenzen der 8x8 MPEG-Blöcke überein, soweit man das bei der verwaschenen Bildqualität beurteilen kann (;ich habe mir Standbilder des Videos angesehen).
Ich kann mich selbstverständlich irren, aber so offensichtlich finde ich die Interpretation der Beweismittel nicht.
MfG, Martin -- Old Tom was the single cracked bronze bell in the University bell tower. The clapper dropped out shortly after it was cast, but the bell still
tolled out some tremendously sonorous silences every hour. -- (;Terry Pratchett, Eric)
| |
| |