FPGA-gebaseerde instructiesetuitbreiding voor videobewegingsschatting

Maat: px
Weergave met pagina beginnen:

Download "FPGA-gebaseerde instructiesetuitbreiding voor videobewegingsschatting"

Transcriptie

1 Faculteit Ingenieurswetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout FPGA-gebaseerde instructiesetuitbreiding voor videobewegingsschatting door Pieter-Paul De Clercq Promotor: prof. dr. ir. D. Stroobandt Thesisbegeleiders: dr. ir. M. Christiaens ir. B. Schrauwen ir. H. Eeckhaut Afstudeerwerk ingediend tot het behalen van de academische graad van burgerlijk elektrotechnisch ingenieur. Academiejaar

2 FPGA-gebaseerde instructiesetuitbreiding voor videobewegingsschatting door Pieter-Paul De Clercq Afstudeerwerk ingediend tot het behalen van de academische graad van burgerlijk elektrotechnisch ingenieur Academiejaar Universiteit Gent Faculteit Ingenieurswetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Promotor: prof. dr. ir. D. Stroobandt Thesisbegeleiders: dr. ir. M. Christiaens ir. B. Schrauwen ir. H. Eeckhaut Samenvatting De laatste jaren zijn multimedia steeds nadrukkelijker naar voren getreden. Ze duiken ook meer en meer op in mobiele toepassingen. Dit plaatst de ontwerper voor een grote uitdaging; videocodering en -decodering moeten in ware tijd en met een beperkt vermogen worden uitgevoerd. Deze scriptie onderzoekt of de Virtex 4 FX van Xilinx geschikt is om een videocodec uit het RESUME-project in ware tijd uit te voeren. In een eerste fase wordt de videocodec naar de Virtex 4 FX overgezet. De oorspronkelijke code wordt hierbij volledig uitgevoerd door de PowerPC-processor die op de Virtex 4 FX aanwezig is. Vervolgens zal de codec worden versneld door gebruik te maken van de APUinterface op de Virtex 4 FX. Deze laat toe dat nieuwe instructies worden toegevoegd aan de instructieset van de PowerPC. Tot slot worden nog enkele uitbreidingen op dit werk geformuleerd. Trefwoorden: FPGA, configureerbare processor, bewegingsschatting en instructiesetuitbreiding

3 Toelating tot bruikleen De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delen van de scriptie 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 deze scriptie. Pieter-Paul De Clercq, 1 juni 2006

4 FPGA-based Instruction Set Extension for Motion Estimation Pieter-Paul De Clercq Supervisor(s): prof. dr. ir. D. Stroobandt, dr. ir. M. Christiaens, ir. B. Schrauwen, ir. H. Eeckhaut Abstract This article describes the use of a Virtex 4 FX FPGA to speed up a videocodec. This is done by extending the native instruction set of the PowerPC processor available on this chip. In this article it is shown that real-time video decoding on the Virtex 4 FX is not easy. Still some initial steps toward a reale time video decoder are taken. Keywords FPGA, configurable processor, motion estimation, instruction set extension I. INTRODUCTION Real time video has considerably gained importance the last few years. In this paper we will try to speed up the scalable, wavelet-based video codec of the RESUME[1] project. RE- SUME stands for Reconfigurable Embedded Systems for Use in scalable Multimedia Environments. This article describes the use of a Virtex 4 FX. This is an FPGA from Xilinx with a PowerPC processor on it. The native instruction set of this PowerPC can be extended by using the Auxiliary Processor Unit (APU) interface. II. VIRTEX 4 FX - APU The Auxiliary Processor Unit (APU) Controller allows the designer to extend the native PowerPC 405 instruction set with custom instructions that are executed by an FPGA Fabric Coprocessor Module (FCM)[2]. This is shown in figure 1. A brief introduction to the APU can be found in [3]. PowerPC APU I/F APU Processor Block Fig. 1. Virtex 4 FX. FPGA I/F FCM FPGA Fabric An instruction is decoded simultaneously by the PowerPC and the APU. When the instruction is meant for the APU it passes the instruction to an FCM which executes it. The APU only decodes the instruction, it does not execute it. III. RUNNING THE ORIGINAL CODEC We installed a linux kernel on the ML403 board[4]. The ML403 is a development board with a Virtex 4 FX chip on it. The Virtex 4 FX contains a PowerPC. This is not enough to run a linux kernel. Some peripherals need to be implemented on the FPGA. An uartlite was used to allow communication with a PC. A SysACE allows us to use the CompactFlash memory card of the ML403. Finally, a PLB DDR controller was added to use the RAM. This base system uses 36% of the FPGA. A. Execution times On this basesystem a linux kernel was installed. The video codec runs on top of this linux system. Executions times for encoding and decoding 3 GOPS 1 (this is approximately 1,5 seconds of video) of the foreman video sequence are presented in table I TABLE I EXECUTION TIMES RUNNING FOREMAN (30FPS) ON THE ML403. execution time resolution encoding decoding CIF 930 min 268 sec QCIF 220 min 85 sec The encoder takes a very long time to execute. This is because the video sequence is kept on the CompactFlash card. This memory has a long access time. Using ethernet to fetch the video sequence would be a better approach. Unfortunately, the ethernet MAC was too large to use on the Virtex 4 FX; it consumes over 30% of the FPGA. The decoder suffers less from this slow memory. It only has to fetch compressed video. For real-time decoding of a QCIF video sequence, a speedup of 50 is required. B. Profile information Profiling an application allows to identify the hot code. Implementing this code on the FPGA can make the decoder faster. The profile information for the decoder is shown in figure 2. The motion compensation block takes 20,27% of the execution time. This block consists of two functions: the function MC taking 11,77% of the execution time and the function Interpolator taking 8,50% of the execution time. In figure 2 it is also illustrated that it is not possible to do real-time video decoding by only speeding up motion compensation. Without motion compensation the decoder still takes 68 seconds for a video sequence of 1,5 seconds. In [5] work is done on speeding up the IDWT (Inverse Discrete Wavelet Transform). A WED decoding 50 million symbols per seconde has been implemented in the RESUME-project. 1 Group Of Pictures (16 pictures)

5 22,87 7,19 6,54 11,77 WEC WED 11,77 CABAC sented. This speedup depends on the block size. TABLE II SPEEDUP. 7,84 35,29 20,27 8,50 IDWT rest 8,5 MC block size speedup 11 times 11 pixels 3,9 15 times 15 pixels 6,4 23 times 23 pixels 7,6 Interpolator Fig. 2. Profiling the decoder. // horizontal interpolation for(int y=0 ; y<ver; y++) for(int x=0 ; x<hor; x++) for(int i=0 ; i<8 ; i++) inttempblock[y][x] += block[y][x+i] * filter[i]; Fig. 3. Code for horizontal interpolation IV. IMPLEMENTING A FIR INSTRUCTION The function Interpolator, which stands for 8,5 % of the execution time, consists of a horizontal interpolation, followed by a vertical interpolation. The parallel nature of the Interpolator makes it a good candidate for hardware acceleration. In figure 3 the code for horizontal interpolation of a block of video data is shown. This interpolation is used in subpixel motion estimation. We have implemented a FIR instruction replacing the most inner loop of figure 3. This instruction replaces 8 multiplications and 7 additions. It operates on a sliding window of pixels. The pixel values have to be put in one at a time. Therefore, it takes 8 instructions to calculate the first output value. Afterwards, each input value results in one output value, till the end of the row. In figure 4 the schema of the hardware implementation of this instruction is shown. user_func q p clk << 8 reset calc_abort calc_start q[0:30] q[31] M U X FC FIR clk_enable Controler >> 8 SAT M U X n calc_compl Fig. 4. Schema of the hardware implementing the FIR-instruction. In table II the speedup reached with this instruction is pre- The measurements were done using a stand alone program since user defined instructions did not work in a linux program. Although 15 instructions are executed in parallel, a total speedup of 15 could not be achieved. Why is this? First, the clock frequency of the FPGA (100 MHz) is lower than the clock frequency of the PowerPC (300 MHz). On top of that, the first output value takes 8 instructions. This further reduces the speedup. V. CONCLUSION AND FUTURE WORK To run the video codec, a linux system was installed on the ML403 board. It was shown that a speedup of about fifty is required before real-time decoding of QCIF video sequences is possible. It became clear that this speedup can not be reached by only looking at motion compensation. Other functions must be optimized too. A FIR instruction was added to the instruction set of the PowerPC. This instruction speeds up interpolation by af factor of 3,9 to 7,6. New instructions need to be implemented to further optimize the decoder. Possible instructions are a complete interpolation instruction for the decoder and a SAD 2 -calculation for the encoder. We have not yet succeeded in using user defined instructions in a linux program. In this paper speedup was measured using a stand alone program on the ML403 board. This issue needs further investigation. We have also seen that the CompactFlash memory on the ML403 board is a bottleneck. Further investigation should be done on decreasing the effect of memory latency. ACKNOWLEDGMENTS The author would like to acknowledge the suggestions of his supervisors. Peter Bertels, Hendrik Eeckhaut and Harald Devos deserve credit for proofreading this article. Finally the author would like to thank prof. Stroobandt for making this research topic possible. REFERENCES [1] Het RESUME-project: Reconfigurable Embedded Systems for Use in Scalable Multimedia Environments., [2] Xilinx, PowerPC 405 Processor Block Reference Guide. [3] A. Ansari, P. Ryser, and D. Isaacs, Accelerated system performance with APU-enhanced processing, Xcell Journal, [4] Xilinx ML403, [5] J. Cosyn, FPGA-gebaseerde instructiesetuitbreiding voor blokgebaseerde wavelettransformatie., M.S. thesis, Universiteit Gent, Gent, Sum of Absolute Differences

