Ich versuche, nach Bild- / Videokomprimierungsschemata zu suchen, die im Vergleich zu weit verbreiteten Industriestandards (dh JPEG / H.264) eine überlegene Komprimierungsleistung bieten (Bildqualität als konstant halten), aber aus Gründen, die entweder zu rechenintensiv oder zu ressourcenintensiv sind Eine intensive Implementierung auf CPU-basierten Workstations ist nicht möglich und wird daher in gängigen Standards nicht übernommen.
Ich konnte mir nur die fraktale Kompression als gutes Beispiel vorstellen. Kennt die Community weitere Beispiele?
image-processing
video-processing
video-compression
jpeg
Ang Zhi Ping
quelle
quelle
Antworten:
Es gibt verschiedene Aspekte der Komprimierung - unabhängig davon, ob Sie sich auf ein Bild oder ein Video beziehen. (Möglicherweise ist Audio völlig anders, daher beziehe ich mich hier nicht darauf).
Wenn Sie sich wirklich die Geschichte des Komprimierungsstandards ansehen, als sie zum ersten Mal erstellt wurden, waren MPEG1-Echtzeitcodierer selten. Die CPU selbst reichte zu diesem Zeitpunkt nicht aus, um sie in Echtzeit zu erstellen. Es war jedoch nicht die Verarbeitungskomplexität (allein), die die Verwendung von Algorithmen mit höherer Komplexität unter Codecs stoppte. (Wahrscheinlich war der Hauptfaktor, der für das Einschließen / Ausschließen bestimmter Algorithmen verantwortlich war, a. Patente, b. Durchführbarkeit der Implementierung).
Ich möchte die Frage jedoch etwas einfacher umformulieren:
Hier sind einige Punkte zu beachten:
1. Besser verwandeln?
DCT war bei weitem eine universelle Transformation für alle Codecs. Es gibt jedoch viele Forschungsarbeiten, die darauf hinweisen, dass Wavelets besser sein könnten. In der Tat enthielt das einzige JPEG2000 Wavelets - aber dieser Standard selbst war kein großer Erfolg. Wahrscheinlich war es irgendwie besser als DCT; Insbesondere gibt es Behauptungen, dass Wavelets die DCT übertreffen [Siehe: Ref 1]
Ich denke, Wavelet ist gegenüber DCT rechenintensiv (teilweise, weil 8x8-DCT-Implementierungen stark optimiert sind). Aber ich denke, ich bin nicht wirklich so viel geflogen, weil aus Sicht des Marktes DCT zu der Zeit weitaus weiter verbreitet war und der Unterschied in der Verbesserung für die Leute nicht so groß war, um zu wechseln.
2. Bewegungskompensation mit mehreren HypothesenB
Während MPEG 2 mit Bildern zufrieden war , haben umfangreiche Untersuchungen von Bern Girod [siehe Lit. 2] bewiesen, dass - das Konzept weit darüber hinaus erweitert werden kann. Tatsächlich hat H.264 eine große Verallgemeinerung der Bewegungskompensation mit mehreren Zielen vorgenommen - im Grunde kann man mehr als 16 Bilder speichern (vergleiche mit 2 in MPEG2), und tatsächlich kann die Vorhersage extrem hoch sein.
Dies ist zwar bereits Teil des Standards in H.264 - dies wird jedoch noch nicht vollständig ausgenutzt. Es besteht die Notwendigkeit, eine derart umfangreiche Suche nach Bewegungsschätzung praktisch durchführbar zu machen. Die meisten H.264-Encoder sind noch im Entstehen begriffen, um das volle Potenzial davon auszuschöpfen.
3. Skalierbare Bild- / Videokomprimierung Die
skalierbare Bild- und Videokomprimierung ist wieder ein heiliger Gral dafür, wie die Mehrfachbeschreibungscodierung für Bild und Video durchgeführt werden kann. Grundsätzlich kann dasselbe Bild oder Video mit mehreren Auflösungen, Quantisierungen (Qualität) oder Bildraten codiert werden. Diese erzeugen unterschiedliche Qualitätsebenen im Verhältnis zur Bitrate direkt innerhalb desselben Streams - und der Streaming-Server kann die Bitrate und Qualität dynamisch anpassen, um das Video optimal an die Qualität anzupassen. Siehe [Ref. 3], [Ref. 4], [Ref. 5]
Ein wirklicher Erfolg ist nur progressives JPEG, das für Websites praktisch und in der Tat nützlich ist. Auch hier ist das Versprechen einer dynamischen Anpassung des Bitstroms groß, aber es funktioniert nur, wenn es praktische Systeme gibt, in denen die Schätzung einer solchen Bitrate möglich ist und die Art der Anpassung einem echten Zweck dienen kann. Im Videobereich gibt es jedoch trotz der Unterstützung in den Standards (MPEG2, MPEG4 und H.264) kaum eine Verwendung davon.
4. Objektvideo
Dies ist vielleicht der ultimative heilige Gral der Kompression. Das vom MPEG-Standardkörper selbst initiierte Objektvideo [Ref. 6] wurde jedoch auch durch umfangreiche Untersuchungen gestützt.
Die Grundidee besteht darin, das Video in verschiedene Objekte zu segmentieren, und später kann jedes dieser Objekte als separate Ebene behandelt werden. Jedes Objekt kann mit unterschiedlicher Bitrate, Quantisierung, Bildrate und sehr effizienter Vorhersage angewendet werden. Sie können solche Objekte auch so manipulieren, wie Sie es in Photoshop / Gimp tun können.
Wie sich jedoch herausstellt, ist die Segmentierung von realem Bild und Video mit wahrnehmungsrelevanten Objekten ein schwieriges Problem! Selbst wenn ich Encoder / Decoder habe, brauche ich Robus und ein Echtzeit-Segmentierungssystem, um die Dinge zu ermöglichen. Dies ist bei weitem ein wirklich offenes Problem, wie Sie Videos in Form eines solchen geschichteten Videos anwenden, damit es funktioniert.
5. Weitere Dimensionen
Abgesehen davon gibt es Codecs für Stereovideo (auch bekannt als Multiview) und 3D-Video (fast ähnliches Konzept), die zusätzlich versuchen, die Redundanz in der zusätzlichen Dimension zu reduzieren. Während hier noch geforscht wird, hat H.264 jetzt ein Profil dafür. Gleiches gilt für die Cinema-Codierung.
Es gibt noch viele Forschungsprojekte auf diesem Gebiet - die Videokomprimierung ist jedoch mittlerweile ein ziemlicher Rohstoffmarkt. Und Forschung, die im Wesentlichen keine neue Anwendung generiert oder bei der Implementierung Machbarkeitsprobleme aufweist, wird trotz ihres Einfallsreichtums praktisch nicht überleben.
Hoffe das hilft.
Verweise:
Eine vergleichende Studie zur DCT- und Wavelet-basierten Bildcodierung von Zixiang Xiong et al. al. IEEE-TRANSAKTIONEN FÜR SCHALTUNGEN UND SYSTEME FÜR VIDEOTECHNOLOGIE, VOL. 9, NO. 5, AUGUST 1999, S. 692
Effizienzanalyse der bewegungskompensierten Multihypothese-Vorhersage für die Videocodierung Bernd Girod IEEE-TRANSAKTIONEN BEI DER BILDVERARBEITUNG, VOL. 9, NO. 2, FEBRUAR 2000 173
Skalierbare Videocodierung mit räumlicher Domänenauflösung von Barry G. Haskell, Hsueh-Ming Hang. Proc. SPIE 2094, Visuelle Kommunikation und Bildverarbeitung November 718 (1993);
Das feinkörnige skalierbare Videokodierungsverfahren MPEG-4 für Multimedia-Streaming über IP von Hayder M. Radha et al. al. IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 3, NO. 1, MÄRZ 2001 53
Fortschritte bei der skalierbaren Videocodierung von Ohm, J.-R.; Proceedings of the IEEE Jan. 2005 Band: 93 Ausgabe: 1 S. 42 - 56
Objektbasierte Texturcodierung von bewegten Videos in MPEG-4, von Andr ́ Kaup, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 9, NO. 1, FEBRUAR 1999, S. 5
quelle