Seite 1 von 3

4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 14:13
von Bas3008
Hallo Leute,

von meiner Überlegung und diesem Artikel ausgehend, dachte ich mir, ich mache mich auf die Suche nach der besten Möglichkeit, aus "Standard" 4k Material (z.B. 8-Bit 4:2:0 von einer GH4) hochwertiges 1080p (4:4:4 10-Bit) zu konvertieren.

Erstaunlicherweise habe ich nicht allzu viel gefunden. Ein Thema in einem Forum sah allerdings vielversprechend aus. Dort hat Nutzer karl, dem ich an dieser Stelle danken möchte, eine sehr interessante Kommandozeile für den FFmpeg-Konverter geschrieben, die eben besagtes 4k 4:2:0 Material in 1080p ProRes4444 mit 10 Bit Farbtiefe umwandelt.

Das probiere ich gleich mal aus, dachte ich mir. Da ich selbst noch keine 4k-fähige Kamera besitze, habe ich mir von 4ksamples.com ein Beispielvideo mit ~100mbit/s heruntergeladen und einen 2-sekündigen Abschnitt (ca. bei 44 Sekunden) jeweils mit Adobe Premiere/Media-Encoder zu 300mbit/s H.264 und der besagten FFmpeg-Zeile in 1080p Video (~350mbit/s) konvertiert. Und siehe da, ein deutlicher Unterschied!

Das ist aber noch nicht alles: in den Konvertierungs-Optionen selber steht bei den flags "bicubic", was ich aus Photoshop vom Verkleinern/Vergrößern kenne.
Zum Vergleich habe ich anschließend mal einen Screenshot vom 4k-Material in PS verkleinert. (Bikubisch automatisch und Bikubisch schärfer lieferten dabei gleiche Resultate)
Das Ergebnis war, dass die Photoshop-Verkleinerungen deutlich schärfer waren als die FFmpeg- / Media-Encoder-Konvertierungen. Nach kurzer Recherche fand ich heraus, dass Photoshop beim Verkleinern leicht nachschärft.
Anmerkung: FFmpeg bietet zum Skalieren von Videos nicht nur "bicubic" an, sondern verschiedene Algorithmen an, die ich alle mal getestet hab, bei denen man aber keine oder wenn nur minimalste Unterschiede erkennen kann.

Hm. Und jetzt? Eine weitere schnelle Recherche ergab, dass FFmpeg wohl auch das Nachschärfen beherrscht. Nach ein paar Tests hatte ich dann eine Ergänzung für den die karl-Parameter, die dem Photoshop-Verkleinern sehr nahe kommen.

Zum Schluss hab ich das ganze noch in eine Windows Batch-Datei geschrieben und Drag-and-Drop-fähig (auch für mehrere Dateien) gemacht.

Hier der Text, der in die Batch-Datei gehört. Wem die Nachschärfung nicht gefällt, kann ",unsharp=3:3:1:3:3:1" gern entfernen/verändern.

Code: Alles auswählen

@echo off
:again
"C:\Program Files\FFmpeg\ffmpeg.exe" -i "%~1" -filter_complex "extractplanes=y+u+v[y][u][v]; [u] scale=w=iw*2:h=2160:flags=print_info+neighbor+bitexact [us]; [v] scale=w=iw*2:h=2160:flags=print_info+neighbor+bitexact [vs]; [y][us][vs]mergeplanes=0x001020:yuv444p,format=pix_fmts=yuv444p10le,scale=w=iw/2:h=1080:flags=print_info+bicubic+full_chroma_inp+full_chroma_int,unsharp=3:3:1:3:3:1" -sws_dither none -q 0 -quant_mat hq -c:v prores_ks -profile:v 4 -c:a copy -c:s copy -map 0 "%~1_2k_ProRes4444.mov"
shift
if "%~1" == "" goto:finish
goto:again
:finish
pause


Die Screenshots, da sehr groß (verlustfreie PNG), verlinke ich hier:
4k-Screenshot: Link
4k zu 2k mit Adobe Media Encoder: Link
4k zu 2k mit FFmpeg: Link
4k zu 2k mit FFmpeg + Nachschärfung: Link

Meinungen/Kritik zum Thema sind erwünscht. :)

Viele Grüße,
Bas3008

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 15:09
von -paleface-
An für sich ist deine Mühe auf jedenfall zu begrüßen.