6 Inhoudsopgave 1 Inleiding Schaalbare, waveletgebaseerde videocodering Doel van deze thesis Structuur van deze thesis Bewegingsschatting Beweging schatten Afbakenen van een zoekruimte Macroblokken vergelijken Keuze van de referentiebeelden Subpixel-bewegingsschatting Samenvatting Gelijkaardig werk RESUME Stretch S OneChip MOLEN-processor DISC Hardware Het ML403-ontwikkelbord Virtex 4 FX APU Xilinx ISE, Xilinx XPS en ModelSim i

7 5 Infrastructuur Videocodec op het ML403-bord Het basissysteem Cross Compiler Metingen Videocodec op PC Videocodec op de Virtex Profileren van de codec Encoder Decoder Besluit Implementatie Raamwerk FIR-filter Voorbereiding Implementatie van de FIR-instructie Resultaten Interpolator Specificaties Gebruik van het RAM-geheugen Opstellen van de toestanden Dimensionering van de geheugens Gebruik van de interpolatorinstructie Resultaten Uitbreidingen Nieuwe instructies toevoegen Interpolator SAD-berekening Blik verruimen ii

8 7.2 UDI-instructies in videocodec gebruiken UDI-instructies onder linux Videocodec als standalone-programma Geheugenprobleem oplossen Conclusie 54 A Linux installeren op een ML A.1 Een basissysteem bouwen A.2 Installeren van een cross compiler A.3 Linux-broncode afhalen A.4 Linux configureren en compileren A.4.1 BSP installeren A.4.2 Configureren van de kernel A.4.3 Compileren van de kernel A.5 Bestandssysteem A.5.1 Bootpoging A.5.2 Bestandssysteem bouwen A.6 System ACE B Inhoud CD-ROM 65 Bibliografie 67 iii

9 Lijst van figuren 1.1 Blokschema van de videocodec Resolutieschaalbaarheid met DWT Kwaliteitsschaalbaarheid met WEC Videobeelden kunnen geschat worden aan de hand van naburige beelden Blokschema van een bewegingsschatter Gebruik van een zoekgebied Boomstructuur voor het coderen van een GOP Keuze van de referentiebeelden Interpolatie (figuur op basis van [1]) Principeschema van de S Het ML403-ontwikkelbord met (1) Virtex 4, (2) RAM-geheugen, (3) UART, (4) JTAG De koppeling tussen de APU en de PowerPC-pijplijn[2] Signalen bij uitvoering van een instructie Illustratie van de FCB Blokschema van het basissysteem Profileringsinformatie voor de encoder Profileringsinformatie voor de decoder Het raamwerk Oorspronkelijke C++-code voor interpolator iv

10 6.3 De volgorde waarin het blok wordt doorlopen Aangepaste C++-code voor interpolatie Pas bij de achtste instructie-oproep komt een geldige waarde uit het filter. Daarna wordt overgegaan op regime: bij elke instructie-oproep wordt een geldige waarde gegenereerd Filter in raamwerk Code met nieuwe instructie Schema van de interpolator Toestanden voor de interpolatorinstructie Verloop van de sequentiële uitvoering Verloop van de parallelle uitvoering v

11 Lijst van tabellen 4.1 Signalen van APU naar FCM Signalen van FCM naar APU gebruik van het basissysteem gebruik van het basissysteem Codeertijden bij uitvoering op sankyo Decodeertijden bij uitvoering op sankyo Codeertijden bij uitvoering op ML Decodeertijden bij uitvoering op ML Versnelling vi

12 Lijst van afkortingen APU CIF CPU DDR FCB FCM FIR FPGA GOP ISE MIPS RAM RESUME QCIF SAD UDI VHDL XPS Auxiliary Processor Unit beeldformaat, 352 bij 288 pixels Central Processing Unit Double Data Rate Fabric Coprocessor Bus Fabric Coprocessor Module Finite Impulse Response Field Programmable Gate Array Group Of Pictures Integrated Software Environment Million Instructions Per Second Random Access Memory Reconfigurable Embedded Systems for Use in scalable Multimedia Environments Quarter CIF, 176 bij 144 pixels Sum of Absolute Differences User Defined Instruction Very high speed integrated circuit Hardware Definition Language Xilinx Platform Studio vii

13 Dankwoord In de eerste plaats wil ik mijn promotor prof. Dirk Stroobandt bedanken omdat hij mij de kans heeft gegeven aan dit onderwerp te werken. Verder wil ik mijn thesisbegeleiders Mark Christiaens, Benjamin Schrauwen en Hendrik Eeckhaut bedanken voor hun deskundige begeleiding. Ook Karel Bruneel, Peter Bertels, Philippe Faes, Harald Devos en Michiel D Haene mogen hier niet ontbreken. In het bijzonder wil ik Hendrik Eeckhaut en Peter Bertels danken voor het nalezen van deze tekst en Karel Bruneel voor het advies en de steun. Tevens wil ik mijn medestudenten Jabran, Steven en Jeroen bedanken voor de leuke sfeer in het technicum. In dit dankwoord mag ook mijn moeder niet ontbreken. Ze heeft mij de kans gegeven om deze studies te voltooien. Bovendien wil ik haar, mijn beide zussen en mijn vrienden ook bedanken voor de schouderklopjes die ik in het voorbije jaar soms nodig had. viii

14 Voorwoord De laatste jaren zijn multimedia steeds nadrukkelijker naar voren getreden. Ze duiken ook meer en meer op in mobiele toepassingen. Dit plaatst de ontwerper voor een grote uitdaging; videocodering en -decodering moeten in ware tijd en met een beperkt vermogen worden uitgevoerd. Deze scriptie onderzoekt of de Virtex 4 FX van Xilinx geschikt is om een videocodec uit het RESUME-project in ware tijd uit te voeren. In een eerste fase wordt de videocodec op de Virtex 4 FX uitgevoerd. Hiervoor wordt een ingebed linux-systeem geïnstalleerd op de Virtex 4. Bovenop dit systeem wordt dan de videocodec uitgevoerd. In een tweede fase zal de codec worden versneld door gebruik te maken van de APU-interface op de Virtex 4 FX. Deze laat toe dat nieuwe instructies worden toegevoegd aan de instructieset van de PowerPC. Deze nieuwe instructies worden uitgevoerd door modules die op de FPGA worden geïmplementeerd. Tot slot worden nog enkele uitbreidingen op dit werk geformuleerd. ix

15 Hoofdstuk 1 Inleiding 1.1 Schaalbare, waveletgebaseerde videocodering In dit werk wordt gebruik gemaakt van de videocodec die is ontwikkeld in het RESUME-project[3]. RESUME staat voor Reconfigurable Embedded Systems for Use in scalable Multimedia Environments. Deze videocodec is waveletgebaseerd en schaalbaar. De beschrijving hieronder is gebaseerd op [4] en [5]. In de RESUME-codec wordt gebruik gemaakt van de discrete wavelettransformatie in plaats van de meer gebruikelijke discrete cosinustransformatie. De wavelettransformatie vraagt meer rekentijd maar zorgt dan ook voor een grotere compressie. Schaalbaarheid van een videostroom houdt in dat tijdens de decodering de eigenschappen kunnen worden aangepast aan het toestel waarop de stroom wordt afgespeeld. Zo kan bijvoorbeeld een gsm-toestel kiezen om de videostroom aan een lagere resolutie te decoderen. Videocodering kan schaalbaar zijn op vier manieren: resolutieschaalbaarheid, schaalbaarheid van de beeldsnelheid, schaalbaarheid van de kwaliteit en schaalbaarheid van de kleurdiepte. Figuur 1.1 geeft een principeschema van de videocodec weer. Het bovenste schema toont de encoder, het onderste de decoder. De verschillende blokken worden hieronder kort uitgelegd. Bewegingsschatting (BS) Opeenvolgende beelden in een videostroom lijken goed op elkaar. Bewegingsschatting zal van deze eigenschap gebruik maken om de videostroom compacter op te slaan. Tijdens de bewegingsschatting wordt elk beeld uit de videostroom omgezet in een set van bewegingsvectoren (BV) en een foutbeeld. De bewegingsvectoren beschrijven een beeld als een combinatie van stukken uit referentiebeelden. Dit zal in de meeste gevallen geen perfecte weergave zijn van het beeld. Er is dus nog 1

16 BS DWT WEC BV BVC V bitstroom BC IDWT WED BV BVD U bitstroom Figuur 1.1: Blokschema van de videocodec. extra informatie nodig. Deze extra informatie is het foutbeeld. Het foutbeeld is gewoon het verschil tussen het beeld en de schatting die werd gemaakt tijdens de bewegingsschatting. Discrete Wavelet Transformatie (DWT) DWT scheidt de hoogdoorlaatcompenenten van de laagdoorlaatcomponenten van de referentiebeelden en de foutbeelden. Op deze manier kunnen deze beelden in de volgende stap efficiënter worden gecomprimeerd. lution and frame q All resolution l channel are encod dently. So it is pos of the wavelet tran in parallel. Each r per bitlayer from plane that contai largest absolute va Figure Figuur 3: Resolution 1.2: Resolutieschaalbaarheid scalability. Numbers met DWT. in subscript reflect the resolution layers. bits. The bitlayer tom is the bitplan De wavelettransformatie deelt het beeld op in vier subbanden. De LL-subband This greatly benefi bevat het oorspronkelijke beeld maar dan aan een lagere resolutie. De LH-, ishl- thenorder in wh HH-subbanden bevatten detailinformatie (a) over het beeld. (b) De wavelettransformatie It also enables us t scheidt dus de belangrijke informatie en de details. features to optimi De LL-subband kan dan nog recursief verder getransformeerd worden. Figuur one resolution 1.2 leve illustreert een wavelettransformatie over twee stappen. De LL-subband van bits deze are now encod laatste transformatie (LL 0 ) is opnieuw het originele beeld maar met een nog lagere ously encoded bits 2 The LL-subban frames is treated (c) (d) tains, in contrast itive coefficients. T the 9/7 biorthogo

