Hardware/Software Co-design van de H.264/AVC-codec

Maat: px
Weergave met pagina beginnen:

Download "Hardware/Software Co-design van de H.264/AVC-codec"

Transcriptie

1 Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Hardware/Software Co-design van de H.264/AVC-codec door Jan De Cock & Stijn Notebaert Promotoren: prof. dr. ir. R. Van de Walle & prof. dr. ir. D. Stroobandt Begeleiders: lic. P. Lambert & dr. ir. M. Christiaens Afstudeerwerk ingediend tot het behalen van de graad van Burgerlijk Ingenieur in de Computerwetenschappen Academiejaar

2 Toelating tot bruikleen De auteurs geven de toelating dit afstudeerwerk voor consultatie beschikbaar te stellen en delen van het afstudeerwerk te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit dit afstudeerwerk. 1 juni 2004 Jan De Cock Stijn Notebaert i

3 Dankwoord Bij het afronden van dit afstudeerwerk, als de kroon op het werk van deze fraaie afstudeerrichting, willen wij enkele mensen bedanken, die als co-producenten bijgedragen hebben tot de verwezenlijking van dit afstudeerwerk. Allereerst willen wij onze promotoren Rik Van de Walle en Dirk Stroobandt bedanken voor de uitdaging die zij ons gegeven hebben en de goede begeleiding van dit afstudeerwerk. Een woord van dank gaat zeker uit naar onze persoonlijke begeleiders, Peter Lambert en Mark Christiaens. We willen hen bedanken voor de raadgevingen bij het afstudeerwerk. We wensen alle medewerkers van de onderzoeksgroepen Multimedia Lab en Paris te bedanken voor hun bijdragen. In het bijzonder een dankwoord aan Philippe Faes voor de vele praktische tips. Aangezien wijzelf allen het resultaat zijn van een jarenlange interactie met onze omgeving, is dit werk niet alleen ons werk, maar vloeit het onrechtstreeks voort uit iedereen in deze omgeving. Volgende mensen hebben er dan ook voor gezorgd dat we vanaf nu twee letters en een puntje voor onze naam mogen zetten.... van Jan Het spreekt voor zich dat m n ouders en familie op de eerste plaats komen, aangezien zij er altijd als eerste bij waren, en steeds voor de nodige steun hebben gezorgd. Maar op een niet minder belangrijke tweede plaats gaat mijn dank uit naar Peter, Griet, Dennis, Sofie, Stijn, Evelien, Eline, Joris en natuurlijk m n allerliefste Anneline.... van Stijn Aan mijn ouders heb ik natuurlijk veel te danken. Zonder hun steun was dit afstudeerwerk geen feit geweest. Tijdens deze vele jaren van hard studeren waren zij er steeds voor mij, net zoals Eveline en Geert, Sofie en Daniel, Nele en Bram. En daarnaast willen we ook onze medestudenten Wouter, Stijn en Stijn bedanken voor de toffe momenten die we samen doorbrachten. ii

4 Hardware/Software Co-design van de H.264/AVC-codec door Jan De Cock & Stijn Notebaert Afstudeerwerk ingediend tot het behalen van de graad van Burgerlijk Ingenieur in de Computerwetenschappen Academiejaar Universiteit Gent Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Promotoren: prof. dr. ir. R. Van de Walle & prof. dr. ir. D. Stroobandt Begeleiders: lic. P. Lambert & dr. ir. M. Christiaens iii

5 Samenvatting Multimediatoepassingen zijn alomtegenwoordig en razend populair. Snelle processoren en breedbandverbindingen maken na audio nu ook video voor iedereen toegankelijk. Om de bandbreedte van de netwerken en de capaciteit van opslagmedia zo optimaal mogelijk te benutten, zal men pogen de videosequenties zo compact mogelijk te beschrijven. Dit verklaart de nood aan efficiënte methoden voor videocompressie. Om compatibiliteit tussen de verschillende producenten en onderzoeksgroepen te verzekeren, werden een aantal standaarden gedefinieerd. Door de International Organization for Standardization (ISO) en International Telecommunication Union (ITU) werd enkele jaren geleden een nieuwe standaard ontwikkeld, die bekend staat als de H.264/AVC-standaard. De hoge mate van efficiëntie wordt verkregen door het gebruik van geavanceerde algoritmes die zeer rekenintensief kunnen zijn. Dit uit zich dan ook in een trage codering van videosignalen bij het gebruik van een implementatie van de H.264/AVCstandaard in software. Om dit probleem op te lossen kunnen hardwareversnellers worden ontwikkeld. Deze zullen een deel van de functionaliteit van de videocodering overnemen van de processor, zodat het volledige coderingsproces versneld wordt. In deze thesis worden het gebruik van hardwareversnellers en de moeilijkheden bij de ontwikkeling ervan onderzocht, gebruikmakende van een programmeerbare component (i.c. een FPGA). Het is gebleken dat het niet steeds evident is om een hardwareversneller te verkrijgen. Het belangrijkste probleem hierbij is de communicatie tussen software en hardware. Hoe kunnen beide componenten op een efficiënte manier communiceren, zodat de snelheidswinst die we verkrijgen uit de hardwareimplementatie niet verloren gaat? In deze thesis worden een aantal voorwaarden en methoden vooropgesteld die het ontwerpen van een hardwareversneller tot een goed einde kunnen brengen. Trefwoorden: H.264/AVC, HW/SW co-design, videocodering, FPGA iv

6 Inhoudsopgave 1 Inleiding Doel van dit afstudeerwerk Structuur van dit afstudeerwerk H.264/AVC-standaard Inleiding Intra-codering Inter-codering Transformatie en quantisatie Entropiecodering Profielen Profilering WildCard-II Testopstelling Architectuur van de WildCard-II Xilinx Virtex-II XC2V Entropiecodering Context-Adaptive Binary Arithmetic Coding Context-Adaptive Variable Length Coding Besluiten v

7 5 Transformatie & Quantisatie Beschrijving Implementatie Integratie in de referentiesoftware Resultaten: de harde cijfers Besluiten Intra-codering Beschrijving Implementatie Predictie Transformatie en quantisatie Integratie Resultaten Besluiten Besluit 78 A Verklarende woordenlijst 80 B Context Adaptive Binary Arithmetic Coding 82 B.1 CABAC-glossarium B.2 Inleiding B.3 Bespreking B.3.1 Binarisatie B.3.2 Contextmodellering B.3.3 Binaire aritmetische codering B.4 Toepassing: codering van residuele data B.4.1 Theorie B.4.2 Praktijkvoorbeeld vi

8 C Handleiding voor WildCard-II 107 C.1 Inleiding C.2 FPGA C.3 SelectRAM C.4 ZBT SRAM C.4.1 Gebruik C.5 Communicatie tussen PC en WildCard-II C.5.1 LAD Bus C.5.2 Register-operaties C.5.3 Interrupts C.6 DMA C.7 ZBT via DMA C.8 Xilinx ISE en ModelSim C.9 Software D CD-ROM 130 Bibliografie 131 vii

9 Lijst van figuren 2.1 De encoder van de H.264/AVC-standaard Onderbemonsteringsformaten Sequentie van beelden met onderlinge afhankelijkheden De opbouw van een QCIF-beeld en een macroblok Overzicht van de intra-voorspelling Overzicht van de inter-voorspelling Tree Structured Motion Compensation Bidirectionele voorspelling Multihypothese voorspelling Transformaties bij het coderen van een macroblok Aandeel van de functionele blokken bij intra-codering De opbouw van een typische chipsetarchitectuur De architectuur van de WildCard TM -II Kost als functie van het aantal verkochte exemplaren ZBT-geheugen in Pipeline modus ZBT-geheugen in Flow Through modus Leesoperatie bij een DDR-geheugen De systeembus met de voornaamste componenten De architectuur van de Xilinx r Virtex TM -II XC2V Zigzag-scan en omgekeerde zigzag-scan Voorbeeld 4 4-blok Schema van de implementatie van het CABAC-algoritme Het pijplijnmodel van het CABAC-algoritme De temporele decompositie van CAVLC viii

10 4.6 De gepijplijnde decompositie van CAVLC Illustratie van CAVLC met het pijplijnmodel Schematische weergave van de positie van de predictiepixels Richtingen van acht voorspellingsmodi Schematische weergave van 9 voorspellingsmodi Overzicht van de componenten voor de predictie De pijplijnverwerking voor de intra-codering Schematisch verwerking in de SAD-component Overzicht van gegevensstroom bij intra-codering Overzicht van het ontwerp voor intra-codering Overzicht van de aanroepen in de referentiesoftware De volgorde van de macroblokken in een beeld De volgorde van de blokken binnen een macroblok Het gebruik van indices voor de selectie DMA-test bij een Dell TM Inspiron TM De synchronisatie tussen de verschillende onderdelen B.1 Voorbeeld van aritmetische codering B.2 Encodeerproces C.1 SelectRAM in dual-port modus C.2 Schrijven naar SelectRAM C.3 Lezen uit SelectRAM C.4 Schrijven naar het ZBT-geheugen met de Basic Interface C.5 Lezen uit het ZBT-geheugen met de Basic Interface C.6 Schrijven naar het ZBT-geheugen met de Standard Interface C.7 Lezen uit het ZBT-geheugen met de Standard Interface C.8 Register-schrijfoperatie C.9 Register-leesoperatie C.10 Controller voor DMA-initialisatie C.11 Detectie van DMA-data C.12 Versturen van data via DMA C.13 Controller voor ZBT via DMA ix

11 Lijst van tabellen 2.1 Voornaamste slicetypes in de H.264/AVC-codec Karakteristieken van PCMCIA en CardBus Een voorbeeld van een codering met het CAVLC-algoritme Quantisatieparameter en bijhorende quantisatiestap Schalingsfactoren Multiplicatiefactoren Uitvoeringstijden voor de verschillende voorspellingsmethoden DC-voorspelling afhankelijk van beschikbare pixelwaarden Gebruikte resources op het WildCard TM -II-bordje Resultaten van de integratie in referentiesoftware B.1 Eigen-informatie B.2 De Exponentiële Golomb codering van de 0 e orde B.3 De UEG0-code B.4 Syntax elementen en bijhorende context index γ B.5 Probabiliteiten volgens Formule B B.6 Aanpassing van de probabiliteitsindex σ B.7 R LP S -tabel B.8 Waarden van γ voor residuele data (deel 1) B.9 Waarden van γ voor residuele data (deel 2) B.10 De binarisaties van de coëfficiënten B.11 Waarden van γ bij de significance map B.12 De initiële waarden voor de contextmodellen x

12 C.1 SelectRAM configuraties xi

