Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen

Maat: px
Weergave met pagina beginnen:

Download "Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen"

Transcriptie

1 Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen Johannes De Smedt Promotor: prof. dr. ir. Rik Van de Walle Begeleiders: Chris Poppe, Sarah De Bruyne Scriptie ingediend tot het behalen van de graad van Licentiaat in de informatica Vakgroep Elektronica en informatiesystemen Voorzitter: prof. dr. ir. Jan Van Campenhout Faculteit Ingenieurswetenschappen Academiejaar

2 WOORD VOORAF i Woord vooraf De laatste jaren is mijn interesse voor artificiële intelligentie sterk gegroeid. Dit was dan ook een van de hoofdredenen waarom een scriptie over dit onderwerp me wel lag. Dit onderwerp is niet direct toepasbaar in het AI-domein, maar aangezien objectdetectie een belangrijk onderdeel is in computervision, leek het me wel interessant om op deze manier wat meer te weten te komen hierover. Een tweede reden is dat ik in het verleden al meermaals te maken gehad heb met inbraken bij ons op de scouts. Hoewel het niet realistisch is te denken dat we daar ooit een geavanceerd videobewakingssysteem zullen hebben, vond ik het wel een goede stimulans te denken dat dat misschien ooit wel zo zou zijn. Dit werk is er niet alleen gekomen door mijn interesse in de materie; er zijn nog tal van mensen die, elk op hun manier, hun steentje bijgedragen hebben om het te maken tot wat het nu is. Ik zou dan ook graag in de eerste plaats mijn scriptiebegeleiders, Chris Poppe en Sarah De Bruyne, willen bedanken voor de grote hoeveelheid tijd en energie die ze in mij en dit werk stopten, voor hun hulp en uitleg bij het programmeren in C (de magie van het debuggen) en het nalezen en verbeteren van dit werk. Tevens wens ik ook mijn promotor, prof. dr. ir. Rik Van de Walle, te bedanken voor zijn vertrouwen en de geboden kans.

3 Mensen voor wie geen dank te veel kan zijn, zijn mijn ouders. Niet alleen voor het bieden van de mogelijkheid om te studeren aan de Gentse universiteit, maar ook voor het telkens opnieuw stimuleren als het al eens niet goed ging. Zij hebben mij altijd aangespoord om niet alleen te doen wat nodig was, maar om ook al eens nieuwe dingen te ontdekken. Zonder hen was dit zeker niet gelukt. Ten slotte wil ik nog mijn broer en zus, mijn grootouders en mijn vrienden bedanken voor hun steun bij mijn studies en deze scriptie. Johannes De Smedt, juni 2008

4 TOELATING TOT BRUIKLEEN iii 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. Johannes De Smedt, juni 2008

5 Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen door Johannes DE SMEDT Scriptie ingediend tot het behalen van de graad van Licentiaat in de informatica: optie toepassingsgerichte informatica Academiejaar Promotor: prof. dr. ir. Rik Van de Walle Scriptiebegeleiders: Chris Poppe, Sarah De Bruyne Faculteit Ingenieurswetenschappen Universiteit Gent Vakgroep Elektronica en informatiesystemen (ELIS) Voorzitter: prof. dr. ir. Jan Van Campenhout Samenvatting In dit werk wordt een overzicht gegeven van enkele bestaande bewegingsdetectietechnieken in het gecomprimeerde domein van MPEG-2 Video. Er wordt gekeken welke van deze technieken bruikbaar zijn binnen H.264/AVC (mits eventueel een aanpassing) en welke niet bruikbaar zijn. Enkele algoritmen om beweging te detecteren in het gecomprimeerde domein van H.264/AVC worden voorgesteld. Deze stellen aan de hand van bewegingsvectoren of bewegingsvectorresidu s een bewegingsmasker op. Deze algoritmen worden geëvalueerd en vergeleken aan de hand van enkele testsequenties en enkele verbeteringen worden voorgesteld. Trefwoorden H.264/AVC, bewegingsdetectie, gecomprimeerd domein, videobewaking

6 Analysis of video sequences, compressed with H.264/AVC, for video surveillance systems Johannes De Smedt Supervisor(s): Rik Van de Walle, Chris Poppe, Sarah De Bruyne Abstract This paper studies the use of existing motion detection techniques in the compressed domain of H.264/AVC. Two novel algorithms are presented to detect moving objects in H.264/AVC compressed video. These algorithms use motion vectors or motion vector differences from multiple frames to extract a motion mask. An evaluation is made and some possible improvements are suggested. Keywords H.264/AVC, motion detection, compressed domain, video surveillance I. Introduction THESE days, video surveillance applications are widely used. With the advance of video compression technology, surveillance cameras can now directly generate H.264/AVC compressed video streams. Traditional pixel domain motion detection techniques cannot handle the increasing demand of processing large amounts of compressed video efficiently. As a result, motion detection algorithms for the H.264/AVC compressed domain are gaining importance. Motion detection (MD) in the MPEG-2 compressed domain usually relies on two types of features: transformation coefficients and motion vectors (MVs). We examine which features can be used in the compressed domain of H.264/AVC and whether some of the new features introduced in H.264/AVC are usefull to improve the detection. Two algorithms for motion detection in the H.264/AVC compressed domain are proposed. These algorithms are evaluated and some suggestions on improvement are made. II. Usability of existing techniques and propositions of new techniques/features In this section the applicability of existing motion detection techniques in the compressed domain of MPEG-2 on H.264/AVC compressed streams is examined. Furthermore, a few new techniques working on H.264/AVC are proposed. A. Background modeling A common technique for MD uses DC coefficients of I frames to construct a reduced image of the background (a DC image). This DC image is composed of pixels that contain the value of the inverse transformed DC component (which is the mean value of that block) and can be used to construct a model for the background. H.264/AVC uses intraprediction on I frames to reduce the spatial correlation. Therefore the pixels of the DC image no longer represent the mean value of a block. This means that existing background modeling techniques cannot easily be adapted for use in the compressed domain of H.264/AVC. B. Techniques depending on MVs Techniques that utilize MVs can be subdivided into two categories: threshold based techniques and classification based techniques. The former use a threshold on the size of the MVs to determine whether or not a block is part of a moving object, while the latter classify blocks with similar MVs into moving objects. These techniques can easily be adapted to be used with H.264/AVC compressed video. H.264/AVC however exploits the spatial correlation on the MV field by predicting the MVs out of previously (de)coded MVs. The difference (MVD) between the actual MV and the prediction is then encoded. Threshold based techniques can be adapted to use MVDs instead of the actual MVs if there is a MVD for each MV. Experimental results show that on average 0-20% of the blocks in a frame have a zero MVD if there is a non-zero MV. Furthermore, a big disadvantage of using MVDs is that traditional classification of these residues no longer results in objects with similar motion characteristics (since the size and angle of the MVDs of a moving object are not homogeneous). C. Block size H.264/AVC supports variable block-size motion compensation. Small partitions often occur in areas with high detail or in areas with motion. Therefore the size of partitions can also be regarded as a clue to decide if there is motion in a block. III. Proposed algorithms The two algorithms proposed in this article use the same steps but on different data. The first algorithm uses MVDs to extract a motion mask whereas the second uses MVs. Since MVs as well as MVDs are vectors, the term vector will be used to describe the various steps. The blocks of the overall diagram of the algorithms shown in Fig. 1 will now be explained. H.264/AVC bitstream Input MVs or MVDs Fig. 1. Calculation of the energy Median filtering Combination of motion and object masks Determination of the extended Frame n-1 object mask Frame n-2 Overall diagram for the proposed algorithms. Motion mask Output

7 A. Structure of the stored data The vector data of a complete frame are needed to calculate a motion mask. Therefore we need to store the vectors. Since H.264/AVC uses variable block sizes, the smallest partitioning size (4 x 4 pixels) was chosen as unit. For partitions bigger than 4 x 4, the vector is stored several times. This causes some overhead, but makes the implementation a lot easier. For I frames the motion data of the previous P frame is copied. B. Calculation of the vector energy The energy is a measurement for the size of a vector. If v 0 (x 0, y 0 ) is the list-0 vector and v 1 (x 1, y 1 ) is the list-1 vector of a 4 x 4 block then we calculate the energy E of that block as: E = x y2 0 + x y2 1. These values are stored in the same way as the vector data. C. Median filtering Since motion estimation is a coding tool, MVs do not always correspond to actual motion. Therefore the motion vector field contains noise. We use a common technique to remove this noise: a median filter. This filter removes all isolated motion vectors. Therefore, objects consisting of only one block will no longer be detected. D. Extended object mask Some blocks of moving objects don t have motion vectors. Therefore an extended object mask is calculated. All connected blocks in the median filtered energy field are labeled with the same number. All blocks with the same label form an object. Then for each object, the smallest surrounding rectangle is determined and each object is expanded to that rectangle. This extended object mask is used in the next step. E. Determination of motion mask The data calculated in the above masks are combined in this step. To adequately remove the unisolated motion vector noise, we use data from three frames: the current frame and the two reference frames immediately before that frame. For each 4 x 4 block, the amount of frames is counted where Start Fig. 2. Calculation of c, ecurrent and etot t = 2 No t = 3 Yes ecurrent > 0 or etot d1 No Yes ecurrent > 0 or etot d2 Yes Yes No No Block does not belong to the motion mask Block belongs to the motion mask Decision system for the determination of the final motion mask. the extended object mask contains a non-zero value for that block. Based on the value of that counter (c), the energy of that block (e current ) and the total energy of that block in the last three reference frames (e tot ) is decided whether or not End the block is part of the motion mask. This is done by means of a decision system (see Fig. 2). IV. Experimental results and evaluation The proposed algorithms are evaluated by two sequences: PetsD1TeC1 and Hall monitor. They are compressed using the H.264/AVC reference encoder (JM 13.1). Two measurements are defined to describe the detection performance. The first is recall and is defined as the percentage of correctly detected blocks to the real moving blocks. The second is precision and is defined as the percentage of detected blocks to all detected moving blocks. The mean values of the evaluation measurements for the test sequences are summarized in Fig. 3 and Fig. 4 shows a screenshot with the detected and a screenshot with the correct motion mask. Fig. 3. PetsD1TeC1 Hall_monitor MV MVD MV MVD Recall 68,5 55,6 80,3 73,1 Precision 71,0 70,4 43,0 40,3 Mean values of the evaluation measurements. The precision and the recall are influenced by the shadows of objects and by objects that stop moving. Shadows are not part of the correct mask but, since they move along with the object, they are detected. On the other hand, objects that stop moving are no longer detected but they are part of the manually labeled motion mask. Normally the noise in subsequent frames is nearly random. By copying the motion information in I frames, the noise in that frame and the previous reference frame is equal, causing an augmented chance of noise in the motion mask for that frame. (a) Fig. 4. A screenshot of PetsD1TeC1: (a) the detected motion mask, (b) the correct motion mask. (b) V. Conclusion and future work In this paper two algorithms to extract a motion mask are presented and evaluated. While both are open to improvement, the results indicate that the algorithm using MV is better than the one using MVD. Some possible improvements for the MV algorithm include following the MV when looking at multiple frames and inverting the MV for I frames. References [1] W. Zeng, J. Du, W. Gao, and Q. Huang. Robust moving object segmentation on H. 264/AVC compressed video using the blockbased MRF model. Real-Time Imaging, 11(4): , [2] T. Wiegand, G.J. Sullivan, G. Bøntegaard, and A. Luthra. Overview of the H.264/AVC video coding standard. Circuits and Systems for Video Technology, IEEE Transactions on, 13(7): , 2003.

8 INHOUDSOPGAVE vii Inhoudsopgave Woord vooraf Toelating tot bruikleen Overzicht Extended abstract Inhoudsopgave Gebruikte afkortingen i iii iv v vii ix 1 Inleiding 1 2 H.264/MPEG-4 AVC De standaard Basisconcepten Opbouw van de H.264/AVC-stroom Slices in H.264/AVC Nieuwe concepten in H.264/AVC Variabele blokgrootte Subpixelbewegingscompensatie Meerdere referentieafbeeldingen Predictie van bewegingsvectoren Predictie van intramacroblokken Enkele bestaande technieken voor bewegingsdetectie Bewegingsdetectie Bewegingsdetectie in het gecomprimeerde domein Technieken steunend op transformatiecoëfficiënten Technieken steunend op bewegingsvectoren Hybride methodes

9 INHOUDSOPGAVE viii 3.3 Bruikbaarheid van bestaande technieken binnen H.264/AVC Bewegingsvectoren versus bewegingsvectorresidu s Achtergrondmodellering in H.264/AVC Blokgrootte Bespreking van de geïmplementeerde algoritmen Stappenplan Afzonderlijke stappen Invulling van de tabel Berekening van de energie Mediaanfilter Naburige blokken Gebruik van verschillende beelden Parameterbepaling Overzicht van de voorgestelde algoritmen Bewegingsvectorresidu s uit één beeld Bewegingsvectoren uit één beeld Bewegingsvectorresidu s uit drie beelden Bewegingsvectoren uit drie beelden Evaluatie en vergelijking Testsequenties Enkele voorbeelden Evaluatie van de voorgestelde algoritmen Werkwijze Evaluatiematen Resultaten Grafieken Conclusie en toekomstig werk Conclusie Toekomstig werk A Configuratiebestand encoder 72 B Dvd 81 Bibliografie 82 Lijst van figuren 85 Lijst van tabellen 89

10 GEBRUIKTE AFKORTINGEN ix Gebruikte afkortingen AC AVC CIF db DC DCT fps IDR ISO/IEC ITU ITU-T JVT KB/s MB MB/s MC MPEG MV Alternating Current Advanced Video Coding Common Intermediate/Interchange Format Decibel Direct Current Discrete Cosinus Transform of discrete cosinustransformatie Frames per seconde Instantaneous Decoder Refresh International Standards Organisation / International Electrotechnical Commission International Telecommunication Union ITU - Telecommunication Standardization Sector Joint Video Team Kilobyte per seconde Macroblok Megabyte per seconde Motion Compensation of bewegingscompensatie Moving Picture Experts Group Motion Vector of bewegingsvector

11 GEBRUIKTE AFKORTINGEN x MV-1 MV-3 MVD MVD-1 MVD-3 NAL NALU PPS PSNR SAE SPS VCEG VCL Afkorting voor het voorgestelde algoritme dat gebruikmaakt van bewegingsvectoren (MV) uit één beeld Afkorting voor het voorgestelde algoritme dat gebruikmaakt van bewegingsvectoren (MV) uit drie beelden Motion Vector Difference of bewegingsvectorresidu Afkorting voor het voorgestelde algoritme dat gebruikmaakt van bewegingsvectorresidu s (MVD) uit één beeld Afkorting voor het voorgestelde algoritme dat gebruikmaakt van bewegingsvectorresidu s (MVD) uit drie beelden Network Abstraction Layer of netwerkabstractielaag Network Abstraction Layer Unit of netwerkabstractielaageenheid Picture Parameter Set of afbeeldingsparameterset Peak signal to noise ratio Sum of Absolute Errors Sequence Parameter Set of sequentieparameterset Video Coding Experts Group Video Coding Layer of videocoderingslaag