17 resolutie. Dit proces kan verder worden gezet tot de LL-component nog slechts 1 pixel bevat. De wavelettransformatie laat op deze manier resolutieschaalbaarheid toe. De decoder kan er voor kiezen op een bepaald niveau te stoppen. Er wordt dan een beeld met lagere resolutie verkregen. Het versnellen van een blokgebaseerde discrete wavelettransformatie is het onderwep van [6]. Wavelet Entropy Coder (WEC) De WEC zal de beelden na wavelettransformatie comprimeren. Het comprimeren gebeurt voor de verschillende subbanden van het waveletgetransformeerde beeld apart. De subbanden kunnen dan ook parallel worden berekend. De codering van de subbanden zelf gebeurt in bitlagen. Eerst worden alle meest significante bits gecodeerd. Er wordt geëindigd met alle minst significante bits. Op deze manier kan kwaliteitsschaalbaarheid worden geïmplementeerd. De decoder kan op een bepaald moment besluiten geen verdere bitlagen meer te decoderen. Dit resulteert in een beeld aan lagere kwaliteit. Figuur 1.3 toont kwaliteitsschaalbaarheid met WEC. De figuur bovenaan (a) toont de kwaliteit als alle bitlagen worden gedecodeerd. De twee afbeeldingen eronder gebruiken telkens minder bitlagen en zijn dan ook van een minder goede kwaliteit. Verpakker (V) De verpakker maakt van alle gecodeerde gegevens een bitstroom die de video voorstelt. Voor de decodering wordt de omgekeerde weg gevolgd. De uitpakker (U) splitst de bitstroom op in gecodeerde bewegingsvectoren en gecodeerde foutbeelden. De gecodeerde bewegingsvectoren worden door de bewegingsvectordecoder (BVD) gedecodeerd. De Wavelet Entropie Decoder (WED) decodeert de gecodeerde foutbeelden. Hierna worden deze teruggetransformeerd door de Inverse Discrete Wavelet Transformatie. De bewegingscompensator (BC) gebruikt vervolgens de gedecodeerde bewegingsvectoren, de reeds gedecodeerde referentiebeelden en de gedecodeerde foutbeelden om de oorspronkelijke beelden te reconstrueren. Voor meer info over de RESUME-codec wordt verwezen naar [3] en [5]. 3

18 (a) (b) (c) Figuur 1.3: Kwaliteitsschaalbaarheid met WEC. 4

19 1.2 Doel van deze thesis Bewegingsschatting is een rekenintensieve bewerking (in hoofdstuk 5 zal worden aangetoond dat 80% van de rekentijd hier naartoe gaat). De doelstelling van deze thesis is de bewegingsschatting en -compensatie te versnellen door gebruik te maken van een Virtex 4 FX. De Virtex 4 FX is een FPGA met een ingebedde PowerPCprocessor. Aan deze processor kunnen via een speciale interface, de APU, nieuwe instructies worden toegevoegd. De videocodec zal worden versneld door stukken van de code als nieuwe instructie op de FPGA te implementeren. Voor de hoogniveaubeschrijving van de logica die de nieuwe instructies zal uitvoeren wordt VHDL[7] gebruikt. Ook zal het gebruik van de Virtex 4 FX voor videocodering en -decodering worden geëvalueerd. 1.3 Structuur van deze thesis In hoofdstuk 2 wordt bewegingsschatting uitgelegd. In hoofdstuk 3 worden de gebruikelijke architecturen voor videocodering en videodecodering bestudeerd. Er wordt ook kort ingegaan op enkele onderzoeken die gelijkaardig zijn aan deze studie. In dit werk wordt gebruik gemaakt van een ML403 bord van Xilinx. De belangrijkste component op dit bord is de Virtex 4 FX. Beiden worden besproken in hoofdstuk 4. In hoofdstuk 5 wordt uitgelegd hoe de videocodec ook op het ML403-bord kan worden uitgevoerd. Er wordt een vergelijking gemaakt tussen de resultaten op het ML403-bord en op de pc. Ten slotte wordt in hoofdstuk 5 de verkregen profileringsinformatie besproken. Hoofdstuk 6 beschrijft de instructies die werden toegevoegd aan de PowerPC en de resultaten ervan. De mogelijke uitbreidingen van dit werk worden besproken in hoofdstuk 7. Hoofdstuk 8 besluit met een samenvatting van dit werk. 5

20 Hoofdstuk 2 Bewegingsschatting Opeenvolgende beelden in een videosequentie vertonen grote gelijkenissen met elkaar. Hierdoor kan van elk beeld in een videosequentie een vrij goede schatting worden gemaakt aan de hand van de naburige beelden. Het kan dan interessant zijn om niet de oorspronkelijke beelden zelf op te slaan maar het verschil tussen elk beeld en de gemaakte schatting ervan, het zogenaamde foutbeeld. Wanneer een goede schatting is gemaakt zal dit foutbeeld immers minder informatie bevatten en dus met minder bits kunnen worden opgeslagen of verstuurd over een netwerk. Het maken van zo n model van het huidige beeld aan de hand van referentiebeelden wordt bewegingsschatting genoemd. Bewegingsschatting zorgt voor een enorme reductie van het nodige datadebiet. Dit hoofdstuk beschrijft bewegingsschatting. Achtereenvolgens worden de principes van bewegingsschatting, het gebruik van een zoekruimte en de keuze van de referentiebeelden besproken. Er wordt ook kort ingegaan op een uitbreiding van bewegingsschatting, namelijk subpixelbewegingsschatting. 2.1 Beweging schatten Figuur 2.1 toont drie opeenvolgende beelden uit een videostroom. Het is duidelijk dat deze figuren goed op elkaar lijken. Van het middelste beeld (het huidige beeld) zal een schatting worden gemaakt aan de hand van de referentiebeelden. Om te beginnen wordt het huidige beeld opgedeeld in macroblokken van 16 bij 16 pixels. Voor elk van deze blokkken gaat de bewegingsschatter in de referentiebeelden op zoek naar een blok dat zo goed mogelijk op dit blok lijkt. Om een grotere precisie te verkrijgen kan het macroblok eventueel nog verder worden opgedeeld in 6

21 Referentiebeeld 1 Huidig beeld Referentiebeeld 2 Schatting Foutbeeld Figuur 2.1: Videobeelden kunnen geschat worden aan de hand van naburige beelden. vier submacroblokken van elk 8 bij 8 pixels. Voor deze submacroblokken wordt vervolgens onafhankelijk naar een schatting gezocht. De schatting wordt dus opgebouwd uit verschoven blokken uit de referentiebeelden. Deze verschuivingen worden beschreven door bewegingsvectoren. In figuur 2.1 is ook de schatting van het beeld te zien. Deze schatting is niet helemaal gelijk aan het oorspronkelijke beeld. De schatting zal nagenoeg altijd afwijken van het te coderen beeld. Er is dus meer informatie nodig om het beeld volledig te beschrijven. Deze informatie wordt het foutbeeld genoemd en is ook afgebeeld in figuur 2.1. Het foutbeeld wordt berekend door het verschil te nemen tussen het te coderen beeld en de gemaakte schatting: F OUT BEELD = HUIDIG BEELD SCHAT T ING (2.1) Het foutbeeld in afbeelding 2.1 bevat inderdaad veel minder informatie dan het te coderen beeld. De bewegingsvectoren en het foutbeeld beschrijven het beeld volledig. Een decoder kan aan de hand hiervan dan ook het oorspronkelijk beeld volledig heropbouwen. Eerst wordt met de bewegingsvectoren de schatting opnieuw opgebouwd. Vervolgens wordt hierbij het foutbeeld opgeteld en wordt terug het oorspronkelijke beeld 7

22 verkregen: OORSP RONKELIJK BEELD = SCHAT T ING + F OUT BEELD (2.2) Dit alles staat nog eens samengevat in figuur 2.2. Deze figuur toont het blokschema van een typische bewegingsschatter. De eigenlijke bewegingsschatter (BS) probeert, aan de hand van de referentiebeelden, een zo goed mogelijke schatting te maken van het huidige beeld. Hierbij worden bewegingsvectoren (BV) gegenereerd die een model beschrijven van het te coderen beeld. De bewegingscompensator (BC) berekent het verschil van het te coderen beeld en de gemaakte schatting. Dit verschil wordt het foutbeeld genoemd. huidig BC foutbeeld schatting ref. BS BV Figuur 2.2: Blokschema van een bewegingsschatter. 2.2 Afbakenen van een zoekruimte Een goede schatting zal zich in het referentiebeeld meestal op ongeveer de zelfde plaats bevinden als het te schatten blok in het te schatten beeld. Om de rekentijd te beperken kan er dus een zoekruimte worden afgebakend rondom de positie van het te schatten blok in de referentiebeelden. Figuur 2.3 toont waar de zoekruimtes voor een macroblok liggen. 2.3 Macroblokken vergelijken Er moet worden gezocht naar het blok dat het meest lijkt op het te schatten macroblok maar hoe kan de gelijkenis tussen twee blokken worden uitgedrukt? In de 8

