System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

17
System zur System zur Videokompression Videokompression Simone Buzzi Simone Buzzi Simon Häne Simon Häne Giuseppe Schiavello Giuseppe Schiavello

Transcript of System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

Page 1: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

System zur VideokompressionSystem zur Videokompression

Simone BuzziSimone BuzziSimon HäneSimon Häne

Giuseppe SchiavelloGiuseppe Schiavello

Page 2: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

VortragsVortragsübersichtübersicht

• Ziel der ArbeitZiel der Arbeit• EinfEinführung Hardwareührung Hardware• System ÜbersichtSystem Übersicht• System BeschreibungSystem Beschreibung• DemoDemo

Page 3: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

Ziel der ArbeitZiel der Arbeit

• Entwicklung eines Systems zur Entwicklung eines Systems zur Videokompression mit 3D-DCT ASICVideokompression mit 3D-DCT ASIC(am IIS entwickelt)(am IIS entwickelt)

• UnterstUnterstüzung verschiedener Video Signale üzung verschiedener Video Signale (analog & digital)(analog & digital)

• Konfigurierbares SystemKonfigurierbares System

• Hardware & SoftwareHardware & Software

Page 4: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

DecoderDecoder VideoengineVideoengine SDRAMSDRAM

EncoderEncoder

Video boardVideo board

Page 5: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

PLX 9080PLX 9080 Xilinx FPGAXilinx FPGA

PCI boardPCI board

Page 6: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

PCI: 32 Sitze

AusgangAusgang

TreiberTreiber

PCI BusPCI Bus

PLX 9080PLX 9080

Low-levelLow-level

GUIGUI

Xilinx FPGAXilinx FPGA

VideoengineVideoengine

FestplatteFestplatte

DecoderDecoder EncoderEncoder

Benutzer EingabeBenutzer EingabeEingangEingang

KonfigurationKonfigurationKompressionKompressionDekompressionDekompression

Page 7: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

ZielZiel• Benutzerfreundliche Benutzerfreundliche

und intuitive Eingabe und intuitive Eingabe

RealisierungRealisierung• Graphische Elemente von Graphische Elemente von

Trolltech Qt DesignerTrolltech Qt Designer• Programmierung in C++Programmierung in C++

TreiberTreiber

PCI BusPCI Bus

PLX 9080PLX 9080

Low-levelLow-level

GUIGUI

Xilinx FPGAXilinx FPGA

VideoengineVideoengine

HDHD

DecDec EncEnc

Page 8: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

« Konfigurationsbefehl »« Konfigurationsbefehl »« Speichern und Lesen von « Speichern und Lesen von

komprimierten Videodaten »komprimierten Videodaten »

« «  0111010101110101001100100011001000111110  »00111110  »

RealisierungRealisierung• C++ FunktionenC++ Funktionen

TreiberTreiber

PCI BusPCI Bus

PLX 9080PLX 9080

Low-levelLow-level

GUIGUI

Xilinx FPGAXilinx FPGA

VideoengineVideoengine

HDHD

DecDec EncEnc

Low-level FunktionenLow-level FunktionenFestplatteFestplatte

Page 9: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

Aufgaben des TreibersAufgaben des Treibers• Konfigurationsbefehle an das Konfigurationsbefehle an das

PCI Board weiterleitenPCI Board weiterleiten• Senden und empfangen von Senden und empfangen von

komprimierten Videodaten vom PCI komprimierten Videodaten vom PCI Bus mittels DMA.Bus mittels DMA.

RealisierungRealisierung• Dynamisch ladbares Linux Kernel ModulDynamisch ladbares Linux Kernel Modul• In C programmiertIn C programmiert

TreiberTreiber

PCI BusPCI Bus

PLX 9080PLX 9080

Low-levelLow-level

GUIGUI

Xilinx FPGAXilinx FPGA

VideoengineVideoengine

HDHD

DecDec EncEnc

Page 10: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

PLX 9080PLX 9080PCI InterfacePCI Interface

• PCI BusPCI Bus32 bit @ 33MHz = 132Mbytes/s32 bit @ 33MHz = 132Mbytes/s

• Local busLocal bus32bit @ 40MHz32bit @ 40MHz

TreiberTreiber

PCI BusPCI Bus

PLXPLX

Low-levelLow-level

