Synthese Eingebetteter Systeme. 17 Abbildung von Anwendungen: Entwurfsraumerkundung und Beispiele

Ähnliche Dokumente
Systempartitionierung. Hw-Sw-Co-Design

Kompressionsverfahren

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL

MPEG-1, MPEG-2 und MPEG-4. Projekt KlaVid

X Inhaltsverzeichnis 2.7 StrukturorientierteModelle Komponenten-Verbindungsdiagramm (CCD) HeterogeneModelle Kontr

WebM / VP 8. Seminar Kompressionsalgorithmen Sommer Juli von Daniel Wolf

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

Einführung Medienforscher Aufgabe 3 - MPEG. Tobias Reinsch 2011

7. Bewegtbilder. 7.1! Bewegungswahrnehmung! 7.2! Videokompression!!!! insbesondere MPEG-1 und MPEG-2! 7.3! Videodatenformate. Literatur:!

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Synthese Eingebetteter Systeme. Übung 6

Einführung Aufgabe 3 - MPEG. Tobias Reinsch 2011

Analyse und Vergleich aktueller Videokompressionsverfahren

Arne Heyna/Marc Briede/Ulrich Schmidt: Datenformate im Medienbereich, Fachbuchverlag Leipzig John Watkinson: The MPEG Handbook, Focal Press 2001

Praktikum: Informatik Hardware-Software-Co-Design

Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems

Untersuchungen zur effizienten Implementierung eines mathematischen Algorithmus in einem FPGA am Beispiel eines Sudoku-Lösers

Kompression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Folie 2

Multimediatechnik / Video

, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-D-VoD.fm, ]

Alle Fragen nach der Häufigkeit und Kategorie geordnet:

MPEG Video Layer 1. Fachbereich Medieninformatik. Hochschule Harz. Referat. Kolja Schoon. Thema: MPEG Video Layer 1

Image Compression. Vorlesung FH-Hagenberg DSB

Videokompression am Beispiel H.264

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

Synthese Eingebetteter Systeme. 12 Synthese: Bereitstellung (Allocation)

Videos für das Internet

Modell-Programmierte Roboter Regelung. Univ.-Prof. Dr. Michael Hofbaur Institut für Automatisierungs- und Regelungstechnik, UMIT, Hall i.

Rekonfigurierbare Komponenten für anwendungsspezifische Prozessorarchitekturen

GMM. Grundlagen Multimedia.

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Hauptseminar: Digitale Medien und Übertragungstechnik. Videokomprimierung. Teil I. Vortrag: Philipp Correll Betreuer: Deti Fliegl

Invertierung, Separierbarkeit

Digitales Video I. Wie wird Video am Computer codiert? Bilder. Bewegte Bilder. Ton. Videoformate. Auflösung Speicherung am Computer

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

UNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand

Independent JPEG Group. JPEG Software Tools

Digitalisierung. analoges Signal PAM. Quantisierung

Video. Grundlagen Videokompression

Digitales Fernsehen DVB

Beispielhafte Testfragen (auch aus Schülerreferaten, Fragen können redundant sein, keine Audio Kompression berücksichtigt):

Integrated HW/SW Systems Group 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel.

verschiedenen Recheneinheiten, die miteinander kommunizieren können

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

IHS2 Seminar. Jorge Meza Zusebau R2082, Tel: -4128

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

I Grundlagen der parallelen Programmierung 1

Parallele FFT-Algorithmen

Entwurf und Implementierung einer Prozessinterkommunikation für Multi-Core CPUs Workshop Echtzeit 2013

Configurable Embedded Systems

Digitales Video. Digitales Video

Transformationale Entwurfsraum-Exploration für den Entwurf eingebetteter Systeme

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2013

Implementierung eines universellen IPv6 Protokollstapels

11.1 Inhalte der Vorlesung Was ist ein Betriebssystem Zwei Sichten. Was ist ein Betriebssystem Zwei Sichten (Forts.) Abstraktionen

Frame Frame Frame Frame CIF/QCIF GOB GOB... GOB. Macro Block. Motion Vector

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

High Performance Embedded Processors