23 Referentiebeeld 1 Te coderen beeld Referentiebeeld 2 Te schatten macroblok Zoekgebied Figuur 2.3: Gebruik van een zoekgebied. RESUME-codec wordt hiervoor gebruik gemaakt van de SAD-waarde. SAD staat voor Sum of Absolute Differences. De berekening van de SAD-waarde is te vinden in formule 2.3. Hierbij is H ij een pixel uit het huidige, te coderen blok en R ij een pixel uit het referentieblok. SAD = n 1 n 1 i=0 j=0 H ij R ij (2.3) De overeenkomstige pixels van beide blokken worden van elkaar afgetrokken. De absolute waarden van al deze verschillen worden vervolgens bij elkaar opgeteld. Deze waarde geeft een goede indicatie over de gelijkenis van de twee blokken. Hoe kleiner de SAD-waarde, hoe beter de twee blokken op elkaar lijken. 2.4 Keuze van de referentiebeelden In deze sectie wordt meer uitleg gegeven over de referentiebeelden en welke beelden als referentiebeelden moeten worden gekozen. Deze keuze heeft een belangrijke invloed op de verkregen schatting. Hoe beter de referentiebeelden op het te coderen beeld lijken, hoe beter de schatting. Veelal zullen beelden die in de tijd dicht bij het te coderen beeld liggen het best lijken op het te coderen beeld. Tijdens het coderen van een videostroom wordt telkens een groep van 16 beelden tegelijk behandeld. Dergelijke groep groep wordt een GOP (Group Of Pictures) genoemd. Figuur 2.4 toont de structuur van een GOP. De beelden R 1 en H 1 t.e.m. H 15 behoren tot een GOP. R 2 behoort al tot de volgende GOP. De boomstructuur in figuur 2.4 geeft aan welke referentiebeelden elk beeld kan hebben. De beelden R 1 en R 2 worden gecodeerd zonder gebruik te maken van bewegingsschatting. Ze worden onafhankelijk van de andere beelden gecodeerd met 9

24 R 1 R 2 Referentiebeeld huidige GOP Referentiebeeld volgende GOP H 8 H 4 H 12 H 2 H 6 H 10 H 14 Decodeervolgorde H 1 H 3 H 5 H 7 H 9 H 11 H 13 H 15 Afspeelvolgorde Figuur 2.4: Boomstructuur voor het coderen van een GOP. technieken die ook gebruikt worden voor stilstaande beelden. Zo n beelden worden intragecodeerde beelden genoemd. Intragecodeerde beelden worden gebruikt als startpunt voor bewegingsschatting. Ze verhinderen ook dat eventuele fouten tijdens het decoderen tot het einde van de videostroom verder propageren. Voor de beelden H 1 tot en met H 15 wordt wel bewegingsschatting gebruikt. Het beeld H 8 kan als referentiebeelden R 1 en R 2 hebben. H 4 heeft dan weer als mogelijke referentiebeelden R 1 en H 8... Er wordt niet steeds gebruik gemaakt van beide mogelijke referentiebeelden. Volgende keuzes zijn mogelijk: Voorwaartse predictie Bij voorwaartse predictie wordt enkel gebruik gemaakt van het referentiebeeld dat voor het huidige beeld komt. Dit beeld zal in veel gevallen een goede schatting geven voor het te coderen beeld. Achterwaartse predictie Bij achterwaartse predictie wordt enkel gebruik gemaakt van het referentiebeeld dat na het huidige beeld komt. Bidirectionele predictie Bij bidirectionele predictie is de schatting het gemiddelde van de twee beste blokken uit elk van de referentiebeelden. 10

25 (a) Voorwaartse schatting (b) Achterwaartse schatting referentiebeeld1 huidig referentiebeeld2 beeld referentiebeeld1 huidig referentiebeeld2 beeld referentiebeeld1 huidig referentiebeeld2 beeld (c) Bidirectionele schatting Figuur 2.5: Keuze van de referentiebeelden 11

26 Dit staat nog eens samengevat in figuur 2.5. Merk op dat de boomstructuur uit figuur 2.4 schaalbaarheid van de beeldsnelheid toelaat. Elk niveau zorgt voor een verdubbeling van de beeldsnelheid t.o.v. de bovenliggende niveau s. 2.5 Subpixel-bewegingsschatting Bovenstaande techniek zal beweging steeds als een verschuiving over een geheel aantal pixels modelleren. Wanneer een (sub)macroblok over bijvoorbeeld een halve pixel is verschoven zal hier niet direct een goede schatting voor worden gevonden. Hieronder wordt een techniek besproken die een beter model zal produceren. Eerst wordt de resolutie van de referentiebeelden verhoogd. Dit gebeurt door geinterpoleerde pixels te berekenen tussen de oorspronkelijke pixels. Hiervoor wordt een FIR-filter gebruikt. Dit wordt weergegeven in figuur 2.6. De grijze waarden zijn de oorspronkelijke waarden. De witte waarden zijn de geïnterpoleerde waarden. Bij de witte waarden kan nog onderscheid worden gemaakt tussen de waarden die horizontaal afhankelijk zijn van de oorspronkelijke waarden, de waarden die verticaal afhankelijk zijn van de oorspronkelijke waarden en de waarden die diagonaal afhankelijk zijn van de oorspronkelijke waarden. Uit deze opgewaardeerde referentiebeelden kunnen vervolgens vier gewone referentiebeelden worden geëxtraheerd: het oorspronkelijke referentiebeeld, een referentiebeeld dat over een halve pixel naar rechts is verschoven, een referentiebeeld dat over een halve pixel naar beneden is verschoven en een referentiebeeld dat diagonaal over een halve pixel is verschoven. Elk van deze referentiebeelden wordt vervolgens gebruikt in bovenstaand algoritme voor bewegingsschatting. Met subpixel-bewegingsschatting kunnen betere schattingen worden gemaakt. Hiervoor moet wel een prijs worden betaald: de zoekruimte wordt veel groter, dit maakt de schatting duurder. Maar ook de bewegingscompensatie bij decoderen wordt trager want ook daar moet worden geïnterpoleerd. 2.6 Samenvatting Bewegingsschatting zal een videostroom comprimeren door de gelijkenissen tussen de opeenvolgende beelden uit te buiten. Dit zorgt voor een grote compressie maar neemt ook veel rekentijd in beslag. De bedoeling van de bewegingsschatter is het huidige beeld volledig te beschrijven aan de hand van bewegingsvectoren (BV) en een foutbeeld. Hierbij wordt de geza- 12

27 a b a b a b b b b b a b a b a a : originele pixels b : geïnterpoleerde pixels b b b b b a b a b a Figuur 2.6: Interpolatie (figuur op basis van [1]) melijke opslagcapaciteit nodig voor bewegingsvectoren en het foutbeeld geminimaliseerd. Deze opslagcapaciteit is over het algemeen veel lager dan de opslagcapaciteit nodig om het beeld zelf te bewaren. Voor meer informatie over bewegingsschatting in het algemeen wordt verwezen naar [1]. In [8] wordt meer uitleg gegeven over bewegingsschatting in de RESUME-codec. 13

28 Hoofdstuk 3 Gelijkaardig werk Dit hoofdstuk geeft een overzicht van een aantal projecten die een gelijkaardig doel hebben als deze thesis. 3.1 RESUME In het RESUME wordt een schaalbare, waveletgebaseerde videocodec volledig op een FPGA geïmplementeerd. Op deze manier wordt een compromis gezocht tussen rekenkracht en flexibiliteit. Meer informatie over RESUME is te vinden op de website [3]. 3.2 Stretch S5000 De Stretch S5000 is een commercieel product. De S5000 is een RISC-processor waarin ook een blok met programmeerbare logica is opgenomen. In dit blok kunnen nieuwe instructies worden geprogrammeerd. Tussen dit programmeerbaar blok en de CPU zit er een bus van 128 bit breed. Het is niet de bedoeling zelf nieuwe instructies te ontwerpen. Stretch levert een compiler die zelf de hete code zoekt en deze omzet in ondersteunende instructies. Stretch beweert dat zijn product, geklokt aan 300MHz, even snel H.264-encodering kan uitvoeren als een desktop computer aan kloksnelheden van enkele GHz. Voor meer informatie wordt verwezen naar [9] en [10]. 14