13 Hoofdstuk 1 Inleiding Hoewel de transfersnelheid van netwerken en de capaciteit van opslagmedia continu toenemen, blijven veel onderzoekscentra pogen betere compressietechnieken voor videocodering te ontwikkelen. Men zou zich dan kunnen afvragen waarom videocodering nog nodig is en waarom nog zo n inspanningen worden verricht om de huidige videocodering te verbeteren? Enerzijds tracht men om digitale video in netwerkomgevingen en opslagomgevingen te ondersteunen, waar het gebruik van niet gecomprimeerde video gewoon onmogelijk blijkt. Anderzijds probeert men om de infrastructuur van netwerken en opslagmedia zo efficiënt mogelijk te benutten. Een beeldsequentie kan gecomprimeerd worden door het verwijderen van redundante informatie. Bij verliesloze compressie wordt enkel statistische redundantie verwijderd. De ontvanger is in staat het origineel videosignaal exact te reconstrueren. Maar door het verwijderen van de statistische redundantie alleen wordt onvoldoende compressie bereikt. Om een betere codering van videosignalen te verkrijgen, zal een verlieshebbende compressie op het videosignaal worden doorgevoerd. Het gereconstrueerde videosignaal aan de ontvangerzijde zal nu verschillen van het origineel videosignaal aan de zenderzijde. Het doel van videocodering is een efficiënte compressie te verkrijgen waarbij de distorsie (het gevolg van de verlieshebbende compressie) wordt geminimaliseerd. Bij videocompressie met verlies wordt temporele, spectrale en/of spatiale redundantie geëlimineerd: 1

14 Tussen opeenvolgende beelden in een videosequentie is er vaak veel gelijkenis. Deze temporele redundantie is eenvoudig verwijderbaar door het beschrijven van het verschil tussen het huidig beeld en het vorig beeld. Het menselijk zicht (Human Visual System of HVS) is minder gevoelig voor hogere frequenties waaruit volgt dat objecten nog steeds herkenbaar zijn na de eliminatie van de hoogfrequent informatie. Het toepassen van een LP-filter is dus de oplossing voor het wegwerken van spectrale redundantie. Bij beelden waar weinig variatie voorkomt in bepaalde gebieden, kan men de spatiale redundantie verwijderen. Een beeldpunt geeft veel informatie over de omringende beeldpunten. Door het verwijderen van verschillende vormen van redundantie (temporeel, spectraal en spatiaal) is het mogelijk om het videosignaal behoorlijk te comprimeren met een minimum aan distorsie. Verdere compressie kan bekomen worden door het coderen van de gecomprimeerde data met behulp van entropiecodering, zoals een Huffman-codering of een aritmetische codering. Er wordt nog altijd heel wat onderzoek verricht om de compressie van videosignalen te verbeteren. De codering van het videosignaal wordt beschreven door een standaard, waarin de gecomprimeerde vorm van het signaal alsook een methode voor de decodering wordt beschreven. Iedere standaard zorgt dat encoders en decoders conform de standaard kunnen samenwerken, waardoor onderzoeksteams in universiteiten en bedrijven de vrijheid hebben om op onafhankelijke wijze onderzoek te verrichten en producten te ontwikkelen. Dit heeft geleid tot enkele standaarden waaronder MPEG-2 en MPEG-4 van de International Organization for Standardization (ISO) en H.261 tot H.263 van International Telecommunication Union (ITU). Samen hebben zij onlangs een standaard gedefinieerd voor een buitengewoon efficiënte video-codec die gedoopt werd onder de naam MPEG-4 deel 10 of ITU-T Rec. H.264. Om die hoge efficiëntie te verkrijgen, worden zeer verfijnde algoritmes gebruikt die dan ook bijzonder rekenintensief zijn. Een softwareversie, zoals de referentiesoftware, vergt heel wat processorkracht. Om dit euvel te verhelpen, kan men een hardwareversneller gebruiken. 2

15 Een mogelijke hardwareversneller kan bekomen worden door het gebruik van een Field Programmable Gate Array (FPGA). Dit is een digitale component die kan geprogrammeerd worden om een welbepaalde functionaliteit te vervullen. Een groot voordeel bij het gebruik van een FPGA is de relatief korte ontwerpcyclus. Bij een HW/SW co-design is het de bedoeling bepaalde onderdelen van een algoritme (de rekenintensieve delen van de H.264/AVC-specificatie) op FPGA te implementeren, waarbij de software ten gepaste tijde de hardwarecomponenten aanspreekt. Om een succesvolle versnelling te verkrijgen moeten rekenintensieve onderdelen in de software geïdentificeerd worden. Het meest rekenintensieve onderdeel van de H.264/AVC-specificatie, de inter-codering van temporele redundantie tussen opeenvolgende beelden, wordt uitgewerkt in een andere scriptie. In dit afstudeerwerk worden de intra-codering (spatiale redundantie in beelden), de transformatie (spectrale redundantie in beelden) en de entropiecodering (statistische redundantie) behandeld. 1.1 Doel van dit afstudeerwerk Het hoofddoel van dit afstudeerwerk is het versnellen van de referentiesoftware die voorvloeit uit de H.264/AVC-specificatie. Om dit doel te realiseren moeten een aantal belangrijke stappen worden doorlopen. Men moet eerst inzicht verwerven in de referentiesoftware en met behulp van een analyse de tijdskritische functies bepalen. Men moet dan een aantal componenten in hardware ontwerpen die de verwerking van deze tijdskritische functies vervullen. Men kan deze componenten dan integreren in de referentiesoftware. Enerzijds wordt vanuit de software een correcte aansturing voorzien van de WildCard TM - II. Anderzijds wordt in hardware een controlesysteem voorzien met een aantal controleregisters en dataregisters. 1.2 Structuur van dit afstudeerwerk Globaal gezien kan dit afstudeerwerk worden opgesplitst in twee grote delen. 3

16 Enerzijds een theoretisch gedeelte waarin de functionele blokken van de H.264/AVCstandaard kort worden toegelicht en de architectuur van de WildCard TM -II wordt beschreven. Anderzijds worden een aantal projecten uitgewerkt waarin delen uit de referentiesoftware worden geïmplementeerd in hardware, waarna eventueel ook nog een integratie volgt. In Hoofdstuk 2 wordt een overzicht gegeven van de H.264/AVC-codec. Daarbij worden de functionele eenheden kort toegelicht. Dit hoofdstuk wordt afgesloten met een profilering van de H.264/AVC-standaard. In Hoofdstuk 3 wordt een uiteenzetting gegeven van het WildCard TM -II-platform. De architectuur en de mogelijkheden van de WildCard TM -II en de FPGA daarin opgenomen wordt beschreven. In Hoofdstuk 4 wordt beknopt een theoretische beschrijving gegeven van de beide entropiecoderingen die zijn opgenomen in de H.264/AVC-standaard. Daarnaast wordt telkens een implementatie in hardware beschreven die poogt zo optimaal mogelijk te zijn. In Hoofdstuk 5 wordt de theorie van de transformatie en de quantisatie beschreven. Daarna volgt een mogelijke implementatie in hardware die in de rest van dit verhaal zal gebruikt worden. Dit hoofdstuk wordt afgesloten met de integratie waaruit een aantal belangrijke conclusies volgen. In Hoofdstuk 6 wordt de intra-codering op een theoretische wijze beschouwd, in het bijzonder voor de luminantiecomponent op het 4 4-niveau. Daarna wordt een uiteenzetting gegeven van componenten die gebruikt worden bij de implementatie in hardware, samen met de interactie met de geheugens. Er wordt bij de integratie veel aandacht besteed aan de communicatie en synchronisatie tussen de FPGA en de computer. Dit afstudeerwerk wordt uiteindelijk afgesloten met een besluit. Verder zijn in deze scriptie een aantal bijlagen opgenomen. In Bijlage A wordt een verklarende woordenlijst voorzien. In Bijlage B wordt het CABAC-algoritme besproken. Dit algoritme is conceptueel één van de meest complexe coderingsmethoden. 4

17 In Bijlage C wordt een handleiding voor het gebruik van de WildCard TM -II meegeleverd. In Bijlage D wordt een CD-ROM opgenomen met alle projecten en de documenten. 5

18 Hoofdstuk 2 H.264/AVC-standaard Het Joint Video Team (JVT), bestaande uit leden van de Moving Picture Experts Group (ISO/IEC) en de Video Coding Experts Group (ITU-T), werkt sedert 2001 aan de ontwikkeling van de H.264/AVC-specificatie. Daaruit vloeien twee standaarden, namelijk MPEG-4 deel 10 en ITU-T Rec. H.264. De fundamentele doelstelling van de nieuwe standaard is de ontwikkeling van een buitengewoon efficiënte video-codec. + - transformatie quantisatie entropiecodering inverse quantisatie inverse transformatie + + intra-codering motion estimation antiblokfilter motion compensation Figuur 2.1: De encoder van de H.264/AVC-standaard. 6

19 In Figuur 2.1 wordt de encoder van de H.264/AVC-standaard afgebeeld. In dit hoofdstuk worden kort de verschillende functionele blokken besproken. Voor meer uitleg verwijzen we naar [7] en [9]. 2.1 Inleiding Een videosignaal is een sequentie van beelden. De representatie van de beelden zal plaatsvinden in de YUV-kleurenruimte. Daarbij wordt de luminantie (helderheid) van de chrominantie (kleur) gescheiden. Voor de luminantie wordt één component bijgehouden (Y), voor de chrominantie twee componenten (U en V). Het voordeel van een voorstelling in de YUV-kleurenruimte is dat de chrominantiecomponenten kunnen voorgesteld worden met een lagere resolutie. Dit staat bekend als de onderbemonstering van de chrominantie. Het menselijk zicht (HVS of Human Vision System) is immers minder gevoelig voor chrominantie dan voor luminantie. In Figuur 2.2 wordt een overzicht gegeven van de meest voorkomende onderbemonsteringsformaten. 4:4:4 4:2:2 4:2:0 Y-component U-component V-component Figuur 2.2: Onderbemonsteringsformaten. Een videosignaal kan op verschillende manieren gecodeerd worden. Elk beeld wordt onderverdeeld in een bepaalde klasse van beelden. De belangrijkste types zijn het I-beeld, het P-beeld en het B-beeld. Het eerste beeld in een videosignaal is steeds 7

