Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
MSE-Projekt<br />GPGPU-Videoverarbeitung mit<br />Rich Internet Application-Fontend<br />Christian Froh, Marcus Geißler, S...
Übersicht - Backend<br />2<br /><ul><li>Einleitung
 Frontend-Entwicklung
Backend-Entwicklung
Server-Konfiguration
 Fusion
 Präsentation</li></ul>Christian Froh, Marcus Geißler, Sebastian Tippelt<br />Fakultät für Ingenieurwissenschaften<br />Be...
3<br /><ul><li> Einleitung
 Backend-Entwicklung
 Frontend-Entwicklung
 Server-Konfiguration
Fusion
 Präsentation</li></ul>3<br />Einleitung<br />Videoverarbeitungssoftware mit Web-Frontend<br />Zielgruppe:<br />kleine und...
4<br /><ul><li> Einleitung
 Backend-Entwicklung
Nächste SlideShare
Wird geladen in …5
×

Video-Konvertierung über GPGPU mit RIA-FrontEnd

1.743 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung, Technologie, Unterhaltung & Humor
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Video-Konvertierung über GPGPU mit RIA-FrontEnd

  1. 1. MSE-Projekt<br />GPGPU-Videoverarbeitung mit<br />Rich Internet Application-Fontend<br />Christian Froh, Marcus Geißler, Sebastian Tippelt<br />
  2. 2. Übersicht - Backend<br />2<br /><ul><li>Einleitung
  3. 3. Frontend-Entwicklung
  4. 4. Backend-Entwicklung
  5. 5. Server-Konfiguration
  6. 6. Fusion
  7. 7. Präsentation</li></ul>Christian Froh, Marcus Geißler, Sebastian Tippelt<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  8. 8. 3<br /><ul><li> Einleitung
  9. 9. Backend-Entwicklung
  10. 10. Frontend-Entwicklung
  11. 11. Server-Konfiguration
  12. 12. Fusion
  13. 13. Präsentation</li></ul>3<br />Einleitung<br />Videoverarbeitungssoftware mit Web-Frontend<br />Zielgruppe:<br />kleine und mittelständische Unternehmen<br />Netbook/Notebook-Nutzer<br />Virtualisierte Umgebung<br />Verarbeitung auf der GPU  Kompensation des Upload-Overheads<br />Verarbeitung des Videos mit Effekten<br />Effektivitätsanalyse<br />Web-Frontend als RIA<br />Interaktive Bedienung<br />Online-App mit Desktop-ähnlicher Oberfläche<br />Christian Froh, Marcus Geißler, Sebastian Tippelt<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  14. 14. 4<br /><ul><li> Einleitung
  15. 15. Backend-Entwicklung
  16. 16. Frontend-Entwicklung
  17. 17. Server-Konfiguration
  18. 18. Fusion
  19. 19. Präsentation</li></ul>4<br />Einleitung<br />Christian Froh, Marcus Geißler, Sebastian Tippelt<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  20. 20. 5<br /><ul><li>Effektberechnung auf der GPU
  21. 21. Verbindung von GPGPU und OpenCV
  22. 22. Videoverarbeitung mit OpenCV
  23. 23. ODBC-Datenbankverbindung
  24. 24. Effektivitätsanalyse
  25. 25. Einleitung
  26. 26. Backend-Entwicklung
  27. 27. Frontend-Entwicklung
  28. 28. Server-Konfiguration
  29. 29. Fusion
  30. 30. Präsentation</li></ul>5<br />Effektberechnung auf der GPU<br />Genutzte Technologie ist freies OpenCL (32- und 64Bit verfügbar)<br />Möglichkeit zur Server-Erweiterung und Portierung auf ATI-PCs<br />Behandlung der Bilder als Pixel-Stream<br />Alle GPU-Berechnungen gleich für alle Konfigurationen<br />Statische Kernels und Puffer, dynamische Datensätze<br />Kein Mapping (pinnedBuffers), da nachladen der Bildinformationen<br />Laden eines Bildes in den globalen GDRAM<br />Multi-Kernel-Verarbeitung der einzelnen Effekte<br />Für Effektberechnung Vorteilhaft: YIQ-Farbraum<br />Daher: Konvertierung von Byte-Werten in Fließkomma-zahlen<br />Christian Froh, Marcus Geißler, Sebastian Tippelt<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  31. 31. 6<br /><ul><li>Effektberechnung auf der GPU
  32. 32. Verbindung von GPGPU und OpenCV
  33. 33. Videoverarbeitung mit OpenCV
  34. 34. ODBC-Datenbankverbindung
  35. 35. Effektivitätsanalyse
  36. 36. Einleitung
  37. 37. Backend-Entwicklung
  38. 38. Frontend-Entwicklung
  39. 39. Server-Konfiguration
  40. 40. Fusion
  41. 41. Präsentation</li></ul>6<br />Effektberechnung auf der GPU<br />Helligkeitsinformationen sehr entscheidend für Wahrnehmung<br />Anwendung von Helligkeits- und Kontraständerungen nur auf Y-Kanal<br />Anwendung von Schärfung und Gaußfilter auf Y,I und Q-Kanal<br />Bei „Graustufenbild“ wird I- und Q-Kanal verworfen<br />Sepia-Effekt findet Anwendung auf RGB-Ergebnis<br />Christian Froh, Marcus Geißler, Sebastian Tippelt<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  42. 42. 7<br /><ul><li>Effektberechnung auf der GPU
  43. 43. Verbindung von GPGPU und OpenCV
  44. 44. Videoverarbeitung mit OpenCV
  45. 45. ODBC-Datenbankverbindung
  46. 46. Effektivitätsanalyse
  47. 47. Einleitung
  48. 48. Backend-Entwicklung
  49. 49. Frontend-Entwicklung
  50. 50. Server-Konfiguration
  51. 51. Fusion
  52. 52. Präsentation</li></ul>7<br />Verbindung von GPGPU und OpenCV<br />Abstaktionsniveau in GPU:<br />Pixel<br />Bild<br />Bilder werden von OpenCV an die GPU gesandt<br />Einzelbilder sind Teil-informationen der Videos<br />Weitergabe der Bilder über GPGPU-Tech-Verbindungs-klasse<br />Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  53. 53. 8<br /><ul><li>Effektberechnung auf der GPU
  54. 54. Verbindung von GPGPU und OpenCV
  55. 55. Videoverarbeitung mit OpenCV
  56. 56. ODBC-Datenbankverbindung
  57. 57. Effektivitätsanalyse
  58. 58. Einleitung
  59. 59. Backend-Entwicklung
  60. 60. Frontend-Entwicklung
  61. 61. Server-Konfiguration
  62. 62. Fusion
  63. 63. Präsentation</li></ul>8<br />Videoverarbeitung mit OpenCV<br />Laden der Videos mittels OpenCV-Interfaces zu FFMPEG<br />Unterstützte Codecs:<br />MPEG-1<br />MPEG-4<br />FLV<br />H.263<br />DivX<br />Motion JPEG<br />Sequenz von Einzelbildern wird aus Video-Stream und an die GPGPU-Klasse gesandt<br />Hin- und Rückkonvertierung nötig (BBGGRR in RGBRGB)<br />Skalierung und parallele Abspeicherung mehrerer Konfigurationen<br />Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  64. 64. 9<br /><ul><li>Effektberechnung auf der GPU
  65. 65. Verbindung von GPGPU und OpenCV
  66. 66. Videoverarbeitung mit OpenCV
  67. 67. ODBC-Datenbankverbindung
  68. 68. Effektivitätsanalyse
  69. 69. Einleitung
  70. 70. Backend-Entwicklung
  71. 71. Frontend-Entwicklung
  72. 72. Server-Konfiguration
  73. 73. Fusion
  74. 74. Präsentation</li></ul>9<br />Videoverarbeitung mit OpenCV<br />Unterstützte Container-Formate:<br />wmv<br />avi<br />mpg<br />mov<br />Mp4<br />Flv<br />Grundlegendes Problem: OpenCV nur in 32 Bit verfügbar<br />Daher: Programm muss ausschließlich in 32 Bit x86-Architektur kompiliert und auf 64-Bit System zum laufen gebracht werden<br />Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  75. 75. 10<br /><ul><li>Effektberechnung auf der GPU
  76. 76. Verbindung von GPGPU und OpenCV
  77. 77. Videoverarbeitung mit OpenCV
  78. 78. ODBC-Datenbankverbindung
  79. 79. Effektivitätsanalyse
  80. 80. Einleitung
  81. 81. Backend-Entwicklung
  82. 82. Frontend-Entwicklung
  83. 83. Server-Konfiguration
  84. 84. Fusion
  85. 85. Präsentation</li></ul>10<br />ODBC-Datenbankverbindung<br /><ul><li>Datenbankverbindung wird durch MFC-Klassenpaket „Cdatabase“ hergestellt
  86. 86. ODBC als Grundlage
  87. 87. ODBC in 64 Bit und 32 Bit verfügbar
  88. 88. C++ Programmierung mit Exception-Handling
  89. 89. Grundlegender ODBC-Treiber zur MS SQL Server Datenbank: MS SQL Native 10.0</li></ul>Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  90. 90. 11<br /><ul><li>Effektberechnung auf der GPU
  91. 91. Verbindung von GPGPU und OpenCV
  92. 92. Videoverarbeitung mit OpenCV
  93. 93. ODBC-Datenbankverbindung
  94. 94. Effektivitätsanalyse
  95. 95. Einleitung
  96. 96. Backend-Entwicklung
  97. 97. Frontend-Entwicklung
  98. 98. Server-Konfiguration
  99. 99. Fusion
  100. 100. Präsentation</li></ul>11<br />Effektivitätsanalyse<br />Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  101. 101. 12<br /><ul><li> Einleitung
  102. 102. Frontend-Entwicklung
  103. 103. Backend-Entwicklung
  104. 104. Server-Konfiguration
  105. 105. Fusion
  106. 106. Präsentation</li></ul>12<br />Frontend-Entwicklung<br />Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  107. 107. 13<br /><ul><li> Effekte
  108. 108. Unabhängige Kernel-Abschaltung
  109. 109. Seitenverhältnisanpassung
  110. 110. Laufzeit-Test und Messung
  111. 111. Database-Interface
  112. 112. Fortschrittsplan</li></ul>13<br />Laufzeit-Test und Messung<br />1. Video: Dauer: 0:00:09 Eingang: <Format> / MOV<br />Konvertierung in Motion JPEG / MOV / 1280x720 – 0:03:14<br />Konvertierung in MPEG-4 / AVI / 1280x720 – 0:57:47<br />2. Video: Dauer: 0:01:40 Eingang: <Format> / MOV<br />Konvertierung in MPEG-4 / AVI / 960x720 – 0:08:32<br />3. Video: Dauer: 0:21:11 Eingang: MPEG-4 / AVI / 640x480<br />Konvertierung in MPEG-4 (Gray) / AVI / 1280x720 – 0:25:53<br /><ul><li>Software läuft für:
  113. 113. Unterschiedliche Formate
  114. 114. Unterschiedliche Dateiendungen
  115. 115. Unterschiedliche Auflösungen
  116. 116. Unterschiedliche Kernelwahl
  117. 117. Geschwindigkeitszuwachs zur letzten Version: Faktor 20-25</li></ul>Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  118. 118. 14<br /><ul><li> Effekte
  119. 119. Unabhängige Kernel-Abschaltung
  120. 120. Seitenverhältnisanpassung
  121. 121. Laufzeit-Test und Messung
  122. 122. Database-Interface
  123. 123. Fortschrittsplan</li></ul>14<br />Datenbank-Interface<br />Nutzung von MS-SQL-ODBC-Treibern und MFC-“CDatabase“<br />typedefstruct _VideoProject<br />{<br />intproject_id;<br />//ANNOTATION: depth of config_ids = depth of codecs = depth of datatypes<br />int* config_ids;<br />//signfor multi-file videoorsinglevideo<br />boolmode;<br />char* filepath[512];<br />//ANNOTATION: Rule : codecs[i] -> datatypes[i]<br />char** codecs;<br />char** datatypes;<br />intdestination_width;<br />intdestination_height;<br />floataspect_ratio;<br />floatcontrast;<br />floatluminance;<br />floatgamma;<br />floatsigma;<br />floatalpha_edge;<br />intcolor_mode;<br />intinterpolation_type;<br />} VideoProject;<br />Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />
  124. 124. 15<br /><ul><li> Effekte
  125. 125. Unabhängige Kernel-Abschaltung
  126. 126. Seitenverhältnisanpassung
  127. 127. Laufzeit-Test und Messung
  128. 128. Database-Interface
  129. 129. Fortschrittsplan</li></ul>15<br />Fortschrittsplan<br />Schlüsselbildextraktion<br />Lösung AVCHD-Problem<br />Video-Verbindungsklasse<br />CPU-Effektprogramm für Modifikation der Schlüsselbilder<br />Anfertigung des DB-Interfaces / Komplettierung<br />DB-Trigger<br />Christian Kehl, Henry Schneider<br />Fakultät für Ingenieurwissenschaften<br />Bereich Elektrotechnik und Informatik<br />

×