KTI-Projekt Hochgeschwindigkeitskameras mit integrierter Videokompression

Ähnliche Dokumente
Bildverarbeitung Herbstsemester. Wavelet-Transformation

Bilddatenformate BMP GIF JPG. Digitale Bildverarbeitung Liedtke 7.1. Bezeichnung: Microsoft Windows Bitmap, BMP, DIB

Bildkompression InTh, 2005, JPEG, Hak, Rur, 1

Multimediatechnik / Video

JPEG-Standbildcodierung

Digitalisierung. analoges Signal PAM. Quantisierung

Version Referenzhandbuch. DiscretePhoton H.264 encoder. DiscretePhoton.

Bildanalyse und neue Workflows für eine verbesserte Bildqualität bei der Distribution

JPEG - Kompression. Steffen Grunwald, Christiane Schmidt, Stephan Weck TIT01EGR BA-Mannheim 21. Mai 2002

2. Digitale Codierung und Übertragung

Teil 1: Digitale Logik

JPEG, MPEG & Co. Alex Titze Angewandte Informatik FHTW-Berlin

DIGITALE VIDEO KOMPRESSION AM BEISPIEL DES JPEG-VERFAHRENS

Dynamisches Huffman-Verfahren

Proseminar Datenkomprimierung Dr. U. Tamm. JPEG - Kompression WS 2002/03. Torsten Zichner

Kompressionsverfahren

Kompression und Datenformate. Grundlagen der Bildspeicherung, Kompressionsverfahren, Datenformate

Analyse und Vergleich aktueller Videokompressionsverfahren

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 6-32

Übung 13: Quellencodierung

Proseminar Datenkomprimierung Dr. U. Tamm. Bildkompression WS 2002/03. Florian Strunk

Grafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression

Digitales Fernsehen DVB

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Multimediatechnik / Video

Quellencodierung NTM, 2006/05, 9.3 Quellencodierung, Rur, 1

Kompression und Datenformate. Grundlagen der Bildspeicherung, Kompressionsverfahren, Datenformate

Multimediale Werkzeuge, Audio: Formate, Tools. -Sound/Audio Objekte. Formate, Beispiele:

Audio Codecs. Vortrag im Seminar. Digital Audio. Sebastian Kraatz. 15. Dezember 2004

Subranging-Analog/Digital-Wandler mit tiefem Leistungsverbrauch für System-on-Chip-Lösungen in Sensor-Anwendungen

Lunge J1 J2 W1 W2 45 PSNR Ratio. Angiogramm J1 J2 W1 W2 PSNR Ratio

Übung 1: Quellencodierung

EHP Einführung Projekt A

Bildverarbeitende Sensoren der intuitive Einstieg in die Bildverarbeitung

5 Zusammengesetzte und reguläre Schaltungsstrukturen

2. Digitale Codierung und Übertragung

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Rechnerstrukturen Winter WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

EyeCheck Smart Cameras

JPEG2000. Gereon Schüller. mit X= schuelle Y= cs.uni-bonn.de. 13. Dezember Seminar Datenkompression

Willkommen. Programmierung (MGP) von FPGAs. zur Präsentation

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

Programmierbare Logik für die Displayansteuerung

Ein partitionierter Ansatz zur hardware-basierten Bild- und Videokomprimierung mit Wavelets

JPEG. Seminar: Kompressionsalgorithmen. Ruslan Ragimov. 5. September 2012

Vorteile digitaler Filter

Bildkompression mit Wavelet Transformationen FHTW Berlin Prof. Dr. H.L.Cycon

Multimediatechnik / Video

Jaro Razmowa Tonseminar SS2010

Projektarbeiten WiSe 13/14

Die Mathematik in der CD

Erfolg mit Embedded Vision Systemen. Dipl.-Ing. Carsten Strampe Embedded Vision Systeme 1

Sitzung: Bilder für das WWW

Kodierung. Kodierung von Zeichen mit dem ASCII-Code

Kompressionsverfahren- JPEG 2000

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

SC-CVL01. Art-Nr Hauptmerkmale. Spezifikationen. SC-CVL01 Smart Camera System, Farbe, 640x fps, Linux-OS, Optik, LED-Ring, VGA

Tutorial Komprimierung mit XviD

Bildkompression am Beispiel JPEG

Technologievergleich Digitalkamerasysteme