12 INLEIDING 1 Hoofdstuk 1 Inleiding Vandaag de dag zijn videobewakingssystemen overal aanwezig. Zowel het aantal als de intelligentie van deze cameragebaseerde surveillancesystemen neemt toe. Intelligente algoritmen worden gebruikt om videosequenties te analyseren. Tot voor kort gebeurde dat voornamelijk op de ongecomprimeerde videodata. Een geavanceerd bewakingssysteem zal echter meestal meerdere camera s gebruiken en de videodata zullen gecomprimeerd over een netwerk verstuurd worden naar een centrale verwerkingseenheid (zie figuur 1.1). Ook op het gebied van videocompressie is er veel veranderd en op dit moment is de meest efficiënte videocodec H.264/AVC [1]. Momenteel worden al bewakingscamera s gebruikt die hun beelden rechtstreeks met deze codec comprimeren. Hierdoor kunnen we sterk besparen op bandbreedte, zeker door de goede compressie van H.264/AVC. Het coderen van bewakingsbeelden, het versturen over het netwerk en het decoderen in de verwerkingseenheid is echter tijdsintensief, zeker als we bedenken dat in die verwerkingseenheid gegevens van verschillende camera s samenkomen, die allemaal tegelijk verwerkt moeten worden. Denk maar aan een verkeerscontrolesysteem waar de data van honderden verkeerscamera s over een netwerk getransporteerd moeten worden en op één enkele controlepost verwerkt moeten worden. Als de analyse van de video in het gecomprimeerde domein kan gebeuren, kan hier een noemenswaardige winst gemaakt worden, zeker als we bedenken dat H.264/AVC een zeer ingewikkelde decoder heeft. In vergelijking met MPEG-4 Visual Simple Profile [2] is de complexiteit van de H.264/AVC-decoder twee keer

13 INLEIDING 2 Netwerk Bewegingsdetectie Gedeeltelijke bitstroomdecodering H.264/AVCencodering Beeldopname Beeldopname H.264/AVCencodering Beeldopname H.264/AVCencodering Beeldopname H.264/AVCencodering Figuur 1.1: Voorbeeldopstelling van een bewakingssysteem met meerdere camera s. zo groot en in vergelijking met die van MPEG-2 Video [3] is hij zelfs vier keer zo groot [4]. Een goede compressie van de videostromen van een bewakingssysteem met meerdere camera s is noodzakelijk. Als we de videodata van een bepaalde sequentie ongecomprimeerd over een netwerk zouden versturen, zouden we per beeld bytes nodig hebben (videogrootte is CIF-formaat, 352 x 288 pixels gesampled volgens 4:2:0). Met een beeldsnelheid van 25 fps (frames per seconde) zouden we dus ongeveer 3,8 MB/s moeten versturen. Als we deze sequentie echter met H.264/AVC zouden comprimeren, zouden we per beeld maar gemiddeld 1322 bytes nodig hebben (PSNR is gemiddeld 38 db). Met dezelfde beeldsnelheid komt dit op ongeveer 33 KB/s die we over het netwerk moeten versturen. We kunnen met andere woorden meer dan honderd gecomprimeerde sequenties verzenden als equivalent van één ongecomprimeerde sequentie. Hieruit blijkt duidelijk dat we een serieuze besparing doen door videodata te comprimeren. Tabel 1.1 geeft nog enkele cijfers die het nut van videocompressie aantonen. We zien ook dat bij H.264/AVC de compressie nog beter is dan bij MPEG-2 Video.

14 INLEIDING 3 Sequentie Formaat Pixelformaat YUV MPEG-2 H.264/AVC Foreman CIF 352x Foreman QCIF 176x Hall monitor CIF 352x Hall monitor QCIF 176x Tabel 1.1: Bytes/beeld voor enkele videosequenties in CIF- en QCIF-formaat. De waarden voor MPEG-2 Video en H.264/AVC zijn louter indicatief, aangezien voor andere instellingen van de encoder andere waarden verkregen worden. De gemiddelde PSNR-waarde is 35 db voor de MPEG-2-beelden en 37,5 db voor de H.264/AVCbeelden. De sequenties zijn gesampled volgens 4:2:0. Bij de eerste sequentie (Foreman) beweegt de camera en bij de tweede sequentie (Hall monitor) is de camera vast. De grote hoeveelheid aan videodata die soms op een centraal punt verwerkt moet worden, maakt het onmogelijk om elke videostroom afzonderlijk te analyseren. Er is dus nood aan een manier om de belangrijkste stromen te selecteren zodat die bekeken kunnen worden. Dikwijls zijn de belangrijkste stromen die waar beweging in is. Hier kan bewegingsdetectie een oplossing bieden door in die stromen de bewegende objecten aan te duiden. Er zijn al verschillende onderzoeken gebeurd rond bewegingsdetectie in het gecomprimeerde domein. Meestal was de gebruikte videostandaard echter nog niet H.264/AVC, maar een eerdere standaard, zoals MPEG-2 Video. In deze scriptie wordt gekeken welke bestaande technieken voor bewegingsdetectie in het gecomprimeerde domein bruikbaar zijn in H.264/AVC. Verder onderzoeken we hoe we deze algoritmen eventueel kunnen uitbreiden en hoe we de nietbruikbare algoritmen kunnen aanpassen zodat ze wel bruikbaar worden. In hoofdstuk 2 volgt een korte beschrijving van de H.264/AVC-standaard. We bespreken hoe de standaard tot stand gekomen is en wat de nieuwe concepten zijn die invloed hebben op bewegingsdetectiealgoritmen. Hoofdstuk 3 gaat iets dieper in op de bestaande technieken voor bewegingsdetectie in het gecomprimeerde domein van MPEG-2 Video. Er wordt gekeken welke technieken wel en niet bruikbaar zijn binnen H.264/AVC en hoe ze eventueel aangepast kunnen worden om toch gebruikt te kunnen worden. De geïmplementeerde algoritmen en de stappen die we genomen hebben om

15 INLEIDING 4 daartoe te komen, worden in hoofdstuk 4 uitgelegd. In hoofdstuk 5 wordt een vergelijking gegeven van de vier voorgestelde algoritmen met daarna een grondige evaluatie van de twee belangrijkste. In het laatste hoofdstuk ten slotte geven we een conclusie en enkele voorstellen om de zwakke punten van de algoritmen te verbeteren.

16 H.264/MPEG-4 AVC 5 Hoofdstuk 2 H.264/MPEG-4 AVC 2.1 De standaard H.264/AVC is een recente standaard voor videocompressie ontwikkeld door het Joint Video Team (JVT). Het JVT is een samenwerking tussen de Moving Picture Experts Group (MPEG), een studiegroep die standaarden ontwikkelt voor de International Standards Organisation / International Electrotechnical Commission (ISO/IEC) en de Video Coding Experts Group (VCEG), een studiegroep van de International Telecommunication Union (ITU-T). Het is door deze samenwerking dat de standaard een dubbele naam heeft: H.264 is afkomstig van VCEG waar hij ontwikkeld is in de H.26x-reeks; het andere deel van de naam verwijst naar het lidmaatschap in de MPEG-4-standaard (ISO/IEC 14496). Het tiende deel van deze standaard is Advanced Video Coding (AVC), vandaar de naam MPEG-4 deel 10: Advanced Video Coding. De eerste versie van deze standaard dateert van maart 2003, maar ondertussen zijn al meerdere aanpassingen gebeurd en verbeteringen toegevoegd. In deze standaard worden twee zaken besproken: de syntax van de gecodeerde bitstroom en een methode om deze gecodeerde voorstelling te decoderen (zie figuur 2.1.) De H.264/AVC-standaard definieert dus, net zoals de meeste recente standaarden, niet expliciet een encoder. Op deze manier kunnen de encoders door de industrie geoptimaliseerd worden en toch aan de standaard voldoen. Een encoder kan bijvoorbeeld speciale gezichtsherkenningstechnieken gebruiken om gezichten efficiënter te coderen. Zo kunnen geldige bitstromen verkregen worden, die een

17 2.1 De standaard 6 betere visuele indruk geven. Dit laat ook toe dat verschillende bedrijven kunnen op het gebied van de snelheid van de encoder concurreren. VIDEO-ENCODER Videobron (ongecomprimeerd videosignaal) Voorspelling Transformatie en kwantisatie Entropiecodering VIDEODECODER Verzending of opslag (signaal in H.264/AVC-syntax, gecomprimeerd) Video-output (gedecodeerd, ongecomprimeerd videosignaal) Reconstructie Inverse kwantisatie en inverse transformatie Entropiedecodering H.264/AVC-standaard Figuur 2.1: Het bereik van de H.264/AVC-standaard [5]. H.264/AVC heeft als hoofddoel het efficiënt en compact coderen van videobeelden. Tests hebben uitgewezen dat met deze standaard tot 50 % betere compressie verkregen wordt dan met MPEG-2 Video (gebruikt voor onder andere dvd) en tot 30 % betere compressie dan met H.263+ en MPEG-4 deel 2. Doordat men bij het ontwerpen van de standaard ook voldoende flexibiliteit voorzien heeft, kan hij gebruikt worden in tal van toepassingen. Of de video nu over een netwerk gestuurd wordt of alleen opgeslagen wordt, of de gebruikte verbinding een hoge of lage snelheid heeft, of de video in hoge of lage kwaliteit nodig is: alles is mogelijk. Hierdoor zal deze standaard in de toekomst hoogstwaarschijnlijk de meest gebruikte standaard voor video-over-netwerksystemen worden.

18 2.2 Basisconcepten Basisconcepten Opbouw van de H.264/AVC-stroom H.264/AVC werkt net zoals MPEG-2 Video in lagen. Nieuw bij H.264/AVC echter is het gebruik van een netwerkabstractielaag (NAL). Die heeft als doel het overbrengen van de gecomprimeerde data over verschillende netwerksystemen te vergemakkelijken. De gecodeerde bitstroom wordt opgesplitst in NAL-eenheden (NAL-units of NALU s). Deze kunnen onderverdeeld worden in twee groepen: VCL-eenheden en niet-vcl-eenheden (hierbij staat VCL voor videocoderingslaag, zie verder). VCL-eenheden bevatten de eigenlijke gecodeerde videodata. De niet-vcl-eenheden bevatten onder andere parametersets. Dit zijn parameters die over meerdere VCL-eenheden gaan en noodzakelijke informatie bevatten om het correct decoderen van de stroom te verzekeren. Er zijn twee soorten parametersets: sequentieparametersets (sequence parameter set - SPS) en afbeeldingsparametersets (picture parameter set - PPS). Een SPS bevat parameters die van toepassing zijn op de hele sequentie videobeelden en een PPS bevat parameters die van toepassing zijn op een of meer individuele afbeeldingen. Naast parametersets worden in de niet-vcl-eenheden ook metadata bijgehouden. De gecodeerde videodata vormen de videocoderingslaag (VCL). Hierin wordt een videosequentie opgedeeld in gecodeerde afbeeldingen. Zo n afbeelding kan een volledig beeld (frame) zijn bij progressieve video of een veld (field) bij geïnterlinieerde video. We werken verder met volledige beelden en zullen dus niet meer over velden spreken. Een beeld wordt verder onderverdeeld in een of meer slices. Slices stellen dus een deel van een beeld of een volledig beeld voor. Ze zijn opgebouwd uit een reeks gecodeerde macroblokken (MB) die elk gegevens bevatten die overeenkomen met een gebied van 16 op 16 pixels in het videobeeld. Dit zijn 16 x 16 samples voor de luminantiecomponent, 8 x 8 samples voor elk van de chrominantiecomponenten en informatie over de predictie (bij 4:2:0-sampling). Macroblokken kunnen in H.264/AVC nog verder opgesplitst worden naargelang van het macrobloktype. Dit wordt verder uitgelegd in en De opbouw van de H.264/AVC-stroom wordt verduidelijkt in figuur 2.2.

19 2.2 Basisconcepten 8 parameterset parameterset slice slice slice... slice NAL-eenheden slicehoofding slicegegevens MB MB skip_run MB... MB MB mb_type mb_pred gecodeerde residugegevens Figuur 2.2: De H.264/AVC syntax [5, 6] Slices in H.264/AVC In H.264/AVC kan een slice op verschillende manieren gecodeerd worden. De drie belangrijkste types zijn I-slices, P-slices en B-slices. Een I-slice wordt voluit intraslice genoemd en P- en B-slices worden ook wel interslices genoemd. Een P-slice is een predictieslice en een B-slice is een bidirectionele predictieslice. Intraslices worden onafhankelijk van andere slices gecodeerd. Alle gegevens die bij de encodering gebruikt worden, zijn dus afkomstig uit de huidige slice. Interslices daarentegen gebruiken ook gegevens uit eerder gecodeerde slices om een zo klein mogelijk residu over te houden. P-slices gebruiken bij de voorspelling informatie uit een beeld (het referentiebeeld). Dit referentiebeeld kan voor of achter het huidige beeld liggen in de displayvolgorde. B-slices kunnen gebruikmaken van twee referentiebeelden. De enige vereiste voor referentiebeelden is dat ze al ge(de)codeerd zijn. Bij B-slices die twee referenties gebruiken, moet er dus niet noodzakelijk een voorwaarts en