Meiner Ansicht bringt das 4k zu 2k 4:4:4 aber leider nichts.
Du wirst dadurch keine bessere Bildqualität oder einen Vorteil in der Postproduktion haben.

Und ich kenne auch keinen wirklich ernst zu nehmendes Beispiel im Internet wo mir jemand das Gegenteil beweisen konnte.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 15:21
von Bas3008
-paleface- hat geschrieben:Du wirst dadurch keine bessere Bildqualität oder einen Vorteil in der Postproduktion haben.
Meiner Erfahrung nach hat man beim Grading deutliche Vorteile, wenn das Material ein hohes Chroma Subsampling hat. Oder wenn man mit Blue-/Greenscreen arbeitet ist es sehr von Bedeutung.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 16:06
von Silerofilms
Ich glaube nicht, dass man aus einem 8bit ein 10bit machen kann. Egal wie man es skaliert. Wie soll das gehen?

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 17:09
von -paleface-
Bas3008 hat geschrieben: Meiner Erfahrung nach hat man beim Grading deutliche Vorteile, wenn das Material ein hohes Chroma Subsampling hat. Oder wenn man mit Blue-/Greenscreen arbeitet ist es sehr von Bedeutung.
Dann aber nur wenn du es in 4K Gradest, es zu kleinen Artefakten kommt und du dann beim export einfach in FullHD ausgibst.
Dadurch werden auch die "Fehler" zusammen geschoben und man erkennt sie nicht mehr so stark.

Das selbe beim keyen. Die Kanten die in 4K etwas unsauber zu sein scheinen werden beim export zu HD verwaschen und sind nicht mehr so deutlich sichtbar.

Aber 4K zu HD zu exportieren und dadurch eine sichtliche Verbesserung beim Grading würde ich gerne in ein paar Beispiel Clips/Bilder sehen.

Fände es ja cool...so ist es nicht. Nur für mich ist das Theorie.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 17:21
von CameraRick
Die Frage ist ja auch viel mehr, wo der Vorteil liegen soll es vorhewr umzuwandeln und dann darauf zu arbeiten. Ist doch nur ein weiterer Kompressionsvorgang etc.
Die weitere Frage ist ja auch der Algoritmus: nicht jeder Filter (bicubig, nearest neighbour, whatever) wird das gleiche "verbessernde" Ergebnis bringen. Hat da mal wer durchgecheckt? Skalieren ist nicht gleich skalieren!

Wieso nicht in der Software herunter skalieren und im Arbeitsraum des Programms arbeiten, und das bei voller Präzision mit allen vorhandenen Daten?

Gerade beim Keyen etc ist es so ein Murks. Jede gescheite Comp-Anwendung kann doch selbst prima skalieren, und sogar den Filter selber wählen und direkt sehen welcher Algorithmus da im Zweifel wirklich was bringt.

Alles ziemlicher Humbug, irgendwo

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 19:08
von Bas3008
@paleface Rein technisch ist es so gesehen natürlich egal, ob man vor oder nach dem Graden skaliert, aber wenn man direkt in 1080p arbeitet, hat es gerade bei schwacheren Rechnern aus Sicht der Performance Vorteile.

@CameraRick
CameraRick hat geschrieben:nur ein weiterer Kompressionsvorgang
Da muss ich widersprechen. Beim Konvertieren zu >300mbit/s ProRes wird marginal wenn nicht gar nicht komprimiert. Man hat eher einen Performance-Gewinn aufgrund des Intraframe-Codecs.
CameraRick hat geschrieben:nicht jeder Filter (bicubig, nearest neighbour, whatever) wird das gleiche "verbessernde" Ergebnis bringen. Hat da mal wer durchgecheckt?
Ich hatte das, wie schon oben geschrieben durchgecheckt. Keine sichtbaren Unterschiede. Bicubic sorgt schon für annehmbare Ergebnisse.
CameraRick hat geschrieben:Gerade beim Keyen etc ist es so ein Murks. Jede gescheite Comp-Anwendung kann doch selbst prima skalieren, und sogar den Filter selber wählen und direkt sehen welcher Algorithmus da im Zweifel wirklich was bringt.
Ich sehe nicht, wo das Murks ist. Es spart einem Zeit und Rechenleistung, wenn man eh vor hat, das ganze auf 1080p runterzurechnen. Bspw. kann man über Nacht alle Dateien konvertieren lassen und am nächsten Tag wunderbar flüssig im Schnittprogramm mit arbeiten.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 19:57
von -paleface-
Bas3008 hat geschrieben:@paleface Rein technisch ist es so gesehen natürlich egal, ob man vor oder nach dem Graden skaliert, aber wenn man direkt in 1080p arbeitet, hat es gerade bei schwacheren Rechnern aus Sicht der Performance Vorteile.
DAS ist ja ein ganz anderes Thema.
Proxys von seinen Datein zu machen um flüssiger zu schneiden, macht auch Sinn.
Mache ich auch des öfteres, jenachdem was ich für Material bekomme.

Aber es geht ja darum durchaus runterrechnen eine "bessere" Bildqualität bzw. mehr Spiel beim Grading zu bekommen.
Das ist ja ein ganz anderes Thema.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 20:07
von Bas3008
Wie aus 8 Bit 10 Bit wird, kann ich mir, um ehrlich zu sein auch nicht erklären. Wird aber auf jeden Fall mehrfach so angegeben, wenn man 4k/8 bit zu 2k runterskaliert.

Aber aus 4:2:0 Material beim runterskalieren 4:4:4 zu machen, hat doch keinen Nachteil, abgesehen vielleicht von der höheren Dateigröße. Wenn man es bei 4:2:0 belässt, verliert man Farbinformationen, die vielleicht für den einen oder anderen praktisch gewesen wären.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 20:22
von TheBubble
Bas3008 hat geschrieben:Wie aus 8 Bit 10 Bit wird, kann ich mir, um ehrlich zu sein auch nicht erklären.
Im Prinzip kann man bei einer einfachen für sich allene durchgeführten 8 Bit zu 10 Bit Wandlung keine fehlenden Bits zurückgewinnen.

Wenn die 8 Bit Aufnahmen jedoch spatiales Dithering enthalten (z.B. weil ursprüngliche 10 Bit in 8 Bit mit Dithering gewandelt wurden), dann kann man bei gleichzeitigem Subsampling (Herunterskalierung) unter bestimmten Voraussetzungen Informationen aus dem Dithering wieder in Helligkeitsabstufungen (diese dann ohne Dithering) umwandeln.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 20:52
von TomStg
Bas3008 hat geschrieben:Hallo Leute,von meiner Überlegung und diesem Artikel ausgehend, dachte ich mir, ich mache mich auf die Suche nach der besten Möglichkeit, aus "Standard" 4k Material (z.B. 8-Bit 4:2:0 von einer GH4) hochwertiges 1080p (4:4:4 10-Bit) zu konvertieren.
So waren auch die Alchemisten im Mittelalter unterwegs, die aus Blei Gold machen wollten.
Was Du an Farbsamplingtiefe nicht aufgenommen hast, kann sich später nicht erzeugen lassen. Gilt auch für die Akrobaten, die mit ihrem Shogun aus Consumer-Cams 4:4:4 holen wollen. Ziemlich einfache Tatsache, aber Wundergläubige gibt es leider heutzutage immer noch reichlich.
Wenn ein Analysetool nach dem Rumfummeln tatsächlich 4:4:4 anzeigt, heißt das noch lange nicht, dass es echtes 4:4:4 ist. So wie aus Blei-Atomen keine Gold-Atome werden können, wird aus 4:2:0 auf wundersame Weise kein 4:4:4. Aber vielleicht könnte ein Wünschelrutengänger helfen? Oder Besprechen des Materials bei Vollmond an einem ungeraden Wochentag?

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 21:10
von Bas3008
TomStg hat geschrieben:So waren auch die Alchemisten im Mittelalter unterwegs, die aus Blei Gold machen wollten.
Was Du an Farbsamplingtiefe nicht aufgenommen hast, kann sich später nicht erzeugen lassen. Gilt auch für die Akrobaten, die mit ihrem Shogun aus Consumer-Cams 4:4:4 holen wollen. Ziemlich einfache Tatsache, aber Wundergläubige gibt es leider heutzutage immer noch reichlich.
Wenn ein Analysetool nach dem Rumfummeln tatsächlich 4:4:4 anzeigt, heißt das noch lange nicht, dass es echtes 4:4:4 ist. So wie aus Blei-Atomen keine Gold-Atome werden können, wird aus 4:2:0 auf wundersame Weise kein 4:4:4. Aber vielleicht könnte ein Wünschelrutengänger helfen? Oder Besprechen des Materials bei Vollmond an einem ungeraden Wochentag?
Kannst du deine Ansicht nicht mit sachlichen Argumenten belegen? Was hat dieser sarkastische Mist hier zu suchen?
Lies dir den oben verlinkten Artikel durch, dann wirst du verstehen, dass es durchaus Sinn macht, beim Verkleinern ein höheres Chroma Subsampling zu erhalten.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 21:25
von cantsin
Bas3008 hat geschrieben: Lies dir den oben verlinkten Artikel durch, dann wirst du verstehen, dass es durchaus Sinn macht, beim Verkleinern ein höheres Chroma Subsampling zu erhalten.
Der Artikel ist von EOSHD (räusper...).

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 21:32
von Bas3008
Ach Leute ... es ist doch ganz logisch, wenn man versteht, wie das Verfahren der Farbunterabtastung funktioniert.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 21:54
von WoWu
Stimmt, es ist ganz logisch, dass es nicht funktioniert, wenn man verstanden hat, wie Unterabtastung funktioniert.

Solche Artikel setzen auf IT Erkenntnissen auf, in deren Grafik Bereiche jeweils vom Scratch her neu gerendert werden und mathematisch mehr Wertebereiches benutzen können.

Das hat aber leider nichts mit Videoverarbeitung zu tun.
Und darum geht es hier wohl.

Aber das Thema ist hier schon so oft besprochen worden, dass ich die Suchfunktion empfehlen kann.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 22:24
von MLJ
"TomStg" hat das ganze hier sehr schön auf den Punkt gebracht, es bringt absolut nichts 4:2:0 nach 4:2:2 oder 4:4:4 zu wandeln. Was nicht da ist kann man auch nicht dazu rechnen oder gar "herein zaubern". Anders sieht es bei 4:4:4 nach 4:2:2 oder 4:2:0 aus, aber umgekehrt ? Reiner Unfug und Aberglaube.

Ich gebe da "WoWu" vollkommen Recht und wirklich "verlustfrei" wäre hier das komprimierte 4:2:0 Material in 4:2:0 Unkomprimiert (12 Bit) zu Wandeln um die Hardware voll zum Zug kommen zu lassen um damit zu arbeiten. Alles andere ist vergeudete Zeit und kein Codec zaubert aus 4:2:0 ein 4:4:4, pure Augenwischerei.

Weiterhin wird immer wieder gerne vergessen das man am Ende wieder meist in 4:2:0 komprimiert wenn das Projekt abgeschlossen ist. Also warum den Farbraum unnötig verlassen und immer wieder um-kodieren ? Das bringt absolut nichts und irgendwann hat man am Ende den Chroma Raum vollkommen ruiniert denn jede Wandlung kostet am Ende Qualität auch wenn sie nicht sofort sichtbar ist.

Cheers

Mickey

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 22:28
von Bas3008
WoWu hat geschrieben:Das hat aber leider nichts mit Videoverarbeitung zu tun.
Wer so etwas behauptet, kann das doch sicher mit Erläuterungen oder wenigstens Links dazu untermauern, oder? Wo liegt denn der Unterschied zur Videoverarbeitung?

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 22:46
von Silerofilms
Aus einem 4k 4:2:0 Material kann man schon ein HD 4:2:2 Material machen. Beim runterskalieren werden dadurch ja die Informationen von zwei Pixeln in einen Pixel gebracht. Aber aus 8bit werden keine 10bit.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 22:48
von Bas3008
Silerofilms hat geschrieben:Aus einem 4k 4:2:0 Material kann man schon ein HD 4:2:2 Material machen. Beim runterskalieren werden dadurch ja die Informationen von zwei Pixeln in einen Pixel gebracht. Aber aus 8bit werden keine 10bit.
Beim Runterskalieren werden aus 4 Pixeln einer gemacht. *

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 22:49
von WoWu
Das ist sehr einfach...
Stell Dir einen Pixelblock in Rot und einen daneben liegenden in Grün vor.
Bei einer Unterabtastung entsteht am Übergang aus den roten und grünen Pixels ein (oder mehrere, je nach Algorithmus) gelber Bildpunkt.
Du hast also statt 2 nun drei Farben im Bild.
(hier mal nur horizontale Unterabtastung betrachtet. Für vertikal gilt gleiches)

Wandelst Du jetzt von 4K nach 2K ist so ein downscaling nichts weiter als eine weitere Unterabtastung.
Am Übergang Rot/gelb wird eine weitere Farbe erzeug und am Übergang gelb/grün noch eine Farbe. Du hast es also jetzt mit 5 Farben, statt mit 2 Farben zu tun. Weil sie aber auf weniger Bildpunkte verteilt werden (4K nach 2K) die Pixels aber nicht kleiner werden, hast Du spatial eine grössere ungenaue Fläche.
Der Bildfehler vergrössert sich also nicht nur inhaltlich sondern auch räumlich.

Nur zur Erinnerung 4:4:4 macht man ja wegen der Farbtreue und nicht wegen der Farbmenge -die ja nicht mal im Bild ist- denn die gelbe Linie war ja nicht im Bild.

Das "mehr" an Schärfe nimmst Du aus den Kantenaufstellungen wahr denn nach dem Heynacher Integral wird der Kontrast an niedrigen Ortsfrequenzen als Schärfenzugewinn wahrgenommen, obwohl es faktisch ein Verlust an Bilddetails ist.
Wer mehr Kantenkontraste mit Bildauflösung verwechselt, mag das Ergebnis als Bildverbesserung wahrnehmen.
Nur das hätte man in der Post auch leicht haben können.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:03
von cantsin
Gehen wir doch mal vom umgekehrten Fall aus, der Einfachheit halber mit 1bit vs. 4bit statt 8bit vs. 10bit: Wir haben 1080p in 4bit (also mit 16 Graustufen) und skalieren das auf 2160p in 1bit (also mit monochrom schwarzen oder weissen Pixeln) hoch. Für jeden Pixel haben wir jetzt 4 Pixel, und damit können wir die 4bit als 4*1bit codieren - kein Problem. Anschliessend können wir das Material auch wieder prima in 1080p 4bit zurückcodieren - ebenfalls kein Problem.

Allerdings gibt es hier schon die Einschränkung, dass wir einen mathematischen Code verwenden, in dem z.B. 1-0-1-0 etwas anderes bedeutet als 0-1-0-1. Optisch liegt das anders, und wird können mit vier diskreten Pixeln nur noch 5 statt 16 Graustufen kodieren (nämlich 0000, 0001, 0011, 0111, 1111), also nur noch 2 1/2 Bit statt 4bit. Wenn sich aber aus 2160p/1bit problemlos 1080p/2.5bit generieren lassen, müssten analog aus 2160p/8bit noch 1080p/10bit machbar sein?

Aufnahmetechnisch nein. Bleiben wir mal bei dem einfacheren Beispiel: eine Lichtmenge, die bei 4bit/1080p z.B. einen Pixel mit dem Helligkeitswert 15 erzeugt, würde bei 1bit/2160p den Wert 1 ergeben. Auch wenn das Licht auf die 4 Pixel des höherauflösenden Sensors in leicht unterschiedlicher Stärke fällt, wird der Sensor immer daraus "1" machen - also Abstufungen einfach nicht erfassen. Aus 4mal "1" bei 2160p wird beim Skalieren auf 1080p schlicht "16", also der Maximalwert. Die Wahrscheinlichkeit, dass subtilere Werte wie 13, 14, 15 erzeugt werden, ist äussert gering - denn dann müsste das Licht ja so auf den 2160p-Sensor einfallen, das es gerade zwischen 50% oberen Helligkeits- und 50% unteren Schattenwerten kippt.

Hinzu kommt noch bei einer Kamera wie der GH4, dass sie mit einem stark komprimierenden Codec arbeitet. Selbst wenn also der Sensor auf seinen 4 monochromen Pixeln z.B. "0-1-1-1" registrieren würden, würde der Codec wegen der Platzersparnis daraus "1-1-1-1" machen.

Das alles wurde so ähnlich übrigens auch im Forum von EOSHD diskutiert - interessanterweise scheint diese Diskussion aber nicht mehr auf der Website zu stehen.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:11
von WoWu
Für solche Erklärungen hätte ich mir nun wieder gleich ´n Rüffel eingefangen :-(
Wart´ mal ab, damit bist Du bald auch bei Einigen hier auf der schwarzen Liste ;-)

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:12
von Bas3008
WoWu hat geschrieben:Das ist sehr einfach...
Stell Dir einen Pixelblock in Rot und einen daneben liegenden in Grün vor.
Meinst du mit Pixelblock 2x2? Also so?

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:22
von Bas3008
@cantsin Wolltest du damit jetzt sagen, dass man 2k nicht wieder auf 4k verlustfrei hochskalieren kann, aufgrund der verlorengegangen Luminanz-Pixel?

EDIT: bzw. dass beim runterskalieren von 4k zu 2k die Luminanz-Pixel verloren gehen

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:30
von WoWu
Du kannst auch nur 2 Pixels nebeneinander betrachten.
Kleine Anschauung als Anlage.

Der Unterschied zwischen Computergrafik und Video, auf die ich eingangs hingewiesen habe ist übrigens, dass Video den Fehler ins Bild "einbackt", und es so fehlerbehaftet in das NLE gibt, wo dann Fehlerfortpflanzung geschieht, im Computer aber durch Veränderungen der Eingaben ein Neutendern entsteht.
Das ist so, als würdest Du das Bild der Optik nochmal erzeugen und entlang der neuen Vorgaben, neu abtasten.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:33
von TheBubble
WoWu hat geschrieben:Das ist sehr einfach...
Stell Dir einen Pixelblock in Rot und einen daneben liegenden in Grün vor.
Bei einer Unterabtastung entsteht am Übergang aus den roten und grünen Pixels ein (oder mehrere, je nach Algorithmus) gelber Bildpunkt.
Du hast also statt 2 nun drei Farben im Bild.
Das beschriebene Problem tritt aber bei jeder Art von interpolierender Skalierung auf.

Ich nehme an, dass von den 4K 4:2:2 nach 2K 4:4:4 Befürwortern ein anderer Prozess gemeint ist, bei dem nur das Luma-Raster bearbeitet wird. Müsste die Software natürlich speziell untersstützen, allgemeines Skalieren - insbesondere in RGB-Darstellung - würde wohl in der Praxis vermutlich meist zu etwas anderes Ergebnissen führen.

Zur Illustration habe ich für alle Mitlesenden eben rasch eine Skizze gemacht und angehängt.

PS: Skizze aktualisiert.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:42
von WoWu
Nur die falsche Farbe bekommst Du damit auch nicht weg.
Und schwarz weiss machen wir ja nicht mehr. :-)

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:43
von Bas3008
@TheBubble Super! Genau so meinte ich das.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:46
von WoWu
Funktioniert nur nicht, weil du 3x Luma machst und aus der ersten Unterabtastung bereits eine Fehlfarbe hast und 4:4:4 würde ja bedeuten, an der Stelle die korrekten Farben zu rekonstruier n.
Video funktioniert leider nicht so, wie die Grafik zeigt.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:47
von TheBubble
WoWu hat geschrieben:Nur die falsche Farbe bekommst Du damit auch nicht weg.
Welche falsche Farbe? Die Farbe soll ja schon von Beginn an praktisch komplett in Cb und Cr stecken, was unangetastet bleibt. Nur an der Helligkeit wird gearbeitet.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:50
von WoWu
Welche falsche Farbe?
Siehe Bild.

Ausserdem haben in der Grafik die 4 Grauwerte in Realität ja auch unterschiedliche Helligkeiten, sodass auch daraus eine Gewichtung entsteht, die man hier geflissentlich in der Grafik weglässt.

Die Grafik repräsentiert eigentlich nur einen monochromen Bildschirm.
Da funktioniert das vorzüglich ... hat aber mit Video nichts zu tun.

Nee, nee, dann wäre jede 4K Kamera in HD eine 4:4:4 Kamera ... das hätte auch schon das schwächste Marketing ausgeschlachtet.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: Sa 10 Okt, 2015 23:57
von TheBubble
WoWu hat geschrieben:Ausserdem haben in der Grafik die 4 Grauwerte in Realität ja auch unterschiedliche Helligkeiten, sodass auch daraus eine Gewichtung entsteht, die man hier geflissentlich in der Grafik weglässt.
Habe ich nicht weggelassen. Die dargestellte bilineare Interpolation entspricht einer Mittelwertbildung, d.h. konstanter Gewichtung von 4 Samples bei der Bildung eines Neuen.
WoWu hat geschrieben: Nee, nee, dann wäre jede 4K Kamera in HD eine 4:4:4 Kamera ... das hätte auch schon das schwächste Marketing ausgeschlachtet.
Kameras machen solche Resampling-Vorgänge - und viel mehr - doch auch intern. Was heute rauskommt ist doch alles irgendwie gefiltert und umgerechnet und dürfte kaum mehr eine nachvollziehbare Zuordnung zur einzelnen Sensor-Elementen erlauben. Von echten RAW-Ausgaben mal abgesehen.

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: So 11 Okt, 2015 00:01
von WoWu
Habe ich nicht weggelassen. Die dargestellte bilineare Interpolation entspricht einer Mittelwertbildung, d.h. konstanter Gewichtung von 4 Samples bei der Bildung eines Neuen.
Klar hast Du das weggelassen, weil a) nicht alle Ausgangspixel monochrom sind und b) das Ergebnispixel in dem Fall ungleich eines jeden Ausgangspixel wäre.
Sieht man leider nicht, weil es hinter dem bunten Pixel verschwindet.
Und die Änderung der Luminanzwerte der einzelnen Farbkanäle bedeutet immer eine Farbverschiebung.
Das bedeutet aber auch, dass das Ergebnis keine Rekonstruktion des Ausgabewertes ist sondern deutlich abweicht.
Das ist zwar eine verblüffende Grafik, hat aber nur Relevanz bei monochromen Bildern.

Und auf die Kameraabweichungen würde ich gar nicht setzen.
Wenn eine Kamera 4:4:4 bei HD macht, kannst Du ein EI darauf backen, dass das in BILDZEITUNGSLETTERN auf jeder Verpackung stünde.

Aber dieses Theme ist hier schon x-mal besprochen. Ich habe eigentlich keine lust da nochmals in Medias zu gehen.
Das kann man alles mit der Suchfunktion rekonstruieren.
Und wer aus einer 4:2:0 eine 4:4:4 machen kann, sollte das zum Nobelpreis anmelden.
Aber ich befürchte, da kommt er nicht mal weiter mit bei "Jugend forscht".

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: So 11 Okt, 2015 00:15
von cantsin
Bas3008 hat geschrieben:@cantsin Wolltest du damit jetzt sagen, dass man 2k nicht wieder auf 4k verlustfrei hochskalieren kann, aufgrund der verlorengegangen Luminanz-Pixel?

EDIT: bzw. dass beim runterskalieren von 4k zu 2k die Luminanz-Pixel verloren gehen
Nein, dass bei der 4k-Aufnahme in der geringeren Bittiefe die Wahrscheinlichkeit sehr gering ist, dass Luminanzwerte so abgestuft erfasst werden, dass sie beim Runterskalieren in eine höhere Bittiefe diese Bittiefe auch ausfüllen.

Nochmal einfach zusammengefasst: Wenn ein 1-bit Sensor ein hell abgestuftes Bild als vier weisse Pixel erfasst, wird daraus auch beim Runterskalieren in einen 4bit-Graustufen-Pixel nur ein weisser Pixel. (Hätte der Sensor in der hohen Pixelauflösung jedoch auch eine höhere Graustufenauflösung, würde er vier Pixel in unterschiedlichen Hellgrau-Werten aufzeichnen, aus denen beim Runterskalieren in 4bit auch ein hellgrauer statt weisser Pixel würde.)

Re: 4k H.264 zu 2k ProRes4444 mit FFmpeg

Verfasst: So 11 Okt, 2015 00:19
von TheBubble
@WoWu:

Ich will jetzt auch nicht in eine riesen Diskussion darüber einsteigen und will auch gar nicht abstreiten, dass die Y-Werte auch einen kleinen Beirag zur Farbe leisten, aber Du forderst letztlich Dinge, die vermutlich keine existierende Kamera oder Verarbeitungs- und Darstellkette erfüllt.

Schon die erstmalige Erzeugung von 4:2:2 ist fehlerhaft. Und auch die noch davor stattfindene Bayer-Sensor-Pattern Auswertung (bei 1-Chip-Kameras) ist ungenau.

Dann kommt Die erste verlustbehaftete Kompression.

Schnittprogramme machen häufig aus 4:2:2 einfach 4:4:4, indem sie die einzelnen Chroma-Samples vervierfachen (und diese Vorgehensweise hat sogar Vorteile), um Effekte (und auch wenn es nur Texteinblendungen sind) in RGB berechnen zu können.

Dann kommt Die zweite meist noch viel mehr verlustbehaftetere Kompression.

Und dann noch das, was nachher noch ein durchschnittlicher TV in seiner Voreinstellung macht...

Es gibt so viele Dinge, über die man sich zu Recht beschweren darf, die beschriebene Umwandlung ist da allerdings noch das allerkleinste Problem.