Generative Variantenkonfiguration für die plattformbasierte Entwicklung von Luftfahrtsystemen

Mobilkommunikation. Objektives und Subjektives Qualitätsmonitoring von H.264 IP Videostreams in Mobilfunknetzen. S. Küffner, O. Portugall, A.

Ein (7,4)-Code-Beispiel

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012

KTI-Projekt Hochgeschwindigkeitskameras mit integrierter Videokompression

Übung zur Vorlesung. Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Bounded Model Checking mit SystemC

Digitales Video I Wie wird Video am Computer codiert?

Nichtlineare Quantisierung

Seminar: 3D im Web. Kompression von 3D Szenen. Thorsten Gellermann

Visuelle Analyse großer Datenmengen

Vortrag zum Hauptseminar Hardware/Software Co-Design

COOL HASHING MIT FPGAS. Robert Bachran

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid

Memory Models Frederik Zipp

JPEG-Standbildcodierung

Medientechnik WS 2012/13. Medientechnik WS 2012/13 Manfred Jackel Universität Koblenz-Landau

JPEG, MPEG & Co. - Alex Titze. JPEG, MPEG & Co. Alex Titze Referat WS 2004 Konzepte Interaktiver Medien FHTW Berlin.

2.3 H.261 (8) 2.4 H.263

Inverse Probleme und Maschinelles Lernen

4. Segmentierung von Objekten Video - Inhaltsanalyse

4. Licht, Farbe und Bilder

Medien- Technik. Prinzip: Sequenz Digitaler Einzelbilder mit eingestreuten Ton-Samples

Anwendung von Co-Design für verteilte Echtzeitsysteme

Genetische Algorithmen von der Evolution lernen

Approximationsalgorithmen

Video-Encoding für die Flash Plattform. Florian Plag November 2009

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Audio Kompression: MPEG. Audio Kompression: MPEG. Audio Kompression: MPEG. Medien Technik. Medien Technik. Erlangen. Medien Technik.

Abwägen von Qualität und Leistung beim Dekodieren von H.264 Video. Diplomverteidigung Michael Roitzsch

Plug&Play Kompression mit dem Framework. Dominik Köppl Vortragsreihe der Regionalgruppe der Gesellschaft für Informatik aus Dortmund 4.

Compiler für f r Eingebettete Systeme (CfES)

Partitionierung von rechenintensiven Aufgaben zwischen FPGA und CPUs

6 Vergleich und Bewertung der Optimierungs und Meßergebnisse

Multimediadatensicherheit am Beispiel DVB

Transkript:

12 Synthese Eingebetteter Systeme Sommersemester 2011 17 Abbildung von Anwendungen: Entwurfsraumerkundung und Beispiele 2011/06/29 Michael Engel Informatik 12 TU Dortmund unter Verwendung von Foliensätzen von Prof. Lothar Thiele und Dr. Iuliana Bacivarov, ETH Zürich

DOL: Entwurfsraumerkungung & Beispiele Entwurfsraumerkundung Einfache Beispiele MPEG2-Decoder 12, 2011-2 -

Entwurfsraumerkundung 12, 2011-3 -

Entwurfsraumerkundung im Detail 12, 2011-4 -

Beispiel 1: Einfaches Modell Gegeben: Algorithmus Abbildungen Architektur Gesucht: Schedule Abbildung Architektur Ziele: Kosten, Latenzen, Energieverbrauch 12, 2011-5 -

Beispiel 1: Evolutionärer Algorithmus für Entwurfsraumerkundung 12, 2011-6 -

Beispiel 1: Basismodell Definition: Ein Spezifikationsgraph ist ein Graph G S =(V S,E S ) bestehend aus einem Datenflussgraphen G P, einem Architekturgraphen G A und Kanten E M. Es gilt: V S = V S V A E S = E P E A E M 12, 2011-7 -

Beispiel 1: Abbildung 12, 2011-8 -

