Die Open Source Spectrum-Bibliothek ermöglicht die Kantenverarbeitung von Bildern für eine schnellere Leistung

So verstehen Sie die Architektur ohne Server in der Cloud Chris Wegmann, Leiter der AWS-Praxis von Accenture, sprach mit TechRepublic bei AWS re: Invent über das Aufkommen von Serverless und darüber, was Führungskräfte wissen müssen.

Die Verarbeitung von Bildern, die von Handykameras aufgenommen wurden, ist sowohl für Dienstbetreiber als auch für Endbenutzer eine täuschend teure Aufgabe. Die Smartphone-Kameras haben sich von Jahr zu Jahr dramatisch verbessert. Selbst das Redmi Note 7 für 150 US-Dollar kann massive 48-Megapixel-Bilder aufnehmen. Durch das Hochladen dieser immer größer werdenden Dateien auf Social Media-Dienste kann die Datennutzungszuteilung eines durchschnittlichen Smartphone-Plans schnell aufgebraucht werden. Durch die Verarbeitung großer Bildmengen geben Website-Betreiber in großem Umfang erhebliche Beträge für Bandbreite und Verarbeitungszeit auf serverlosen Computerplattformen wie AWS Lambda für die Komprimierung von Bildern aus.

Smartphones verfügen eindeutig über die Verarbeitungsfunktionen, die zum Ändern der Größe von Fotos erforderlich sind, obwohl für Android plattformübergreifende Bildkonversationen in hoher Qualität - und unterschiedliche Versionen derselben Plattform für Android - die Verarbeitung dieses Vorgangs zwischen den Plattformen inkonsistent machen und eine Codeduplizierung und eine spezielle Behandlung für Fälle erfordern B. das Interpretieren und Beibehalten von EXIF-Metadaten bei der Konvertierung. In ähnlicher Weise verwenden native Bildverarbeitungs-APIs, die auf Smartphone-Plattformen verfügbar sind, unterschiedliche Komprimierungsbibliotheken, was zu einer inkonsistenten Qualität führt.

Spectrum, eine Open-Source-Bildverarbeitungsbibliothek von Facebook, soll Entwicklern die Möglichkeit geben, die Bildtransformation clientseitig durchzuführen und vorhersehbare, wiederholbare Ergebnisse auf verschiedenen Plattformen zu erzielen. Die Bibliothek kann in Android- oder iOS-Apps integriert werden und verwendet C / C ++ - Code für eine höhere Leistung mit Java- und Objective-C-Wrapper-APIs, um die Integration zu vereinfachen. Die API von Spectrum ist deklarativ, sodass Entwickler die Zielausgabeeigenschaften definieren können und die Formulierung von Einstellungen zur Erreichung dieses Ziels der Bibliothek selbst überlassen bleibt.

Spectrum verwendet die neueste Version von MozJPEG, die auf hohe Leistung in Aspekten des JPEG-Standards abgestimmt ist, wenn andere Implementierungen flach fallen oder umfangreiche benutzerdefinierte Anpassungen erfordern, um dies zu erreichen. Vor allem optimiert MozJPEG die JPEG-Quantisierungstabellen umfassend, wobei eine genauere Farbwiedergabe Vorrang vor der Erhaltung winziger Details hat. Dies reduziert Farbstreifen und lässt Fotos auf hochauflösenden Displays besser aussehen. Die Verwendung von MozJPEG ermöglicht auch eine komplexere Codierung - was mehr Verarbeitungszeit erfordert -, bietet jedoch kleinere Dateien.

Laut Facebook ermöglicht die Verwendung von Spectrum "eine Reduzierung der Upload-Dateigröße um bis zu 15% im Vergleich zu einem Baseline-Encoder."

Entwickler können hier mit der Dokumentation der Bibliothek beginnen, wobei die Bibliothek selbst auf GitHub verfügbar ist.

Die großen Imbissbuden für Technologieführer:

  • Spectrum kann als Teil von Smartphone-Apps verwendet werden, wodurch die Datennutzung und die serverseitige Verarbeitungszeit für die Größenänderung von Fotos reduziert werden.
  • Die Verwendung von Spectrum "ermöglicht eine Reduzierung der Upload-Dateigröße um bis zu 15% im Vergleich zu einem Baseline-Encoder." - Facebook, 2019

Open Source Wöchentlicher Newsletter

Sie möchten unsere Tipps, Tutorials und Kommentare zum Linux-Betriebssystem und zu Open Source-Anwendungen nicht verpassen. Dienstags geliefert

Heute anmelden

© Copyright 2021 | mobilegn.com