20 een I-beeld, dit kan enkel via intra-voorspelling worden gecodeerd. De beelden die daarop volgen zijn P-beelden en/of B-beelden, ze worden gecodeerd gebruikmakend van de informatie van de reeds gecodeerde beelden. Een mogelijke sequentie van beelden wordt voorgesteld in Figuur 2.3, een pijl duidt op een afhankelijkheid bij het codeerproces. I-beeld B-beeld P-beeld B-beeld P-beeld Figuur 2.3: Sequentie van beelden met onderlinge afhankelijkheden. In de H.264/AVC-standaard werd speciale aandacht besteed aan het voorkomen van foutpropagatie: als er een fout optreedt in een I-beeld of een P-beeld, dan wordt die gepropageerd doorheen de videosequentie. Als bij de codering van een B-beeld een fout voorkomt, dan heeft dat geen gevolg in andere beelden aangezien geen enkel ander beeld afhankelijk kan zijn van een B-beeld. Twee methoden worden gebruikt om foutpropagatie te verhinderen. De eerste methode is opgebouwd rond het gebruik van een Group Of Pictures (GOP). Een GOP begint steeds met een I-beeld. Door het opsplitsen van de videosequentie in groepen zal nu geregeld een I-beeld worden gecodeerd, waarop de achterliggende beelden zich zullen baseren bij de codering. De fout propageert nu niet meer verder. Daarnaast kan een beeld in meerdere slices worden onderverdeeld, die men dan onafhankelijk gaat coderen. Ook de decodering van de verschillende slices zal onafhankelijk verlopen zodat een fout in één slice niet tot gevolg heeft dat andere slices fouten vertonen. Dit is een zekere vorm van foutbestendigheid binnen één beeld. Een slice bestaat uit de groepering van een aantal macroblokken. In Tabel 2.1 worden de voornaamste slicetypes voorgesteld, en de macroblokken waaruit de slices kunnen worden opgebouwd. De opbouw van een QCIF 1 -beeld (formaat van pixels) wordt afgebeeld in 1 QCIF staat voor Quarter Common Intermediate Format. 8

21 slicetype I-type P-type B-type macrobloktype I-macroblok I-macroblok & P-macroblok I-macroblok & P-macroblok & B-macroblok Tabel 2.1: Voornaamste slicetypes in de H.264/AVC-codec. Figuur 2.4. Het beeld bestaat uit een rooster van 99 macroblokken van 16 bij 16 pixels. Elk macroblok bevat drie componenten: één luminantiecomponent (Y) van 16 bij 16 pixels en twee chrominantiecomponenten (U en V) van 8 bij 8 pixels, bij een onderbemonstering 4 : 2 : 0. QCIF-beeld 11 Macroblok Y U 8 V Figuur 2.4: De opbouw van een QCIF-beeld en een macroblok. Na deze korte introductie is voldoende terminologie verduidelijkt om de functionele blokken van de H.264/AVC-standaard kort toe te lichten. 2.2 Intra-codering De werking van intra-voorspelling wordt afgebeeld in Figuur 2.5. Op basis van omringende pixels in hetzelfde beeld wordt een reeks voorspellingen uitgewerkt. Een blok van het origineel beeld wordt aangeboden, waarvan de beste voorspelling wordt afgetrokken. De residuwaarden worden getransformeerd en gequantiseerd en 9

22 vervolgens aangeboden voor entropiecodering. Het resultaat van de entropiecodering wordt uiteindelijk opgeslagen of doorgestuurd naar de decoder. De getransformeerde en gequantiseerde gegevens worden ook onderworpen aan hun inverse bewerkingen, waarna het resultaat wordt opgeteld bij de beste voorspelling. Op deze geïnverteerde waarden zal de intra-coder zich baseren voor verdere voorspellingen. Dit gebeurt om foutdrift te voorkomen aan de decoderzijde. De decoder beschikt immers enkel over de getransformeerde coëfficiënten, niet over de originele pixelwaarden! + - transformatie quantisatie entropiecodering inverse quantisatie inverse transformatie + + intravoorspelling Figuur 2.5: Overzicht van de intra-voorspelling. De H.264/AVC-standaard beschrijft voor de intra-voorspelling twee modi, namelijk intra-codering van een 4 4-blok en intra-codering van een blok. Beide modi zijn van toepassing op I-macroblokken, die in alle slicetypes voorkomen. We beschouwen een I-macroblok. De luminantiecomponent bestaat uit een 16 bij 16 matrix. Daarvoor bestaan twee manieren van intra-codering, enerzijds de intracodering van de blokken (9 voorspellingsmodi) en de intra-codering van een blok (4 voorspellingsmodi). Iedere chrominantiecomponent bestaat bij een onderbemonsteringsformaat 4 : 2 : 0 uit een matrix van 8 bij 8 pixels. Daarvoor bestaat een intra-voorspelling op een 4 4-blok (4 voorspellingsmodi). 10

23 2.3 Inter-codering De werking van inter-voorspelling wordt geïllustreerd in Figuur 2.6. Er wordt een blok van het origineel beeld aangeboden. Via Motion Estimation/Motion Compensation wordt een voorspelling gedaan door het zoeken van een beste match in de referentiebeelden. Het verschil tussen de voorspelling en het origineel blok wordt getransformeerd en gequantiseerd. Op dat resultaat wordt het functionele blok voor de entropiecodering losgelaten, waaruit een bitstring volgt. Het getransformeerde en gequantiseerde blok wordt onderworpen aan zijn inverse bewerking, waarna het resultaat van die bewerking wordt opgeteld bij de beste voorspelling. Vervolgens wordt daarop het antiblokfilter losgelaten, dit om artefacten van de blokgebaseerde codering te onderdrukken. Het resultaat van het filter wordt gebruikt voor toekomstige zoekacties naar optimale voorspellingen. + - transformatie quantisatie entropiecodering inverse quantisatie inverse transformatie + + motion estimation antiblokfilter motion compensation Figuur 2.6: Overzicht van de inter-voorspelling. De inter-codering bij de H.264/AVC-standaard is gelijkaardig aan die opgenomen in eerdere standaarden. Toch zijn enkele wijzigingen doorgevoerd die een betere compressie mogelijk maken. Een nadeel hiervan is de toegenomen complexiteit, waardoor het algoritme zeer rekenintensief is geworden. 11

24 Eén van de vernieuwingen maakt het mogelijk om een macroblok op te splitsen tot partities en subpartities. De partitionering wordt uitgevoerd in twee fases. In een eerste fase wordt een macroblok onderverdeeld in een partitie van 16 16, twee partities van 16 8 of 8 16 of vier partities van 8 8. In een tweede fase wordt een partitie verder opgesplitst tot een subpartitie van 8 8, twee subpartities van 8 4 of 4 8 of vier subpartities van 4 4. Dit staat bekend als Tree Structured Motion Compensation en wordt voorgesteld in Figuur 2.7. Partities 16x16 16x8 8x16 8x Subpartities 8x8 8x4 4x8 4x Figuur 2.7: Tree Structured Motion Compensation. Voor iedere partitie en iedere subpartitie moet een afzonderlijke bewegingsvector en een index van het referentiebeeld worden verstuurd. Enkel de luminantiecomponent wordt gecodeerd; de bewegingsvectoren voor de chrominantiecomponenten kunnen worden afgeleid uit de bewegingsvector van de luminantiecomponent. Hierbij wordt de horizontale component en de verticale component van de bewegingsvector van de luminantie gehalveerd bij een onderbemonstering 4 : 2 : 0. Daarnaast beschikt men nog over een skipmodus, waarbij geen macroblokdata wordt verstuurd. Men neemt dan een kopie van het macroblok in het vorig beeld op dezelfde positie. Voor een P-macroblok wordt een referentiebeeld gekozen uit één lijst. Men kan echter 12

25 zoeken in verschillende beelden, wat de kans op een betere match vergroot. Maar uiteindelijk wordt slechts één bewegingsvector verzonden. Het algoritme ligt niet vast, men heeft hier alle vrijheid. De meest voorkomende algoritmes zijn sequential search, logaritmic search en hierarchical search. Voor een B-macroblok wordt een lineaire combinatie voorzien van twee bewegingsvectoren uit twee lijsten. Men onderscheidt volgende twee gevallen. Men kan een lineaire combinatie nemen van een voorwaartse voorspelling en een achterwaartse voorspelling. Dit is een bidirectionele voorspelling en wordt geïllustreerd in Figuur 2.8. P-beeld B-beeld P-beeld B-beeld P-beeld Figuur 2.8: Bidirectionele voorspelling. Men kan ook een lineaire combinatie nemen van twee voorwaartse of twee achterwaartse voorspellingen. Dit is een multihypothese voorspelling en wordt afgebeeld in Figuur 2.9. P-beeld B-beeld P-beeld B-beeld P-beeld Figuur 2.9: Multihypothese voorspelling. 13

26 2.4 Transformatie en quantisatie De H.264/AVC-standaard beschrijft drie types van transformaties: Een Hadamard-transformatie op een 4 4-blok van DC-coëfficiënten van de luminantiecomponent. Een Hadamard-transformatie op een 2 2-blok van DC-coëfficiënten van de chrominantiecomponent. Een geheelwaardige Discrete Cosinus Transformatie (DCT) op een 4 4-blok van residuele waarden. De transformaties die plaatsgrijpen bij het coderen van een macroblok worden weergegeven in Figuur U-component V-component Y-component Figuur 2.10: Transformaties bij het coderen van een macroblok. Om te beginnen worden in totaal 24 DCT-transformaties verricht op de 4 4-blokken van de luminantiecomponent en de chrominantiecomponenten (0-15,18-25). De DCcoëfficiënten worden samengevoegd en daarop wordt een Hadamard-transformatie van 4 4 (-1) of 2 2 (16,17) uitgevoerd. Enkel bij de intra-codering op niveau wordt een Hadamard-transformatie op de 4 4-matrix van DC-coëfficiënten 14

27 uitgevoerd, in alle andere gevallen niet. voltooid. De andere transformaties worden altijd De gewijzigde DCT-transformatie maakt een verliesloze compressie mogelijk, aangezien enkel geheelwaardige operaties op de coëfficiënten worden toegepast. Bij de standaard transformatie is een exacte reconstructie niet steeds mogelijk wegens het verlies aan informatie door afrondingsfouten. De H.264/AVC-standaard definieert ook een scalaire quantisatie. Men heeft 52 quantisatieniveaus gedefinieerd die leiden tot een verschillende compressie. Er wordt eigenlijk een deling uitgevoerd op de coëfficiënten. Hoe sterker de deling, hoe minder informatie overblijft voor de codering, hoe lager de uitgestuurde bitsnelheid, maar hoe slechter de kwaliteit van het videosignaal. 2.5 Entropiecodering Uit de vorige stap verkrijgen we de getransformeerde en gequantiseerde coëfficiënten in 4 4-blokken. We willen nu deze informatie in matrixvorm zo efficiënt mogelijk beschrijven, deze statistische codering wordt entropiecodering genoemd. De H.264/AVC-standaard voorziet in twee methoden voor de entropiecodering, namelijk CAVLC (Context-based Adaptive Variable Length Coding) en CABAC (Contextbased Adaptive Binary Arithmetic Coding). CAVLC CAVLC is een Huffman-codering, behorende tot de klasse van variable lengte coderingen. Aan alle symbolen wordt een variabele lengte code gekoppeld. Veelvuldig voorkomende symbolen worden geassocieerd met korte codes, sporadisch voorkomende symbolen worden gerepresenteerd met langere codes. De Huffman-codering introduceert twee problemen bij een video-codec. Ten eerste moet de decoder hetzelfde codewoord gebruiken als de encoder. Daarom moet de probabiliteitstabel die wordt opgemaakt tijdens de codering eveneens worden doorgestuurd waardoor een grotere overhead ontstaat. Ten tweede kan die probabiliteitstabel enkel worden verstuurd nadat het complete videosignaal is gecodeerd. Dit levert een belangrijke vertraging op, die niet kan getolereerd worden. 15