29 STRETCH CPU bus Programmeerbare Logica 3.3 OneChip Figuur 3.1: Principeschema van de S5000. OneChip is een project van de universiteit van Toronto. In dit project wordt voornamelijk onderzoek gedaan naar de interface tussen de CPU en herconfigureerbare coprocessormodules. Er wordt gebruik gemaakt van een RISC-processor. In de pijplijn van deze processor is een herconfigureerbaar blok aangebracht dat RFU (Reconfigurable Functional Unit) wordt genoemd. Er kunnen nieuwe instructies aan de instructieset van deze processor worden toegevoegd. Deze instructies zullen door de RFU worden uitgevoerd. De RFU kan zelf uit het hoofdgeheugen lezen en er naar schrijven. Bovendien kan de RFU in parallel werken met de CPU. De programma s worden met de hand aangepast om van de RFU gebruik te kunnen maken. Er werd een aantal testen uitgevoerd op een simulator (SimOneChip). Onder andere werd de versnelling voor een MPEG2-codec opgemeten. Voor de encoder werd een maximale versnelling van 1,30 opgemeten. Voor de decoder was dit 5,23. Deze versnellingen zijn gemeten ten opzichte van de zelfde processor zonder RFU. Voor meer info over het OneChip-project wordt verwezen naar [11],[12] en [13]. 3.4 MOLEN-processor Aan de Technische Universiteit Delft wordt gewerkt aan de MOLEN-processor. In [14] worden de principes beschreven. In de MOLEN-processor wordt gebruik gemaakt van herconfigureerbare microcode ρµ-code als uitbreiding van traditionele microcode. Deze ρµ-code laat toe herconfigureerbare hardware te gaan gebruiken in een processor. 15

30 3.5 DISC DISC is een project van Brigham Young University. DISC staat voor Dynamic Instruction Set Computer. De opzet van dit project gaat nog een stap verder dan hierboven. Alle instructies worden als herconfigureerbare modules geïmplementeerd. Bij het begin van de uitvoering van een programma is geen van deze modules ingeladen. Wanneer een bepaalde instructie wordt opgeroepen wordt telkens gecontroleerd of deze al op de FPGA aanwezig is. Is dit niet het geval, dan wordt deze ingeladen. Indien de FPGA vol is wordt de instructie die het langst niet is gebruikt weggegooid en wordt de nieuwe instructie ingeladen. Meer informatie over DISC is te vinden in [15]. 16

31 Hoofdstuk 4 Hardware In dit hoofdstuk wordt de gebruikte hardware toegelicht. Er wordt voor dit onderzoek gebruik gemaakt van een Virtex 4. De Virtex 4 is een FPGA van Xilinx. Hij wordt geleverd in drie verschillende smaken: Virtex 4 LX is geoptimaliseerd voor logica. Virtex 4 SX is geoptimaliseerd voor signaalverwerking. Virtex 4 FX bevat één of twee PowerPC-processoren. Er is gekozen voor een Virtex 4 FX. Meer bepaald wordt gebruik gemaakt van het ML403-ontwikkelbord. Eerst worden de, voor dit onderzoek belangrijke componenten, van het ML403-bord overlopen. Vervolgens wordt de Virtex 4 FX onder de loep genomen. Tenslotte worden ook de designtools Xilinx ISE, Xilinx XPS en ModelSim nog behandeld. De eerste twee softwarepakketeen laten toe het ML403-bord te programmeren. Het laatste laat toe de gemaakte ontwerpen te simuleren. 4.1 Het ML403-ontwikkelbord Zoals reeds gezegd zal voor deze thesis gebruik gemaakt worden van het ML403-bord van Xilinx. Figuur 4.1 toont een afbeelding van dit bord. Het bevat onder meer volgende componenten: 1. Virtex 4 FX De Virtex 4 FX is een FPGA (Field Programmable Gate Array) die ook een 17

32 Figuur 4.1: Het ML403-ontwikkelbord met (1) Virtex 4, (2) RAM-geheugen, (3) UART, (4) JTAG PowerPC-processor bevat. sectie 4.2. De Virtex 4 FX wordt uitgebreid besproken in 2. RAM-geheugen Op het ontwikkelbord is 64 MB DDR SDRAM aanwezig. Dit geheugen wordt gebruikt om de videosequentie in op te slaan maar ook als werkgeheugen voor een ingebed linux systeem. 3. UART Via de UART kan met een pc worden gecommuniceerd. 4. JTAG Via de JTAG-poort is het mogelijk de Virtex 4 FX te programmeren en te debuggen. 5. System ACE De System ACE zit aan de achterkant van het bord en is dus niet te zien op 18

33 afbeelding 4.1. De System ACE laat toe de Virtex 4 te programmeren met behulp van een CompactFlash-geheugenkaart. Het zal ook gebruikt worden als permanent geheugen voor de videosequenties. 4.2 Virtex 4 FX De Virtex 4 FX die gebruikt wordt op de ML403 is een XC4VFX12. Hij bevat logische cellen. In deze chip zijn verder ook nog RAM-geheugen (648 kbits), DSP-blokjes (32) en een PowerPC-processor opgenomen. Aan de PowerPC hangt een speciale interface; de APU-interface (Auxiliary Processor Unit). Deze laat toe om nieuwe instructies toe te voegen aan de processor. Deze instructies worden User Defined Instructions (UDI) genoemd APU De APU laat toe om nieuwe instructie toe te voegen aan de instructieset van de PowerPC. Deze nieuwe instructies worden niet door de APU zelf uitgevoerd. De APU zorgt enkel voor het decoderen van de instructie en voor de synchronisatie van de klokdomeinen (de PowerPC draait meestal op een hogere klokfrequentie dan de FPGA). De instructie wordt uitgevoerd door een Fabric Coprocessor Module (FCM). Deze FCM wordt geïmplementeerd in het FPGA-gedeelte van de Virtex 4 FX. Dankzij de APU kunnen coprocessoren dus heel nauw samenwerken met de processor zonder gebruik te moeten maken van de bus. De coprocessoren kunnen gewoon als een instructie worden opgeroepen. De manier waarop de nieuwe instructies door de processor worden behandeld leunt heel dicht aan bij hoe de gewone instructies worden behandeld. In figuur 4.2 is afgebeeld hoe de APU zit verwerkt in de rest van de PowerPC-pijplijn. Het is duidelijk dat de APU volledig in de gewone pijplijn verweven zit. In elke pijplijnstap is contact met de APU mogelijk. Een instructie die wordt opgehaald wordt door zowel de PowerPC als de APU gedecodeerd. Eventueel wordt de instructie ook door de FCM gedecodeerd. Indien een instructie bedoeld is voor de APU zal deze de juiste FCM aanspreken. De instructie wordt door de FCM uitgevoerd met operandi die door de APU worden doorgegeven. Na de berekening geeft de FCM het resultaat terug naar de processor via de APU. Soorten instructies De APU kan tot acht verschillende instructies decoderen die door de gebruiker zijn gedefinieerd. Deze instructies kregen de namen udi0fcm tot udi7fcm. Het is moge- 19