20 2.3 Nieuwe concepten in H.264/AVC 9 een achterwaarts referentiebeeld zijn (zoals bij MPEG-2 Video), dat mogen bijvoorbeeld ook twee achterwaartse referentiebeelden zijn. Doordat B-slices beelden kunnen gebruiken die pas na het huidige beeld komen, is het noodzakelijk dat die beelden eerder gecodeerd worden dan het huidige beeld. Om deze reden is de volgorde van (de)coderen niet gelijk aan de volgorde waarin de video op een scherm afgespeeld wordt. In intraslices moet elk macroblok in intramode gecodeerd worden. Er is dus geen enkel blok dat een voorspelling gebruikt uit een ander beeld. In P-slices daarentegen kan elk macroblok gecodeerd worden in intra- of in interpredictiemode. In P-slices kunnen er dus macroblokken voorkomen die geen bewegingsvector bevatten. Een bewegingsvector is de vector die de verplaatsing van het referentieblok ten opzichte van het refererend blok aangeeft. In B-beelden ten slotte kan een macroblok op vier manieren gecodeerd worden: gebruikmakend van beelden uit referentielijst 0, gebruikmakend van beelden uit referentielijst 1, gebruikmakend van beelden uit beide referentielijsten (zie 2.3.3) of alleen gebruikmakend van het huidige beeld (intramode). Een macroblok in een B-slice kan dus geen, een of twee referentiebeelden hebben. Zoals vermeld in 2.2.1, kan een beeld uit meerdere slices bestaan. Deze slices kunnen elk op een verschillende manier gecodeerd worden. Een beeld kan dus slices bevatten die verschillende types hebben. Aangezien dit niet veel voorkomt, zullen we er voortaan van uitgaan dat elke slice van een beeld hetzelfde type heeft. We zullen dus voor de eenvoud over beelden spreken. Hiermee bedoelen we dan beelden die slices van hetzelfde type bevatten. 2.3 Nieuwe concepten in H.264/AVC die invloed hebben op bewegingsdetectie in het gecomprimeerde domein Variabele blokgrootte Bewegingscompensatie werkt soms effectiever naarmate we kleinere blokgroottes gebruiken. De standaardblokgrootte hiervoor is 16 x 16 voor de luminantiecomponent en 8 x 8 voor de chrominantiecomponenten. In MPEG-2 Video werd

21 2.3 Nieuwe concepten in H.264/AVC 10 hierop al een verbetering geformuleerd door, in plaats van een vaste blokgrootte te nemen, de keuze te voorzien tussen een en vier bewegingsvectoren per macroblok. H.264/AVC voorziet nog meer flexibiliteit bij de keuze van de blokgrootte bij bewegingscompensatie. Zo kan de luminantiecomponent van een macroblok gepartitioneerd zijn op vier manieren: in een blok van 16 x 16, in twee blokken van 8 x 16, in twee blokken van 16 x 8 of in vier blokken van 8 x 8 (zie figuur 2.3). Als de 8x8-partitioneringsmode gekozen is, kan elk van de vier 8x8-blokken nog x 16 8 x x 8 8 x 8 Figuur 2.3: De vier mogelijkheden om een macroblok te partitioneren. verder gepartitioneerd worden op vier manieren: in een blok van 8 x 8, in twee blokken van 4 x 8, in twee blokken van 8 x 4 of in vier blokken van 4 x 4 (zie figuur 2.4). Deze manier van partitioneren wordt boomgebaseerde bewegingscompensatie (tree structured motion compensation) genoemd. De bijbehorende x 8 4 x 8 8 x 4 4 x 4 Figuur 2.4: De vier mogelijkheden om een 8x8-partitie van een macroblok te subpartitioneren. chrominantiecomponenten van dat macroblok hebben telkens de helft van de afmetingen.

22 2.3 Nieuwe concepten in H.264/AVC 11 Voor elke macroblokpartitie of -subpartitie moeten we een bewegingsvector opslaan. Ook moet de partitioneringskeuze in de gecodeerde bitstroom verwerkt zijn. Als we een grote partitionering kiezen (16 x 16, 8 x 16 of 16 x 8), hebben we niet veel bits nodig om de bewegingsvectoren op te slaan (er zijn weinig partities, maar ze zijn groot). Het residu dat verkregen wordt na bewegingscompensatie kan echter nog zeer veel energie voor gedetailleerde gebieden bevatten. Door een kleinere partitioneringsgrootte te kiezen kunnen we de energie na bewegingscompensatie verkleinen, maar hierdoor hebben we wel meer bits nodig om de bewegingsvectoren en partitioneringskeuze bij te houden. Het is duidelijk dat de keuze van de partities een grote impact op de compressie heeft. Algemeen kunnen we zeggen dat in homogene gebieden grote partities betere compressie geven en in gebieden met veel detail en beweging geven kleinere partities een beter resultaat Subpixelbewegingscompensatie Elke partitie van een intergecodeerd macroblok wordt voorspeld uit een gebied van dezelfde grootte in het referentiebeeld. Het kan echter gebeuren dat de grootte van de verplaatsing van een object in het beeld geen geheel aantal pixels is. Om hier een oplossing voor te bieden heeft H.264/AVC bewegingsvectoren met 1/4-pixelresolutie (voor de luminantiecomponent) ingevoerd. Aangezien deze waarden tussen bestaande pixels kunnen liggen (zie figuur 2.5), moeten ze op een of andere manier bepaald worden. In H.264/AVC gebeurt dit door interpolatie uit naburige pixels. De exacte berekeningen vallen buiten het bereik van dit werk, maar zijn onder andere te vinden in [5] Meerdere referentieafbeeldingen De H.264/AVC-encoder kan bij de bewegingscompensatie een of twee referentieafbeeldingen kiezen uit een aantal eerder gecodeerde beelden. Hierdoor kan gezocht worden naar de beste overeenkomst voor een macroblok(partitie) in een grotere reeks afbeeldingen in plaats van alleen te kijken naar het vorige gecodeerde beeld. Om dit te realiseren houden zowel de encoder als de decoder twee lijsten bij. Deze lijsten worden lijst 0 en lijst 1 genoemd en bevatten eerder gecodeerde

23 2.3 Nieuwe concepten in H.264/AVC 12 (a) (b) (c) Figuur 2.5: Voorbeeld van een gehele predictie en een subpixelpredictie van een 4x4- blok [5]. (a) 4x4-blok in het huidige beeld, (b) een referentieblok met vector (1, -1) en (c) een referentieblok met vector (0,75, 0.5). of gedecodeerde beelden. Interpredictiemacroblokken in P-beelden worden alleen uit beelden uit referentielijst 0 voorspeld, terwijl die in B-beelden uit referentiebeelden uit beide lijsten voorspeld kunnen worden. Het voordeel van meerdere referentieafbeeldingen te hebben is dat het kan zijn dat de beste overeenkomst niet gevonden wordt in het vorige beeld, maar in een ander beeld uit de referentielijst Predictie van bewegingsvectoren Het opslaan van de gecodeerde bewegingsvectoren kan heel wat bits innemen, zeker als we kleine partitiegroottes hebben (voor elke partitie moeten we een vector opslaan en de keuze van de partities moeten we ook bijhouden). Aangezien bewegingsvectoren meestal ruimtelijk gecorreleerd zijn, maakt men een voorspelling voor de bewegingsvector uit vectoren van naburige, eerder gecodeerde partities. Het bewegingsvectorresidu (motion vector difference - MVD) is het verschil tussen deze voorspelling en de eigenlijke vector en wordt gecodeerd in plaats van de eigenlijke vector. Stel dat X het huidige macroblok of de huidige macroblok(sub)partitie voorstelt, A de (sub)partitie links van X, B de (sub)partitie boven X en C de (sub)partitie rechts boven X zoals getoond wordt in figuur 2.6(a). De predictie van de bewegingsvector voor X wordt berekend als de mediaan van de bewegingsvectoren van A, B en C. Als er meerdere partities links van X liggen, wordt de bovenste

24 2.3 Nieuwe concepten in H.264/AVC 13 genomen als A. Als er meerdere (sub)partities boven X liggen, wordt de meest linkse genomen als B. Dit wordt verduidelijkt in figuur 2.6(b). Als er een of meer partities ontbreken (omdat we aan de rand van het beeld zitten), wordt de predictie uit de beschikbare partities gedaan. Als geen enkele partitie beschikbaar is, wordt de bewegingsvector van de huidige partitie als residu genomen. B C B 4 x 8 C 16 x 8 A 8 x 4 A X X 16 x 16 (a) (b) Figuur 2.6: De predictie van bewegingsvectoren [5]. (a) De predictie van de bewegingsvector voor blok X wordt berekend als de mediaan van A, B en C. (b) Keuze van A, B en C bij verschillende partitiegroottes van de naburige macroblokken Predictie van intramacroblokken Als een macroblok gecodeerd wordt in intramode, wordt een voorspelling berekend op basis van eerder gecodeerde en gereconstrueerde macroblokken uit de huidige slice. Er is dus geen enkele referentie naar eerder gecodeerde beelden. Omwille van deze reden worden ze gebruikt aan het begin van een sequentie en worden ze ook vaak ingevoegd in de sequentie om random access mogelijk te maken. De berekende voorspelling wordt dan afgetrokken van het huidige blok en het verkregen residu wordt gecodeerd. Bij intrapredictie hebben we twee manieren om een macroblok te verwerken: in zijn geheel of in zestien blokken van 4 x 4. In het geval van gehele verwerking zijn er vier predictiemodes (zie figuur 2.7). Als er veel detail in het beeld is, zal de predictie die verkregen wordt door het hele blok ineens te voorspellen meestal niet zo goed zijn. Dan zal een blokgrootte van 4 x 4 betere resultaten geven.

25 2.3 Nieuwe concepten in H.264/AVC 14 Voor die partitionering zijn er negen predictiemodes (zie figuur 2.8). 0 (verticaal) 1 (horizontaal) 2 (DC) 3 (plane) H H H H V... V.... V Gemiddelde (H+V) V Figuur 2.7: Intrapredictiemodes voor luminantieblokken van 16 x 16 [5]. Bij de codering van de videostroom zal de encoder de partitionering en de predictiemode zo kiezen dat de SAE (Sum of Absolute Errors) zo klein mogelijk is. Deze fouten zijn de verschillen tussen de predictiewaarden en de echte pixelwaarden. De SAE wordt als volgt berekend: SAE = N 1 x=0 N 1 y=0 f pred (x, y) f pixel (x, y) Hierbij is N de partitioneringsgrootte, f pred het blok met de predictiewaarden en f pixel het blok met de pixelwaarden. Merk op dat een kleinere partitionering weer aanleiding geeft tot extra bits voor het bijhouden van de predictiemodes. Voor elke partitie moet uiteraard ook het residu opgeslagen worden.

26 2.3 Nieuwe concepten in H.264/AVC 15 0 (verticaal) M A B C D E F G H I J K L 1 (horizontaal) M A B C D E F G H I J K L 2 (DC) M A B C D E F G H I Gemiddelde J (A..D, K I..L) L 3 (diagonaal links-omlaag) M A B C D E F G H I J K L 4 (diagonaal rechts-omlaag) M A B C D E F G H I J K L 5 (verticaal-rechts) M A B C D E F G H I J K L 6 (horizontaal-omlaag) M A B C D E F G H I J K L 7 (verticaal-links) M A B C D E F G H I J K L 8 (horizontaal-omhoog) M A B C D E F G H I J K L Figuur 2.8: Intrapredictiemodes voor luminantieblokken van 4 x 4 [5].

27 ENKELE BESTAANDE TECHNIEKEN VOOR BEWEGINGSDETECTIE 16 Hoofdstuk 3 Enkele bestaande technieken voor bewegingsdetectie 3.1 Bewegingsdetectie Bijna elk videobewakingssysteem maakt gebruik van bewegingsdetectie. Bij grote systemen waar verschillende videostromen samenkomen, is het voor een mens moeilijk om al die stromen tegelijk te bekijken. Een bewegingsdetectiesysteem kan de stromen doen opvallen waarbij beweging gedetecteerd wordt. Zo kan de menselijke aandacht gefocust worden op die beelden waar effectief iets gebeurt. Het doel van bewegingsdetectie is het onderscheiden van bewegende objecten van de rest van het beeld. Bewegingsdetectie is altijd de eerste stap. Zodra bepaald is waar beweging is, kunnen we proberen om daaruit bewegende objecten te bepalen. Het aantal bewegende objecten kan bepaald worden en eventueel ook de richting waarin die objecten bewegen. Hiervoor worden typisch clusterings- of classificatiealgoritmen gebruikt. Enkele veelgebruikte technieken zijn: k-meansclustering, connected component labeling [7], leveled watershed, region merging en classificatie [8]. Zodra de aparte objecten bekend zijn, kunnen ze gevolgd worden. Dit wordt ook wel object tracking of motion tracking genoemd. In [9] wordt een algoritme beschreven waarmee objecten in een MPEG-2-stroom gevolgd kunnen worden. Een manier om beweging te detecteren is door het analyseren van de pixelwaarden van opeenvolgende beelden. Dit wordt bewegingsdetectie in het pixeldomein genoemd. Een eenvoudige techniek om op deze manier beweging te

28 3.2 Bewegingsdetectie in het gecomprimeerde domein 17 vinden is door de pixelwaarden van het vorige beeld af te trekken van die van het huidige (temporeel verschil). Alle verschilwaarden die groter zijn dan een bepaalde drempelwaarde (threshold) worden als bewegende pixels bestempeld. Die kunnen dan door bijvoorbeeld een clusteringsalgoritme tot bewegende objecten samengevoegd worden. Videobeelden hebben tegenwoordig vaak hoge resoluties. Onder andere daarom wordt video meer en meer gecomprimeerd opgeslagen en verstuurd. Als we op deze gecodeerde beelden technieken uit het pixeldomein willen toepassen, moet de volledige bitstroom gedecodeerd worden (wat veel geheugen vraagt). Hierdoor is het onderzoek naar bewegingsdetectie in het gecomprimeerde domein sterk toegenomen. 3.2 Bewegingsdetectie in het gecomprimeerde domein Bewegingsdetectiealgoritmen die in het gecomprimeerde domein werken, decoderen een stuk van de gecodeerde videostroom en bepalen aan de hand van die informatie of en waar er beweging is. Deze algoritmen steunen meestal op twee types gegevens: transformatiecoëfficiënten en bewegingsvectoren. Deze algoritmen besparen (t.o.v. algoritmen die in het pixeldomein werken) op rekenkracht en geheugen omdat ze gebruikmaken van elementen (bv. bewegingsvectoren) die bij het encoderen berekend worden. In de rest van dit hoofdstuk worden enkele bestaande basistechnieken uitgelegd die gebruikt worden om bewegende objecten te detecteren in videostromen die volgens MPEG-2 Video gecodeerd zijn. De besproken technieken worden in drie delen opgesplitst. Eerst kijken we naar de technieken die aan de hand van een gereduceerde afbeelding opgebouwd uit transformatiecoëfficiënten de blokken bepalen waar beweging is. Daarna kijken we naar enkele systemen die van de bewegingsvectoren gebruikmaken. We sluiten deze sectie af met een korte vermelding van hybride methodes, die zowel transformatiecoëfficiënten als bewegingsvectoren gebruiken.