GUIGUI

Xilinx FPGAXilinx FPGA

VideoengineVideoengine

HDHD

DecDec EncEnc

• PLX 9080PLX 9080• DMA ControllerDMA Controller• Erzeugt PCI InterruptsErzeugt PCI Interrupts

PCI BusPCI Bus

Local BusLocal Bus

Page 11: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

Aufgaben des FPGAsAufgaben des FPGAs• Systemkomponenten konfigurierenSystemkomponenten konfigurieren• Videodaten empfangen, puffern und Videodaten empfangen, puffern und

weiterleitenweiterleiten

DataDataAdrAdrTypTyp

32 bit32 bit

DecoderDecoder

EncoderEncoder

Video-Video-engineengine

II22CC

XilinxXilinxFPGAFPGA

DCBDCB

Aufgaben des FPGAsAufgaben des FPGAs• Systemkomponenten konfigurierenSystemkomponenten konfigurieren• Videodaten empfangen, puffern und Videodaten empfangen, puffern und

weiterleitenweiterleiten

TreiberTreiber

PCI BusPCI Bus

PLX 9080PLX 9080

Low-levelLow-level

GUIGUI

FPGAFPGA

VideoengineVideoengine

HDHD

DecDec EncEnc

Page 12: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

TreiberTreiber

PCI BusPCI Bus

PLX 9080PLX 9080

Low-levelLow-level

GUIGUI

FPGAFPGA

VideoengineVideoengine

HDHD

DecDec EncEnc

Video-Video-engineengine......

16 bit units16 bit units

256x32 bit256x32 bitDMA TransferDMA Transfer

FPGAFPGA

Aufgaben des FPGAsAufgaben des FPGAs• Systemkomponenten konfigurierenSystemkomponenten konfigurieren• Videodaten empfangen, puffern und Videodaten empfangen, puffern und

weiterleitenweiterleiten

Page 13: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

DecoderDecoder

CompositeComposite

EncoderEncoder

Digital Analog

S-VideoS-Video

TreiberTreiber

PCI BusPCI Bus

PLX 9080PLX 9080

Low-levelLow-level

GUIGUI

Xilinx FPGAXilinx FPGA

VideoE.VideoE.

HDHD

DecDec EncEnc

VideoengineVideoengine• Echtzeit De/Kompression Echtzeit De/Kompression • 3D-DCT Algorithmus3D-DCT Algorithmus• Viele KonfigurationsmViele Konfigurationsmöglichkeitenöglichkeiten

VideoengineVideoengineCompositeComposite

S-VideoS-Video

VGAVGA

Encoder & DecoderEncoder & Decoder• UnterstUnterstüützen verschiedene Videosignaletzen verschiedene Videosignale

Page 14: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

System zur VideokompressionSystem zur Videokompression

DemoDemo

Page 15: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

Demo 1: FussballDemo 1: Fussball• Standard Quantisierung Standard Quantisierung • Kompressionsfaktor 25Kompressionsfaktor 25• Datenrate 10 Mbit/sDatenrate 10 Mbit/s• 1h auf DVD1h auf DVD

Demo 2: FussballDemo 2: Fussball• Mittlere Quantisierung Mittlere Quantisierung (Benutzerdefiniert)(Benutzerdefiniert)

• Kompressionsfaktor 44Kompressionsfaktor 44• Datenrate 5.7 Mbit/sDatenrate 5.7 Mbit/s• 1h 40min auf DVD1h 40min auf DVD

Page 16: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

Demo 3: FilmauschnittDemo 3: Filmauschnitt• Standard Quantisierung Standard Quantisierung • Kompressionsfaktor 57Kompressionsfaktor 57• Datenrate 4.4 Mbit/sDatenrate 4.4 Mbit/s• 2h 10min auf DVD2h 10min auf DVD

Demo 4: FilmauschnittDemo 4: Filmauschnitt• Starke Quantisierung Starke Quantisierung (Benutzerdefiniert)(Benutzerdefiniert)

• Kompressionsfaktor 121Kompressionsfaktor 121• Datenrate 2.1 Mbit/sDatenrate 2.1 Mbit/s• 4h 30min auf DVD4h 30min auf DVD

Page 17: System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.

Demo 5: Life mit VideokameraDemo 5: Life mit Videokamera