28 Daarom worden probabiliteitstabellen gebruikt die werden opgesteld voor een typisch videosignaal. Bij de codering van een 4 4-matrix worden die tabellen geraadpleegd, waardoor de eigenlijke entropiecodering herleid wordt tot enkele opzoekingen. Met de CAVLC entropiecodering wordt een doorgedreven compressie bekomen door gebruik te maken van de kenmerken van een getransformeerd en gequantiseerd 4 4- blok. Ten eerste zijn de 4 4 blokken typisch schaars. Het grote aantal nullen kan dan zeer efficiënt worden gecodeerd in run/level-formaat. Ten tweede concentreren de meeste coëfficiënten verschillend van nul zich bij de lage frequenties. Bij de hogere frequenties komen vooral nullen en enen voor. Ten derde kunnen de enen bij hogere frequenties heel compact worden gecodeerd. Men zal enkel het teken bijhouden. Ten vierde zal het aantal coëfficiënten in het huidige 4 4-blok sterk gecorreleerd zijn aan het aantal coëfficiënten in naburige 4 4-blokken. Een belangrijk nadeel is het suboptimale karakter van deze codering omdat een geheel aantal bits wordt gekoppeld aan een symbool. Teneinde een nog betere efficiëntie te bereiken kan een aritmetische codering worden gebruikt. CABAC CABAC is een aritmetische codering. Typisch wordt met een aritmetische codering een betere compressie bereikt dan met variabele lengte codes. Het nadeel is de bijkomende rekenkracht nodig voor de codering. Aritmetische codering komt tegemoet aan een aantal tekortkomingen van variabele lengte codes. Ten eerste kan een niet-geheel aantal bits worden toegekend aan een symbool. Bovendien kan een aritmetische coder zich eenvoudig aanpassen aan de wijzigende statistiek binnen een beeld, daar waar de tabellen bij variabele lengte codes constant blijven. De efficiëntie van CABAC wordt bereikt door het gebruik van een uitgebreide verzameling contextmodellen, die na het coderen van elk symbool worden aangepast. In Appendix B wordt het CABAC-algoritme in detail besproken. 16

29 2.6 Profielen De H.264/AVC-standaard beschrijft drie profielen die specifiek voor een welbepaalde klasse van toepassingen ontwikkeld zijn. Ieder profiel selecteert een subset van de mogelijkheden van de H.264/AVC-standaard om zodoende zo optimaal mogelijk aan de vereisten van die welbepaalde toepassing te voldoen. In onderstaande tabel worden de voornaamste kenmerken van de profielen weergegeven. Baseline Main Extended I-frame X X X P-frame X X X B-frame X X SI-frame X SP-frame X CAVLC X X CABAC X Het Baseline-profiel wordt vooral gebruikt bij toepassingen voor de uitwisseling van informatie op interactieve of bidirectionele wijze zoals videoconferencing. De complexiteit van de encodering en de decodering moet zo minimaal mogelijk worden gehouden, daardoor blijft interactiviteit gegarandeerd. Het Main-profiel wordt gebruikt bij broadcast en entertainment toepassingen. In dit geval is een efficiënte codering uitermate belangrijk om de netwerkbandbreedte en de opslagcapaciteit zuinig te benutten. De keerzijde van de medaille is de toegenomen complexiteit zodat meer rekenkracht geen overbodige luxe zal zijn. Het Extended-profiel wordt gebruikt bij streaming media. De bijkomende functionaliteit moet bijdragen tot een efficiënter transport over netwerken en de mogelijkheid tot het overschakelen tussen verschillende videostromen. 2.7 Profilering Omdat in deze thesis de inter-codering niet wordt beschouwd (deze wordt onderzocht in andere scripties), zullen we bij de profilering van de referentiesoftware enkel intragecodeerde beelden onderzoeken. 17

30 Bij het coderen kunnen een groot aantal parameters worden ingesteld, zodat de coderingstijd sterk kan variëren. De codering is bijvoorbeeld afhankelijk van de quantisatieparameter (QP). QP kan een waarde tussen 0 en 51 aannemen. Het spreekt voor zich dat een grotere QP (een ruwere quantisatie) zal aanleiding geven tot minder resterende informatie, zodat het relatieve belang van de entropiecodering zal verminderen. Of: hoe minder informatie er moet gecodeerd worden, hoe minder lang de codering zal duren. We zullen daarom een algemeen beeld schetsen dat voldoet voor het merendeel van de gecodeerde sequenties. Voor een sequentie van 100 intra-gecodeerde beelden in QCIF-formaat verkrijgen we volgende resultaten. Intra-voorspelling Transformatie en quantisatie Entropiecodering Overige Figuur 2.11: Aandeel van de functionele blokken bij intra-codering. De relatieve belangen van de functionele blokken worden hieruit duidelijk. Vooral de intra-voorspelling (ongeveer 40%) en de entropiecodering (35 %) vallen hierbij op. De transformatie en quantisatie (inclusief de inverse transformatie en quantisatie) nemen ongeveer 15 % van de tijd in. De intra-voorspelling zal steeds het grootste deel van de tijd innemen. De entropiecodering zal daarentegen aan belang inboeten wanneer een grotere quantisatieparameter wordt gebruikt (in dit geval is QP = 10). 18