29 3.2 Bewegingsdetectie in het gecomprimeerde domein Technieken steunend op transformatiecoëfficiënten Een veelgebruikte techniek bij het coderen van video en stilstaande beelden is het transformeren van de pixelwaarden (of residuwaarden) naar het frequentiedomein. Aangezien de meeste energie in natuurlijke afbeeldingen in de lage frequenties voorkomt, kunnen betere visuele resultaten verkregen worden door in het frequentiedomein te kwantiseren dan wanneer we gewoon in het pixeldomein werken. Dit komt doordat de hogefrequentietermen de details van de afbeelding bevatten. Als we voor de hogefrequentietermen een grote kwantisatieparameter gebruiken en voor de lagefrequentietermen een kleine, dan zullen de details minder goed bewaard blijven, maar blijft de globale indruk goed. Bij intragecodeerde beelden is voor elk transformatieblok de laagstefrequentieterm van deze transformatie (de DC-component) na inverse transformatie de gemiddelde waarde voor dat blok. Als we een afbeelding construeren met voor elk blok een pixel die de waarde van die DC-component heeft, kunnen we die afbeelding gebruiken als benadering voor de volledige afbeelding. Deze gereduceerde afbeelding is 8 x 8 keer kleiner dan het origineel. In figuur 3.1 zien we beeld 503 uit de PetsD1TeC1-sequentie (3.1(a)) met ernaast de afgeleide DC-afbeelding (3.1(b)). Voor de duidelijkheid zijn de DC-afbeeldingen in dit hoofdstuk herschaald tot de oorspronkelijke grootte van het beeld. De volgende technieken maken gebruik van deze DC-afbeeldingen om te bepalen waar er mogelijkerwijs beweging in het beeld is. Het zijn allemaal vormen van achtergrondmodellering. Merk op dat deze technieken alleen bruikbaar zijn bij I- beelden uit bitstromen gecodeerd volgens MPEG-2 (of andere standaarden waar geen intrapredictie gebeurt). Achtergrondsubtractie Een van de eenvoudigste technieken om beweging op te sporen is achtergrondsubtractie (background subtraction). Hierbij wordt in een leerfase een achtergrondafbeelding gevormd (het achtergrondmodel). Dit kan gebeuren door het gemiddelde of de mediaan van enkele beelden zonder bewegende objecten te nemen of simpelweg door één beeld zonder bewegende objecten te gebruiken. De opgebouwde achtergrond kan dan afgetrokken worden van het huidige beeld om te zien welke waarden veel verschillen. Blokken die meer afwijken van de achtergrond dan een bepaalde drempelwaarde worden aan het bewegingsmasker toegevoegd.

30 3.2 Bewegingsdetectie in het gecomprimeerde domein 19 (a) (b) Figuur 3.1: Schermafbeelding van het I-beeld op nummer 503 uit de PetsD1TeC1- sequentie (a) en bijbehorende DC-afbeelding (b). Het resultaat van deze techniek, toegepast op het beeld uit figuur 3.1(b) met als achtergrond het beeld uit figuur 3.2(b), wordt getoond in figuur 3.3. We gebruiken hier voor het gemak een beeld zonder bewegende objecten als achtergrond. In 3.3(a) wordt het verschil tussen de twee beelden weergegeven en figuur 3.3(b) toont het bewegingsmasker dat verkregen wordt als we alle blokken met een verschil in DC-waarde groter dan acht overhouden. De lichte (witte) stukken tonen de gebieden waar beweging gedetecteerd wordt. Het grootste nadeel van deze techniek is dat ze statisch is. Zodra de achtergrond bepaald is, is ze vast voor de verdere detectie. Een geleidelijke verandering van de lichtintensiteit zal uiteindelijk over het hele beeld beweging geven. Als een achtergrondafbeelding dynamisch opgebouwd zou kunnen worden, dan zou dat hiervoor een oplossing kunnen bieden. Temporeel verschil Een eenvoudige variant van achtergrondsubtractie is temporeel verschil (temporal differencing). Hierbij wordt het vorige beeld afgetrokken van het huidige waardoor de verschillen tussen die twee beelden verkregen worden. Als voor een blok het verschil tussen twee beelden groter is dan een bepaalde drempelwaarde, dan is er in dat blok beweging. Deze techniek is ook een vorm van achtergrondmodellering. Hierbij is het model voor de achtergrond de vorige afbeelding. Het grote verschil met achtergrondsubtractie is dat deze techniek iets dynamischer is. Als een object tot stilstand komt, zal het verschil tussen twee opeen-

31 3.2 Bewegingsdetectie in het gecomprimeerde domein 20 (a) (b) Figuur 3.2: Schermafbeelding van het I-beeld op nummer 35 uit de PetsD1TeC1- sequentie (a) en bijbehorende DC-afbeelding (b). Dit beeld wordt gebruikt als achtergrond bij achtergrondsubtractie in het voorbeeld. (a) (b) Figuur 3.3: Achtergrondsubtractie. (a) Het verschil van de achtergrond uit figuur 3.2(b) en het beeld uit figuur 3.1(b) (hoe lichter de waarde, hoe groter het verschil). (b) Het bewegingsmasker dat ontstaat uit (a) als we een drempelwaarde van acht gebruiken.

32 3.2 Bewegingsdetectie in het gecomprimeerde domein 21 volgende beelden in het gebied van dat object ongeveer nul zijn. Op deze manier zullen objecten die tot stilstand komen niet meer gedetecteerd worden. Ook zal een geleidelijke verandering van de lichtintensiteit niet resulteren in beweging, aangezien het verschil met het vorige beeld niet zo groot zal zijn. Het nadeel is echter dat zeer traag bewegende (en stilstaande) objecten moeilijker te detecteren worden, aangezien ze in het vorige I-beeld ongeveer (of exact) op dezelfde plaats staan als in het huidige. In figuur 3.4 zien we een schermafbeelding van het I-beeld dat volgt op het beeld uit 3.1 met bijbehorende DC-afbeelding. In figuur 3.5(a) zien we het resultaat na aftrekking van beide beelden. Figuur 3.5(b) geeft het bewegingsmasker dat verkregen wordt als alle blokken met een verschil in DC-waarde groter dan acht als bewegend beschouwd worden. Op deze techniek zijn al verschillende verbeteringen voorgesteld, onder andere in [10]. (a) (b) Figuur 3.4: Schermafbeelding van het I-beeld op nummer 515 uit de PetsD1TeC1- sequentie (a) en bijbehorende DC-afbeelding (b). Geavanceerde achtergrondmodellering Achtergrondsubtractie heeft als grootste nadeel dat het statisch is. Er is een leerfase nodig om een achtergrondafbeelding op te stellen, maar dan blijft die vast voor de verdere detectie. Bij temporeel verschil is er dan weer het nadeel dat we op het verschilbeeld de beweging van twee beelden zien, en niet die van het laatste beeld alleen. De gedetecteerde beweging is dus niet zo exact. Het zou ideaal zijn als er een achtergrondmodel opgebouwd zou kunnen wor-

33 3.2 Bewegingsdetectie in het gecomprimeerde domein 22 (a) (b) Figuur 3.5: Temporeel verschil. (a) Het verschil van het beeld uit figuur 3.4(a) en het beeld uit figuur 3.1(b) (hoe lichter de waarde, hoe groter het verschil). (b) Het bewegingsmasker dat ontstaat uit (a) als we een drempelwaarde van acht gebruiken. den dat zich dynamisch aanpast en dat toch representatief blijft voor de achtergrond. Bij dynamische achtergrondmodellering wordt een model opgesteld van de scène zonder bewegende objecten (de achtergrond waarop de bewegende objecten gedetecteerd moeten worden) dat periodiek aangepast wordt. Een eenvoudige versie van dit model (voorgesteld voor het pixeldomein in [11]) houdt voor elk blok drie waarden bij: het minimum, het maximum en het grootste verschil tussen twee opeenvolgende beelden. De beginwaarden voor het model worden vastgelegd in een leerfase en worden nadien periodiek aangepast. Op basis van dit model kunnen we dan beweging detecteren voor de blokken die buiten het interval [minimum, maximum] liggen of meer afwijken dan de maximale afwijking uit de leerperiode. Een ander mogelijk model zou voor elk blok het gemiddelde en de variantie kunnen bijhouden. Een blok wordt dan aan het bewegingsmasker toegevoegd als het meer afwijkt van het gemiddelde dan de variantie. Ook hier kan het model dynamisch geüpdatet worden. Het grote voordeel aan deze modellen is dat er een zekere marge is, zodat kleine afwijkingen veroorzaakt door ruis nog minder gedetecteerd worden.

34 3.2 Bewegingsdetectie in het gecomprimeerde domein Technieken steunend op bewegingsvectoren Algoritmen voor bewegingsdetectie in het gecomprimeerde domein maken in bijna alle gevallen gebruik van bewegingsvectoren. De oorzaak hiervan is dat bewegingsvectoren de enige elementen zijn die in de bitstroom voorkomen die rechtstreeks iets met beweging te maken hebben. In het verleden zijn dan ook al tal van algoritmen voorgesteld om met behulp van deze vectoren de bewegende objecten te detecteren. Een bekend probleem dat optreedt bij technieken die steunen op bewegingsvectoren is dat sommige bewegingsvectoren eigenlijk niet overeenstemmen met beweging in het beeld. Deze vectoren ontstaan doordat er toevallig een overeenkomst is tussen het huidige blok en een gebied van dezelfde grootte in het referentiebeeld en niet doordat dat blok deel uitmaakt van een bewegend object. Een encoder zal namelijk een zo goed mogelijke voorspelling willen maken, wat niet altijd samenhangt met de echte beweging. We zullen deze vectoren die niet overeenstemmen met echte beweging onechte bewegingsvectoren noemen en de corresponderende blokken onechte bewegingsblokken. Meestal komen deze vectoren geïsoleerd voor; dit wil zeggen dat de omliggende blokken geen bewegingsvector hebben. We zullen dan ook de term geïsoleerd blok gebruiken voor een blok waarvan de omliggende blokken geen beweging bevatten. De bewegingsvector van dat blok zullen we een geïsoleerde vector noemen. Een veelgebruikte techniek om onechte geïsoleerde bewegingsvectoren te verwijderen is het gebruik van een mediaanfilter [12]. Dit wordt verder uitgelegd in Drempelwaardegebaseerd beslissingssysteem Bij bewegingsdetectie kunnen verschillende elementen van bewegingsvectoren gebruikt worden. Het meest voor de hand liggende element is de grootte van de vector. Dit wordt dan ook bij bijna elk algoritme gebruikt. De eenvoudigste vorm is een drempelwaardegebaseerd systeem dat kijkt of de grootte van de vector groter is dan een voorgedefinieerde drempelwaarde T. De grootte G van een bewegingsvector v(x, y) wordt berekend met de formule: G = x 2 + y 2 Bij een eenvoudig drempelwaardegebaseerd systeem dat gebruikmaakt van de grootte van de bewegingsvectoren behoren vectoren waarvoor G groter is dan T

35 3.2 Bewegingsdetectie in het gecomprimeerde domein 24 tot het bewegingsmasker. Classificatiegebaseerd beslissingssysteem Als gebruikgemaakt wordt van een drempelwaarde om het bewegingsmasker op te bouwen wordt geen onderscheid gemaakt tussen verschillende objecten. Als twee objecten elkaar kruisen, zullen ze allebei gedetecteerd worden, maar op basis van de grootte alleen kunnen ze niet altijd onderscheiden worden. Als een classificatiegebaseerd systeem gebruikt wordt, kan dit wel. Een classificatiegebaseerd systeem probeert het bewegingsvectorveld op te delen in een aantal objecten met homogene eigenschappen. Welke eigenschappen dat zijn, hangt af van de gebruikte elementen. In de vorige paragraaf werd al gesproken over de grootte; voor een vector kan echter ook de richting bepaald worden. De richting θ van een bewegingsvector v(x, y) wordt berekend als [9]: θ = 180 π arctan x y Deze waarden kunnen nu gebruikt worden om de bewegingsvectoren van een beeld te classificeren. Dit kan bijvoorbeeld gedaan worden door per blok de richting en de grootte van de bewegingsvector te vergelijken met de gemiddelde waarde van de richting en de grootte van een object. Als die binnen de vooraf gedefinieerde marges liggen, wordt dat blok toegevoegd aan het object en worden de gemiddelden opnieuw berekend. Als de waarden buiten de marges liggen, wordt een nieuw object aangemaakt of wordt het blok aan de achtergrond toegevoegd. Door classificatie die gebruikmaakt van de grootte en de richting van bewegingsvectoren kunnen ook niet-geïsoleerde onechte bewegingsblokken verwijderd worden. Een onechte bewegingsvector ontstaat doordat een blok toevallig overeenkomt met een gebied uit het referentiebeeld; daarom zal de richting van die vector verschillen van die van de omliggende blokken. Hierdoor zal de richting buiten de marges van het object liggen waardoor het onechte bewegingsblok niet bij dat object gevoegd zal worden. Tal van classificatie- en clusteringsalgoritmen zijn al voorgesteld om gebieden met homogene bewegingsvectoreigenschappen te bundelen [8, 9, 12].

36 3.2 Bewegingsdetectie in het gecomprimeerde domein 25 Andere technieken Naast de al besproken gegevens, zoals de grootte en de richting, kan ook gebruikgemaakt worden van enkele minder voor de hand liggende gegevens, onder andere de bewegingsvectoren van vorige beelden en van naburige blokken. Bewegingsvectoren van naburige blokken worden in bewegingsdetectiealgoritmen met een mediaanfilter hoe dan ook al gebruikt. Een mediaanfilter maakt namelijk gebruik van omliggende blokken om de mediaan voor het huidige blok te bepalen. Omdat bij bewegende objecten soms enkele blokken geen bewegingsvector hebben, kan het echter zinvol zijn om in de verdere analyse van het beeld ook te kijken naar de omliggende blokken om te bepalen of we in een blok al dan niet beweging hebben. Door bewegingsinformatie van vorige beelden te gebruiken bij het bepalen van het bewegingsmasker kan men ook betere detectie verkrijgen. Aangezien onechte bewegingsvectoren door toevalligheden ontstaan, zullen ze normaal gezien niet in opeenvolgende beelden voorkomen. Hierdoor kunnen die waarschijnlijk verwijderd worden door rekening te houden met een of meer voorgaande beelden. Nog een andere manier om onechte bewegingsblokken te elimineren is door een grootte te definiëren die een object minstens moet hebben om als object beschouwd te kunnen worden. Het grote nadeel van deze manier van werken is dat echte bewegende objecten kleiner dan deze minimumgrootte ook niet gedetecteerd worden. Deze techniek kan dus alleen gebruikt worden als op voorhand geweten is welke eigenschappen de objecten hebben die men wil detecteren. Deze techniek zou bijvoorbeeld gebruikt kunnen worden bij een bewakingssysteem met meerdere camera s waar de objecten die op de achtergrond bewegen (en dus kleiner zouden kunnen zijn) niet gedetecteerd moeten worden omdat ze door een andere camera gedetecteerd zullen worden Hybride methodes Het spreekt voor zich dat een beter resultaat verkregen wordt als een combinatie van gegevens gebruikt wordt. Als een bewegingsmasker opgebouwd wordt door een techniek zoals bijvoorbeeld achtergrondmodellering en een tweede bewegingsmasker opgebouwd wordt door een techniek die gebruikmaakt van bewegingsvectoren, dan kan op basis van een beslissingssysteem uit die twee maskers een finaal bewegingsmasker bepaald worden. Het is gemakkelijk in te zien dat dit

