Der Dolby Vision Fred

  • Ich mach mal einen Dolby Vision Fred auf, weil ja anscheinend doch viele Teilnehmer Interesse daran haben, und immer leicht allgemeine Information zu dem Thema in irgendwelchen freds fuer spezielle Boxen untergeht. Und nachdem man ja evtl. nicht nur Kodi zum playback mit DV nehmen kann auf seiner Plattform eben hier in Hardware/Video...

    Ich versuche interessante Pointer hier im ersten Post zu sammeln.

    Vergleich von DV playback support in verschiedenen Geraeten

    Diese Seite ist von quietvoid, der anscheinend an DV support in Kodi Omega fuer Android arbeitet (xbmc-dv, Ende 2023), und auch verschiedene tools zum analysieren, um-codieren von DV files (dovi_tool) .

    Dolby Vision fuer Windows 10/11

    Dolby Vision Extension fuer Windows

    AFAIK: Dolby Vision Unterstuetzung in Windows bedarf eines Dolby Vision lizensierten PC oder GPU (z.b. 2 in 2023 herausgekommene Intel GPU) und dann der Dolby Vision extension, und bei Windows 10 natuerlich auch der HEVX extension. Wenn man versucht, die extension im Microsoft Store zu finden, geht das nicht. Die URL kommt von diesem support thread. Man kann wohl feststellen ob der PC oder GPU lizensiert sind, indem man die "Dolby Access" App aus dem Store installiert. Wenn es dort die Option gibt, Dolby Vision zu installieren (also diese Extension), dann ist der PC wohl lizensiert. Ich habe nix passendes - kann es also nicht verifizieren.

    Einmal editiert, zuletzt von te36 (19. Januar 2024 um 01:14)

  • Ueberblick

    Die englische Wikipedia gibt einen Ueberblick ueber Dolby Vision, ist aber vielleicht einfacher zu verstehen nach folgenden Erklaerungen:

    Es gibt viele Varianten von Dolby Vision, sie werden Profiles genannt, und unterscheiden sich darin, welcher Video Codec verwendet wird (HEVC oder AV1 derzeit), welche Bittiefe, wieviele Streams und welche Farbtransferfunktion verwendet wird.

    Dolby Vision wirbt mit 12-bit pro Pixel (fuer die Helligkeit), statt 10-bit wie bei HDR10/HDR10+. Um das zu erreichen kann DV zwei unabhaengige Videostreams verwenden. Der erste Videostream heisst BL (Base Layer) und ist auch alleine ohne den zweiten Layer dekodierbar und anschaubar. Der zweite Videostrom ist optional, aber wenn vorhanden codiert er die Differenz zwischen 10 und 12 bit - und kann nur von DV faehigen Video Playern und Displays verarbeitet werden. Er heisst EL (Enhancement Layer). Daneben gibt es, aehnlich wie bei HDR10+ noch vor jeder Szene pakete mit Metadaten um die Transferfunktion zu parametrisieren (z.b.: min/max Helligkeit). Diese Metadatenpakete heissen RPU (Reference Picture Unit) und koennen je nach Profile in BL oder EL sein. Wenn der EL nur RPUs enthaelt, dann nennt man in MEL (Minimum EL), wenn er auch codiertes Bildsignal enthaelt nennt man ihn FEL (Full EL).

    DV auf UHD Bluray - Profile 7 Dual-Track Dual-Layer

    Bei den meisten BluRay UHD wird profile 7 "Dual-Track Dual-Layer" verwendet, weil er Rueckwaertskompatibilitaet mit nicht-DV Playern und Displays bietet.

    Bei Profile 7 UHD gibt einen UHD Video Track mit HEVC HDR10 encoding (BL), der alleine wiedergegeben wird wenn der Player und/oder das Display kein DV kann. Wenn sowohl Display also auch Player DV koennen, dann wird zusaetzlich noch der zweite Tack verwendet (EL). Der hat nur maximal 1080p Aufloesung. Nach der Dekomprimierung beider Videostreams wird der EL noch mal in der Aufloesung verdoppelt, und dann werden die Helligkeitswerte des BL mit dem des EL kombiniert basierend auf der proprietaeren DV Methode und derzeitigen Transferparametern aus der letzten RPU.

    Man kann sich den zweiten Videostrom anschauen, wenn man direkt eine mpts Datei von der UHD abspielt und dann den zweiten Videotrack anwaehlt. Wenn man dann graues rauschen sieht, das in etwa noch die Bewegungen des echten Bildes erahnen lassen, dann hat man einen FEL - also mit Bild. Wenn das Bild hingegen schwarz ist, dann ist es eine "billige" UHD, wo nur die RPUs im EL drin sind (MEL).

    DV von UHD Bluray nach makemkv - Profile 7 Single-Track Dual-Layer

    Makemkv kombiniert die beiden Tracks von profile 7 "Dual-Track Dual-Layer" in einen "Single-Track Dual-Layer". Nachdem auch UHD Disc Player das Format unterstuetzen scheint das auch offiziell zu sein, und nach der Tabelle aus Post#1 koennen auch mehr Geraete dieses Format abspielen. Allerdings verliert man damit die Moeglichkeit bei existierenden Player wie Kodi oder VLC festzustellen, ob es tatsaechlich einen EL gibt. Und es kann evtl. Player geben, die ueber die EL Information im ersten Track stolpern und es dann nicht abspielen koennen (Kodi und VLC haben keine Probleme, aber dekodieren natuerlich die EL Information nicht, solange DV nicht unterstuetzt ist - wird einfach ignoriert).

    UHD DV nach Handbrake/x265 = Profile 8

    Handbrake kann automatisch Profile 7, Dual-Track Single-Layer (von makemkv z.b.) kodieren wenn x265-10bit als codec verwendet wird. Dabei wird aber der FEL ignoriert, es werden effektiv nur der HDR10 BL codiert und die dynamische RPU metadaten eingemixt. Die effektive Qualitaet sollte danach also aehnlich sein wie bei HDR10+.

    Da Profil, was Handbrake so erzeugt ist das DV Profil 8, wo der BL HEVC 10-bit mit HDR10 Farbraum hat - plus den RPU. Wobei bei diesen RPUs alle Daten entfernt wurden, die sich auf den EL beziehen, damit Player oder Displays, die keinen EL unterstuetzen nicht darueber stolpern.

    DV auf streaming media devices - Profile 5

    Apple TV+ und andere Streaming Media Services, die DV unterstuetzen verwenden meistens Profile 5. Das hat nur einen HEVC 10-bit Videostream und keine Kompatibilitaet mit Abspielern oder Displays, die kein DV Profile 5 koennen: Wenn der Streaming server feststellt das entweder player oder Display das DV Profile 5 nicht koennen, dann wird da halt ein anderer, nicht-DV Stream geliefert. Deswegen kann dann dieser eine Videostream auch eine andere Transferfunktion fuer die Farben als HDR10 haben, naemlich Dolbys proprietaeres IPTPQc2.

    Leider finde ich keine gute Erklaerung fuer IPTPQc2, aber ich denke mal die Idee is wie folgt: Man komprimiert bei HEVC 3 signale, Y (Helligkeit), U, V (Farbdifferenzsignale). Man will am Ende 12-bit Y haben, kann aber nur 10 bit codieren. Man weiss, das das Auge eh nicht alle Details in den Farben gut unterscheiden kann. Also transferiert man die 2 Bit die fehlen beim codieren auf die Y, V Kanaele, und transferiert sie nach der Dekomprimierung wieder zurueck.

    Wenn man sich eine Profile 5 Datei auf einem Geraet anschaut, das DV mit Profile 5 nicht kann, dann sieht das alles sehr gruen/magenta-stichig aus. Was ein wenig fuer die Theorie spricht, das die Farben da mit der zusaetzlichen Helligkeitsinfo codiert sind.

    Wenn man ein DV faehiges Geraet hat was Profile 5 unterstuetzt dann kann es anscheinend auch auf HDR10, aber nicht DV faehige Displays dekodieren, zumindestens schafft meine Google ChromeCast mit Google TV 4K Kiste das mit Kodi. Von daher sind Profile 5 Dateien nur dann ein Problem, wenn der Abspieler die nicht unterstuetzt, aber erfordern kein DV Display.

    Mediainfo

    Mediainfo zeigt in der detaillierten Textdarstellung an, ob ein single-Track Dolby-Vision Profile auch Dolby Vision hat, und welches Profil es ist. Beispiel:

    Wenn man Profile 7 Dual Track hat, dann sieht man halt die beiden Tracks und muss sich selbst denken, das ein zweiter Videotrack mit HD Aufloesung Dolby Vision bedeutet.

    5 Mal editiert, zuletzt von te36 (19. Januar 2024 um 03:43)

  • te36 freue mich wie verrückt auf deinen Thread und auch schon auf die ganzen Informationen, die du gerade erstellst und die sich noch ergeben werden. Das Thema DV ist in aller munde, wirft aber tatsächlich mehr Fragen als Antworten auf. Wobei Antworten gibt es schon einige, aber das Thema ist wirklich nicht das einfachste.

    Ich komme damit auch gerade vermehrt in Berührung, im ersten Schritt gar nicht auf der Clientseite (aber natürlich auch da), sondern eher schon beim "Host" und zwar beim Decodieren/Transcodieren von MKV, Bluerays, Aufnahmen etc.. Aktuell habe ich einen Mini-Pc im Einsatz (was auch so bleiben soll) ZOTAC ZBOX: MAGNUS EN1070K (Intel Core i5-7500T) mit einer Geforce 1070.

    Mein Problem ist es, sobald ich eine DV Datei auf meinem Rechner habe, funktioniert nichts. Werder das Abspielen ohne diese wundervollen lila Farben auf einem Player wie z.B. VLC funktioniert, noch das Weiterverarbeiten von z.B. DV 10Bit Dateien. Ich habe dann irgendwann gelesen, dass die Grafikkarte das Problem ist, da es die Spezifikationen nicht mitbringt, was ich aber noch immer nicht ganz genau weiß. Dann habe ich neue Informationen und Einstellungen getestet um zu Testen ob es an mir liegt, aber kein Plan (@te36/all, wisst ihr vielleicht mehr).

    Dann gibt es nach vorne gerichtet natürlich noch den innigsten Wunsch von mir einen leistungsfähigen neuen „Zwischenserver“ zu kaufen, ggf. auf Proxmox Basis (bin mir aber auch da noch nicht sicher). Warum nenne ich das Ding "Zwischenserver", naja, mein Datengrab mit aktuell 12 Schächten soll weiterhin auf der Synology ausgelagert sein und der neue „Zwischenserver“ soll dann eigentlich zum 24/7 Hauptserver werden.

    Nun und dass alles im Zuge von VM‘s, Decodieren/Encodieren, Dolby Vision, Profilen Hardware und Software Anforderungen unter einen Hut zu bekommen, toi toi toi.

    Bin wirklich sehr gespannt was ich jetzt noch alles über DV lerne und wie diese "Spezifikationen" sich auf meine zukünftige Hardware auswirken wird.

    Würde mich natürlich sehr freuen, wenn wir auf Basis von DV ein wenig mehr Licht ins dunkle bringen könnten.

    Edit zusätzliche Informationen:

    Dolby Vision zu installieren (also diese Extension), dann ist der PC wohl lizensiert

    Ist bei mir installiert, aber trotzdem ist alles lila und wie oben beschrieben :)

    Unter den Spioler habe ich mal meine Ausgangsdatei, damit man auf Basis meiner Hardware und den Media Infos vielleicht ein wenig mehr Substanz an die Sache bekommt. Vielleicht auch noch wichtige Infos, mein Programm zum Decodieren/Encodieren ist Handbrake und mein System ist Win10. Auf meinem Client (Fire TV wird die ursprüngliche Datei (siehe unten) ohne Probleme mit DV abgespielt. Sobald ich diese Datei aber über mein WIN10 System erneut Encodiere, wird es lila auch auf dem FireTV Stick.

    Spoiler anzeigen


    Danke und beste Grüße,

    Seger

    3 Mal editiert, zuletzt von Seger (19. Januar 2024 um 11:44) aus folgendem Grund: Text überarbeitet

  • Seger Ich hab auch bloss gerade mal angefangen, mich in DV einzulesen und eigentlich keine Erfahrung. Habe selbst auch keine DV faehigen Anzeigegeraete, war bloss deswegen interessiert, weil ich halt auch meine UHD konvertieren will mit erhaltenem DV und inzwischen auch die Option gelesen habe, das meine nicht-DV faehigen Anzeigegeraete evtl mit einem EDID hack ueberreden kann, LLDV zu empfangen.

    Zu Deinem Fall: Ich hab wie gesagt kein echtes DV Display, also kann ich nicht sagen, ob/wie Du genau unter windows feststellen kannst, ob die DV extension aktiv ist. Ich befuerchte mal, das sich die extension einfach installieren laesst aber dann halt nicht aktiv wird, wenn der PC oder die GPU nicht DV lizensiert sind. Woher willst Du wissen das dein PC oder die GPU DV lizensiert sind ?

    Deine Datei ist ja Profile 5. Mit diesem komischen Dolby Farbraum. Den kann Handbrake bzw. das darin verwendet ffmpeg wahrscheinlich noch nicht mal decodieren. Ich hatte ja oben den Wikipedia Artikel zu diesem Farbraum verlinkt. Da stehen ein pass libraries drin, in die Support fuer diesen Farbraum eingebaut wurde/wird. Aka: da muss man sich wohl einlesen und dann andere Tools nehmen derzeit als das bequeme Handbrake wenn man die nochmal codieren will.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!