Beispiel 1: Aufgaben Codierung von (Allokation + Bindung) Einfache Codierung Z.B. 1 Bit pro Ressource, eine Variable pro Bindung Einfach implementierbar Viele nicht realisierbare Lösungen Codierung und Reparatur Z.B. Einfache Codierung, abgeändert, so dass für jedes v p V P mindestens ein v A V A existiert mit einem β(v P ) = v A Reduziert Anzahl nicht realisierbarer Lösungen Erzeugung der Ausgangspopulation, Mutation Rekombination 12, 2011-9 -

Beispiel 1: Spezifikation Verhaltensspezifikation eines Videocodes für Videokompression 12, 2011-10 -

Beispiel 1: Spezifikation Problemgraph des Videocodierers 12, 2011-11 -

Beispiel 1: Spezifikation 12, 2011-12 -

Beispiel 1: Lösung 1 12, 2011-13 -

Beispiel 1: Lösung 2 12, 2011-14 -

Beispiel 2: Softwaresynthese 12, 2011-15 -

Beispiel 2: Optimierungskriterien 12, 2011-16 -

Beispiel 2: Trade-Offs im Pareto-Raum 12, 2011-17 -

Beispiel 3: Erkundungsstrategie 12, 2011-18 -

Beispiel 3: KPN für Motion JPEG Decoder 12, 2011-19 -

Beispiel 3: Ergebnis der funktionalen Simulation 12, 2011-20 -

Beispiel 3: Ergebnis von Plattform-Benchmarks Plattform-Benchmarks Kommunikationsbandbreite t(g) der Verbindung g Simulation einzelner Tasks 12, 2011-21 -

Beispiel 3: Überschlagsrechnung 12, 2011-22 -

Beispiel 3: Ergebnis der Erkundung 12, 2011-23 -

Beispiel 4: MPEG2-Decoder Verbreitetes Format für Videoinformationen Codierung und Decodierung: 12, 2011-24 -

Beispiel 4: MPEG2-Decoder Ausnutzung temporaler Redundanzen (Folgeframes) Wenig nützlich bei schnellen Bewegungen Ausnutzung von Bewegungsinformationen (motion compensation) zwischen Folgeframes 12, 2011-25 -

Beispiel 4: MPEG2-Decoder Verschiedene Frametypen I-Frames: least compressible but don't require other video frames to decode P-Frames: can use data from previous frames to decompress, more compressible than I frames B-Frames: can use both previous and forward frames for data reference to get the highest amount of data compression Group of Pictures (GOP): 1 I-Frame + n B-Frames + m P-Frames: 12, 2011-26 -

MPEG2-Decoder: Datenstruktur Struktur des MPEG2-Bitstroms: 12, 2011-27 -

MPEG2-Decoder: Details des Datenstroms Slices: Menge von Makroblöcken einer Zeile Makroblock: Information für motion compensation 12, 2011-28 -

MPEG2-Decoder: Ablauf im Detail Decodiervorgang: Frequenzbereich Konvertieren der Eingangsdaten (Lauflängencodiert) in Bewegungsvektoren und DCT-Koeffizienten Inverse Scan transformiert 1-dim. Strom in 2D-Array von Koeffizienten Inverse Quantization multipliziert Koeffizienten-Array mit Quantisierungsparameter und prüft Sättigung Luminanz-/Chrominanzwerte Inverse DCT: Transformation Frequenz- zu Bildbereich Motion Compensation (aufwändigster Schritt) 12, 2011-29 -

MPEG2-Decoder: Dateistruktur des Quellcodes Referenzimplementierung der MPEG Software Simulation Group (MSSG): mpeg2dec Dateistruktur: 12, 2011-30 -

MPEG2-Decoder: Codestruktur 12, 2011-31 -

MPEG2-Decoder: Parallelisierung Generischer Ansatz: Partitionierung Kommunikationsanalyse Agglomeration (Granularitätskontrolle) und Abbildung 12, 2011-32 -

MPEG2-Decoder: Parallelisierung Partitionierung Aufteilung von Kommunikation und Daten in kleinere Tasks Domain decomposition: Erst Aufteilung der Daten, dann Zuweisung von Berechnungen Ergibt Datenparallelität Functional decomposition: Erst Aufteilung der Berechnung, dann Zuweisung der zugehörigen Daten Ergibt Pipeline-Parallelität 12, 2011-33 -