37 3.3 Bruikbaarheid van bestaande technieken binnen H.264/AVC 26 uiteindelijke masker een beter resultaat zal geven dan de afzonderlijke maskers. In [8] worden bewegende objecten gedetecteerd door de combinatie van een bewegingsmasker en een verschilmasker (dat verkregen wordt door achtergrondsubtractie). Er wordt experimenteel aangetoond dat door de combinatie van deze twee maskers een beter resultaat verkregen wordt dan door het gebruik van één enkel masker. 3.3 Bruikbaarheid van bestaande technieken en nieuwe voorstellen voor bewegingsdetectie in het gecomprimeerde domein van H.264/AVC Bewegingsvectoren versus bewegingsvectorresidu s Aangezien in H.264/AVC de bewegingsvectoren voorspeld worden (zie 2.3.4), zal de bitstroom alleen bewegingsvectorresidu s bevatten. Om de oorspronkelijke bewegingsvectoren terug te krijgen moet dus een predictie gemaakt worden en daarbij moet het residu opgeteld worden. De bewerkingen die nodig zijn voor de predictie zouden uitgespaard kunnen worden als in plaats van de bewegingsvectoren de bewegingsvectorresidu s gebruikt zouden kunnen worden. Om dit te kunnen doen is het noodzakelijk dat de bewegende objecten uit deze bewegingsvectorresidu s gedetecteerd kunnen worden. Dit kan alleen als er voor elke bewegingsvector ook een bewegingsvectorresidu is. Daarom zijn we voor een aantal sequenties nagegaan hoeveel 4x4-blokken met een bewegingsvector (verschillend van de nulvector) geen bewegingsvectorresidu hebben. Voor elk beeld werd gekeken welke 4x4-blokken een bewegingsvector en welke 4x4-blokken een bewegingsvectorresidu hebben. Uit deze analyse bleek dat er gemiddeld 0 tot 20 percent van de 4x4-blokken geen bewegingsvectorresidu heeft als die blokken wel een bewegingsvector hebben. In figuur 3.6 zien we twee grafieken die deze resultaten weergeven voor de Hall monitor- en de PetsD1TeC1-sequentie. Een groot nadeel van het werken met bewegingsvectorresidu s is dat twee veelgebruikte eigenschappen van de originele bewegingsvector verloren gaan: de grootte en de richting. Bewegingsvectoren van blokken van eenzelfde object vertonen meestal homogene waarden voor deze eigenschappen; hierdoor kunnen deze blokken geclassificeerd worden tot eenzelfde object. Bewegingsvectorresidu s

38 3.3 Bruikbaarheid van bestaande technieken binnen H.264/AVC 27 Foutpercentage 50% 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% Beeldnummer (a) Foutpercentage 40% 35% 30% 25% 20% 15% 10% 5% 0% Beeldnummer (b) Figuur 3.6: (a) Het percentage niet-gevonden bewegende 4x4-blokken voor alle beelden van de Hall monitor-sequentie. (b) Het percentage niet-gevonden bewegende 4x4- blokken voor alle beelden van de PetsD1TeC1-sequentie. De rechte lijn duidt telkens het gemiddelde aan.

39 3.3 Bruikbaarheid van bestaande technieken binnen H.264/AVC 28 van eenzelfde object zullen meestal geen homogene waarden voor dat object meer hebben. Integendeel, hoe homogener de bewegingsvectoren van een object, hoe beter de predictie voor deze vectoren zal zijn. Een goede predictie zal resulteren in een kleine waarde voor het residu. De grootte van dit residu zegt niets meer over de grootte van de originele bewegingsvector. Het zegt alleen iets over de juistheid van de voorspelling (een kleine residuwaarde betekent dat de voorspelling de echte waarde goed benadert en vice versa). Daarom zullen geen classificatiealgoritmen gebruikt kunnen worden bij het gebruik van bewegingsvectorresidu s (of toch niet zoals ze gebruikt worden bij bewegingsvectoren) Achtergrondmodellering in H.264/AVC Als we in H.264/AVC een techniek zoals achtergrondmodellering of achtergrondsubtractie willen gebruiken, moeten we ook een model van de achtergrond kunnen maken of moeten we die achtergrond ook kunnen gebruiken om af te trekken van het huidige beeld. In eerdere standaarden kon deze achtergrond benaderd worden door een DC-afbeelding op te bouwen. In H.264/AVC wordt echter elk intragecodeerd macroblok voorspeld uit al gecodeerde blokken van dat beeld, waardoor een residu verkregen wordt dat niet meer zomaar bruikbaar is als model voor de achtergrond. Dit residu wordt getransformeerd door een benadering van de discrete cosinustransformatie (Discrete Cosinus Transform - DCT). Stel dat we toch zouden proberen om de DC-component van deze transformatie te gebruiken voor een benadering van de achtergrond, dan zouden we na inverse transformatie eerst een benadering voor het residu krijgen. Deze benadering voor het residu zou dan gebruikt moeten worden om de benadering voor de achtergrond te berekenen. We kunnen echter aantonen dat de uiteindelijk verkregen benadering onbruikbaar is als model waarbij voor elk blok de gemiddelde waarde bijgehouden wordt. Bewijs Als we de echte waarde van het n de blok B n noemen en de predictie van dat blok P n, dan is het verschil tussen deze twee (het residu R n ) gelijk aan: R n = B n P n (3.1)

40 3.3 Bruikbaarheid van bestaande technieken binnen H.264/AVC 29 De predictie P n van het n de blok wordt berekend uit waarden van eerder gecodeerde blokken. Stel voor de eenvoud dat waarden van het k de blok genomen worden, dan kunnen we definiëren: P n = P (B k ) met k < n (3.2) Hierbij is P (B) de predictiefunctie; dit is de functie die uit blok B een voorspelling voor een blok maakt. Deze functie kan in principe ook meerdere blokken gebruiken, maar we zullen dit voor de duidelijkheid van het bewijs buiten beschouwing laten. Bij de codering van blok n wordt het residu R n van dat blok getransformeerd. We noemen het resultaat Rn. t Als we nu alleen de DC-component van deze transformatie zouden behouden en we daarop de inverse transformatie zouden toepassen (zoals we normaal gezien zouden doen bij de berekening van de DCafbeelding), dan krijgen we de benadering voor het residu die we Rn b noemen. Deze benadering is de gemiddelde waarde van R n (zie 3.2.1). We stellen: R n = Rn b + ɛ n (3.3) We kunnen nu een benadering voor de achtergrondafbeelding krijgen door voor elk blok de waarde te berekenen aan de hand van het benaderde residu (R b n). Hierdoor krijgen we niet de echte waarde van dat blok, maar de benadering B b n: B b n = R b n + P b n (3.4) De predictie (P b n) in deze vergelijking maakt gebruik van eerder gecodeerde blokken die ook benaderd zijn. Naar analogie met vergelijking 3.2 kunnen we stellen dat: P b n = P (B b k) met k < n (3.5) We definiëren nu de fout van blok n als het verschil tussen de echte waarde en de benadering: E n = B n B b n (3.6) We kunnen dit met behulp van de bovenstaande gelijkheden herschrijven: E n = B n B b n = (R n + P n ) (R b n + P b n) = (R b n + ɛ n + P (B k )) (R b n + P (B b k)) met k < n = R b n + ɛ n + P (B k ) R b n P (B b k) met k < n = ɛ n + P (B k ) P (B b k) met k < n

41 3.3 Bruikbaarheid van bestaande technieken binnen H.264/AVC 30 zodat we krijgen: E n = ɛ n + [P (B k ) P (B b k)] met k < n (3.7) Vergelijking 3.7 geeft weer dat de totale fout voor het n de blok bestaat uit twee delen. Het eerste deel (ɛ n ) is de fout tussen het residu en de gemiddelde waarde van het residu; dit is de fout die ontstaat door alleen de DC-component te gebruiken bij inverse transformatie. Het tweede deel is het verschil tussen de predictie uit de correcte waarden van het k de blok en de predictie uit de benaderde waarden van dat blok (P (B k ) P (B b k)). Dit is de fout die ontstaat doordat het blok waarvan de voorspelling gebruikmaakt ook benaderd wordt. Deze fout zal in veel gevallen verschillend zijn van nul. Hierdoor zal B b n dus niet langer de gemiddelde waarde van B n voorstellen. Dit wordt verduidelijkt in figuur 3.7. B k P (B k ) (a) b b B k P (B k ) (b) Figuur 3.7: (a) Predictie uit het k de blok (B k ). (b) Predictie uit de DC-benadering van het k de blok (B b k ). Het is duidelijk dat de voorspellingen P (B k) en P (B b k ) niet gelijk zijn Blokgrootte In H.264/AVC kunnen macroblokken gepartitioneerd worden in groottes variërend van 16 x 16 tot 4 x 4. Aangezien grote blokken meestal in homogene gebieden voorkomen en kleine partities in complexere gebieden en gebieden met beweging, kunnen we de blokgrootte ook als een aanwijzing gebruiken om te beslissen of er al dan niet beweging in een blok aanwezig is. Hoewel deze techniek al

42 3.3 Bruikbaarheid van bestaande technieken binnen H.264/AVC 31 beschreven werd [8], wordt ze hier toch vermeld omdat ze door de ruimere keuze aan blokgroottes beter toepasbaar is bij H.264/AVC dan bij eerdere standaarden.

43 BESPREKING VAN DE GEÏMPLEMENTEERDE ALGORITMEN 32 Hoofdstuk 4 Bespreking van de geïmplementeerde algoritmen 4.1 Stappenplan Bij het implementeren van een algoritme voor bewegingsdetectie zijn we vertrokken van de nieuwe technieken die gebruikt worden bij H.264/AVC. Een van deze technieken is de predictie van bewegingsvectoren (zie 2.3.4). Aangezien bij het grootste deel van de bewegende blokken in een beeld het bewegingsvectorresidu verschillend is van nul als de bewegingsvector verschillend is van nul (zie 3.3.1), leek het vanzelfsprekend om deze residuwaarden te gebruiken als maat voor de beweging in plaats van de volledige bewegingsvectoren (die iets meer decodeerwerk vragen). De eerste implementatie van het algoritme was dan ook een simpel systeem dat gebruikmaakt van de grootte (energie) van de bewegingsvectorresidu s van die blokken in plaats van de grootte van bewegingsvectoren. Hiervoor werd een tabel bijgehouden die voor elk 4x4-blok de waarde van het residu bijhoudt. Het uiteindelijke bewegingsmasker bestaat dan uit de 4x4-blokken waarvan de berekende energie groter is dan een drempelwaarde. Het verkregen bewegingsmasker was echter nog niet bruikbaar. Veel blokken waar geen beweging merkbaar was, behoorden toch tot het gedetecteerde masker. Om dit probleem te verhelpen werd een mediaanfilter toegevoegd. Die filter verwijdert de ruis in het bewegingsvectorresiduveld door de mediaan te nemen van de energie van de omliggende 4x4-blokken. Die ruis bestaat uit de vectoren die door de codering ontstaan en niet zozeer uit de vectoren die door echte beweging ontstaan.

44 4.2 Afzonderlijke stappen 33 Door de manier waarop we de residugegevens bijhouden (een energiewaarde per 4x4-blok), kan de mediaanfilter echter nog niet alle ruis verwijderen. Daarom was het nodig om de gebruikte mediaanfilter aan te passen, zodat die rekening zou houden met de blokgrootte van de blokken. De verkregen resultaten waren al beter, maar ondanks de verbeterde mediaanfilter bleven toch nog onechte bewegingsblokken achter. Om deze blokken te elimineren besloten we om rekening te houden met verschillende beelden. Hierdoor konden we kijken of gedetecteerde blokken in opeenvolgende beelden gedetecteerd werden of alleen in het huidige beeld. Aangezien onechte bewegingsblokken door toevalligheden in de encoder ontstaan, komen ze meestal niet voor in opeenvolgende beelden. Door naar meerdere beelden te kijken werd echter ook een deel van de echte bewegingsblokken verwijderd. Om deze bewegingsblokken toch beter te detecteren besloten we om bij het beslissingssysteem van de verschillende beelden rekening te houden met de blokken in de buurt van bewegende blokken. Hierdoor werd een grote winst geboekt. Omdat we niet extreem veel bewerkingen nodig hebben om de volledige bewegingsvectoren te berekenen hebben we het algoritme dat met één beeld werkt en het algoritme dat met meerdere beelden werkt aangepast: in plaats van de bewegingsvectorresidu s worden toch de bewegingsvectoren gebruikt. Zoals te verwachten waren die resultaten nog beter dan de resultaten die we tot nu toe verkregen hadden. 4.2 Afzonderlijke stappen De stappen uit de werkwijze van de vorige paragraaf worden hier verder uitgelegd. Deze stappen zijn dezelfde voor zowel bewegingsvectorresidu s als voor bewegingsvectoren op de invulling van de tabel na. Daarom zullen we in wat volgt de term vectoren gebruiken. In de voorgestelde stappen worden alleen gegevens uit de luminantiecomponent van de video gebruikt Invulling van de tabel Om beweging te detecteren hebben we de gegevens van een volledig beeld nodig. Daarom moeten die gegevens (de bewegingsvectorresidu s of de bewegingsvectoren) op een of andere manier bijgehouden worden. We hebben ervoor geko-