HOCHLEISTUNGSFÄHIGE VIDEO-CODECS

Multimediatechnik / Video

Digitale Bildverarbeitung (DBV)

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Durch die Analoge Aufbereitung der I/Q-Signale entstehen Phantomsignale (Spiegelungen/Mehrfachempfang)

BENUTZERANLEITUNG Adobe Media Encoder

Digital Signal Processing

Kapitel 2: Informationstheorie. 3. Quellencodierung

Konzepte der Informatik

Optimales Zusammenspiel von Kamera und Optik. Carl Zeiss AG, Udo Schellenbach, PH-V

Videokonferenzsysteme. H.L.Cycon FHTW Berlin

Die Digitalisierung von Musik

Übung zu Drahtlose Kommunikation. 7. Übung

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Ettlingen _ // Ettlingen // 2008

Diskrete Cosinus-Transformation (DCT)

Beste Bildqualität mit 6 Megapixeln!

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

SC-MVC02. Art-Nr Hauptmerkmale. Spezifikationen. SC-MVC02 Smart Camera System, s/w, 752x fps, Linux-OS, CS-Mount, Wide-VGA

Partielle Verschlüsselung von JPEG2000 Fingerprints

Informatik-Projekt 9: Progressive Movie File

... Konfiguration des IO [io] 8000 in einem LAN?

IuK-Projekt am Institut für Mikroelektronik und Eingebettete Systeme. Prof. Dr.-Ing. Peter Schulz Sommersemester 2013

Datenblatt - Fiche technique - Data sheet

Digitale Bilddateien

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Ergebnis der. Einspielen in. Bearbeitung im Belichtung Aufnahme. Wandlung des Datenstroms in Dateien durch Codec, 2. Kompression der Daten

Einführung in Kompressionstechniken

GigE Vision Kamera Line up Die Kompakte mit exzellenter Bildqualität

HDTV für industrielles Fernsehen und Bildverarbeitung

Multimediatechnik / Video

13 Programmierbare Speicher- und Logikbausteine

Moderne Videotechnik für Krankenhäuser

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte

Wie es Euch gefällt Pixelvorverarbeitung oder RAW-Format

Praktischer DivX Workshop. Horst Wenske Entropia e.v.

Zwei- und dreidimensionale Rauschreduzierung bei Videoüberwachungskameras. White Paper

Videotechnik - die Grundlagen

Datenblatt - Fiche technique - Data sheet

Transkript:

1.5 GPixel/s komprimieren KTI-Projekt Hochgeschwindigkeitskameras mit integrierter Videokompression IMVS: Christoph Stamm IME: Michael Pichler, Dino Zardet, Nils Frey, Marcel Baier

in Zahlen und Stichworten Geplante Laufzeit 18 Monate, ab. 1.1.2016 (Verzögerung um 1 Jahr bei AOS) Projektkosten wer den Kuchen bäckt wer den Kuchen isst KTI 320 kfr AOS 350 kfr Projektablauf AOS entwickelt neue Kamera und neue Video-Verarbeitungssoftware IMVS entwickelt Videokompressionsverfahren (Codec) in C++ schnellen Decoder für die GPU in OpenCL IME adaptiert das Codec und entwickelt IME 260 kfr IMVS 90 kfr den Encoder des Videokompressionsverfahrens für ein FPGA AOS 320 kfr 02.05.2017 Highspeed Codec 2

es läuft nicht immer rund 02.05.2017 Highspeed Codec 3

Hintergrund kurz erklärt Problemstellung mit den sehr kompakten Hochgeschwindigkeitskameras der Firma AOS Technologies (Baden-Dättwil) lassen sich nur sehr kurze Aufnahmesequenzen (maximal 8 Sekunden) in der Kamera abspeichern bei der Überwachung von sehr schnellen industriellen Prozessen braucht es öfters längere Aufnahmesequenzen (z.b. 1 Minute), um unvorhergesehene Abläufe in einem Video festhalten zu können mögliche Lösungsansätze Konsequenzen Video-Streaming an PC verringerte Bildauflösung oder spezielle Hardware für Bildübertragung mehr Speicher in der Kamera sehr schneller Speicher ist sehr teuer und Kamera wird grösser Videodaten komprimieren Kamera benötigt mehr Rechenleistung 02.05.2017 Highspeed Codec 4

vom (Farb-)Bild zur Bewegung Maximale Bildauflösung 1696 x 1710 2.9 MPixel (soll in Zukunft erhöht werden) Bildraten 500 Bilder/s bei voller Auflösung 4500 Bilder/s bei 640 x 480 Sensortypen monochrom oder Bayer-Mask 02.05.2017 Highspeed Codec 5

komprimieren ja, aber Anforderungen an unseren Echtzeit-Encoder in der Kamera Echtzeitanforderung erfüllen: 1.5 GPixel/s minimaler Ressourcenverbrauch verlustlose Kompression (möglichst hohe Kompressionsrate) verlustbehaftete Kompression (möglichst hohe Videoqualität bei gegebener Kompressionsrate) abgeleitete Anforderungen Datenfolge des Sensors berücksichtigen minimaler Speicherbedarf (wenige Bildzeilen) möglichst einfache Arithmetik (nur ganze Zahlen, Add/Sub/Shift) möglichst gute Parallelisierbarkeit Konsequenzen Standard Video-/Bild-Codecs eignen sich nicht 02.05.2017 Highspeed Codec 6

in fünf Schritten zum Ziel FPN Pre-Correction color transform Bayer - YUVD FWT quantization encoding encoded image FPN Delta-Correct. inv. color transform YUVD - Bayer inverse FWT dequanti - zation decoding Originalbild Codierung Komprimiertes Schnelle Farbtransformation Fixed Quantisierung Pattern Diskrete (Huffman Noise Bild Wavelet-Transformation Removal und Run-Length (FPN) Encoding) (FWT) Bayer-Pattern Ziel möglichst Reduktion Informationskonzentration Rauschen RGGB kompakte, gute des der CMOS-Bildsensors Redundanz oder Anzahl Qualität Variante verlustlose unterschiedlicher bei innerhalb auf maximaler davon einen Speicherung entfernen eines Helligkeitskanal Codierungsgeschwindigkeit Wavelet-Koeffizienten Kanals und Y Erzeugung und von U (verlustbehaftet) und Koeffizienten minimaler V sind Chrominanzkanäle, Dateigrösse mit kleinem Absolutwert D ist die Gründifferenz 02.05.2017 Highspeed Codec 7

«CMOS» rauscht ganz schön übel 02.05.2017 Highspeed Codec 8

lästiges Rauschen unterdrücken Fixed Pattern Noise (FPN) Removal bisher: quadratische Korrekturfunktion pro Pixel: yy = aaxx 2 + bbbb + cc (3 Korrekturparameter a, b, c mit insgesamt 48 Bit pro Pixel) neu: Vorkorrektur mit 10 Bit pro Pixel Sensor- Frame vollständige FPN- Korrektur Bayer- Pattern PSNR Bayer- Pattern 10-Bit FPN- Pre- Correction HVC Encoding HVC Decoding FPN-Delta- Correction 02.05.2017 Highspeed Codec 9

Energie bündeln lohnt sich Ziel der Farbtransformation Bildenergie auf einen Kanal konzentrieren 02.05.2017 Highspeed Codec 10

mit kleinen Wellen trennen 1.E+11 1.E+10 1.E+09 1.E+08 1.E+07 1.E+06 1.E+05 1.E+04 1.E+03 1.E+02 1.E+01 1.E+00 Mehrstufige Wavelet- Transformation viel Detailinformation von Durchschnittsinformation trennen Hochpass-Filter und Tiefpass-Filter -512-488 -464-440 -416-392 -368-344 -320-296 -272-248 -224-200 -176-152 -128-104 -80-56 -32-8 16 40 64 88 112 136 160 184 208 232 256 280 304 328 352 376 400 424 448 472 496 02.05.2017 Highspeed Codec 11

Details der Details entfernen Quantisierung der Wavelet-Koeffizienten Quantisierungsparameter steuert die Stärke des Datenverlusts und somit die Kompressionsrate uniforme, skalare Quantisierung abhängig von Subband und Level Spannweiten sind Zweierpotenzen Neue Erkenntnis durch Variieren der Breite der Dead-Zone kann eine zusätzliche Verfeinerung der Quantisierung erreicht werden, z.b. 5 oder 9 Unterstufen Dead-Zone 02.05.2017 Highspeed Codec 12

Bildqualität kann gewählt werden Hochgeschwindigkeitskameras in Industrie und Forschung Kameras sind Messmittel zur Erzeugung «technischer» Bilder 02.05.2017 Highspeed Codec 13

Daten weiter eindampfen Codierung der quantisierten Wavelet-Koeffizienten häufige Wavelet-Koeffizienten (mit kleinem Absolutwert) sollen durch kurze Präfix-Codes repräsentiert werden Codewörter variieren in der Länge zwischen 1 und ca. 50 Bit Huffman-Codierung mit fixer Code-Tabelle lässt sich einfach parallelisieren zusätzliches adaptives Run-Length-Encoding von Nullersequenzen kann die Kompressionsrate weiter erhöhen erschwert aber die Parallelisierbarkeit und die Umsetzung in einem FPGA 02.05.2017 Highspeed Codec 14

Bildqualität in Zahlen ausgedrückt Original 40 db 35 db 31 db 02.05.2017 Highspeed Codec 15

der Einfluss der Todeszone PSNR [db] 100.0 90.0 80.0 70.0 60.0 50.0 40.0 30.0 20.0 10.0 0.0 infinity 48.8 PSNR of Airbag Q-MIZE 42.6 38.9 35.6 32.3 29.2 0 1 2 3 4 5 6 QP Ratio of Airbag Q-MIZE Dead-Zone 4/4 Dead-Zone 5/4 Dead-Zone 6/4 Dead-Zone 7/4 Dead-Zone 8/4 Compression Ratio 50.0 45.0 40.0 35.0 30.0 25.0 20.0 15.0 10.0 5.0 0.0 34.9 17.7 9.4 1.7 1.8 2.8 4.9 0 1 2 3 4 5 6 Dead-Zone 4/4 Dead-Zone 5/4 Dead-Zone 6/4 Dead-Zone 7/4 Dead-Zone 8/4 QP 02.05.2017 Highspeed Codec 16

die zu erwartenden Resultate 60.0 50.0 40.0 38.7 39.2 41.6 41.5 50.7 38.3 39.1 43.2 45.9 38.8 PSNR [db] 30.0 31.8 Ratio = 5 20.0 Ratio = 7.5 Ratio = 10 10.0 0.0 02.05.2017 Highspeed Codec 17

Umsetzung Encoder in Hardware Ziel: Verarbeitung von 500 Vollformat-Bilder pro Sekunde in Echtzeit = 1.5 GPixel/s = 11.6 Gbit/s Realisierung des Encoders 1. CPU 15 MPixel/s (f = 3 GHz) 2. GPU 150 MPixel/s (f = 1.1 GHz) 3. FPGA 1500 MPixel/s? (f = 103 MHz) 02.05.2017 Highspeed Codec 18

Was ist ein FPGA FPGA: Field Programmable Gate Array Im Feld programmierbare (Logik-)Gatter-Anordnung digitale Logikblöcke in einer regelmässigen Struktur angeordnet Funktion der einzelnen Logikblöcke ist vom Anwender programmierbar CLB: Configurable Logic Block PSM: Programmable Switch Matrix IOB: Input / Output Block 02.05.2017 Highspeed Codec 19

FPGA Design Flow Design Eingabe Simulation Synthese Simulation Implementation Simulation Programmierung 02.05.2017 Highspeed Codec 20

FPGA Entwicklung Keine Knopfdrucklösung (C++ -> FPGA) z.b. Adaptives RLE: 30 Zeilen C++ Code, 1 Monat Arbeit für VHDL Code C++ Code -> hardwarenahes bit-genaues C++ Modell VHDL codieren Vergleich der Ausgangsdaten (VHDL C++) hardwarenaher bit-genauer C++ Code vergleichen vergleichen vergleichen vergleichen vergleichen VHDL Code 02.05.2017 Highspeed Codec 21

Ein Blick ins Innere der Kamera 02.05.2017 Highspeed Codec 22

Anpassung Kamera-Hardware Sensor Recorder FPGA/ Memory CPU Sensor Coder FPGA Recorder FPGA/ Memory CPU 02.05.2017 Highspeed Compression 23

vom Kunstfehler zur Fehlerkunst Danke für Ihre Aufmerksamkeit CodecArt http://web.fhnw.ch/technik/projekte/computervision/codecart 02.05.2017 Highspeed Codec 24