• Save
Video-Konvertierung über GPGPU mit RIA-FrontEnd
Upcoming SlideShare
Loading in...5
×
 

Video-Konvertierung über GPGPU mit RIA-FrontEnd

on

  • 1,003 views

 

Statistics

Views

Total Views
1,003
Views on SlideShare
1,001
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Video-Konvertierung über GPGPU mit RIA-FrontEnd Video-Konvertierung über GPGPU mit RIA-FrontEnd Presentation Transcript

  • MSE-Projekt
    GPGPU-Videoverarbeitung mit
    Rich Internet Application-Fontend
    Christian Froh, Marcus Geißler, Sebastian Tippelt
  • Übersicht - Backend
    2
    • Einleitung
    • Frontend-Entwicklung
    • Backend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    Christian Froh, Marcus Geißler, Sebastian Tippelt
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 3
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    3
    Einleitung
    Videoverarbeitungssoftware mit Web-Frontend
    Zielgruppe:
    kleine und mittelständische Unternehmen
    Netbook/Notebook-Nutzer
    Virtualisierte Umgebung
    Verarbeitung auf der GPU  Kompensation des Upload-Overheads
    Verarbeitung des Videos mit Effekten
    Effektivitätsanalyse
    Web-Frontend als RIA
    Interaktive Bedienung
    Online-App mit Desktop-ähnlicher Oberfläche
    Christian Froh, Marcus Geißler, Sebastian Tippelt
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 4
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    4
    Einleitung
    Christian Froh, Marcus Geißler, Sebastian Tippelt
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 5
    • Effektberechnung auf der GPU
    • Verbindung von GPGPU und OpenCV
    • Videoverarbeitung mit OpenCV
    • ODBC-Datenbankverbindung
    • Effektivitätsanalyse
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    5
    Effektberechnung auf der GPU
    Genutzte Technologie ist freies OpenCL (32- und 64Bit verfügbar)
    Möglichkeit zur Server-Erweiterung und Portierung auf ATI-PCs
    Behandlung der Bilder als Pixel-Stream
    Alle GPU-Berechnungen gleich für alle Konfigurationen
    Statische Kernels und Puffer, dynamische Datensätze
    Kein Mapping (pinnedBuffers), da nachladen der Bildinformationen
    Laden eines Bildes in den globalen GDRAM
    Multi-Kernel-Verarbeitung der einzelnen Effekte
    Für Effektberechnung Vorteilhaft: YIQ-Farbraum
    Daher: Konvertierung von Byte-Werten in Fließkomma-zahlen
    Christian Froh, Marcus Geißler, Sebastian Tippelt
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 6
    • Effektberechnung auf der GPU
    • Verbindung von GPGPU und OpenCV
    • Videoverarbeitung mit OpenCV
    • ODBC-Datenbankverbindung
    • Effektivitätsanalyse
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    6
    Effektberechnung auf der GPU
    Helligkeitsinformationen sehr entscheidend für Wahrnehmung
    Anwendung von Helligkeits- und Kontraständerungen nur auf Y-Kanal
    Anwendung von Schärfung und Gaußfilter auf Y,I und Q-Kanal
    Bei „Graustufenbild“ wird I- und Q-Kanal verworfen
    Sepia-Effekt findet Anwendung auf RGB-Ergebnis
    Christian Froh, Marcus Geißler, Sebastian Tippelt
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 7
    • Effektberechnung auf der GPU
    • Verbindung von GPGPU und OpenCV
    • Videoverarbeitung mit OpenCV
    • ODBC-Datenbankverbindung
    • Effektivitätsanalyse
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    7
    Verbindung von GPGPU und OpenCV
    Abstaktionsniveau in GPU:
    Pixel
    Bild
    Bilder werden von OpenCV an die GPU gesandt
    Einzelbilder sind Teil-informationen der Videos
    Weitergabe der Bilder über GPGPU-Tech-Verbindungs-klasse
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 8
    • Effektberechnung auf der GPU
    • Verbindung von GPGPU und OpenCV
    • Videoverarbeitung mit OpenCV
    • ODBC-Datenbankverbindung
    • Effektivitätsanalyse
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    8
    Videoverarbeitung mit OpenCV
    Laden der Videos mittels OpenCV-Interfaces zu FFMPEG
    Unterstützte Codecs:
    MPEG-1
    MPEG-4
    FLV
    H.263
    DivX
    Motion JPEG
    Sequenz von Einzelbildern wird aus Video-Stream und an die GPGPU-Klasse gesandt
    Hin- und Rückkonvertierung nötig (BBGGRR in RGBRGB)
    Skalierung und parallele Abspeicherung mehrerer Konfigurationen
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 9
    • Effektberechnung auf der GPU
    • Verbindung von GPGPU und OpenCV
    • Videoverarbeitung mit OpenCV
    • ODBC-Datenbankverbindung
    • Effektivitätsanalyse
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    9
    Videoverarbeitung mit OpenCV
    Unterstützte Container-Formate:
    wmv
    avi
    mpg
    mov
    Mp4
    Flv
    Grundlegendes Problem: OpenCV nur in 32 Bit verfügbar
    Daher: Programm muss ausschließlich in 32 Bit x86-Architektur kompiliert und auf 64-Bit System zum laufen gebracht werden
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 10
    • Effektberechnung auf der GPU
    • Verbindung von GPGPU und OpenCV
    • Videoverarbeitung mit OpenCV
    • ODBC-Datenbankverbindung
    • Effektivitätsanalyse
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    10
    ODBC-Datenbankverbindung
    • Datenbankverbindung wird durch MFC-Klassenpaket „Cdatabase“ hergestellt
    • ODBC als Grundlage
    • ODBC in 64 Bit und 32 Bit verfügbar
    • C++ Programmierung mit Exception-Handling
    • Grundlegender ODBC-Treiber zur MS SQL Server Datenbank: MS SQL Native 10.0
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 11
    • Effektberechnung auf der GPU
    • Verbindung von GPGPU und OpenCV
    • Videoverarbeitung mit OpenCV
    • ODBC-Datenbankverbindung
    • Effektivitätsanalyse
    • Einleitung
    • Backend-Entwicklung
    • Frontend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    11
    Effektivitätsanalyse
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 12
    • Einleitung
    • Frontend-Entwicklung
    • Backend-Entwicklung
    • Server-Konfiguration
    • Fusion
    • Präsentation
    12
    Frontend-Entwicklung
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 13
    • Effekte
    • Unabhängige Kernel-Abschaltung
    • Seitenverhältnisanpassung
    • Laufzeit-Test und Messung
    • Database-Interface
    • Fortschrittsplan
    13
    Laufzeit-Test und Messung
    1. Video: Dauer: 0:00:09 Eingang: <Format> / MOV
    Konvertierung in Motion JPEG / MOV / 1280x720 – 0:03:14
    Konvertierung in MPEG-4 / AVI / 1280x720 – 0:57:47
    2. Video: Dauer: 0:01:40 Eingang: <Format> / MOV
    Konvertierung in MPEG-4 / AVI / 960x720 – 0:08:32
    3. Video: Dauer: 0:21:11 Eingang: MPEG-4 / AVI / 640x480
    Konvertierung in MPEG-4 (Gray) / AVI / 1280x720 – 0:25:53
    • Software läuft für:
    • Unterschiedliche Formate
    • Unterschiedliche Dateiendungen
    • Unterschiedliche Auflösungen
    • Unterschiedliche Kernelwahl
    • Geschwindigkeitszuwachs zur letzten Version: Faktor 20-25
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 14
    • Effekte
    • Unabhängige Kernel-Abschaltung
    • Seitenverhältnisanpassung
    • Laufzeit-Test und Messung
    • Database-Interface
    • Fortschrittsplan
    14
    Datenbank-Interface
    Nutzung von MS-SQL-ODBC-Treibern und MFC-“CDatabase“
    typedefstruct _VideoProject
    {
    intproject_id;
    //ANNOTATION: depth of config_ids = depth of codecs = depth of datatypes
    int* config_ids;
    //signfor multi-file videoorsinglevideo
    boolmode;
    char* filepath[512];
    //ANNOTATION: Rule : codecs[i] -> datatypes[i]
    char** codecs;
    char** datatypes;
    intdestination_width;
    intdestination_height;
    floataspect_ratio;
    floatcontrast;
    floatluminance;
    floatgamma;
    floatsigma;
    floatalpha_edge;
    intcolor_mode;
    intinterpolation_type;
    } VideoProject;
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik
  • 15
    • Effekte
    • Unabhängige Kernel-Abschaltung
    • Seitenverhältnisanpassung
    • Laufzeit-Test und Messung
    • Database-Interface
    • Fortschrittsplan
    15
    Fortschrittsplan
    Schlüsselbildextraktion
    Lösung AVCHD-Problem
    Video-Verbindungsklasse
    CPU-Effektprogramm für Modifikation der Schlüsselbilder
    Anfertigung des DB-Interfaces / Komplettierung
    DB-Trigger
    Christian Kehl, Henry Schneider
    Fakultät für Ingenieurwissenschaften
    Bereich Elektrotechnik und Informatik