45 4.2 Afzonderlijke stappen 34 zen om deze vectoren in een tabel bij te houden. Omdat er bij H.264/AVC een variabele partitioneringsgrootte is, hebben we de kleinste partitiegrootte, 4 x 4, als eenheid voor deze tabel genomen. Voor elk 4x4-blok wordt dus de waarde van de vector opgeslagen. Voor macroblokpartities die groter zijn dan 4 x 4 wordt gewoon een aantal keer dezelfde waarde opgeslagen. Voor een ongepartitioneerd macroblok bijvoorbeeld wordt zestien keer de waarde van de vector opgeslagen. Figuur 4.1 verduidelijkt deze invulling. A B F H C G I D E J A A A A A A A A A A A A A A A A B B F H C C G I D E J J D E J J (a) (b) Figuur 4.1: (a) De partitionering in H.264/AVC. (b) De manier waarop deze bewegingsvectoren in de tabel opgeslagen worden. Omdat voor B-beelden soms twee vectoren opgeslagen moeten worden, houden we twee van deze tabellen bij: een voor de lijst 0-vectoren en een voor de lijst 1-vectoren. Voor P-beelden bevat de tabel met lijst 1-vectoren allemaal nulvectoren. I-beelden gebruiken alleen gegevens uit het huidige beeld en hebben dus geen bewegingsvectoren. Om voor dat beeld toch een bewegingsmasker te kunnen bepalen wordt de bewegingsinformatie van het vorige P-beeld gebruikt bij de invulling van de tabel van dat I-beeld. In P- en B-beelden kunnen naast interpredictiemacroblokken ook intrapredictiemacroblokken voorkomen. Die macroblokken hebben geen bewegingsvector, maar kunnen wel deel uitmaken van een bewegend object. Bij deze macroblokken passen we een analoge werkwijze toe als bij I-beelden: de vectoren van het overeenkomstige blok uit het vorige P-beeld worden gebruikt. Als er een overgeslagen (skipped) macroblok tegengekomen wordt, wordt de bewegingsinformatie van het vorige P-beeld gebruikt. De reden hiervoor is dat er geen bewegingsvectorinformatie voor deze blokken gecodeerd wordt. Als bewegingsvector wordt een predictie bepaald uit al gedecodeerde blokken. Hierdoor is er geen bewegings-

46 4.2 Afzonderlijke stappen 35 vectorresidu, waardoor dat van het vorige beeld werd genomen. Dit werd niet aangepast toen we overschakelden op bewegingsvectoren. Hier moet de implementatie dus nog aangepast worden. De ingevulde tabel wordt bijgehouden in een extra structuur in de decoded picture (dec picture in de referentiesoftware). Deze gedecodeerde beelden worden bijgehouden in de decoded picture buffer ; dit is een buffer die de afbeeldingen bevat die al gedecodeerd zijn, maar die nog niet weggeschreven zijn naar het geheugen. Ook de andere gegevens (zoals de partitionering van de macroblokken en de energietabel, zie verder) die we zullen bijhouden, zullen in deze extra structuur opgeslagen worden. Om te voorkomen dat we de partitionering van de macroblokken verliezen, houden we naast de vectoren ook het macrobloktype en de submacrobloktypes bij. Voor elk macroblok houden we dus twee keer zestien vectoren, een macrobloktype en vier submacrobloktypes bij. We slaan met andere woorden meer gegevens op dan strikt noodzakelijk, maar dit maakt de implementatie van de tabel een stuk eenvoudiger Berekening van de energie Voor de bepaling van het bewegingsmasker berekenen we voor elk 4x4-blok uit de tabel de energie E van de vectoren. De energie is een maat voor de grootte van de beweging van een 4x4-blok. Als we de lijst 0-vector v 0 (x 0, y 0 ) en de lijst 1-vector v 1 (x 1, y 1 ) noemen, dan definiëren we de energie als de som van de Euclidische normen van deze vectoren: E = x y0 2 + x y1 2 De vectoren v 0 en v 1 kunnen hier de bewegingsvectorresidu s zijn of de bewegingsvectoren zelf. Merk op dat hier geen rekening gehouden wordt met het aantal vectoren dat effectief gebruikt wordt: als een B-beeld twee vectoren gebruikt, zal de energie niet genormaliseerd worden. Dit maakt dat de energie (en dus ook de verdere detectie) zeer afhankelijk is van de beeldperiode (zie ook 5.3.3).

47 4.2 Afzonderlijke stappen 36 De berekende energiewaarden worden ook in een tabel opgeslagen om te vermijden dat ze herberekend moeten worden telkens als ze nodig zijn. Deze tabel heeft dezelfde vorm als de tabel beschreven in de vorige paragraaf Mediaanfilter In de voorgestelde algoritmen worden de mediaanfilters altijd op het energieveld toegepast. In deze paragraaf geven we met een hoofdletter het label van een blok aan en met een kleine letter de waarde van de energie van een blok (bv. blok A met energiewaarde a). Met mediaan (A) bedoelen we het resultaat na filtering van blok A en met mediaan (a, b,..., c) bedoelen we de klassieke wiskundige mediaan. Eenvoudige mediaanfilter De eerste implementatie van de mediaanfilter is een eenvoudige versie die voor elk 4x4-blok de waarde van de energie vervangt door de mediaan van de omliggende 4x4-blokken. Als x de energie is van het huidige blok (X), a en d de energie van de blokken boven en onder X en b en c de blokken links en rechts van X, dan wordt de waarde na filtering van X (mediaan (X)) berekend als de mediaan van a, b, c, d en x. Figuur 4.2 toont de ligging van deze blokken ten opzichte van elkaar. Als een of meer van deze blokken niet beschikbaar zijn (als blok X aan de rand van het beeld ligt), wordt de mediaan berekend uit de beschikbare blokken. Stel bv. dat X het eerste blok van een beeld is, dan wordt de mediaan van X berekend als mediaan (c, d, x). A B X D C Figuur 4.2: Een eenvoudige mediaanfilter. De waarde van het huidige blok (X) na filtering wordt berekend als de mediaan van de energie van A, B, C, D en X: mediaan (X) = mediaan (a, b, c, d, x).

48 4.2 Afzonderlijke stappen 37 Doordat voor elk macroblok zestien waarden bijgehouden worden, is deze mediaanfilter echter niet voldoende. Geïsoleerde vectoren van partities groter dan 4 x 4 worden niet verwijderd. We hebben bijvoorbeeld een vector van een ongepartitioneerd macroblok met een energie die groter is dan nul. Die energie staat voor elk 4x4-blok van dat macroblok in de tabel, zoals uitgelegd in de vorige paragraaf. Stel dat we deze zestien blokken labelen met de letters van het alfabet in rasterscanvolgorde (zoals getoond wordt in figuur 4.3), dan berekenen we de waarde voor blok A na filtering als volgt: mediaan (A) = mediaan (a, b, e, 0, 0) = a omdat A, B en E dezelfde waarde hebben. Het is eenvoudig na te gaan dat op deze manier voor elk 4x4-blok van dit macroblok opnieuw de oorspronkelijke energiewaarde verkregen wordt. De geïsoleerde bewegingsblokken zijn dus niet verwijderd. We moeten dus een mediaanfilter hebben die rekening houdt met de blokgrootte als we geïsoleerde bewegingsblokken willen verwijderen. A B C D E F G H I J K L Energie is nul. Energie is verschillend van nul. M N O P Figuur 4.3: Labeling in rasterscanvolgorde van een geïsoleerd macroblok. Adaptieve mediaanfilter De adaptieve mediaanfilter is zo n filter die geïsoleerde macroblokken kan verwijderen. Afhankelijk van de grootte van de partitie waar het huidige 4x4-blok in ligt, worden meer of minder elementen voor de mediaan gebruikt. Stel dat