MPEG2-Decoder: Parallelisierung Kommunikationsanalyse Nach der Aufteilung muss die Kommunikation zwischen den einzelnen Tasks analysiert werden Zugehörige Datenstrukturen werden definiert Agglomerationsphase Evaluation des Entwurfs Kombinierung von Tasks, wenn dies Leistung steigert oder Kosten senkt Abbildung Abbildung von Tasks auf Prozessoren Maximierung der Prozessorauslastung Minimierung der Kommunikationskosten 12, 2011-34 -

MPEG2-Decoder: Parallelisierung Modifikationen für DOL-basierte Parallelisierung des MPEG2-Decoders Manuelle Abbildungsstufe fällt weg: Aufgabe von DOL Komplexität und Verschachtelung des MPEG2-Decoders erfordert verbesserten Parallelisierungsansatz Aufteilung des Algorithmus in Abstraktionsebenen: Dateneinheit, Recheneinheit und erzeugtes Berechnungsergebnis Untersuchung von domain decomposition und functional decomposition für jede Abstraktionsebene Evaluation durch Kommunikationsanalyse Je weniger Inter-Prozess-Kommunikation, desto besser 12, 2011-35 -

MPEG2-Decoder: Abstraktionsebenen 12, 2011-36 -

MPEG2-Decoder: Abstraktionsebenen 12, 2011-37 -

MPEG2-Decoder: Domain decomposition Genereller Ablauf der domain decomposition: Realisierung auf Bildebene: 12, 2011-38 -

MPEG2-Decoder: Domain decomposition Makroblock-Ebene: Domain decomposition Anzahl der Blöcke in Makroblock bekannt Abhängig von Formatinformation im Header: 6, 8, 12 Functional decomposition Berechnung in drei Stufen: variable length decoding (VLD), block decoding und motion compensation (MC) Resultierende Pipeline auf Makroblock-Ebene: 12, 2011-39 -

MPEG2-Decoder: Domain decomposition Gewählte domain decompositions: Struktur der Pipeline: 12, 2011-40 -

MPEG2-Decoder: Prozessnetzwerk Resultierendes Prozessnetzwerk: 12, 2011-41 -

MPEG2-Decoder: Prozessnetzwerk Ausschnitt der XML-Definition des Prozessnetzwerks: 12, 2011-42 -

MPEG2-Decoder: Parameter Parametrisierung 12, 2011-43 -

MPEG2-Decoder: Parameter Parametrisierung 12, 2011-44 -

MPEG2-Decoder: Parameter Parametrisierung 12, 2011-45 -

MPEG2-Decoder: Profiling total ms per call: time spent in the fire function, including all sub functions calls: total number of calls Laufzeit: ms per call * calls 12, 2011-46 -

MPEG2-Decoder: Profiling Parallelisierung für drei Konfigurationen (N1, N2, N3) 12, 2011-47 -

MPEG2-Decoder: Ergebnisse Beispielarchitektur: 2 RISC-CPUs, 2 DSPs Konfiguration (1, 1, 1) Pipeline: Profiling: Schlecht balancierte Pipeline Große Variation der Ausführungszeiten: t(tb) 2* t(db) 4*t(dm) 12, 2011-48 -

MPEG2-Decoder: Ergebnisse Balancierung der Pipeline: 2 dispatch_block-, 4 transform_block-tasks: (2, 2, 2) 12, 2011-49 -

MPEG2-Decoder: Ergebnisse Profiling für (1, 1, 1) und (2, 2, 2): 12, 2011-50 -

MPEG2-Decoder: Multikriterielle Optimierung Rechenlast (x) und Kommunikationsaufwand (y) 12, 2011-51 -

MPEG2-Decoder: Multikriterielle Optimierung Rechenlast (x) und Kommunikationsaufwand (y): 4 Pareto-optimale Lösungen in Generation 200 des evolutionären Algorithmus 12, 2011-52 -

Zusammenfassung Entwurfsraumerkundung Beispiele 12, 2011-53 -