34 R Chapter 4: PowerPC 405 APU Controller Virtex4 FX PowerPC405 block PowerPC405 core APU Controller Fabric Co-processor Module (FCM) Decode_Stage Instruction Decode APUC_Decode FCM_Decode Execute_Stage Exe_Unit Operands Result Resynchronization_Interface FCM_Exe_Unit Writeback_Stage LoadData LoadWB_Stage load_reg UG018_04_01_ Figure 4-1: Pipeline Flow Diagram Figuur The 4.2: APU De controller koppeling serves tussen two purposes: de APU to enperform de PowerPC-pijplijn[2]. clock domain synchronization between the fast PowerPC clock and the slow FCM interface clock, and to decode certain FCM instructions and notify the CPU of the CPU resources needed by the instruction (for lijk meer instructies example source toe tedata voegen from aan the CPU's de processor GPR). Depending maar dan on moet the FCM deapplication, decoderingthe APU ervan op de FCM controller gebeuren. can decode Gezien all instructions de FCM meestal or no instructions trager geklokt at all, or is dan decode some processor en dus ook de APU, zal dit trager zijn. In dit werk wordt geen gebruik gemaakt while the FCM decodes others. A floating-point unit (FPU) is an example of a good FCM candidate. In the case of an FCM FPU, the APU controller is capable of decoding all PowerPC floating van deze laatste point optie. instructions. Voor meer informatie wordt verwezen naar [2]. Naast de door The de FCM gebruiker interface gedefinieerde is a Xilinx adaptation instructies of the zijn native er APU ook interface een aantal implemented voorgedefinieerde instructies IBM processor diecore. door The dehard APU core worden APU controller gedecodeerd. bridges the Er PowerPC zijn bijvoorbeeld 405 APU interface on the and the external FCM interface. voorgedefinieerde instructies die data van de processor naar een FCM-register verplaatsen of omgekeerd. Vanaf nu zal naar deze instructies worden verwezen als lees/schrijf-instructies 1. Ze laten toe een hoeveelheid data via de processor in de FCM Instruction Processing 1 FCM instruction decoding can be done by the APU controller or by the FCM. APU Lezen en schrijven wordt hier bekeken uit het standpunt van de FCM. Een leesinstructie zal controller decoding means the APU controller determines what CPU resources are needed dus betekenen for dat the er data instruction van de execution processor and naar passes de FCM this wordt information gestuurd. to the Een CPU. schrijfoperatie For example, zal the APU gegevens van de controller FCM naar will dedetermine processor if kopiëren. an instruction is a load, a store, or if it needs source data from the GPR, etc. The FCM can also perform this part of decoding and pass the needed PowerPC 405 Processor Block Reference Guide UG018 (v2.1) July 20, 2005

35 FCM te plaatsen. Dit kan handig zijn wanneer de operandi van een instructie niet genoeg ruimte bieden. Via leesinstructies kunnen de nodige gegevens dan naar de FCM worden verscheept. Vervolgens kan een UDI-instructie worden gebruikt om aan te geven wat er met deze gegevens moet gebeuren. Tot slot kan de processor met behulp van schrijfinstructies dan de resultaten terugvragen. De instructies worden nog verder onderverdeeld in een aantal klassen. Een eerste opdeling is in autonome instructies en niet-autonome instructies. Autonome instructies Autonome instructies laten toe dat de processor verderwerkt terwijl een UDIinstructie wordt uitgevoerd. Autonome instructies kunnen voor een maximale versnelling zorgen. Ze laten immers toe om parallel met de uitvoering van normale instructies berekeningen te doen. Er zal door dit soort instructies typisch geen direct resultaat teruggegeven worden. Niet-autonome instructies Deze instructies zullen de processor blokkeren tijdens hun uitvoering. Er kunnen dus geen andere instructies worden uitgevoerd tijdens hun rekentijd. Dit soort instructies wordt gebruikt wanneer wel een resultaat wordt teruggegeven. De niet-autonome instructies kunnen nog verder worden opgedeeld in blokkerende en niet-blokkerende instructies. Blokkerende instructies Wanneer een instructie niet kan worden onderbroken zonder dat deze later probleemloos kan worden verdergezet of herdaan, dan wordt gebruik gemaakt van een blokkerende instructie. Een blokkerende instructie kan niet worden onderbroken door bijvoorbeeld een interrupt-routine of de afhandeling van een exceptie. Niet-blokkerende instructies Wanneer de uitvoering van de instructie kan worden onderbroken en later zonder problemen kan worden herbegonnen of verdergezet, dan kan dit als een niet-blokkerende instructie worden uitgevoerd. De nieuwe instructies kunnen door software-ontwikkelaars worden gebruikt via assemblercode of zelfs gewoon in C. Xilinx heeft de gcc-compiler aangepast om de nieuwe instructies te ondersteunen. De instructies kunnen via een macro worden aangesproken in het programma. Signalen Hier worden de gebruikte signalen even overlopen. 21

36 Tabel 4.1: Signalen van APU naar FCM signaal functie APUFCMINSTRUCTION[0:31] De instructie die de apu aan de fcm doorgeeft. Dit signaal is geldig zolang APUF- CMINSTRVALID hoog blijft. APUFCMINSTRVALID Dit signaal wordt hoog gebracht in twee gevallen. Wanneer de APU een geldige instructie heeft gedecodeerd en ook als een instructie aan de FCM wordt doorgegeven om te decoderen. APUFCMRADATA[0:31] Operand voor instructie. APUFCMRBDATA[0:31] Operand voor instructie. APUFCMOPERANDVALID Geeft aan of de operandi geldig zijn. APUFCMDECODED Indien de APU de instructie heeft gedecodeerd wordt dit signaal hoog gebracht. APUFCMDECUDI[0:2] Geeft aan welk van de acht instructies is gedecodeerd. APUFCMDECUDIVALID Geeft aan of het signaal APUFCMDECUDI geldig is. Tabel 4.2: Signalen van FCM naar APU signaal functie FCMAPURESULT[0:31] Het resultaat van de instructie. FCMAPURESULTVALID Geeft aan of het resultaat geldig is. FCMAPUDONE Via dit signaal laat de FCM aan de APU weten dat de instructie is uitgevoerd. De operanden (APUFCMRADATA en APUFCMRBDATA) zijn elk 32 bit breed. Er kan dus aan een instructie voor 64 bit aan data worden meegegeven. Het resultaat (FCMAPURESULT) is ook 32 bit breed. Indien slechts één FCM wordt gebruikt is het mogelijk de APU en de FCM rechtstreeks met elkaar te verbinden. Bij gebruik van meerdere FCM s moet echter een multiplexer worden gebruikt. De FCB (Fabric Coprocessor Bus) is zo n multiplexer. De FCB wordt door Xilinx meegeleverd. Voor meer informatie over de APU en de PowerPC in het algemeen wordt verwezen naar [2]. In [16] wordt een voorbeeld uitgewerkt met lees/schrijf-instructies. 22

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

FPGA-gebaseerde instructiesetuitbreiding voor blokgebaseerde wavelettransformatie

FPGA-gebaseerde instructiesetuitbreiding voor blokgebaseerde wavelettransformatie Faculteit Ingenieurswetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout FPGA-gebaseerde instructiesetuitbreiding voor blokgebaseerde wavelettransformatie

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

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead 7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

Add the standing fingers to get the tens and multiply the closed fingers to get the units. Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first

Nadere informatie

Non Diffuse Point Based Global Illumination

Non Diffuse Point Based Global Illumination Non Diffuse Point Based Global Illumination Karsten Daemen Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: computerwetenschappen Promotor: Prof. dr.

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

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

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Computerarchitectuur. Terugblik / discussie / oefenopgaven Computerarchitectuur Terugblik / discussie / oefenopgaven Kristian Rietveld http://ca.liacs.nl/ Trends & Performance Voorkennis We bouwden een 4-bit microprocessor bij Digitale Technieken. Bij computerarchitectuur

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14)

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14) Quality requirements concerning the packaging of oak lumber of (09.09.14) Content: 1. Requirements on sticks 2. Requirements on placing sticks 3. Requirements on construction pallets 4. Stick length and

Nadere informatie

Wat is Arduino? Arduino = microprocessor (Atmel)

Wat is Arduino? Arduino = microprocessor (Atmel) Intro tot Arduino Wat is Arduino? Volgens de website: Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers,

Nadere informatie

After that, the digits are written after each other: first the row numbers, followed by the column numbers.

After that, the digits are written after each other: first the row numbers, followed by the column numbers. Bifid cipher The bifid cipher is one of the classical cipher techniques that can also easily be executed by hand. The technique was invented around 1901 by amateur cryptographer Felix Delastelle. The cipher

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1

EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1 EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1 1. Doel Kennismaking met de EDK van Xilinx: - begrijpen van de ontwerpomgeving en design flow - aanmaken van een Xilinx Platform Studio project

Nadere informatie

Dynamische Circuitspecialisatie

Dynamische Circuitspecialisatie Dynamische Circuitspecialisatie Karel Bruneel promotor: prof. Dirk Stroobandt Field Programmable Gate Array 11111111111 1111111111111 1111111111 11111111111 Digitale GSM- 111111111 1111111111 11111 chip

Nadere informatie

Digitale technieken Deeltoets II

Digitale technieken Deeltoets II Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information Activant Prophet 21 Prophet 21 Version 12.0 Upgrade Information This class is designed for Customers interested in upgrading to version 12.0 IT staff responsible for the managing of the Prophet 21 system

Nadere informatie

Vergaderen in het Engels

Vergaderen in het Engels Vergaderen in het Engels In dit artikel beschrijven we verschillende situaties die zich kunnen voordoen tijdens een business meeting. Na het doorlopen van deze zinnen zal je genoeg kennis hebben om je

Nadere informatie

MyDHL+ Van Non-Corporate naar Corporate

MyDHL+ Van Non-Corporate naar Corporate MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde

Nadere informatie

FAAC DRIVER. Driver install procedure for FAAC boards. Installatieprocedure voor driver voor FAAC-kaarten.

FAAC DRIVER. Driver install procedure for FAAC boards. Installatieprocedure voor driver voor FAAC-kaarten. FAAC DRIVER Driver install procedure for FAAC boards Installatieprocedure voor driver voor FAAC-kaarten www.record-toegangstechniek.nl 1 When a FAAC board (E124 or E145) is connected to the USB port, it

Nadere informatie

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon Zelfwaardering en Angst bij Kinderen: Zijn Globale en Contingente Zelfwaardering Aanvullende Voorspellers van Angst bovenop Extraversie, Neuroticisme en Gedragsinhibitie? Self-Esteem and Fear or Anxiety

Nadere informatie

Beter, Sneller, Mooier. Processoren 12 januari 2015

Beter, Sneller, Mooier. Processoren 12 januari 2015 Beter, Sneller, Mooier Processoren 12 januari 2015 Beter! Sneller! Krachtigere CPU: maak instructies die meer doen Snellere CPU: pipeline, out-of-order execution Sneller RAM: cache meer mogelijkheden...

Nadere informatie

MyDHL+ ProView activeren in MyDHL+

MyDHL+ ProView activeren in MyDHL+ MyDHL+ ProView activeren in MyDHL+ ProView activeren in MyDHL+ In MyDHL+ is het mogelijk om van uw zendingen, die op uw accountnummer zijn aangemaakt, de status te zien. Daarnaast is het ook mogelijk om

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

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1 Today s class Digital Logic Friday, October 19, 2007 Computer Architecture I - Class 8 1 Digital circuits Two logical values Binary 0 (signal between 0 and 1 volt) Binary 1 (signal between 2 and 5 volts)

Nadere informatie

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen.

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Examen ET1205-D1 Elektronische Circuits deel 1, 5 April 2011, 9-12 uur Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Indien, bij het multiple choice

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours. TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination 2DL04 Friday 16 november 2007, 14.00-17.00 hours. De uitwerkingen van de opgaven dienen duidelijk geformuleerd en overzichtelijk

Nadere informatie

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet. Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version

Nadere informatie

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Computersysteem Een systeem dat rekenkundige operaties, data manipulaties en beslissingen kan uitvoeren, aan de hand

Nadere informatie

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and Lichamelijke factoren als voorspeller voor psychisch en lichamelijk herstel bij anorexia nervosa Physical factors as predictors of psychological and physical recovery of anorexia nervosa Liesbeth Libbers

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS COGNITIEVE DISSONANTIE EN ROKERS Gezondheidsgedrag als compensatie voor de schadelijke gevolgen van roken COGNITIVE DISSONANCE AND SMOKERS Health behaviour as compensation for the harmful effects of smoking

Nadere informatie