49 4.2 Afzonderlijke stappen 38 we een 4x4-blok hebben dat in een 8x16-partitie ligt, dan zullen bij de mediaanberekening van elk 4x4-blok in die partitie vijf blokken gebruikt worden met de grootte van de partitie waarin dat 4x4-blok zich bevindt: de 8x16-partitie zelf, de 8x16-partitie erboven, die er links en rechts naast en die eronder. Dit wordt verduidelijkt in figuur 4.4. Huidig 4x4-blok Blok dat gebruikt wordt bij de mediaanbepaling Figuur 4.4: Adaptieve mediaanbepaling. De dikkere lijnen geven de partitionering van de macroblokken aan. De lichtblauwe blokken geven de 4x4-blokken aan die we gebruiken voor de bepaling van de mediaanwaarde voor het donkerblauwe blok. We zullen nu aantonen dat deze filter het geïsoleerde 16x16-blok uit figuur 4.3 wel kan elimineren. Als we met onze adaptieve filter de waarde na filtering willen berekenen voor het blok met label A, krijgen we: mediaan (A) = mediaan ( 0, 0,..., 0, a, b,..., p ) = 0 }{{}}{{} Er kan eenvoudig nagegaan worden dat voor de andere blokken (B, C,..., P) hetzelfde resultaat verkregen wordt. De adaptieve mediaanfilter is dus in staat om de energie van de geïsoleerde vectoren te verwijderen. Het nadeel van deze filter is dat bewegende objecten die niet groter zijn dan één macroblok(partitie) door deze filter verwijderd zullen worden. Deze objecten

50 4.2 Afzonderlijke stappen 39 komen echter niet zo veel voor, aangezien bij bewegende objecten meestal een kleinere partitiegrootte voorkomt. Daarom zullen kleine objecten meestal uit enkele (kleine) partities bestaan en dus niet uit één macroblok. Hierdoor zullen ze in veel gevallen toch niet verwijderd worden Naburige blokken Bij een bewegend object heeft niet altijd elk blok dat tot dat object behoort een bewegingsvector. Om er toch voor te zorgen dat deze blokken bij het gebruik van meerdere beelden (zie 4.2.5) meegeteld worden, hebben we een masker opgebouwd uit het mediaangefilterde energieveld. Dit masker bestaat uit de kleinste omvattende rechthoeken voor elk object van het mediaangefilterde energieveld. De kleinste omvattende rechthoek is de kleinste rechthoek die het hele object bevat. Met een object bedoelen we hier een reeks blokken die verbonden zijn. De objecten worden bepaald met een geconnecteerdegebiedenlabelingsalgoritme (connected components labeling algorithm) dat voorgesteld wordt in [7]. Dit algoritme geeft als output een masker waarbij de energiewaarden door een objectnummer vervangen zijn. Alle 4x4-blokken die tot hetzelfde geconnecteerde gebied behoren, hebben hetzelfde nummer en vormen een object (zie figuur 4.5(b)). Voor elk object wordt dan de kleinste omvattende rechthoek bepaald (zie figuur 4.5(c)) en de objecten in het masker worden tot die rechthoeken uitgebreid. Dit gebeurt door voor elk object de rij en de kolom te bepalen van het hoogste, laagste, meest linkse en meest rechtse blok van dat object. De 4x4-blokken van die rechthoek worden dan overlopen en krijgen de waarde van het objectnummer (zie figuur 4.5(d)). Dit masker speelt een belangrijke rol bij de volgende stap die we beschrijven (het gebruik van verschillende beelden). Daar wordt uitgelegd hoe dit masker gebruikt wordt.

51 4.2 Afzonderlijke stappen (a) (b) (c) (d) Figuur 4.5: De bovenstaande figuren tonen aan de hand van een deel van een beeld de bepaling van het uitgebreide objectmasker. (a) Een deel van het mediaangefilterde energieveld. De waarden zijn hypothetische energiewaarden. (b) De output van (a) na het geconnecteerdegebiedenlabelingsalgoritme. (c) De rode kaders geven de kleinste omvattende rechthoek voor elk object uit (c) aan. (d) Het uitgebreide objectmasker Gebruik van verschillende beelden Eerst beschrijven we de manier waarop we in de voorgestelde algoritmen rekening houden met de laatste drie beelden. Met de laatste drie beelden bedoelen we het huidige beeld en de twee referentiebeelden die aan dat beeld voorafgaan; dit kunnen twee P-beelden zijn of een P-beeld en een I-beeld. Bij het gebruikte codeerpatroon (IBPBPBPBPBPB) is dat voor P- en I-beelden het beeld twee beelden voor het huidige en het beeld vier beelden voor het huidige. Voor B-beelden is dat het beeld voor het huidige en het beeld drie beelden voor het huidige. Voor I-beelden zijn deze refentiebeelden altijd twee P-beelden, terwijl dit bij P- en B-beelden ook één P-beeld en één I-beeld kan zijn. Met een teller (t) wordt per 4x4-blok geteld in hoeveel van de laatste drie beelden de energie van dat blok in het uitgebreide masker (zie vorige paragraaf) groter is dan nul. Dan wordt op basis van de waarde van die teller, de energiewaarde van dat blok in het huidige beeld (e huidig ) en de totale energie van dat blok in de laatste drie beelden (e tot ) bepaald of dat blok tot het bewegingsmasker behoort. Dit gebeurt aan de hand van een beslissingssysteem met twee drempelwaarden (d 1 en d 2, d 1 d 2 ) die afhangen van het beeldtype. Als voor een 4x4-blok de teller twee (t = 2) is en er is beweging in het huidige beeld (e huidig > 0) of de totale energie in de laatste drie beelden is groter dan de eerste drempelwaarde (e tot d 1 ), dan wordt beslist dat er beweging is in dat

52 4.2 Afzonderlijke stappen 41 blok. Ook als de teller drie is (t = 3, er is in de laatste drie beelden beweging in dat blok) en de totale energie van de laatste drie beelden is groter dan de tweede drempelwaarde (e tot d 2 ), beslissen we dat er beweging is in dat blok. In de andere gevallen wordt beslist dat er geen beweging is. Dit beslissingssysteem wordt grafisch weergegeven in figuur 4.6. We hebben dit systeem aan het detectiealgoritme toegevoegd, omdat het mogelijk is dat onechte bewegingsvectoren niet geïsoleerd voorkomen. Er kunnen met andere woorden meerdere onechte vectoren naast elkaar zijn. Deze vectoren worden niet verwijderd door de adaptieve mediaanfilter. Aan de hand van informatie uit het huidige beeld is het moeilijk op te maken of deze bewegingsvectoren al dan niet met echte beweging overeenstemmen. Daarom is het logisch dat gekeken wordt naar beelden die eerder in de sequentie voorkomen om te zien of daar beweging is, omdat onechte vectoren meestal niet in opeenvolgende beelden te vinden zijn. Een bewegend object zal in opeenvolgende beelden vaak blokken gemeen hebben. De kans dat een blok tot een bewegend object behoort, zal dus groter zijn als dat blok in opeenvolgende beelden een vector heeft. Deze eigenschap hebben we gebruikt om dit beslissingssysteem op te bouwen. Experimenteel hebben we gekeken met welke combinatie van beslissingen de beste resultaten verkregen werden. In de eerste drie beelden van de sequentie (of in de eerste drie beelden na een IDR-beeld 1 ) hebben we nog geen drie beelden waaruit we bewegingsinformatie kunnen halen. Voor die beelden gebruiken we het mediaangefilterde energiemasker als bewegingsmasker. Het eerste I-beeld heeft geen mediaangefilterd energiemasker en de IDR-beelden hebben dat ook niet; voor deze beelden zal er dan ook geen bewegingsmasker gedetecteerd worden. 1 Een Instantaneous Decoder Refresh (IDR) beeld maakt de referentielijsten (lijst 0 en lijst 1) leeg en zorgt ervoor dat alle beelden die na dit beeld komen niet gebruikmaken van beelden uit deze oude referentielijsten. Een IDR-beeld bestaat alleen uit I-slices en wordt gebruikt om encoder en decoder te (re)synchroniseren.

53 4.2 Afzonderlijke stappen 42 Start De waarden voor t, e huidig en e tot worden bepaald. t = 2 Nee t = 3 Ja Ja e huidig > 0 OF e tot d 1 e tot d 2 Ja Ja Nee (t = 1) Nee Nee Blok behoort tot het bewegingsmasker. Blok behoort niet tot het bewegingsmasker. Einde Figuur 4.6: Beslissingssysteem dat aan de hand van een teller (t), de energiewaarde in het huidige beeld (e huidig ) en de totale energie in de laatste drie beelden (e tot ) bepaalt of een 4x4-blok tot het bewegingsmasker behoort.

54 4.3 Overzicht van de voorgestelde algoritmen Parameterbepaling De laatste stap bij de implementatie van de algoritmen is de parameterbepaling. De drempelwaarden werden zo aangepast dat voor de testsequenties een optimale detectie verkregen werd. Hierbij hebben we een onderscheid gemaakt tussen de P- en I-beelden en de B-beelden. De B-beelden hebben referentiebeelden die meestal één beeld verwijderd liggen van het huidige beeld en daarom zijn de vectoren van die beelden kleiner dan die van P-beelden (waarvan het referentiebeeld meestal twee beelden ver ligt). Dit kan opgelost worden door de vectoren te normaliseren volgens de afstand tot het referentiebeeld (zie ook 5.3.3). In de voorgestelde algoritmen wordt echter gewoon een lagere drempelwaarde gebruikt bij B-beelden dan bij P- en I-beelden. Dit maakt dat de detectie van de algoritmen zeer afhankelijk is van de gebruikte beeldperiode. De exacte drempelwaarden zijn voor elk algoritme verschillend en worden in de volgende paragraaf gegeven. De waarden zelf werden proefondervindelijk vastgesteld. 4.3 Overzicht van de voorgestelde algoritmen Uit de stappen die we hierboven besproken hebben, worden twee bruikbare algoritmen opgebouwd. Het eerste algoritme maakt gebruik van bewegingsvectorresidu s uit meerdere beelden en het tweede van bewegingsvectoren uit meerdere beelden. De resultaten die we met deze algoritmen verkrijgen, zijn beter dan de resultaten die we met de algoritmen zonder tijdsvenster verkrijgen. Deze twee algoritmen worden hieronder ook beschreven zodat we bij de evaluatie een visuele vergelijking van deze vier mogelijkheden kunnen geven Bewegingsvectorresidu s uit één beeld Het eerste algoritme gebruikt de bewegingsvectorresidu s uit één enkel beeld om het bewegingsmasker te bepalen. Eerst wordt de tabel met de bewegingsvectorresidu s opgebouwd. Dan wordt van deze vectoren de energie berekend en passen we de mediaanfilter toe op de berekende energiewaarden met een drempelwaarde van 2 voor P-beelden en een drempelwaarde van 1 voor B-beelden. Dit wil zeggen dat we de mediaan berekenen met de adaptieve mediaanfilter en de verkregen waarde vergelijken met deze drempelwaarde (die dus afhankelijk is van het beeld-

55 4.3 Overzicht van de voorgestelde algoritmen 44 type). Als de waarde groter dan of gelijk is aan de drempelwaarde, dan behoort dat blok tot het bewegingsmasker en anders niet; dit zal ook zo zijn bij het volgende algoritme. Verder wordt dit algoritme MVD-1 genoemd. Deze naam is opgebouwd uit de Engelse afkorting voor bewegingsvectorresidu (MVD) en een cijfer dat het aantal beelden aangeeft dat gebruikt wordt. Energiebepaling Mediaanfiltering Filtering a.d.h.v. een drempelwaarde Bewegingsvectorresidu s H.264/AVCbitstroom Bewegingsmasker Input Output Figuur 4.7: Diagram van het algoritme MVD Bewegingsvectoren uit één beeld Het tweede algoritme maakt geen gebruik van de bewegingsvectorresidu s, maar wel van de bewegingsvectoren uit één enkel beeld. Dit is het enige verschil met het voorgaande algoritme. Opnieuw werd de drempelwaarde voor de mediaanfilter 2 genomen voor P-beelden en 1 voor B-beelden. We hebben voor de bewegingsvectoren de drempelwaarde even laag genomen als bij bewegingsvectorresidu s, zodat alleen de geïsoleerde blokken en de blokken die een zeer lage energie hebben, verwijderd worden. Dit algoritme wordt verder MV-1 genoemd, waarbij MV de afkorting is van het Engelse woord voor bewegingsvector en het cijfer weer het aantal beelden aangeeft dat gebruikt wordt Bewegingsvectorresidu s uit drie beelden Het derde algoritme maakt opnieuw gebruik van de bewegingsvectorresidu s, maar dit keer wordt ook rekening gehouden met twee beelden voorafgaand aan het huidige beeld. Van elk van die beelden hebben we het mediaangefilterde energieveld en het uitgebreide objectmasker. Hieruit bepalen we de totale energie in de drie

56 4.3 Overzicht van de voorgestelde algoritmen 45 Energiebepaling Mediaanfiltering Filtering a.d.h.v. een drempelwaarde Bewegingsvectoren H.264/AVCbitstroom Bewegingsmasker Input Output Figuur 4.8: Diagram van het algoritme MV-1. beelden als de som van de afzonderlijke energieën. Verder wordt geteld in hoeveel beelden het uitgebreide objectmasker verschillend is van nul. Afhankelijk van de waarde van deze teller wordt dan een andere drempelwaarde gebruikt om te beslissen of een blok tot het uiteindelijke bewegingsmasker behoort. Merk op dat we kijken of de waarde voor een blok groter dan of gelijk aan een van deze drempelwaarden is om deze beslissing te nemen. Deze drempelwaarden worden in tabel 4.1 weergegeven. Analoog met de benaming van de voorgaande algoritmen wordt dit algoritme MVD-3 genoemd. Energiebepaling Mediaanfiltering Bewegingsbepaling a.d.h.v. 3 beelden Bewegingsvectorresidu s H.264/AVCbitstroom Bepaling van het uitgebreide Beeld n-1 objectmasker Beeld n-2 Bewegingsmasker Input Output Figuur 4.9: Diagram van het algoritme MVD Bewegingsvectoren uit drie beelden Het vierde en laatste algoritme past dezelfde technieken toe als het derde algoritme, maar werkt weer met bewegingsvectoren in plaats van bewegingsvectorresidu s. De drempelwaarden werden aangepast om betere detectie te verkrijgen. Deze worden in tabel 4.1 weergegeven. Dit algoritme noemen we MV-3.

57 4.3 Overzicht van de voorgestelde algoritmen 46 Energiebepaling Mediaanfiltering Bewegingsbepaling a.d.h.v. 3 beelden Bewegingsvectoren H.264/AVCbitstroom Bepaling van het uitgebreide Beeld n-1 objectmasker Beeld n-2 Bewegingsmasker Input Output Figuur 4.10: Diagram van het algoritme MV-3. MVD-3 B-beeld I/P-beeld MV-3 B-beeld I/P-beeld d d Tabel 4.1: De drempelwaarden van het beslissingssysteem voor het MVD-3- en het MV-3-algoritme.

58 EVALUATIE EN VERGELIJKING 47 Hoofdstuk 5 Evaluatie en vergelijking 5.1 Testsequenties Voor de evaluatie van de geïmplementeerde algoritmen hebben we drie sequenties gebruikt, namelijk Hall monitor, Speedway en PetsD1TeC1. Ze werden geëncodeerd met de H.264/AVC-referentie-encoder (JM versie 13.1 [13]). Voor de beeldvolgorde werd als periode IBPBPBPBPBPB genomen. Het volledige configuratiebestand van de encoder wordt in bijlage A gegeven. De afmetingen van de gebruikte sequenties verschillen lichtjes; de Hall monitoren de Speedway-sequentie zijn in CIF-formaat (352 x 288) en de PetsD1TeC1- sequentie heeft als afmetingen 384 x 288. Dit formaat is eigenlijk ook CIFformaat, maar dan aangepast. Pixels in beelden met CIF-resolutie hebben namelijk een verhouding van 4 op 3 (ze zijn dus niet vierkant, zoals die van een computerscherm). Daarom wordt om een samengedrukt beeld te vermijden het beeld horizontaal herschaald tot 384 pixels. 1 De PetsD1TeC1- en de Speedway-sequentie zijn opnamen van buiten, terwijl de Hall monitor-sequentie binnen opgenomen is. Op de schermafbeeldingen worden de 4x4-blokken die tot het bewegingsmasker behoren met een zwarte rand aangegeven. 1 Deze informatie is afkomstig van camera-lexicon.htm.

59 5.2 Enkele voorbeelden Enkele voorbeelden Uit de stappen die in het vorige hoofdstuk besproken werden, werden vier algoritmen voorgesteld (zie 4.3). Daarvan worden de twee algoritmen die meerdere beelden gebruiken (MVD-3 en MV-3) uitvoerig geëvalueerd verder in dit hoofdstuk, maar voor de volledigheid wordt hier een visuele vergelijking gegeven die de verbeteringen illustreert die verkregen worden door rekening te houden met informatie uit verschillende beelden. Hieronder geven we uit elke sequentie een schermafbeelding met het bewegingsmasker van de vier algoritmen. Label (a) komt telkens overeen met MVD-1, label (b) met MV-1, label (c) met MVD-3 en label (d) met MV-3.

60 5.2 Enkele voorbeelden 49 PetsD1TeC1 (a) (b) (c) (d) Figuur 5.1: Beeld 1766 van de PetsD1TeC1-sequentie: (a) detectie aan de hand van MVD-1, (b) detectie aan de hand van MV-1, (c) detectie aan de hand van MVD-3 en (d) detectie aan de hand van MV-3. In 5.1(a) en 5.1(b) zien we dat de onechte bewegingsblokken (aan de bovenrand) niet altijd weggefilterd worden door de adaptieve mediaanfilter te gebruiken. Dit komt doordat er soms meerdere onechte bewegingsblokken naast elkaar voorkomen. In 5.1(c) en 5.1(d) zien we dat we deze blokken echter wel kunnen verwijderen door rekening te houden met meerdere beelden. Het nadeel is dat hierdoor ook soms echte bewegingsblokken verdwijnen.

61 5.2 Enkele voorbeelden 50 Hall monitor (a) (b) (c) (d) Figuur 5.2: Beeld 32 van de Hall monitor-sequentie: (a) detectie aan de hand van MVD-1, (b) detectie aan de hand van MV-1, (c) detectie aan de hand van MVD-3 en (d) detectie aan de hand van MV-3. Bij de beelden uit figuur 5.2 zien we dat er soms onechte bewegingsblokken overblijven, zelfs als we meerdere beelden gebruiken. Dit komt in het geval van de Hall monitor-sequentie doordat er door de slechte videokwaliteit beweging aan de rand van het beeld is. Dit is beweging die we eigenlijk niet willen detecteren, maar die moeilijk te verwijderen is omdat ze in opeenvolgende beelden soms wel en soms niet te zien is. De onechte bewegingsvectoren komen hier dus eigenlijk wel overeen met beweging in het beeld. Deze beweging is echter ontstaan door de slechte kwaliteit van de video. We zien ook dat er blokken gedetecteerd worden op plaatsen waar het object vandaan komt. Dit zullen we het staartprobleem noemen (zie 5.3.3).

62 5.2 Enkele voorbeelden 51 Speedway (a) (b) (c) (d) Figuur 5.3: Beeld 17 van de Speedway-sequentie: (a) detectie aan de hand van MVD- 1, (b) detectie aan de hand van MV-1, (c) detectie aan de hand van MVD-3 en (d) detectie aan de hand van MV-3. In de Speedway-sequentie zijn er bijna geen onechte geïsoleerde bewegingsvectoren. Daarbovenop zijn de bewegende objecten meestal groot en bewegen ze snel (waardoor ze grote bewegingsvectoren hebben). Hierdoor worden al vrij goede resultaten verkregen door alleen informatie uit het huidige beeld te gebruiken.

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

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

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

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 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

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

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

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar Sekseverschillen in Huilfrequentie en Psychosociale Problemen bij Schoolgaande Kinderen van 6 tot 10 jaar Gender Differences in Crying Frequency and Psychosocial Problems in Schoolgoing Children aged 6

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

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

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

i(i + 1) = xy + y = x + 1, y(1) = 2.

i(i + 1) = xy + y = x + 1, y(1) = 2. Kenmerk : Leibniz/toetsen/Re-Exam-Math A + B-45 Course : Mathematics A + B (Leibniz) Date : November 7, 204 Time : 45 645 hrs Motivate all your answers The use of electronic devices is not allowed [4 pt]

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

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

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

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

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

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

Spatio-temporele objectdetectie in schaalbare videostromen

Spatio-temporele objectdetectie in schaalbare videostromen Spatio-temporele objectdetectie in schaalbare videostromen Lander Verhack Promotor: prof. dr. ir. Rik Van de Walle Begeleider: Sarah De Bruyne Masterproef ingediend tot het behalen van de academische graad

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

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

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

3e Mirror meeting pren April :00 Session T, NVvA Symposium

3e Mirror meeting pren April :00 Session T, NVvA Symposium 3e Mirror meeting pren 689 13 April 2017 14:00 Session T, NVvA Symposium steps since April 2016 The enquiry (June to August 2016) performed by the national bodies. Resulting in 550 comments. Three/Four

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

University of Groningen Educational value of digital examination

University of Groningen Educational value of digital examination University of Groningen Educational value of digital examination Benefits Digital Examination HANDWRITING CORRECTING 1 2 3 Do you remember the Correcting the essay exams in handwriting from your students

Nadere informatie

Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten

Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten Difference in Perception about Parenting between Parents and Adolescents and Alcohol Use of Adolescents

Nadere informatie

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain. Domino tiles Dominoes is a game played with rectangular domino 'tiles'. Today the tiles are often made of plastic or wood, but in the past, they were made of real stone or ivory. They have a rectangle

Nadere informatie

Chromosomal crossover

Chromosomal crossover Chromosomal crossover As one of the last steps of genetic recombination two homologous chromosomes can exchange genetic material during meiosis in a process that is referred to as synapsis. Because of

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 Het trapoppervlak is een afwikkelbaar oppervlak met oneindig veel singuliere punten. Vraag 1.2 Het schroefoppervlak is een afwikkelbaar oppervlak met

Nadere informatie

Genetic code. Assignment

Genetic code. Assignment Genetic code The genetic code consists of a number of lines that determine how living cells translate the information coded in genetic material (DNA or RNA sequences) to proteins (amino acid sequences).

Nadere informatie

Verklaring van het beweeggedrag van ouderen door determinanten van. The explanation of the physical activity of elderly by determinants of

Verklaring van het beweeggedrag van ouderen door determinanten van. The explanation of the physical activity of elderly by determinants of Verklaring van het beweeggedrag van ouderen door determinanten van het I-change Model The explanation of the physical activity of elderly by determinants of the I-change Model Hilbrand Kuit Eerste begeleider:

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

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

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

bij Kinderen met een Ernstige Vorm van Dyslexie of Children with a Severe Form of Dyslexia Ans van Velthoven

bij Kinderen met een Ernstige Vorm van Dyslexie of Children with a Severe Form of Dyslexia Ans van Velthoven Neuropsychologische Behandeling en Sociaal Emotioneel Welzijn bij Kinderen met een Ernstige Vorm van Dyslexie Neuropsychological Treatment and Social Emotional Well-being of Children with a Severe Form

Nadere informatie

Modererende Rol van Seksuele Gedachten. Moderating Role of Sexual Thoughts. C. Iftekaralikhan-Raghubardayal

Modererende Rol van Seksuele Gedachten. Moderating Role of Sexual Thoughts. C. Iftekaralikhan-Raghubardayal Running head: momentaan affect en seksueel verlangen bij vrouwen 1 De Samenhang Tussen Momentaan Affect en Seksueel Verlangen van Vrouwen en de Modererende Rol van Seksuele Gedachten The Association Between

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

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

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

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

(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

Het Verband Tussen Persoonlijkheid, Stress en Coping. The Relation Between Personality, Stress and Coping

Het Verband Tussen Persoonlijkheid, Stress en Coping. The Relation Between Personality, Stress and Coping Het Verband Tussen Persoonlijkheid, Stress en Coping The Relation Between Personality, Stress and Coping J.R.M. de Vos Oktober 2009 1e begeleider: Mw. Dr. T. Houtmans 2e begeleider: Mw. Dr. K. Proost Faculteit

Nadere informatie

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015 LDA Topic Modeling Informa5ekunde als hulpwetenschap 9 maart 2015 LDA Voor de pauze: Wat is LDA? Wat kan je er mee? Hoe werkt het (Gibbs sampling)? Na de pauze Achterliggende concepten à Dirichlet distribu5e

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

Ae Table 1: Aircraft data. In horizontal steady flight, the equations of motion are L = W and T = D.

Ae Table 1: Aircraft data. In horizontal steady flight, the equations of motion are L = W and T = D. English Question 1 Flight mechanics (3 points) A subsonic jet aircraft is flying at sea level in the International Standard Atmosphere ( = 1.5 kg/m 3 ). It is assumed that thrust is independent of the

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 8 december 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als jeeen onderdeel

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

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

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of: Document properties Most word processors show some properties of the text in a document, such as the number of words or the number of letters in that document. Write a program that can determine some of

Nadere informatie

De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag. The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior

De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag. The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior Martin. W. van Duijn Student: 838797266 Eerste begeleider:

Nadere informatie

Fysieke Activiteit bij 50-plussers. The Relationship between Self-efficacy, Intrinsic Motivation and. Physical Activity among Adults Aged over 50

Fysieke Activiteit bij 50-plussers. The Relationship between Self-efficacy, Intrinsic Motivation and. Physical Activity among Adults Aged over 50 De relatie tussen eigen-effectiviteit 1 De Relatie tussen Eigen-effectiviteit, Intrinsieke Motivatie en Fysieke Activiteit bij 50-plussers The Relationship between Self-efficacy, Intrinsic Motivation and

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

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

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

Adam Marciniec, Grzegorz Budzik Zaborniak

Adam Marciniec, Grzegorz Budzik Zaborniak Journal of KONES Powertrain and Transport, Vol. 21, No. 3 2014 THE DETERMINATION OF ACCURACY OF THE DEMONSTRATOR OF AERONAUTIC BEVEL GEARBOX, ACCOMPLISHED BY SELECTED RAPID PROTOTYPING TECHNIQUES USING

Nadere informatie

De Relatie Tussen Persoonskenmerken en Ervaren Lijden bij. Verslaafde Patiënten met PTSS

De Relatie Tussen Persoonskenmerken en Ervaren Lijden bij. Verslaafde Patiënten met PTSS Persoonskenmerken en ervaren lijden bij verslaving en PTSS 1 De Relatie Tussen Persoonskenmerken en Ervaren Lijden bij Verslaafde Patiënten met PTSS The Relationship between Personality Traits and Suffering

Nadere informatie

UNECE/UNESCAP Workshop on. Electronic Trade Documents. Ulaanbaatar, Mongolia, October 2009

UNECE/UNESCAP Workshop on. Electronic Trade Documents. Ulaanbaatar, Mongolia, October 2009 /UNESCAP Workshop on Electronic Trade Documents Ulaanbaatar, Mongolia, October 2009 Presentation Need for digital paper documents Developing Electronic documents for SW Using Digital Paper in Supply Chains

Nadere informatie

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond.

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond. Opgaven in Nederlands. Alle opgaven hebben gelijk gewicht. Opgave 1 Gegeven is een kasstroom x = (x 0, x 1,, x n ). Veronderstel dat de contante waarde van deze kasstroom gegeven wordt door P. De bijbehorende

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

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

AE1103 Statics. 3 November h h. Answer sheets. Last name and initials:

AE1103 Statics. 3 November 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

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

Engels op Niveau A2 Workshops Woordkennis 1

Engels op Niveau A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Woordkennis 1 Bestuderen Hoe leer je 2000 woorden? Als je een nieuwe taal wilt spreken en schrijven, heb je vooral veel nieuwe woorden nodig. Je

Nadere informatie

Ontpopping. ORGACOM Thuis in het Museum

Ontpopping. ORGACOM Thuis in het Museum Ontpopping Veel deelnemende bezoekers zijn dit jaar nog maar één keer in het Van Abbemuseum geweest. De vragenlijst van deze mensen hangt Orgacom in een honingraatpatroon. Bezoekers die vaker komen worden

Nadere informatie

Calculator spelling. Assignment

Calculator spelling. Assignment Calculator spelling A 7-segmentdisplay is used to represent digits (and sometimes also letters). If a screen is held upside down by coincide, the digits may look like letters from the alphabet. This finding

Nadere informatie

De causale Relatie tussen Intimiteit en Seksueel verlangen en de. modererende invloed van Sekse en Relatietevredenheid op deze relatie

De causale Relatie tussen Intimiteit en Seksueel verlangen en de. modererende invloed van Sekse en Relatietevredenheid op deze relatie Causale Relatie tussen intimiteit en seksueel verlangen 1 De causale Relatie tussen Intimiteit en Seksueel verlangen en de modererende invloed van Sekse en Relatietevredenheid op deze relatie The causal

Nadere informatie

Workflow en screenshots Status4Sure

Workflow en screenshots Status4Sure Workflow en screenshots Status4Sure Inleiding Het Status4Sure systeem is een ICT oplossing waarmee de transportopdrachten papierloos door het gehele proces gaan. De status kan gevolgd worden door de logistieke

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

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen tussen Leeftijdsgroepen Differences in the Use of Memory Strategies and Learning Styles between Age Groups Rik Hazeu Eerste begeleider:

Nadere informatie

De Relatie Tussen de Gehanteerde Copingstijl en Pesten op het Werk. The Relation Between the Used Coping Style and Bullying at Work.

De Relatie Tussen de Gehanteerde Copingstijl en Pesten op het Werk. The Relation Between the Used Coping Style and Bullying at Work. De Relatie Tussen de Gehanteerde Copingstijl en Pesten op het Werk The Relation Between the Used Coping Style and Bullying at Work Merijn Daerden Studentnummer: 850225144 Werkstuk: Empirisch afstudeeronderzoek:

Nadere informatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een Vaste Relatie The Association between Daily Stress, Emotional Intimacy and Affect with Partners in a Commited

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

Leeftijdcheck (NL) Age Check (EN)

Leeftijdcheck (NL) Age Check (EN) Leeftijdcheck (NL) Age Check (EN) [Type text] NL: Verkoopt u producten die niet aan jonge bezoekers verkocht mogen worden of heeft uw webwinkel andere (wettige) toelatingscriteria? De Webshophelpers.nl

Nadere informatie

De Relatie tussen Momentaan Affect en Seksueel Verlangen; de Modererende Rol van de Aanwezigheid van de Partner

De Relatie tussen Momentaan Affect en Seksueel Verlangen; de Modererende Rol van de Aanwezigheid van de Partner De Relatie tussen Momentaan Affect en Seksueel Verlangen; de Modererende Rol van de Aanwezigheid van de Partner The association between momentary affect and sexual desire: The moderating role of partner

Nadere informatie

Handleiding Zuludesk Parent

Handleiding Zuludesk Parent Handleiding Zuludesk Parent Handleiding Zuludesk Parent Met Zuludesk Parent kunt u buiten schooltijden de ipad van uw kind beheren. Hieronder vind u een korte handleiding met de mogelijkheden. Gebruik

Nadere informatie

I.S.T.C. Intelligent Saving Temperature Controler

I.S.T.C. Intelligent Saving Temperature Controler MATEN & INFORMATIE I.S.T.C. Intelligent Saving Temperature Controler Deze unieke modulerende zender, als enige ter wereld, verlaagt het energieverbruik aanzienlijk. Het werkt in combinatie met de energy

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 Relatie tussen Werkdruk, Pesten op het Werk, Gezondheidsklachten en Verzuim

De Relatie tussen Werkdruk, Pesten op het Werk, Gezondheidsklachten en Verzuim De Relatie tussen Werkdruk, Pesten op het Werk, Gezondheidsklachten en Verzuim The Relationship between Work Pressure, Mobbing at Work, Health Complaints and Absenteeism Agnes van der Schuur Eerste begeleider:

Nadere informatie

BE Nanoregistry Annual Public Report

BE Nanoregistry Annual Public Report 1 BE Nanoregistry Annual Public Report Carine Gorrebeeck FPS Health, Food Chain Safety & Environment 2 WHY? The objectives of the registry (a.o.): - Traceability: allow competent authorities to intervene

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011

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

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

How to install and use dictionaries on the ICARUS Illumina HD (E652BK)

How to install and use dictionaries on the ICARUS Illumina HD (E652BK) (for Dutch go to page 4) How to install and use dictionaries on the ICARUS Illumina HD (E652BK) The Illumina HD offers dictionary support for StarDict dictionaries.this is a (free) open source dictionary

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

C - de totale constante kosten. N - de normale bezetting in stuks

C - de totale constante kosten. N - de normale bezetting in stuks STANDAARDKOSTPRIJS Een bedrijf moet een verkoopprijs bepalen om zijn producten te kunnen verkopen. De klant moet vooraf weten welke prijs betaald moet worden voor het aangeboden product. De standaardkostprijs

Nadere informatie

! Onze pakketten zijn te klein!!! Amsterdam, 9 jan 2014.! Iljitsch van Beijnum

! Onze pakketten zijn te klein!!! Amsterdam, 9 jan 2014.! Iljitsch van Beijnum ! Onze pakketten zijn te klein!!! Amsterdam, 9 jan 2014! Iljitsch van Beijnum ! Onze pakketten zijn te klein!!! Amsterdam, 9 jan 2014! Iljitsch van Beijnum Our packets are too small! ! Onze pakketten zijn

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

AdVISHE: Assessment of the Validation Status of Health- Economic Decision Models

AdVISHE: Assessment of the Validation Status of Health- Economic Decision Models AdVISHE: Assessment of the Validation Status of Health- Economic Decision Models Pepijn Vemer, George van Voorn, Isaac Corro Ramos, Maiwenn Al, Talitha Feenstra Rationale In theorie: Doe alles! Een model

Nadere informatie

Never trust a bunny. D. J. Bernstein University of Illinois at Chicago. Tanja Lange Technische Universiteit Eindhoven

Never trust a bunny. D. J. Bernstein University of Illinois at Chicago. Tanja Lange Technische Universiteit Eindhoven Never trust a bunny D. J. Bernstein University of Illinois at Chicago Tanja Lange Technische Universiteit Eindhoven The HB(n; ; 0 ) protocol (2001 Hopper Blum) Secret s 2 F n 2. Reader sends random C 2

Nadere informatie

liniled Cast Joint liniled Gietmof liniled Castjoint

liniled Cast Joint liniled Gietmof liniled Castjoint liniled Cast Joint liniled Gietmof liniled is een hoogwaardige, flexibele LED strip. Deze flexibiliteit zorgt voor een zeer brede toepasbaarheid. liniled kan zowel binnen als buiten in functionele en decoratieve

Nadere informatie

Hertentamen 8D040 - Basis beeldverwerking

Hertentamen 8D040 - Basis beeldverwerking Hertentamen 8D040 - Basis beeldverwerking 6 augustus 203, 4:00-7:00 Opmerkingen: Maak elke opgave op een apart vel. Antwoord op vraag 4 mag gewoon in het Nederlands. Een gewone rekenmachine is toegestaan.

Nadere informatie

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1 Quick start guide Powerbank MI 16.000 Mah Follow Fast 2016 - All rights reserved. Page 1 ENGLISH The Mi 16000 Power Bank is a very good backup option for those on the move. It can keep you going for days

Nadere informatie

MyDHL+ Exportzending aanmaken

MyDHL+ Exportzending aanmaken MyDHL+ Exportzending aanmaken Exportzending aanmaken In MyDHL+ is het aanmaken van een exportzending zo eenvoudig mogelijk gemaakt. De website en deze handleiding zal u stap voor stap erdoorheen leiden.

Nadere informatie

Introduction Henk Schwietert

Introduction Henk Schwietert Introduction Henk Schwietert Evalan develops, markets and sells services that use remote monitoring and telemetry solutions. Our Company Evalan develops hard- and software to support these services: mobile

Nadere informatie

Geheugenstrategieën, Leerstrategieën en Geheugenprestaties. Grace Ghafoer. Memory strategies, learning styles and memory achievement

Geheugenstrategieën, Leerstrategieën en Geheugenprestaties. Grace Ghafoer. Memory strategies, learning styles and memory achievement Geheugenstrategieën, Leerstrategieën en Geheugenprestaties Grace Ghafoer Memory strategies, learning styles and memory achievement Eerste begeleider: dr. W. Waterink Tweede begeleider: dr. S. van Hooren

Nadere informatie

Academisch schrijven Inleiding

Academisch schrijven Inleiding - In this essay/paper/thesis I shall examine/investigate/evaluate/analyze Algemene inleiding van het werkstuk In this essay/paper/thesis I shall examine/investigate/evaluate/analyze To answer this question,

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