Softwarebasierte Echtzeitverarbeitung von Videosignalen durch skalierbare Priority Processing Algorithmen
Autori
Viac o knihe
Für die Signalverarbeitung in multimediafähigen Systemen stehen heute eine Vielzahl programmierbarer Plattformen zur Verfügung. Solche Systeme zeichnen sich durch eine hohe Flexibilität und Anpassbarkeit aus. Doch gerade im Videobereich sind die Anforderungen, die an softwarebasierte Lösungen gestellt werden, sehr hoch. Neben einer hohen Verarbeitungsqualität werden eine Stabilität und Robustheit erwartet, die vergleichbar mit derer spezialisierter Hardwarelösungen ist. Prinzipiell ist aber die Einhaltung von Echtzeitkriterien eines der Hauptprobleme softwarebasierter Videosignalverarbeitung. Programmierbare Plattformen werden sehr aufwändig und vor allem teuer, wenn Echtzeitanforderungen zu erfüllen sind. Der angestrebten Flexibilität steht ein hoher Realisierungsaufwand auf Hardwareebene gegenüber. In diesem Kontext stellt diese Arbeit eine sehr effiziente Lösung dieses Problems auf Softwareebene dar. Priority Processing beschreibt die Modifikation der Bearbeitungsreihenfolge eines Algorithmus zur Signalverarbeitung in Abhängigkeit der Wichtigkeit. Für die Videosignalverarbeitung bedeutet das die vorrangige Bearbeitung für den Betrachter wichtiger Bildbereiche, während unwichtige Bereiche darauffolgend oder gar nicht verarbeitet werden. Weiterhin besteht die Möglichkeit eines kontrollierten vorzeitigen Abbruchs der Verarbeitung, um ein bis dahin erreichtes Ergebnis ausgeben zu können. In dieser Arbeit wird das Prinzip des Priority Processing aus theoretischer Sicht definiert und seine Anwendung in Form eines universell anwendbaren Frameworks beschrieben. Auf diesem Framework basierend werden mit einem skalierbaren Deinterlacer und einem skalierbaren Algorithmus zur Bildvergrößerung zwei wichtige Algorithmen aus dem Bereich der Videosignalverarbeitung beispielhaft implementiert und experimentell untersucht. Es erfolgt eine Analyse und die Bewertung der erreichten Ausgabequalität in Bezug zur konsumierten Rechenzeit sowohl einzelner als auch in einem Gesamtsystem konkurrierender Priority Processing Algorithmen. Die Untersuchungen bestätigen, dass sich durch Priority Processing die Arbeitsweise von Softwarekomponenten quasi stufenlos an die verfügbare Rechenkapazität einer programmierbaren Plattform anpassen lässt. Die konsumierten Ressourcen werden gezielt zur schnellstmöglichen Erhöhung der Ausgabequalität eingesetzt, so dass selbst bei einem vorzeitigen Abbruch der Verarbeitung eine bis dahin bestmögliche Ergebnisqualität ausgegeben werden kann. Dieses neuartige Verarbeitungsprinzip garantiert eine Echtzeitverarbeitung von Videosignalen, selbst wenn verfügbare Plattformressourcen limitiert sind und der Ressourcenbedarf einer Funktion bildinhaltsabhängig fluktuiert.