Hoe zet ik een geslaagd SBOproject

Hoe zet ik een geslaagd SBOproject Hoe zet ik een geslaagd SBOproject op? Prof. Dirk Stroobandt Universiteit Gent, groep PARIS pag. 1 Eigen situatie Als hoofdaanvrager: GBOU-project RESUME (2003-2006) SBO-project FlexWare (2007-2010) Als

Nadere informatie

3HUIRUPDQFH0HDVXUHPHQW RI'\QDPLFDOO\&RPSLOHG -DYD([HFXWLRQV

3HUIRUPDQFH0HDVXUHPHQW RI'\QDPLFDOO\&RPSLOHG -DYD([HFXWLRQV 3HUIRUPDQFH0HDVXUHPHQW RI'\QDPLFDOO\&RPSLOHG -DYD([HFXWLRQV Tia Newhall and Barton P. Miller {newhall *, bart}@cs.wisc.edu Computer Sciences University of Wisconsin 1210 W. Dayton St. Madison, WI 53706

Nadere informatie

Media en creativiteit. Winter jaar vier Werkcollege 7

Media en creativiteit. Winter jaar vier Werkcollege 7 Media en creativiteit Winter jaar vier Werkcollege 7 Kwartaaloverzicht winter Les 1 Les 2 Les 3 Les 4 Les 5 Les 6 Les 7 Les 8 Opbouw scriptie Keuze onderwerp Onderzoeksvraag en deelvragen Bespreken onderzoeksvragen

Nadere informatie

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation TeleBank Contents Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation Introduction - TeleBank Automatic bank services Initiates a Dialog with

Nadere informatie

Daylight saving time. Assignment

Daylight saving time. Assignment Daylight saving time Daylight saving time (DST or summertime) is the arrangement by which clocks are advanced by one hour in spring and moved back in autumn to make the most of seasonal daylight Spring:

Nadere informatie

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X Handleiding/Manual Hoe te verbinden met (NDIRO): Apple OS X How to connect to (NDIRO): Apple OS X Inhoudsopgave / Table of Contents 1 Verbinden met het gebruik van Apple OS X (Nederlands)... 3 2 Connect

Nadere informatie

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind.

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Bullying among Students with Autism Spectrum Disorders in Secondary

Nadere informatie

General info on using shopping carts with Ingenico epayments

General info on using shopping carts with Ingenico epayments Inhoudsopgave 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What is an

Nadere informatie

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials:

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials: Space above not to be filled in by the student AE1103 Statics 09.00h - 12.00h Answer sheets Last name and initials: Student no.: Only hand in the answer sheets! Other sheets will not be accepted Write

Nadere informatie

Classification of triangles

Classification of triangles Classification of triangles A triangle is a geometrical shape that is formed when 3 non-collinear points are joined. The joining line segments are the sides of the triangle. The angles in between the sides

Nadere informatie

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education DUTCH 055/02 Paper 2 Reading MARK SCHEME Maximum Mark: 45 Published This mark scheme is published

Nadere informatie

Open source VoIP Networks

Open source VoIP Networks Open source VoIP Networks Standard PC hardware inexpensive add-in vs. embedded designs Ing. Bruno Impens Overview History Comparison PC - Embedded More on VoIP VoIP Hardware VoIP more than talk More...

Nadere informatie

Hardware-versnelde bewegingscompensatie in het wavelet-domein voor ultiem schaalbare video

Hardware-versnelde bewegingscompensatie in het wavelet-domein voor ultiem schaalbare video Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Hardware-versnelde bewegingscompensatie in het wavelet-domein voor ultiem schaalbare

Nadere informatie

Issues in PET Drug Manufacturing Steve Zigler PETNET Solutions April 14, 2010

Issues in PET Drug Manufacturing Steve Zigler PETNET Solutions April 14, 2010 Issues in PET Drug Manufacturing Steve Zigler PETNET Solutions April 14, 2010 Topics ANDA process for FDG User fees Contract manufacturing PETNET's perspective Colleagues Michael Nazerias Ken Breslow Ed

Nadere informatie

Automated scoring in mathematics: tinning intelligence?

Automated scoring in mathematics: tinning intelligence? Automated scoring in mathematics: tinning intelligence? Paul Drijvers paul.drijvers@cito.nl Johanna Hofstee joke.hofstee@cito.nl 09-02-2017 Stichting Cito Instituut voor Toetsontwikkeling Arnhem (feb-17)

Nadere informatie

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten.

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. The Effect of Difference in Peer and Parent Social Influences on Adolescent Alcohol Use. Nadine

Nadere informatie

FRAME [UPRIGHT MODEL] / [DEPTH] / [HEIGHT] / [FINISH] TYPE OF BASEPLATE P Base plate BP80 / E alternatives: ZINC finish in all cases

FRAME [UPRIGHT MODEL] / [DEPTH] / [HEIGHT] / [FINISH] TYPE OF BASEPLATE P Base plate BP80 / E alternatives: ZINC finish in all cases FRAME XS UPRIGHT BASE PLATE UPRIGHT HORIZONTAL PROFILE DIAGONAL PROFILE DESCRIPTION A vertical structure consisting of 2 uprights, joined by a system of bracing profiles, and base plates intended to support

Nadere informatie

Data Handling Ron van Lammeren - Wageningen UR

Data Handling Ron van Lammeren - Wageningen UR Data Handling 1 2010-2011 Ron van Lammeren - Wageningen UR Can I answer my scientific questions? Geo-data cycle Data handling / introduction classes of data handling data action models (ISAC) Queries (data

Nadere informatie

256 kb Memory in NMS 8250, 8255 and 8280

256 kb Memory in NMS 8250, 8255 and 8280 256 kb Memory in NMS 8250, 8255 and 8280 Supplied by Bastiaan Huber, 2001 Converted to PDF by HansO, 2001 Dutch text follows the english text! MEMORY-UPGRADE to 256Kb This description is only for people

Nadere informatie

Agilent EEsof EDA. Waveform Bridge to FlexDCA and Infiniium. New Features for Solving HSD Challenges with ADS Heidi Barnes June 17/18/20, 2013

Agilent EEsof EDA. Waveform Bridge to FlexDCA and Infiniium. New Features for Solving HSD Challenges with ADS Heidi Barnes June 17/18/20, 2013 New Features for Solving HSD Challenges with ADS 2013 Waveform Bridge to FlexDCA and Infiniium Agilent EEsof EDA Heidi Barnes June 17/18/20, 2013 Copyright 2013 Agilent Technologies 1 Agenda Post-Layout

Nadere informatie

04/11/2013. Sluitersnelheid: 1/50 sec = 0.02 sec. Frameduur= 2 x sluitersnelheid= 2/50 = 1/25 = 0.04 sec. Framerate= 1/0.

04/11/2013. Sluitersnelheid: 1/50 sec = 0.02 sec. Frameduur= 2 x sluitersnelheid= 2/50 = 1/25 = 0.04 sec. Framerate= 1/0. Onderwerpen: Scherpstelling - Focusering Sluitersnelheid en framerate Sluitersnelheid en belichting Driedimensionale Arthrokinematische Mobilisatie Cursus Klinische Video/Foto-Analyse Avond 3: Scherpte

Nadere informatie

CTI SUITE TSP DETAILS

CTI SUITE TSP DETAILS CTI SUITE TSP DETAILS TAPI allows an application to access telephony services provided by a telecom PABX. In order to implement its access to ETRADEAL, a TAPI interface has been developed by Etrali. As

Nadere informatie

Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten?

Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten? Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten? Does Gentle Teaching have Effect on Skills of Caregivers and Companionship and Anxiety

Nadere informatie

Eye Feature Detection Towards Automatic Strabismus Screening

Eye Feature Detection Towards Automatic Strabismus Screening Eye Feature Detection Towards Automatic Strabismus Screening Ken Allen, Khanh Nguyen Gettysburg College What is strabismus? Eye defect that causes eyes to look in two different directions If left untreated,

Nadere informatie

Understanding and being understood begins with speaking Dutch

Understanding and being understood begins with speaking Dutch Understanding and being understood begins with speaking Dutch Begrijpen en begrepen worden begint met het spreken van de Nederlandse taal The Dutch language links us all Wat leest u in deze folder? 1.

Nadere informatie

ALGORITMIEK: answers exercise class 7

ALGORITMIEK: answers exercise class 7 Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord

Nadere informatie

Effecten van een op MBSR gebaseerde training van. hospicemedewerkers op burnout, compassionele vermoeidheid en

Effecten van een op MBSR gebaseerde training van. hospicemedewerkers op burnout, compassionele vermoeidheid en Effecten van een op MBSR gebaseerde training van hospicemedewerkers op burnout, compassionele vermoeidheid en compassionele tevredenheid. Een pilot Effects of a MBSR based training program of hospice caregivers

Nadere informatie

Travel Survey Questionnaires

Travel Survey Questionnaires Travel Survey Questionnaires Prot of Rotterdam and TU Delft, 16 June, 2009 Introduction To improve the accessibility to the Rotterdam Port and the efficiency of the public transport systems at the Rotterdam

Nadere informatie

Shipment Centre EU Quick Print Client handleiding [NL]

Shipment Centre EU Quick Print Client handleiding [NL] Shipment Centre EU Quick Print Client handleiding [NL] Please scroll down for English. Met de Quick Print Client kunt u printers in Shipment Centre EU configureren. De Quick Print Client kan alleen op

Nadere informatie

computerarchitectuur antwoorden

computerarchitectuur antwoorden 2017 computerarchitectuur antwoorden F. Vonk versie 1 2-8-2017 inhoudsopgave hardware... - 3 - CPU... - 3 - bussen... - 4 - bridges... - 4 - RAM... - 4 - hardware architectuur... - 5 - Dit werk is gelicenseerd

Nadere informatie

!!!! Wild!Peacock!Omslagdoek!! Vertaling!door!Eerlijke!Wol.!! Het!garen!voor!dit!patroon!is!te!verkrijgen!op! Benodigdheden:!!

!!!! Wild!Peacock!Omslagdoek!! Vertaling!door!Eerlijke!Wol.!! Het!garen!voor!dit!patroon!is!te!verkrijgen!op!  Benodigdheden:!! WildPeacockOmslagdoek VertalingdoorEerlijkeWol. Hetgarenvoorditpatroonisteverkrijgenopwww.eerlijkewol.nl Benodigdheden: 4strengenWildPeacockRecycledSilkYarn rondbreinaaldnr8(jekuntnatuurlijkookgewonebreinaaldengebruiken,maar

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series Tiptel b.v. Camerastraat 2 1322 BC Almere tel.: +31-36-5366650 fax.: +31-36-5367881 info@tiptel.nl Versie 1.2.0 (09022016) Nederlands: De LDAP server

Nadere informatie

Procedure Reset tv-toestellen:

Procedure Reset tv-toestellen: Procedure Reset tv-toestellen: Volgende procedure is te volgen wanneer er een tv-toestel, op een van de kamers niet meer werkt. TV Re-installation Factory Default Her-installeren van de TV Fabrieksinstellingen

Nadere informatie

Optimalisatie van een wavelet video-encoder/decoder in software gebruik makend van multimedia-instructies

Optimalisatie van een wavelet video-encoder/decoder in software gebruik makend van multimedia-instructies Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Optimalisatie van een wavelet video-encoder/decoder in software gebruik makend

Nadere informatie

Global TV Canada s Pulse 2011

Global TV Canada s Pulse 2011 Global TV Canada s Pulse 2011 Winnipeg Nobody s Unpredictable Methodology These are the findings of an Ipsos Reid poll conducted between August 26 to September 1, 2011 on behalf of Global Television. For

Nadere informatie

Four-card problem. Input

Four-card problem. Input Four-card problem The four-card problem (also known as the Wason selection task) is a logic puzzle devised by Peter Cathcart Wason in 1966. It is one of the most famous tasks in the study of deductive

Nadere informatie

Laboratory report. Independent testing of material surfaces. Analysis of leaching substances in treated wood samples conform guide line EU 10/2011

Laboratory report. Independent testing of material surfaces. Analysis of leaching substances in treated wood samples conform guide line EU 10/2011 Independent testing of material surfaces Laboratory report Analysis of leaching substances in treated wood samples conform guide line EU 10/2011 Customer Wasziederij De Vesting BV Trasweg 12 5712 BB Someren-Eind

Nadere informatie

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame. 8+ 60 MIN. 2-5 Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame. HELICOPTER SPEL VOORBEREIDING: Doe alles precies hetzelfde als bij

Nadere informatie

WWW.EMINENT-ONLINE.COM

WWW.EMINENT-ONLINE.COM WWW.EMINENT-OINE.COM HNDLEIDING USERS MNUL EM1016 HNDLEIDING EM1016 USB NR SERIEEL CONVERTER INHOUDSOPGVE: PGIN 1.0 Introductie.... 2 1.1 Functies en kenmerken.... 2 1.2 Inhoud van de verpakking.... 2

Nadere informatie

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen Memory Management Process control information Entry point to program Process Control Block Verdelen geheugen over meerdere processen Program Branch instruction Virtual Memory Data Reference to data Processen

Nadere informatie

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

Nadere informatie

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM Read Online and Download Ebook ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM DOWNLOAD EBOOK : ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK STAFLEU

Nadere informatie

Beter, Sneller, Mooier. Processoren 27 maart 2012

Beter, Sneller, Mooier. Processoren 27 maart 2012 Beter, Sneller, Mooier Processoren 27 maart 2012 Beter! Sneller! Krach:gere CPU: microcode Snellere CPU: pipeline, out- of- order execu:on Sneller RAM: cache meer mogelijkheden... Welke extra s kan processor-

Nadere informatie

My Inspiration I got my inspiration from a lamp that I already had made 2 years ago. The lamp is the you can see on the right.

My Inspiration I got my inspiration from a lamp that I already had made 2 years ago. The lamp is the you can see on the right. Mijn Inspiratie Ik kreeg het idee om een variant te maken van een lamp die ik al eerder had gemaakt. Bij de lamp die in de onderstaande foto s is afgebeeld kun je het licht dimmen door de lamellen open

Nadere informatie

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren (1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs (2) Ons gezelschap is er om kunsteducatie te verbeteren (3) Ons gezelschap helpt gemeenschappen te vormen en te binden (4) De producties

Nadere informatie

2013 Introduction HOI 2.0 George Bohlander

2013 Introduction HOI 2.0 George Bohlander 2013 Introduction HOI 2.0 George Bohlander HOI 2.0 introduction Importance HOI currency Future print = HOI 2.0 HOI 2.0 Print: Décomplexation/more simple Digital: New set-up Core values HOI Accountability

Nadere informatie

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 Op basis van het nieuwe artikel 365, lid 4 (NCTS) en het nieuwe artikel 455bis, lid 4 (NCTS-TIR) van het Communautair Toepassingswetboek inzake douane 1

Nadere informatie

Schinfa Machinerevisie

Schinfa Machinerevisie The revolutionary new milling machine High speed spindle - Minimal floorspace - Lineair guides - Servo engines - TNC 320 control - Siemens 828d Mill300 De ideale machine voor technische opleidingen, instrumentmakers

Nadere informatie

ETS 4.1 Beveiliging & ETS app concept

ETS 4.1 Beveiliging & ETS app concept ETS 4.1 Beveiliging & ETS app concept 7 juni 2012 KNX Professionals bijeenkomst Nieuwegein Annemieke van Dorland KNX trainingscentrum ABB Ede (in collaboration with KNX Association) 12/06/12 Folie 1 ETS

Nadere informatie

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij ENGLISH VERSION SEE PAGE 3 Tentamen Lineaire Optimalisering, 0 januari 0, tijdsduur 3 uur. Het gebruik van een eenvoudige rekenmachine is toegestaan. Geef bij elk antwoord een duidelijke toelichting. Als

Nadere informatie

MyDHL+ Tarief berekenen

MyDHL+ Tarief berekenen MyDHL+ Tarief berekenen Bereken tarief in MyDHL+ In MyDHL+ kunt u met Bereken tarief heel eenvoudig en snel opvragen welke producten er mogelijk zijn voor een bestemming. Ook ziet u hierbij het geschatte

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Bewijzen en Technieken 1 7 januari 211, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe.

Nadere informatie

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives Students will recognize the values of numerals 1 to 10. Students will use objects to solve addition problems with sums from 1 to 10. Materials Needed Large number cards

Nadere informatie

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te.

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te. De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te Stoppen The Influence of the Innovation Characteristics on the Intention of

Nadere informatie

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM Read Online and Download Ebook RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM DOWNLOAD EBOOK : RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN STAFLEU

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

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

Geslacht, Emotionele Ontrouw en Seksdrive. Gender, Emotional Infidelity and Sex Drive

Geslacht, Emotionele Ontrouw en Seksdrive. Gender, Emotional Infidelity and Sex Drive 1 Geslacht, Emotionele Ontrouw en Seksdrive Gender, Emotional Infidelity and Sex Drive Femke Boom Open Universiteit Naam student: Femke Boom Studentnummer: 850762029 Cursusnaam: Empirisch afstudeeronderzoek:

Nadere informatie

11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector.

11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector. NOT NOT NOT NOT NOT NOT 9-09-7 Intro MMI The Digital World 2 Peter van Kranenburg Vandaag: Terugblik vorige week Werking CPU Soorten instructies Werking CPU Cache Pipelining Digitale representatie Tekst

Nadere informatie

CHROMA STANDAARDREEKS

CHROMA STANDAARDREEKS CHROMA STANDAARDREEKS Chroma-onderzoeken Een chroma geeft een beeld over de kwaliteit van bijvoorbeeld een bodem of compost. Een chroma bestaat uit 4 zones. Uit elke zone is een bepaald kwaliteitsaspect

Nadere informatie

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur Invloed van het aantal kinderen op de seksdrive en relatievoorkeur M. Zander MSc. Eerste begeleider: Tweede begeleider: dr. W. Waterink drs. J. Eshuis Oktober 2014 Faculteit Psychologie en Onderwijswetenschappen

Nadere informatie

The colour of a pixel in a bit map picture can be presented in different ways. For this assignment, we distinguish two categories:

The colour of a pixel in a bit map picture can be presented in different ways. For this assignment, we distinguish two categories: Bitmap conversion A bit map picture is exactly what the name makes one suspect: a sequence of bits (0 or 1) that together represent a digital photo. The picture consists of a matrix (rectangle grid) of

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

Stichting NIOC en de NIOC kennisbank

Stichting NIOC en de NIOC kennisbank Stichting NIOC Stichting NIOC en de NIOC kennisbank Stichting NIOC (www.nioc.nl) stelt zich conform zijn statuten tot doel: het realiseren van congressen over informatica onderwijs en voorts al hetgeen

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 22 februari 2013 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie