Frage von huenchen:Hey leute,
ich bin grad in einer diskussion wo die einen behaupten dass das entfernen von den balken im video doch einen gewissen spürbaren anteil hat. Ist dem wirklich so? -ich selbst denke nicht.
als argument wurde allerdings nicht der balken an sich genannt, sondern das der übergang zum eigentlichen bild ein problem darstellt und mehr B-Frame qualität geboten wird.
Was meint ihr oder besser wisst ihr?
Es ging in der diskussion um den H.264/MPEG-4 AVC standart.
gruß
Antwort von tommyb:
Einen spürbaren Anteil an was? Verstehe ich nicht...
Allgemein sind schwarze Flächen natürlich sehr gut komprimierbar. Wenn dein Video nur noch aus schwarzen Flächen bestehen würde und in der Mitte wäre ein winziger Schlitz mit dem Inhalt, dann würde das Video ja fast gar keinen Speicher mehr brauchen. So ähnlich ist das z.B. beim Steven Seagal Letterbox 2000:
Aber Spaß beiseite. Wichtig bei schwarzen Balken ist immer nur eine besondere Sache: sie sollten durch 8 teilbar sein (bei AVC in höheren Profiles geht auch Faktor 2).
Warum das so ist:
Das Bild wird in s.g. Macroblöcke aufgeteit und dann abgespeichert. Diese Macroblöcke haben immer eine feste Größe die das mehrfache von 2 ist. IdR. sind die Blöcke immer 8x8 Pixel groß, h.264 jedoch unterstützt auch kleinre Größen und auch nicht quadratische Macroblöcke (also auch 8x4).
Wenn man einen Letterboxstreifen hat dessen Höhe nicht durch 8 teilbar ist, so wird der Teil der "überstehenden" Pixel zusammen mit dem Bildinhalt abgespeichert, der zufällig ebenfalls in diesem Macroblock liegt. Das führt zu verschlechtert Codiereffizient, was wiederum viel Bitrate benötigen kann die bei festen Vorgaben aus dem Gesamtbild abgezogen werden muss. Dabei wird das Bild tatsächlich schlechter.
Antwort von huenchen:
ok vielen dank, damit kann ich auf jeden fall etwas anfangen!
2 dinge noch.
Abwelchem profile ist der faktor 2 möglich?
und wie verhält es sich beim codiern eines full hd videos dessen inhalt im 16:9 format ist jedoch die balken mit codiert werden. Ich finde nirgends die größe der balken als angabe in pixel - ich möchte hiermit auf die erwähnte teilbarkeit von 8 bzw 2 hinaus die du erwähnt hast.
Achso eine letzte frage noch, wenn der fall eintritt das keine teilbarkeit vorliegt, wie hoch ist dann aber im endeffekt der verlust wirkllich? Ist das überhaupt wahrnehmbar für das auge. Ich meine damit das der AVC codec ja trotz allem äußerst effektiv arbeitet und sich diese problematik doch nur dann bemerkbar machen dürfte wenn das videomaterial mit einer bitrate codiert wird die ohnehin an der grenze liegt wo das auge merkbare qualitätseinbußen wahrnehmen kann.
gruß
Antwort von MLJ:
@Huenchen
Bei HD-Videos, die zusätzlich oben und unten einen Balken haben, handelt es sich um sogenannte "Platzhalter", weil Fernseher entweder 4:3, 14:9, 15:9, 16:9 und neuere sogar 21:9 darstellen. Das ist oft bei DVD's/BluRay's zu sehen, wo das Kinoformat (2.35:1 also 21:9) verwendet wurde. Damit man nicht links und rechts etwas vom Bild abschneiden muss, und es "echtes" 16:9 ohne Balken (Oben/Unten) gibt, wird die komplette Breite verwendet und dafür Oben/Unten ein schwarzer Balken eingefügt. Dieser Variiert, je nach ursprünglichem Format.
Schwarz (RGB 00 00 00) und Weiss (RGB 255 255 255) raubt keinem Codec etwas von der Bitrate, da Codecs in der Regel Schwarz und Weiss als "Digital 0" betrachten. Das kannst du mal testen, indem du einen kurzen Testfilm erstellst und statt Schwarz/Weiss mal eine andere Farbe nimmst.
Ich habe mich mal damit beschäftigt, weil ich mir die gleiche Frage gestellt habe. Dazu habe ich einfach ein Graues Image erstellt (RGB 128 128 128) und dann eine Letterbox/Pillarbox hinzugefügt und mit XviD dann eine Reihe von Testvideos erstellt. Ergebnis: Sobald die Letterbox nicht mehr Schwarz oder Weiss war, ging die Bitrate hoch. Das fing schon bei RGB 02 02 02 an und höhrte bei RGB 254 254 254 auf. Am niedrigsten war die Bitrate bei Schwarz und Weiss als Letterbox.
Was den "Faktor 2" angeht, so würde ich den nicht verwenden, auch wenn es geht. Viele Codecs vertragen als minimum 4x4, besser 8x8 und am idealsten 16x16 weil damit die interne Umrechnung der Blöcke am besten funktioniert. Bei "krummen" Angaben (8x4 oder 4x2 z.B.) verlierst du etwas an Geschwindigkeit beim encodieren. Variiert je nach verwendetem Codec. Kannst du ebenfalls mit einem Testvideo mal selbst testen und die Zeit nehmen, bei gleichen Einstellungen natürlich.
Wie es "TommyB" schon beschrieben hat (übrigens sehr gut) ;-), es geht aber die Qualität leidet dann.
Beste Grüsse, Mickey Lee