31 Hoofdstuk 3 WildCard-II In dit hoofdstuk bespreken we beknopt het WildCard TM -II-platform 1. Dit platform werd ontwikkeld door Annapolis Micro Systems Inc. ( een bedrijf dat zich mengt op de markt van de Reconfigurable Computing Engines. We starten met een korte beschrijving van de testopstelling, waarna twee iets meer technische delen volgen. In het eerste deel wordt kort de architectuur van het WildCard TM -II-platform geschetst, vervolgens wordt in een tweede deel de programmeerbare component besproken, die de krachtbron van de WildCard TM -II vormt. 3.1 Testopstelling Hardware De testmachine is een Dell TM Inspiron TM 8600 laptop. Deze heeft als processor een Intel r Pentium r -M 1,5 GHz aan boord, en 512 MB geheugen. Het besturingssysteem Microsoft r Windows r XP is hierop geïnstalleerd. De WildCard TM -II is een apparaat met een CardBus-interface. Het is dus ideaal geschikt voor draagbare computers. De positie van de WildCard TM -II binnen de chipsetarchitectuur wordt afgebeeld in Figuur 3.1 (Meer informatie op [6]). De verbindingen tussen de North Bridge enerzijds en de processor, het hoofdgeheugen en de grafische kaart anderzijds zijn zeer krachtig. Eén van de connecties met 1 Met het WildCard TM -II-platform wordt de CardBus-insteekkaart bedoeld. 19

32 CPU Graphics North Bridge Main Memory WildCard II chipset South Bridge PCI PCI to CardBus ISA Figuur 3.1: De opbouw van een typische chipsetarchitectuur. de South Bridge wordt de PCI-interface genoemd. Dit is een bus werkzaam bij een klokfrequentie van 33 Mhz of 66 MHz en een busbreedte van 32 bits of 64 bits. Dit levert snelheden op van 132, 264 of 528 MB/s. Daar situeert men de PCI-to-CardBus adapter. Van waar komt nu die CardBus? In 1990 werd een technologie ontwikkeld om draagbare computers te voorzien van meer geheugen. Men doopte het kind tot Personal Computer Memory Card International Association (PCMCIA). Al snel werd ingezien dat die interface ook kan gebruikt worden voor I/O-apparaten. Later bleek dat de capaciteit van de PCMCIAinterface ontoereikend was. Men besloot om een nieuwe technologie te ontwikkelen, de opvolging was voorzien. De CardBus-interface werd ontwikkeld in het jaar 1995 met als hoofddoel een behoorlijke toename van de bandbreedte. De belangrijkste karakteristieken van beide technologieën kan men vinden in Tabel

33 technologie PCMCIA CardBus interface 68-pins 68-pins buskloksignaal 10 MHz 33 MHz busbreedte 16-bits 32-bits transfersnelheid 20 MB/s 132 MB/s Tabel 3.1: Karakteristieken van PCMCIA en CardBus. Software Tijdens het ontwikkelingsproces werden onderstaande softwarepakketten gebruikt. Aldec Active-HDL TM 5.1 en 6.1 : bouwen en simuleren van componenten, dit totaal onafhankelijk van de technologie waarvoor het ontwerp dient. Modelsim r 5.7 : simuleren van een compleet ontwerp specifiek voor de gebruikte technologie. Xilinx r ISE 6 : synthetiseren van een compleet ontwerp voor een specifieke technologie, dit is het converteren van het ontwerp naar een bitstroom waarmee de FPGA kan worden geprogrammeerd. Microsoft r Visual Studio r 6.0 : ontwikkelen van applicaties voor het programmeren van de WildCard TM -II, waaronder de testprogramma s en de referentiesoftware. Daarnaast werd ook nog gebruikgemaakt van software voor analyse van projecten. Om meer inzicht te verkrijgen in de structuur van de referentiesoftware werd het pakket VTune TM Performance Analyzers van Intel r gebruikt. Voor meer informatie verwijzen we de lezer naar [5]. Dit pakket laat de gebruiker toe een uitgebreide analyse van een softwareproject uit te voeren om eventuele bottlenecks op te sporen. Daarbij wordt een graaf opgesteld die een overzicht geeft van de oproepen naar functies. Over de functies worden karakteristieke gegevens bijgehouden zoals het aantal oproepen, de uitvoeringstijd,... Wij hebben dit pakket voornamelijk gebruikt voor de analyse van de referentiesoftware. Hierdoor werd het mogelijk om de tijdskritische functies te identificeren. 21

34 3.2 Architectuur van de WildCard-II De WildCard TM -II is een platform met een CardBus-interface dat ontwikkeld is rond een programmeerbare component. De architectuur van de WildCard TM -II wordt schematisch weergegeven in Figuur 3.2. DDR SDRAM 64 MB ZBT SRAM 2 MB FPGA Processing Element Virtex-II XC2V3000 CardBus Controller CardBus Figuur 3.2: De architectuur van de WildCard TM -II. Op de WildCard TM -II zijn een aantal geheugens opgenomen voor allerhande doeleinden, enerzijds een Zero Bus Turnaround (ZBT) geheugen van 2 MB en anderzijds een Double Data Rate (DDR) geheugen van 64 MB. De architectuur wordt opgebouwd rond een programmeerbare component, bij de WildCard TM -II is dit een Field Programmable Gate Array (FPGA). Dit is een chip met een specifieke structuur, die behoort tot de klasse van de volatile componenten. Een herprogrammering is noodzakelijk na een stroomonderbreking. 22

35 Wanneer het ontwerp op punt staat en getest werd in simulatie kan het gesynthetiseerd worden voor de FPGA in kwestie. Het resultaat is een bitstroom waarmee de FPGA kan geprogrammeerd worden. De programmeerbare component vertoont dan het gewenste gedrag. Het gebruik van een FPGA heeft een aantal voordelen ten opzichte van het ontwikkelen van een Application-Specific Integrated Circuit (ASIC 2 ): De Non-Recurring Engineering (NRE) kost is tamelijk klein in vergelijking met de ontwikkeling van een ASIC. De NRE-kost is het geheel aan kosten voor de ontwikkeling van het product, zonder één exemplaar verkocht te hebben. In Figuur 3.3 wordt een grafiek afgebeeld van de kost als functie van het aantal verkochte exemplaren. kost FPGA ASIC NRE ASIC NRE FPGA ca aantal Figuur 3.3: Kost als functie van het aantal verkochte exemplaren. De ontwerpcyclus is ook een stuk korter in vergelijking met het langdurige ontwerp van een ASIC. De ontwikkelcyclus duurt enkele weken bij een FPGAtoepassing tegenover enkele maanden voor een ASIC-ontwerp. Een nadeel is dat men bij het ontwerp van een ASIC een grotere vrijheid heeft voor de keuze van geheugen en logica, terwijl men bij een FPGA meer gebonden is aan de beschikbare logica. 2 Een ASIC is een chip die specifiek ontworpen is voor een welbepaalde toepassing (op maat gemaakt). 23

36 Het is ook zo dat de snelheid op FPGA nooit in de buurt zal komen van de snelheid van een ASIC. Tegenwoordig zijn er FPGA s op de markt met kloksnelheden tot 500 MHz, waar ASIC s een klokfrequentie kunnen hebben tot ongeveer 5 GHz. ZBT-geheugen Het ZBT-geheugen is een synchroon statisch geheugen waarbij geen tijd verloren gaat bij het wisselen tussen het lezen en het schrijven. Dit in tegenstelling tot andere geheugens waar steeds enkele klokcycli verloren gaan bij de wisseling van de gegevensoverdracht. Dit geheugen is dan ook zeer interessant voor welbepaalde toepassingen, denken wij daarbij vooral aan geheugens in netwerkapparatuur (een switch, een router,... ), waar zeer afwisselend geschreven en gelezen wordt. Bij het schrijven naar het ZBT-geheugen wordt een 32-bit woord aangelegd aan de datalijnen. De gebruiker heeft de keuze welke bytes effectief naar het geheugen moeten weggeschreven worden. Dit wordt gerealiseerd door 4 bitlijnen waarbij elke byte van de databus wordt gecontroleerd door zo n bitlijn. Daarbij komt dat men naar eigen keuze ook een pariteitsbit kan gebruiken per byte, waardoor een grotere foutbestendigheid wordt verkregen. Het geheugen kan op twee manieren worden aangestuurd, in de Pipeline modus of de Flow Through modus. In beide modi is het schrijfgedrag gelijkaardig aan het leesgedrag. Bij het schrijfgedrag legt men de data aan op het ogenblik dat men de data ziet verschijnen bij het leesgedrag. Enkel het leesgedrag wordt hier beschouwd. In de Pipeline modus verschijnt de data twee klokcycli na het aanleggen van de signalen voor het adres en de controle. Bij deze modus is het geheugen werkzaam bij hogere klokfrequenties, maar moet men toch genoegen nemen met de grotere wachttijd bij geheugenoperaties. In Figuur 3.4 wordt dit schematisch weergegeven. In de Flow Through modus zal de data al na één klokcyclus ter beschikking zijn, maar moet de component geklokt worden aan een lagere frequentie. In Figuur 3.5 wordt dit gedrag afgebeeld. De geïnteresseerde lezer verwijzen we voor meer informatie naar de datasheet [3]. 24

37 Clk Adres A4 A5 A6 A7 WE Data In D3 D5 Data Out D2 D4 Figuur 3.4: ZBT-geheugen in Pipeline modus. Clk Adres A4 A5 A6 A7 WE Data In D3 D5 Data Out D4 D6 Figuur 3.5: ZBT-geheugen in Flow Through modus. DDR-geheugen Het DDR-geheugen is een dynamisch geheugen, het is typisch zeer groot en relatief goedkoop. Het gebruik van een dynamisch geheugen verschilt fundamenteel in het gebruik van een statisch geheugen. Hieronder volgt een korte uiteenzetting over het algemeen gebruik van een DDR-geheugen. Een dynamisch geheugen is opgebouwd als een grote matrix van condensatoren waarbij iedere condensator wordt aangestuurd door een individuele transistor. De lading aanwezig op de condensator stelt de opgeslagen informatie voor. Bij het lezen van de informatie gaat de lading op de condensator verloren, zodat die noodgedwongen moet worden hersteld. Het adresseren verloopt in twee stappen zoals aangegeven in Figuur 3.6. Terwijl men het Row Address Strobe (RAS) signaal laag houdt, wordt het rij-adres aangeboden. Even later wordt het kolom-adres aangeboden waarna men het Column 25

38 Address Strobe (CAS) signaal laag brengt. Daarna verschijnt de gewenste data aan de uitgang. Dit is het typisch verloop van een leesoperatie bij DDR-geheugen. Adres rij-adres kolom-adres RAS CAS Data data Figuur 3.6: Leesoperatie bij een DDR-geheugen. Wanneer gelezen wordt van opeenvolgende adressen, heeft men heel wat voordelen met DDR-geheugens. Het rij-adres wordt eerst aangelegd zoals hoger. Daarna wordt het kolom-adres aangeboden. Door enkel het kolom-adres te incrementeren worden opeenvolgende geheugenlocaties gelezen of geschreven. Een refresh cycle is ook vereist omdat de lading op de condensator verdwijnt na verloop van tijd. Daarom wordt intern een circuit voorzien dat een woord leest en het daarna terugschijft. Zo blijft de informatie in het geheugen bestaan. Omdat in dit afstudeerwerk geen gebruik wordt gemaakt van het DDR-geheugen, wordt hier niet dieper op ingegaan. De geïnteresseerde lezer verwijzen we voor meer informatie naar de datasheet [1]. DMA-geheugenoperaties Voor de overdracht van gegevens heeft de gebruiker de keuze tussen twee mechanismen, namelijk geprogrammeerde I/O en Direct Memory Access (DMA). We bespreken kort geprogrammeerde I/O, daarna volgt het DMA-mechanisme. Bij geprogrammeerde I/O leest de processor een woord uit het geheugen van de computer en schrijft dat woord daarna weg naar het geheugen op de WildCard TM - II. Dit neemt twee buscycli in beslag. Erger nog, de processor zal in een actieve lus blijven vragen aan het apparaat wanneer het volgend woord mag verstuurd worden. De processor blijft gedurende de gehele operatie bezet. 26

39 Een DMA-transactie is essentieel om grote blokken gegevens te verzenden naar één van die geheugens zonder daarbij veel processorcycli te verspillen, zoals het geval is bij geprogrammeerde I/O. Een algemene structuur voor de overdracht van een groot geheugenblok van het hoofdgeheugen van de computer naar één van de geheugens in de WildCard TM -II wordt hieronder geschetst. We beschikken over een fysieke adresruimte van 4 GB. In die geheugenruimte wordt het hoofdgeheugen van de computer ondergebracht in de onderste gelederen, in het geval van 512 MB geheugen wordt dit afgebeeld op de adressen 0 tot Andere apparaten beschikken ook over een adresbereik dat ook moet ondergebracht worden in die ene adresruimte. CPU geheugen FPGA Figuur 3.7: De systeembus met de voornaamste componenten. In Figuur 3.7 wordt conceptueel de systeembus afgebeeld. Een heleboel componenten zijn aan die bus aangesloten. Slechts één component kan de bus tegelijk aansturen (master), de andere componenten zijn één en al oor (slave). Een mechanisme werd ontwikkeld om de aanvragen voor het aansturen van de bus te behandelen, die component krijgt meestal de naam bus arbiter. Meestal zal de processor als master een geheugentransactie verrichten. Maar soms zijn andere configuraties mogelijk. Wat gebeurt er nu bij een DMA-operatie waarbij de WildCard TM -II wordt betrokken? 27

dens het encoderen. Een hoge QP duidt op grove quantisatie van residuele data en leidt bijgevolg tot een lagere kwaliteit. Door de ruwere benadering

dens het encoderen. Een hoge QP duidt op grove quantisatie van residuele data en leidt bijgevolg tot een lagere kwaliteit. Door de ruwere benadering Samenvatting De beschikbaarheid en verspreiding van video kent de laatste jaren een steile groei. Waar nog geen vijftien jaar geleden de bandbreedte van netwerken ontoereikend was om streaming video (aan

Nadere informatie

Digitale video: een overzicht van de JVT/AVC-standaard

Digitale video: een overzicht van de JVT/AVC-standaard Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Digitale video: een overzicht van de JVT/AVC-standaard door Mieke Depaemelaere

Nadere informatie

Herconfigureerbare Hardware in Ieders Bereik

Herconfigureerbare Hardware in Ieders Bereik Herconfigureerbare Hardware in Ieders Bereik Prof. Dirk Stroobandt Universiteit Gent Vakgroep ELIS Onderzoeksgroep PARIS http://www.elis.ugent.be/~dstr/ Overzicht Nood aan digitale verwerking van gegevens

Nadere informatie

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo) informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord

Nadere informatie

Studie en implementatie van mechanismen voor foutonderdrukking in H.264/AVC

Studie en implementatie van mechanismen voor foutonderdrukking in H.264/AVC Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Studie en implementatie van mechanismen voor foutonderdrukking in H.264/AVC door

Nadere informatie

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen Jan Genoe KHLim Situering RAM-geheugens Geheugens Halfgeleider Geheugens Serieel toegankelijk geheugen Willekeurig toegankelijk geheugen Read Only Memory ROM Random Access Memory RAM Statische RAM SRAM

Nadere informatie

OPTIMALISATIE VAN MPEG-4-WAVELETCODE VOOR DE TRIMEDIAPROCESSOR

OPTIMALISATIE VAN MPEG-4-WAVELETCODE VOOR DE TRIMEDIAPROCESSOR E99/EL/VLSI1 Diepenbeek, 1 juni 1999 OPTIMALISATIE VAN MPEG-4-WAVELETCODE VOOR DE TRIMEDIAPROCESSOR Abstract van het eindwerk van Bert BRANS en Benjamin GOYVAERTS Industrieel Ingenieur Elektriciteit optie

Nadere informatie

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek VTI St.- Laurentius Neem eerst de tekst in het boek door, doe dit enkele keren en probeer uiteraard te onthouden wat je leest. Los nadien de

Nadere informatie

Studie en implementatie van de bewegingscompensatie in een H.264/AVC-decoder

Studie en implementatie van de bewegingscompensatie in een H.264/AVC-decoder Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Studie en implementatie van de bewegingscompensatie in een H.264/AVC-decoder door

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE Tentamen Computers bij fysische experimenten (3BB20) op dinsdag 25 oktober 2005 Het tentamen duurt 90 minuten en wordt gemaakt zonder

Nadere informatie

Departement industriële wetenschappen en technologie

Departement industriële wetenschappen en technologie Departement industriële wetenschappen en technologie Universitaire Campus, gebouw B B-3590 DIEPENBEEK Tel.: 011-23 07 90 Fax: 011-23 07 99 Aansturen en testen van een hybride infrarood beeldopnemer Abstract

Nadere informatie

Hardware-software Co-design

Hardware-software Co-design Jan Genoe KHLim Versie: maandag 10 juli 2000 Pagina 1 Wat is HW/SW Co-design Traditioneel design: De verdeling tussen de HW en de SW gebeurt bij het begin en beiden worden onafhankelijk ontwikkeld Verweven

Nadere informatie

AVCHD. AVCHD Workshop. 2012 Hans Dorland

AVCHD. AVCHD Workshop. 2012 Hans Dorland AVCHD AVCHD Workshop Inzicht Wie monteert* met DV? Wie monteert* met HDV? Wie monteert met AVCHD? *en overweegt montage met AVCHD? Overzicht digitale video 1995 DV 2005 HDV 2012 AVCHD Wat is HD video?

Nadere informatie

Video. Multimedia Rein van den Boomgaard Universiteit van Amsterdam

Video. Multimedia Rein van den Boomgaard Universiteit van Amsterdam Video Multimedia Rein van den Boomgaard Universiteit van Amsterdam 1 data explosion 1200 lines x 1600 pixels per line RGB, 24 bit (3 bytes) per color pixel Total uncompressed (raw) size is 5.8 Mbyte 36

Nadere informatie

Het JPEG compressie algoritme, IS

Het JPEG compressie algoritme, IS Het JPEG compressie algoritme, IS 10918-1 Een overzicht van het JPEG compressie algoritme door Mathias Verboven. Inhoudsopgave Inleiding.... 2 Stap 1: inlezen bronbestand.... 3 Stap 2: Veranderen van kleurruimte....

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (2)

De Arduino-microcontroller in de motorvoertuigentechniek (2) De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel

Nadere informatie

Digitale en analoge technieken

Digitale en analoge technieken Digitale en analoge technieken Peter Slaets February 14, 2006 Peter Slaets () Digitale en analoge technieken February 14, 2006 1 / 33 Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen

Nadere informatie

2 Algemene opbouw van een computersysteem

2 Algemene opbouw van een computersysteem Procescomputer E. Gernaat 1 Microprocessoren algemeen Informatie-verwerking zoals behandeld is momenteel vrijwel geheel overgenomen door microprocessoren. Wanneer we voortborduren op het idee van combinatorische

Nadere informatie

PCI Ontwikkelplatformen

PCI Ontwikkelplatformen PCI Ontwikkelplatformen Jan Genoe KHLim In dit deel bespreken we de verschillende ontwikkelplatformen die ter beschikking staan om een PCI kaart te ontwikkelen. 1 Ontwikkelplatformen van PCI kaarten Gebruik

Nadere informatie

Het Versacom systeem is gedefinieerd in DIN 43861, deel 301 als "transfer protocol A".

Het Versacom systeem is gedefinieerd in DIN 43861, deel 301 als transfer protocol A. Versacom Het Versacom protocol (Versatile Communication) wordt gebruikt voor het op afstand programmeren van intelligente ontvangers. Dit protocol verstuurt schakelprogramma's, agenda- en vakantie periodes

Nadere informatie

Naam: Oumaima Bekour Klas: M4b ICT De Lange. Hardware

Naam: Oumaima Bekour Klas: M4b ICT De Lange. Hardware Naam: Oumaima Bekour Klas: M4b ICT De Lange Hardware Inleiding 1. Geschiedenis van de computer 2. Hardware 3. Interne componenten en Randapparatuur Geschiedenis De computer is uitgevonden door het rekenen.

Nadere informatie

communicatie is onderhevig aan fouten

communicatie is onderhevig aan fouten 1.1 Een communicatiemodel Algemeen communicatiemodel Model voor datacommunicatie Verschil datacommunicatie en telecommunicatie Communicatie schematisch communicatie is onderhevig aan fouten Datacommunicatie

Nadere informatie

Implementatie en optimalisatie van een robuuste H.264/AVC decoder

Implementatie en optimalisatie van een robuuste H.264/AVC decoder Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Implementatie en optimalisatie van een robuuste H.264/AVC decoder door Tom Pycke

Nadere informatie

Examen Geavanceerde Computerarchitectuur

Examen Geavanceerde Computerarchitectuur Examen Geavanceerde Computerarchitectuur Academiejaar 2006-2007 Dinsdag 16 januari 2007, 14u00 Prof. dr. ir. L. Eeckhout Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder blad Uw naam en

Nadere informatie

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

Combinatorische schakelingen

Combinatorische schakelingen Practicum 1: Combinatorische schakelingen Groep A.6: Lennert Acke Pieter Schuddinck Kristof Vandoorne Steven Werbrouck Inhoudstabel 1. Doelstellingen... 2 2. Voorbereiding... 3 3. Hardware-practicum...

Nadere informatie

Samenvatting Field programmabale gate arrays (FPGA s) Dynamische herconfiguratie.

Samenvatting Field programmabale gate arrays (FPGA s) Dynamische herconfiguratie. Samenvatting Field programmabale gate arrays (FPGA s) zijn heel aantrekkelijk als ontwerpplatform voor digitale systemen. FPGA s zijn geïntegreerde schakelingen die geprogrammeerd of geconfigureerd kunnen

Nadere informatie

Modem en Codec. Telematica. Amplitude-modulatie. Frequentie-modulatie. Soorten modems. Fase-modulatie

Modem en Codec. Telematica. Amplitude-modulatie. Frequentie-modulatie. Soorten modems. Fase-modulatie Modem en Codec Telematica Data Transmissie (Fysieke laag) Hoofdstuk 6 t/m 8 Een modem gebruikt analoge signalen om digitale signalen te versturen Een codec gebruikt digitale signalen om analoge signalen

Nadere informatie

Zelftest Informatica-terminologie

Zelftest Informatica-terminologie Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u

Nadere informatie

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: SAMENVATTING HOOFDSTUK 1 Een computersysteem De twee meest gebruikte modellen computers zijn: * Desktop * Laptop Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: Systeemkast Beeldscherm

Nadere informatie

Functionele beschrijving: scannen naar UNIT4 Cura Documentmanagement.

Functionele beschrijving: scannen naar UNIT4 Cura Documentmanagement. Functionele beschrijving: scannen naar UNIT4 Cura Documentmanagement. Algemeen Met KYOCERA scannen naar UNIT4 Cura Documentmanagement beschikt u over een efficiënte oplossing om uw documenten te scannen

Nadere informatie

Appendix A Productspecificaties PRODUCTSPECIFICATIES

Appendix A Productspecificaties PRODUCTSPECIFICATIES A P P E N D I X A PRODUCTSPECIFICATIES A-1 Processor Core Logic Geheugentype Standaard Geheugenuitbreiding Processor en Core Logic Mobile Intel Pentium M (Banias), 1.5GHz-1.6GHz, 1 MB L2 met foutcorrectie

Nadere informatie

Hoofdstuk 6: Digitale signalen

Hoofdstuk 6: Digitale signalen Hoofdstuk 6: Digitale signalen 6. Algemeenheden Het decimale talstelsel is het meest gebruikte talstelsel om getallen voor te stellen. Hierin worden symbolen gebruikt ( t.e.m. 9 ) die ondubbelzinning de

Nadere informatie

De computer als processor

De computer als processor De computer als processor DE FYSIEKE COMPUTER Componenten van de computerconfiguratie Toetsenbord Muis Scanner Microfoon (Extern geheugen) Invoerapparaten Uitvoerapparaten Monitor Printer Plotter Luidspreker

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 3: Eenvoudige externe hardware & hardware programmeren in C Hardware programmeren in C Inmiddels ben je al aardig op gang gekomen met het programmeren van microcontrollers.

Nadere informatie

Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19

Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19 Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19 Inhoudsopgave 1 Inleiding... 3 2 Systeemeisen... 4 3 Installatie... 5 4 Gebruik en instellingen... 12 4.1 Algemeen...

Nadere informatie

Geheugenkaartjes. 19 december 2014

Geheugenkaartjes. 19 december 2014 Geheugenkaartjes 19 december 2014 Inhoud Inleiding Geheugenkaartjes bij opname Geheugenkaartjes bij montage Geheugenkaartjes voor opslag en transport 2 Inleiding Video-opslag is technologie die nog steeds

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren Maart 2015 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 2 December 2014 Yannick Verschueren

Nadere informatie

Functionele beschrijving: Scannen naar AFAS Profit.

Functionele beschrijving: Scannen naar AFAS Profit. Functionele beschrijving: Scannen naar AFAS Profit. Algemeen Met de Kyocera Scannen naar AFAS Profit beschikt u over een efficiënte oplossing om uw documenten te scannen naar AFAS Profit. Met deze oplossing

Nadere informatie

Hardware-ontwerp van een bewegingsschatter voor videocompressie

Hardware-ontwerp van een bewegingsschatter voor videocompressie Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Hardware-ontwerp van een bewegingsschatter voor videocompressie door Peter Bertels

Nadere informatie

Les 11: systeemarchitectuur virtuele machines

Les 11: systeemarchitectuur virtuele machines Les 11: systeemarchitectuur virtuele machines Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Virtuele machines Motivatie Interfaces Virtualisatie: inleiding

Nadere informatie

The easy choise of the pro

The easy choise of the pro The easy choise of the pro Eenvoudig, voordelig en betrouwbaar LINDAB NV Zeeschipstraat 149 B-9000 GENT Tel.: 09 385 50 11 Fax: 09 385 60 62 CADVENT verantwoordelijke : Filip Lioen 0473/85.96.45 Lindab

Nadere informatie

Detectie van bewegende objecten in videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen

Detectie van bewegende objecten in videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen Detectie van bewegende objecten in videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen Sammy Lievens Promotor: prof. dr. ir. Rik Van de Walle Begeleiders: Chris Poppe, Sarah De Bruyne

Nadere informatie

Functionele beschrijving: scannen naar Trivium FORTUNA.

Functionele beschrijving: scannen naar Trivium FORTUNA. Functionele beschrijving: scannen naar Trivium FORTUNA. Algemeen Met KYOCERA scannen naar Trivium FORTUNA beschikt u over een efficiënte oplossing om uw documenten te scannen naar Trivium FORTUNA. Met

Nadere informatie

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik Rick van der Zwet 4 augustus 2010 Samenvatting Dit schrijven zal

Nadere informatie

Functionele beschrijving: scannen naar Exact Globe.

Functionele beschrijving: scannen naar Exact Globe. Functionele beschrijving: scannen naar Exact Globe. Algemeen Met de KYOCERA scannen naar Exact Globe beschikt u over een efficiënte oplossing om uw documenten te scannen naar Exact Globe. Met deze oplossing

Nadere informatie

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Geheugenbeheer. ICT Infrastructuren 2 december 2013 Geheugenbeheer ICT Infrastructuren 2 december 2013 Doelen van geheugenbeheer Reloca>e (flexibel gebruik van geheugen) Bescherming Gedeeld/gemeenschappelijk geheugen Logische indeling van procesonderdelen

Nadere informatie

Ontwikkeling van DirectShow-filters voor de visualisatie van een H.264/AVC-bitstroom

Ontwikkeling van DirectShow-filters voor de visualisatie van een H.264/AVC-bitstroom Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Ontwikkeling van DirectShow-filters voor de visualisatie van een H.264/AVC-bitstroom

Nadere informatie

1. Introductie netwerken

1. Introductie netwerken 13 1. Introductie netwerken Een netwerk is simpel gezegd een verzameling computers die met elkaar verbonden zijn. De realiteit is wat complexer, omdat de computers met elkaar verbonden zijn met behulp

Nadere informatie

Functionele beschrijving: scannen naar van Brug software.

Functionele beschrijving: scannen naar van Brug software. Functionele beschrijving: scannen naar van Brug software. Algemeen Met de KYOCERA scannen naar van Brug Software beschikt u over een efficiënte oplossing om uw documenten te scannen naar het Notarieel

Nadere informatie

Functionele beschrijving: scannen naar UNIT4 DocumentManager

Functionele beschrijving: scannen naar UNIT4 DocumentManager Functionele beschrijving: scannen naar UNIT4 DocumentManager Algemeen Met de KYOCERA Scannen naar UNIT4 DocumentManager beschikt u over een efficiënte oplossing om uw documenten te scannen naar UNIT4 DocumentManager

Nadere informatie

Laptop Folder. De prijzen die in deze folder staan vermeld zijn incl. Btw en startklaar geleverd en excl. arbeid en voorrijkosten op locatie.

Laptop Folder. De prijzen die in deze folder staan vermeld zijn incl. Btw en startklaar geleverd en excl. arbeid en voorrijkosten op locatie. Laptop Folder 2017 Dit is onze laptop folder, hierin vindt u verschillende merken maar altijd met minimaal 2 jaar garantie. Deze garantie is op "hardware" en wij geven deze garantie aan "huis". De prijzen

Nadere informatie

EIGENSCHAPPEN CONVERGED HARDWARE

EIGENSCHAPPEN CONVERGED HARDWARE EIGENSCHAPPEN CONVERGED HARDWARE Eigenschappen Converged Hardware 1 van 8 Document Informatie Versie Datum Omschrijving Auteur(s) 0.1 29-09-2015 Draft Remco Nijkamp 0.2 29-09-2015 Volgende Versie opgesteld

Nadere informatie

Verslag: Computer. Naam: Tyrone Ste Luce. Klas: M4B

Verslag: Computer. Naam: Tyrone Ste Luce. Klas: M4B Verslag: Computer Naam: Tyrone Ste Luce Klas: M4B Inhoud 1. Inleiding 2. Binaire taal 3. Besturingssysteem 4. Hardware 5. Cmos en Bios 6. De processor 7. Internet 1. Inleiding Wanneer is de computer uitgevonden?

Nadere informatie

21 oktober 2015. Geheugenkaartjes

21 oktober 2015. Geheugenkaartjes 21 oktober 2015 Geheugenkaartjes Inhoud Inleiding Geheugenkaartjes bij opname Geheugenkaartjes bij montage Geheugenkaartjes voor opslag en transport 2 Inleiding Video-opslag is technologie die nog steeds

Nadere informatie

Msi desktop infinite x 9SD-248EU 2 299,00. Kenmerken. D-Ware Aarschot. Artikelcode : ITMINFINITEX248

Msi desktop infinite x 9SD-248EU 2 299,00. Kenmerken. D-Ware Aarschot. Artikelcode : ITMINFINITEX248 Msi desktop infinite x 9SD-248EU Artikelcode : ITMINFINITEX248 MSI Infinite X 9SD-248EU. Frequentie van processor: 3,6 GHz, Processorfamilie: Intel 9e generatie Core i7, Processormodel: i7-9700k. Intern

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Three Ships CDS opschalingsdocument Overzicht server configuratie voor Three Ships CDS

Three Ships CDS opschalingsdocument Overzicht server configuratie voor Three Ships CDS CDS opschalingsdocument Overzicht server configuratie voor CDS 1. Algemeen Dit document geeft een overzicht van een aantal mogelijke hardware configuraties voor het inrichten van een serveromgeving voor

Nadere informatie

Opstarten. Hoofdstuk 1

Opstarten. Hoofdstuk 1 Hoofdstuk 1 Opstarten Wij feliciteren u met uw aankoop van de WindBOX. Als u kiest voor een plat systeem, is dit uw beste keuze. U kunt deze set overal kwijt. Dit pakket vol met mogelijkheden biedt u tevens

Nadere informatie

Windows Basis - Herman Van den Borre 1

Windows Basis - Herman Van den Borre 1 Windows Vista Basis Herman Van den Borre Praktische zaken Lessen Vrijdagmorgen 9u00 11u45 Pauze 10u15-10u30 Handboek Windows Vista Basis Roger Frans Uitgeverij Campinia Media ISBN: 978.90.356.1212.9 Prijs:

Nadere informatie

Wat is een busverbinding?

Wat is een busverbinding? Wat is een busverbinding? gemeenschappelijke verbinding tussen CPU, geheugen en I/O-schakelingen onderscheid tussen: databus/adresbus/controlbus intern/extern serieel/parallel unidirectioneel/bidirectioneel

Nadere informatie

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Tim Mallezie Architectuur van besturingssystemen: Vraag A2. Procesbeheer: kenmerken van moderne besturingssystemen. 1. Bespreek de (drie) meest typische kenmerken van moderne besturingssystemen. 2. In hoeverre beantwoorden UNIX, Linux en Windows NT hieraan? Geef

Nadere informatie

http://www.playgarden.com/ Inleiding 8

http://www.playgarden.com/ Inleiding 8 http://www.playgarden.com/ Inleiding 8. Inleiding.. Wat is zippen? Regelmatig moet je grote bestanden van de ene computer naar de andere doorgegeven. Dit doe je dan via het internet, via een netwerk, met

Nadere informatie

Voorblad tentamen

Voorblad tentamen oorblad tentamen - Naam student: Studentnr:. Klas:. Cijfer.. Dit voorblad en indien aangegeven overige opgavenbladen, moeten voorzien zijn van naam, studentnummer en klas. Controleer dit tentamen alvorens

Nadere informatie

A SIMSTAT - ALGEMEEN A-1 B SIMSTAT - BEHEER B-1

A SIMSTAT - ALGEMEEN A-1 B SIMSTAT - BEHEER B-1 A SIMSTAT - ALGEMEEN A-1 A.1 OVER SIMSITE A-1 A.2 TECHNISCHE SPECIFICATIES A-1 A.3 AAN DE SLAG A-2 B SIMSTAT - BEHEER B-1 B.1 AUTORISATIE B-1 B.2 ALGEMEEN B-1 B.2.1 HUIDIGE SITUATIE B-1 B.2.2 DAGELIJKS

Nadere informatie

Gegevens. Doelstellingen Elektronica. verwerven. opslaan. bewerken doorsturen. weergeven. Analoog signaal : snelheidsmeting. KHLim - dep.

Gegevens. Doelstellingen Elektronica. verwerven. opslaan. bewerken doorsturen. weergeven. Analoog signaal : snelheidsmeting. KHLim - dep. Gegevens verwerven Doelstellingen Elektronica opslaan» elektrische vorm» magnetische vorm» mechanische vorm bewerken doorsturen» elektrisch (temperatuur, druk, geluid, beeld, )» optisch» elektromagnetische

Nadere informatie

Externe-mediakaarten

Externe-mediakaarten Externe-mediakaarten Artikelnummer van document: 409916-331 Mei 2006 In deze handleiding wordt het gebruik van externe-mediakaarten beschreven. Inhoudsopgave 1 Digitale-mediakaarten (alleen bepaalde modellen)

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle  holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/28464 holds various files of this Leiden University dissertation Author: Jeroen Bédorf Title: The gravitational billion body problem / Het miljard deeltjes

Nadere informatie

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Met bandje vraagt veel minder rekenkracht van de PC (Zowel in DV=Avials HD= MPEG2). HDV1=1280x720p HDV2=1440x1080i. Een bandje moet vanaf de camera via Firewire(ook

Nadere informatie

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015 Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015 Microcontroller Uit Wikipedia A microcontroller (sometimes abbreviated µc or uc) is a small computer on a single integrated circuit

Nadere informatie

HP PRODESK 400 G3 899,00. Kenmerken PPC SOLUTIONS BVBA. Artikelcode : ITHP1EX82EA

HP PRODESK 400 G3 899,00. Kenmerken PPC SOLUTIONS BVBA. Artikelcode : ITHP1EX82EA HP PRODESK 400 G3 Artikelcode : ITHP1EX82EA HP ProDesk ProDesk 400 G3 desktop mini pc. Frequentie van processor: 2,70 GHz, Processorfamilie: Zevende generatie Intel Core i5, Processormodel: i5-7500t. Intern

Nadere informatie

invloed van herschaling bij het comprimeren van HD-videobeelden

invloed van herschaling bij het comprimeren van HD-videobeelden Faculteit Ingenieurswetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. Dr. Ir. J. Van Campenhout invloed van herschaling bij het comprimeren van HD-videobeelden door Timothy Suy

Nadere informatie

ACER CHROMEBOX CXI3 289,00. Kenmerken VBC COMPUTERS. Artikelcode : ITACCHROMEBOXCL

ACER CHROMEBOX CXI3 289,00. Kenmerken VBC COMPUTERS. Artikelcode : ITACCHROMEBOXCL ACER CHROMEBOX CXI3 Artikelcode : ITACCHROMEBOXCL Acer Chromebox Chromebox CXI3. Frequentie van processor:,8 GHz, Processorfamilie: Intel Celeron, Processormodel: 3865U. Intern geheugen: 4 GB, Intern geheugentype:

Nadere informatie

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: Soorten Personal Computers De drie meest voorkomende computers zijn: * Desktop * Laptop * Tablet Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: Systeemkast Beeldscherm Toetsenbord Printer

Nadere informatie

Externe-mediakaarten. Gebruikershandleiding

Externe-mediakaarten. Gebruikershandleiding Externe-mediakaarten Gebruikershandleiding Copyright 2007 Hewlett-Packard Development Company, L.P. Het SD-logo is een handelsmerk van de desbetreffende eigenaar. Java is een in de Verenigde Staten gedeponeerd

Nadere informatie

Netwerk Interfacing Data Logging.

Netwerk Interfacing Data Logging. Handleiding Netwerk Interfacing Data Logging. EduTechSoft.nl 2009-2010 H.O.Boorsma. Pagina - 2 - Netwerk Interfacing Data Logging Pagina - 3 - Inhoud Inleiding.... 4 Beschrijving van het programma....

Nadere informatie

ASUS DESKTOP GT51CH-BE016T 2 099,00. Kenmerken COMPUTRADE. Artikelcode : ITASGT51CHBE016

ASUS DESKTOP GT51CH-BE016T 2 099,00. Kenmerken COMPUTRADE. Artikelcode : ITASGT51CHBE016 ASUS DESKTOP GT51CH-BE016T Artikelcode : ITASGT51CHBE016 ASUS ROG GT51CH-BE016T. Frequentie van processor: 4,2 GHz, Processorfamilie: Zevende generatie Intel Core i7, Processormodel: i7-7700k. Intern geheugen:

Nadere informatie

S u b n e t t e n. t h e t r u e s t o r y 1100 0000. 1010 1000. 0000 0001. 0000 0001 1111 1111. 1111 1111. 1111 1111. 0000 0000.

S u b n e t t e n. t h e t r u e s t o r y 1100 0000. 1010 1000. 0000 0001. 0000 0001 1111 1111. 1111 1111. 1111 1111. 0000 0000. S u b n e t t e n t h e t r u e s t o r y 1100 0000. 1010 1000. 0000 0001. 0000 0001 1111 1111. 1111 1111. 1111 1111. 0000 0000 Part 1 Inhoud Wat is een subnet?... 2 Waarom?... 3 Het begin.... 3 Een voorbeeld...

Nadere informatie

Externe-mediakaarten Gebruikershandleiding

Externe-mediakaarten Gebruikershandleiding Externe-mediakaarten Gebruikershandleiding Copyright 2007 Hewlett-Packard Development Company, L.P. Het SD-logo is een handelsmerk van de desbetreffende eigenaar. Java is een in de Verenigde Staten gedeponeerd

Nadere informatie

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files 1 Introductie In deze oefening zal je je LCD display leren aansturen. Je controleert deze display door er instructies naar te

Nadere informatie

Functionele beschrijving: Scannen naar Pro Management

Functionele beschrijving: Scannen naar Pro Management Functionele beschrijving: Scannen naar Pro Management Algemeen Met de KYOCERA scannen naar oplossing beschikt u over een efficiënte oplossing om uw documenten te scannen naar Pro Management. Met deze oplossing

Nadere informatie

Sequentiële Logica. Processoren 24 november 2014

Sequentiële Logica. Processoren 24 november 2014 Sequentiële Logica Processoren 24 november 2014 Inhoud Eindige automaten Schakelingen met geheugen Realisatie van eindige automaten Registers, schuifregisters, tellers, etc. Geheugen Herinnering van week

Nadere informatie

Een eerste belangrijk deel in dit proefschrift behandelt het automatisch detecteren van shotovergangen in H.264/AVC-gecodeerde videostromen.

Een eerste belangrijk deel in dit proefschrift behandelt het automatisch detecteren van shotovergangen in H.264/AVC-gecodeerde videostromen. Samenvatting De laatste decennia zijn we getuige geweest van een snel stijgende verspreiding en beschikbaarheid van mediabronnen. Deze toename kan hoofdzakelijk toegeschreven worden aan de groei van het

Nadere informatie

wordt dat ze overeenkomen met bewegende objecten. Het algoritme creert een achtergrondmodel gebaseerd op de grootte (in bits) van de macroblokken.

wordt dat ze overeenkomen met bewegende objecten. Het algoritme creert een achtergrondmodel gebaseerd op de grootte (in bits) van de macroblokken. Samenvatting De laatste jaren is het gebruik van bewakingscamera s of videobewakingssystemen exponentieel toegenomen. Een dergelijk systeem beheert de data-input van verscheidene camera s en is verantwoordelijk

Nadere informatie

Socio-technisch systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1

Socio-technisch systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technisch systemen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1 Systeem categoriën Technische op computer gesteunde systemen Systemen die HW en SW bevatten, maar waar

Nadere informatie

Systeemeisen Exact Compact product update 406

Systeemeisen Exact Compact product update 406 1 van 6 08-10-2013 12:07 Exact Compact Systeemeisen Exact Compact product update 406 Een pressionele administratie moet bedrijfszeker zijn. U moet er in het dagelijks gebruik snel en zonder onderbrekingen

Nadere informatie

Versie 1.0. Gebruikshandleiding. van de Stereo Controle (art. L4561N) TiStereoControl. Software voor de configuratie 06/08-01 PC

Versie 1.0. Gebruikshandleiding. van de Stereo Controle (art. L4561N) TiStereoControl. Software voor de configuratie 06/08-01 PC Versie 1.0 06/08-01 PC Gebruikshandleiding TiStereoControl Software voor de configuratie van de Stereo Controle (art. L4561N) TiStereoControl 2 3 INHOUD 1. Vereisten Hardware en Software 4 2. Installatie

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

Klasse B output buffer voor een Flat Panel Display Kolom aansturing

Klasse B output buffer voor een Flat Panel Display Kolom aansturing Gevalstudie 1 Klasse B output buffer voor een Flat Panel Display Kolom aansturing IEEE Journal of Solid-state circuits, Vol 34, No 1, Januari 1999, pp 116-119 Jan Genoe KHLim Flat Panel display kolom driver

Nadere informatie

Hardware. Robert Groen. Jim van Dijk. 13 september 2013 M44 ITTL

Hardware. Robert Groen. Jim van Dijk. 13 september 2013 M44 ITTL Hardware Robert Groen Jim van Dijk 13 september 2013 M44 ITTL 1 Inhoud Inleiding... 3 Geschiedenis van de pc... 4 Inhoud computer... 5 Software computer... 6 Onderdelen Hardware... 9 Functies Onderdelen

Nadere informatie

Koppelen van beamer en laptop.

Koppelen van beamer en laptop. Koppelen van beamer en laptop. Koppelen van beamer of 2e beeldscherm aan je laptop of desktop. Soorten aansluitingen op laptop en desktop. Beeldscherm wisseling bij laptop. Laptop/desktop instellen onafhankelijke

Nadere informatie

Problemen herformuleren Leerlingen drukken de probleemstelling uit in eigen woorden.

Problemen herformuleren Leerlingen drukken de probleemstelling uit in eigen woorden. ACTIVITEITEN NAAM activiteit Leeftijdsgroep Markeer de optie. Tijdsduur: Vaardigheden computationeel denken Markeer de opties. Programmeren met Scratch 1 graad secundair onderwijs (12 14 jaar) > project

Nadere informatie

Intel Pentium G3258. Productinformatie ARTIKELNUMMER FABRIKANTNUMMER BX80646G3258 FABRIEKSGARANTIE. Bring in Service (36 maanden) Processor

Intel Pentium G3258. Productinformatie ARTIKELNUMMER FABRIKANTNUMMER BX80646G3258 FABRIEKSGARANTIE. Bring in Service (36 maanden) Processor Intel Pentium G3258 ARTIKELNUMMER FABRIKANTNUMMER 48693 BX80646G3258 FABRIEKSGARANTIE Bring in Service (36 maanden) Productinformatie Processor Processorfamilie Frequentie van processor Intel Pentium G

Nadere informatie

De ontwikkeling van een gebouwbeheersysteem

De ontwikkeling van een gebouwbeheersysteem De ontwikkeling van een gebouwbeheersysteem Een afstudeeropdracht elektrotechniek Auteurs: R. Hulzebos S.H. de Lange Opleiding: Hanzehogeschool faculteit techniek De ontwikkeling van een gebouwbeheersysteem

Nadere informatie

Referentie Handleiding

Referentie Handleiding Version 1.1.5 Referentie Handleiding DiscretePhoton H.264 encoder DiscretePhoton www.discretephoton.com Referentie Handleiding Over DiscretePhoton H.264-encoder DiscretePhoton H.264 encoder Windows versie

Nadere informatie

Technische Normen en Richtlijnen voor de Set Top Box Bedoeld voor DVB-T ontvangst

Technische Normen en Richtlijnen voor de Set Top Box Bedoeld voor DVB-T ontvangst Technische Normen en Richtlijnen voor de Set Top Box Bedoeld voor DVB-T ontvangst Focuspunt: Digitale televisie signaalontvangst Procesgebied: Willemstad, Curaçao Versie 1c: September 2011 INHOUDSOPGAVE

Nadere informatie

IEEE 1394 firewire. Jan Genoe KHLim. I-link DV (digital video)

IEEE 1394 firewire. Jan Genoe KHLim. I-link DV (digital video) IEEE 1394 firewire I-link DV (digital video) Jan Genoe KHLim 1 Traditionele video bewerkingswerkwijze In draagbare video camera's worden beelden reeds lang aan de hand van CCD opgenomen, dit wil zeggen

Nadere informatie

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken

Nadere informatie

Format C Weggestraat 13, 2170 Merksem Tel.:

Format C Weggestraat 13, 2170 Merksem Tel.: Format C Weggestraat 13, 2170 Merksem Tel.: 03 641 63 30 E-mail: info@formatc.be Code: Vendor code: EAN code: Intel Core i7-7700hq (6MB Cache, 2.8GHz), 16GB DDR4-SDRAM, 1000GB HDD, 256 SSD, 43.9 cm (17.3")

Nadere informatie

Nederlandse samenvatting (Dutch summary)

Nederlandse samenvatting (Dutch summary) Nederlandse samenvatting (Dutch summary) Ditproefschriftpresenteerteen raamwerk voorhetontwikkelenvanparallellestreaming applicaties voor heterogene architecturen met meerdere rekeneenheden op een chip.

Nadere informatie