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

Maat: px
Weergave met pagina beginnen:

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

Transcriptie

1 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 Scriptie ingediend tot het behalen van de academische graad van Burgerlijk ingenieur in de computerwetenschappen Vakgroep Elektronica en informatiesystemen Voorzitter: prof. dr. ir. Jan Van Campenhout Faculteit Ingenieurswetenschappen Academiejaar

2 Voorwoord Eerst en vooral wens ik mijn twee begeleiders, Chris Poppe en Sarah De Bruyne, te bedanken. Ik dank hen voor hun goede raad doorheen het jaar, hun hulp en inspiratie. Ze hebben me dankzij hun sterk inzicht en bemerkingen aanzienlijk geholpen bij het afwegen van bepaalde alternatieven. Ik bedank hen tevens voor alle constructieve commentaar die ik van hen heb verkregen. Vervolgens wens ik nog professor Rik Van de Walle te bedanken voor de mogelijkheid die ik heb gekregen om deze thesis te schrijven. Dankzij deze thesis heb ik me immers dieper kunnen inleven in de H.264/AVC-standaard, een onderwerp welke me zeer sterk intrigeert en ook verder in mijn directe loopbaan veelvuldig zal optreden. Sammy Lievens, juni 2008 i

3 Toelating tot bruikleen De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delen van de scriptie te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze scriptie. Sammy Lievens, juni 2008 ii

4 Detectie van bewegende objecten in videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen door Sammy Lievens Afstudeerwerk ingediend tot het behalen van de graad van Master in de ingenieurswetenschappen: computerwetenschappen Academiejaar Universiteit Gent Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Promotor: prof. dr. ir. R. Van de Walle Thesisbegeleider: Chris Poppe, Sarah De Bruyne Samenvatting In deze scriptie stellen we een procedure voor om bewegingsdetectie binnen het H.264/AVCgecomprimeerd domein mogelijk te maken. Verschillende types informatie, onmiddellijk beschikbaar uit de bitstroom, werden onderzocht naar toepasbaarheid binnen bewegingsdetectie-algoritmen. Een procedure gebruik makende van informatie omtrent blokpartitionering, bloktypes en bewegingsvectoren werd geïmplementeerd in de H.264/AVC JM 13.0 referentiesoftware en vervolgens aan performantietesten onderworpen. Trefwoorden: H.264/AVC, bewegingsdetectie, gecomprimeerd domein, videobewaking iii

5 Detection of moving objects in video sequences, compressed with H.264/AVC, for video surveillance applications Sammy Lievens Supervisor(s): Rik Van de Walle, Chris Poppe, Sarah De Bruyne Abstract This paper presents a procedure for motion detection in the H.264/AVC compressed domain. The presented algorithm uses information about block partitioning, block types and motion vectors, available within the compressed H.264/AVC bit stream. The proposed method is implemented and finally tested within the H.264/AVC JM 13.0 reference software. Test results show that with correct tuning of the available parameters, an accurate motion segmentation is provided. Keywords H.264/AVC, motion detection, compressed domain, video surveillance The new H.264/AVC standard [1][2][3] is the result of a succesful cooperation between MPEG and VCEG and is developed with the goal to dramatically increase the compression performance and robustness in comparison with previous standards. Just as like previous video coding standards, the core of the H.264/AVC video codec still consists of two basic principles. The core comprises a block based motion estimation and compensation step, to reduce the temporal redundancy between multiple frames, followed by transform based residual coding, to remove the spatial redundancy within one frame. These two steps are finally followed by a quantization and entropy coding. The complete overview of a H.264/AVC compatible encoder and decoder is given in figure 1. The basic principle is still the same as with previous video coding standards, but the improvements are given by the detail of each functional block. I. INTRODUCTION Video surveillance applications are highly represented in current society. But nowadays video surveillance constitutes more than just one video camera. Practical video surveillance applications comprise multiple cameras, each sending video information towards a central processing unit. The amount of video information delivered is however too elaborate to make manual analysis feasible. The central processing is therefore responsible for execution of a number of intelligent processing tasks. A typical first task within each video surveillance application comprises detection of moving objects. Most of the present video analysis techniques operate in the pixel domain, while current video information is usually however compressed before transmission and storage. Therefore before execution of any of these analysis techniques can take place, decompression of the video information is required. This decompression step however gives rise to an increase in processing time and memory requirements. Video analysis techniques which operate directly in the compressed domain effectively make the decompression of the video information superfluous. As a result, an enormous gain is achieved. In this moment, the H.264/AVC video codec is the most efficient video codec and future video cameras will most likely employ H.264/AVC for the compression of their video information. Note that cameras with H.264/AVC support already exist today. II. H.264/AVC Fig. 1. H.264/AVC compatible encoder and decoder III. THE PROPOSED ALGORITHM The proposed procedure comprises a block based motion segmentation algorithm, which takes into account the spatial and temporal consistency of the motion vectors within the H.264/AVC bit stream. This procedure utilizes the information concerning block partitioning, block type and motion vectors and consists of the following seven steps. A. Initial background/foreground classification The initial background/foreground classification consists of a single raster-scan across all macroblocks in the frame. Each macroblock is classified as either a background or foreground block based on the following criteria: 1. If the current macroblock and its four direct neighbors (top, bottom, left and right) are of type P SKIP or B SKIP, or utilize

6 block partitioning size 16x16, and have a zero motion vector; then classify the current macroblock as background block. 2. Otherwise, classify the current macroblock as foreground block. If a macroblock is classified as background, it is of no importance during the following steps. A background macroblock can never evolve to a foreground block. Classification to background is therefore an irreversible process. Of cource, the same doesn t count for foreground blocks, which can still evolve to background. B. Data conversion The H.264/AVC standard utilizes an adaptive block partitioning during the block based motion estimation and compensation. Block sizes between 16x16 and 4x4 are all possible. The next steps of the algorithm each require however one normalized motion vector for each 4x4 block within the frame. Some processing is therefore required. Each motion vector is normalized to a distance of one frame. This means that the motion vector is divided by the number of frames it crosses. In the case of a bi-predicted block, of the two available motion vectors the motion vector which crosses the least amount of frames is chosen and normalized. Backward motion vectors are at the same time inverted, to cover only one frame in the forward direction. And finally, each block is divided into a number of 4x4 blocks, with similar normalized motion vectors for each block. C. Spatial filtering This step removes unreliable motion vectors within the frame by applying a 5x5 of 7x7 median filter. This filter slides across the 4x4 blocks in raster-scan order and arranges all motion vectors of the blocks within the window in increasing order. This order of rank can be based on motion vector size, angle or a combination of both. The motion vector of the block in the center of the window is finally replaced by the median of the ordered motion vectors. D. Interpolation During the interpolation phase each invalid motion vector is replaced by a linear combination of four valid motion vectors. These four motion vectors are taken from the closest block with a valid motion vector, on the left, right, top and bottom side of the block with the invalid motion vector. Note that a motion vector is considered as invalid when the original block was intra coded. Such blocks are predicted based on sample values within the current slice and don t have a motion vector. The procedure first assigns these blocks an invalid motion vector during data conversion, which is later replaced by a valid motion vector. E. Clustering This is the most important step within the whole motion detection algorithm. During this step the 4x4 blocks are clustered using a variant of hierarchical clustering, namely windowed hierarchical clustering. This type of clustering has a faster execution time and lower memory requirements, compared to the traditional hierarchical clustering. The clustering uses a distance measure which takes into account the consistency of the motion vectors and the distance between the 4x4 blocks. Moving objects are hereby considered to consist of multiple blocks, closely located to each other, with consistent motion. The distance measure utilized within the algorithm is given by: d(b(m, n), B(m, n )) = (m m)(mv x(m, n ) MV x(m, n)) + (n n)(mv y(m, n ) MV y(m, n)) F. Temporal filtering The temporal filtering phase tries to eliminate false positives by examining the consistency of the detected moving objects across multiple frames. If a moving object is present in multiple frames and exhibits a consistent motion, it is considered a reliable detection. In the other case, it is treated as a background object and effectively removed from the detected foreground. G. Final background/foreground classification Based on the results of previous steps, this step makes a final classification between background and foreground blocks. The end result consists of a set of masks, organized as a new video sequence. Each mask displays the detected moving objects as regions consisting of white pixels. The background comprises black pixels. Figure 2 gives an example for frame 364 within the PetsD2TeC1 video sequence. Fig. 2. Frame 364 from video sequence PetsD2TeC1 and corresponding mask IV. CONCLUSION This paper presented a block based motion segmentation algorithm, which operates directly in the H.264/AVC compressed domain and takes the spatial and temporal consistency of the motion vectors within the bit stream into account. Implementation and test results show that with a correct tuning of the available parameters, a reliable motion segmentation is achieved. REFERENCES [1] ITU-T Rec. H.264, Advanced video coding for generic audiovisual services, [2] I. E. G. Richardson. H.264 and MPEG-4 video compression: Video Coding for Next-generation Multimedia. Wiley, [3] T. Wiegand, G.J. Sullivan, G. Bjntegaard, and A. Luthra. Overview of the H.264/AVC video coding standard. Circuits and Systems for Video Technology, IEEE Transactions on, 13: , July 2003.

7 Inhoudsopgave Voorwoord Toelating tot bruikleen Samenvatting Extended abstract Inhoudsopgave i ii iii vi vii Gebruikte afkortingen 1 1 Inleiding Bewegingsdetectie in het gecomprimeerd domein Overzicht H.264/AVC Inleiding Het compressie-algoritme Intercodering Intracodering Beeldtransformaties Verdere verbeteringen Bewegingsdetectie in het gecomprimeerd domein Inleiding Veronderstellingen en vaststellingen vi

8 3.1.2 Informatie uit de videosequentie Bewegingsdetectie in H.264/AVC DC-beeld Residueel beeld Het voorgestelde bewegingsdetectie-algoritme Resultaten Nauwkeurigheid Verwerkingssnelheid Toekomstig werk 52 6 Besluit 54 A Configuratiebestand van de encoder 55 Bibliografie 63 vii

9 Gebruikte afkortingen AVC Advanced Video Coding CABAC Context-Adaptive Binary Arithmetic Coder CAVLC Context-Adaptive Variable-Length Codes DC Direct Current DCT Discrete Cosine Transform FIR Finite Impulse Response GoP group-of-pictures IEC International Electrotechnical Commission ISO International Organisation for Standardization ITU-T International Telecommunication Union - Telecommunication Standardization Sector JVT Joint Video Team MPEG Moving Picture Experts Group MRF Markov Random Field NAL Network Abstraction Layer PPS Picture Parameter Set SPS Sequence Parameter Set VCEG Video Coding Experts Group 1

10 Hoofdstuk 1 Inleiding Videobewakingssystemen zijn heden ten dage sterk vertegenwoordigd binnen de huidige maatschappij. Vlieghavens, treinstations en grootwarenhuizen vormen slechts enkele voorbeelden van plaatsen waar videobewaking van fundamenteel belang is. Videobewakingssystemen bestaan tegenwoordig echter niet meer uit een enkele camera, maar omvatten typisch meerdere camera s welke hun informatie doorsturen naar een centrale verwerkingseenheid. De aangereikte hoeveelheid informatie is echter te omvangrijk om manuele analyse mogelijk te maken. Daarom zal de centrale verwerkingseenheid al een aantal intelligente bewerkingen uitvoeren op de binnenkomende videobeelden. Eén van de belangrijkste eerste stappen binnen ieder videobewakingssysteem is detectie van bewegende objecten. Typische volgende fasen binnen een videobewakingssysteem omvatten het opvolgen van de bewegende objecten en gedragspatroonherkenning.[17] De meeste van de huidige technieken voor analyse van videosequenties zijn echter ontwikkeld voor toepassing in het pixeldomein. Deze technieken leveren een zeer nauwkeurig eindresultaat, maar zijn niet geschikt voor gebruik binnen real-time toepassingen.[28] Een overzicht van de verschillende stappen binnen een videobewakingssysteem en een bondige onderverdeling van de bewegingsdetectie-algoritmen in het pixeldomein wordt gegeven door [19]. Deze maakt een onderscheid tussen technieken welke gebruik maken van oa. achtergrondmodellen, optische flow of het verschil tussen opeenvolgende beelden. Technieken welke gebruik maken van achtergrondmodellen detecteren bewegende objecten door het verschil op pixelbasis te nemen van het huidige beeld en het achtergrondmodel. Dit verschilbeeld laat enkel de niet-stationaire of nieuwe objecten zichtbaar. Deze metho- 2

11 de is zeer simpel, maar ook zeer gevoelig voor wijzigingen in de scene. Het is bijgevolg van fundamenteel belang om over een betrouwbaar achtergrondmodel te beschikken. [12] geeft een vergelijkende studie van de verschillende methoden om een betrouwbaar achtergrondmodel op te bouwen en introduceert hierbij een nieuw alternatief, nl. het codeboek. Aangezien echter de meeste videodata getransporteerd en opgeslagen wordt in het gecomprimeerd domein, is het bij gebruik van deze analysetechnieken noodzakelijk om eerst een decompressiestap uit te voeren alvorens de eigenlijke analyse kan plaatsgrijpen. Twee directe gevolgen hiervan zijn een toename in rekentijd en vereiste opslagruimte.[28] Analyse van de videobeelden, rechtstreeks in het gecomprimeerd domein, laat toe deze decompressiestap te elimineren en zo een aanzienlijke winst te bekomen. Deze thesis stelt bijgevolg ook een procedure voor om bewegingsdetectie in het gecomprimeerd domein mogelijk te maken. Hierbij baseert de voorgestelde procedure zich uitsluitend op de informatie rechtstreeks beschikbaar uit de bitstroom, gecomprimeerd m.b.v. de H.264/AVCvideocodec. Deze vormt op het huidige moment de meest efficiënte videocodec en videobewakingscamera s zullen hoogstwaarschijnlijk dan ook in de recente toekomst hun beelden rechtstreeks comprimeren met deze videocodec. Merk op dat er hedendaags reeds camera s bestaan welke hun beelden rechtstreeks comprimeren m.b.v. de H.264/AVC-videocodec. 1.1 Bewegingsdetectie in het gecomprimeerd domein Analyse van videobeelden in het gecomprimeerd domein vormt reeds enkele jaren een actief onderzoeksonderwerp. Zo geeft [18] een inleiding tot analyse van videobeelden gecomprimeerd met MPEG-1 en MPEG-2. De voorgestelde analysetechnieken maken gebruik van oa. de opbouw van DC-beelden en het extraheren van de bewegingsvectoren aanwezig in de bitstroom. [11] stelt vervolgens een methode voor om objecten te detecteren binnen het MPEG-gecomprimeerd domein. Deze methode baseert zich op achtergrondmodellen, gebruikmakende van de DC-coëfficienten van de luma-blokken in I-beelden. Na het manueel selecteren van het op te volgen object, wordt de positie van het object in de volgende P- en B-beelden bekomen d.m.v. interpolatie en projectie gebruikmakende van de bewegingsvectoren aanwezig in de bitstroom. [25] stelt een procedure voor binnen het MPEG-gecomprimeerd domein bestaande uit een kleurclustering, uitbuiting van spatiaal-temporele gelijkaardigheid en een finale voorgronden achtergrondclassificatie. En tot slot merken we nog [14] op, welke segmentatie van be- 3

12 wegende objecten mogelijk maakt uitsluitend gebruikmakende van de bewegingsvectoren aanwezig binnen de MPEG-bitstroom. Deze blokgebaseerde segmentatie maakt gebruik van een consistentiecriterium welke in sectie nog verder aan bod komt. Echter weinig onderzoek naar bewegingsdetectie in videobeelden, gecomprimeerd met de H.264/AVC-videocodec, is reeds geleverd. Zo stelt oa. [28] een procedure voor ter bewegingsdetectie in het H.264/AVC-gecomprimeerd domein bestaande uit twee stappen. Een eerste stap classificeert de bewegingsvectoren van een P- of B-beeld onder in een aantal categoriën. Zo onderscheidt deze stap vier types, nl. achtergrond-, rand-, voorgronden ruisbewegingsvectoren. De verschillende categoriën hebben een verschillende bijdrage tot de volgende stap, nl. de eigenlijke beeldsegmentatie. Deze tweede stap extraheert bewegende objecten op basis van een MRF-classificatie (Markov Random Field classificatie). De locatie van de objecten in I-beelden wordt bekomen door het inverteren van de bewegingsvectoren van een vorig P- of B-beeld en het interpoleren van de bekomen resultaten. Een volgend bewegingsdetectie-algoritme welke binnen het H.264/AVC-gecomprimeerd domein opereert, wordt voorgesteld in [20]. De voorgestelde procedure maakt gebruik van genormaliseerde bewegingsvectoren om gebieden met consistente beweging te onderscheiden van de achtergrond en levert een goede segmentatieperformantie. Onze methodologie De voorgestelde procedure tot bewegingsdetectie in het H.264/AVC-gecomprimeerd domein maakt uitsluitend gebruik van de informatie omtrent blokpartitionering, bloktype en bewegingsvectoren van de blokken binnen ieder beeld in de videosequentie. Deze informatie valt, zonder gedetailleerd decoderen, rechtstreeks uit de H.264/AVC-bitstroom te extraheren. Het bewegingsdetectie-algoritme omvat een blokgebaseerde beeldsegmentatie, welke zowel de spatiale als de temporele consistentie van de bewegingsvectoren van de blokken binnen het beeld in acht neemt. Het in dit onderzoek voorgestelde en uitgewerkte bewegingsdetectie-algoritme omvat hierbij volgende zeven stappen: 1. initiële voorgrond- en achtergrondclassificatie 2. dataconversie van de beschikbare informatie 4

13 3. spatiale filtering 4. interpolatie 5. clustering 6. temporele filtering 7. finale voorgrond- en achtergrondclassificatie 1.2 Overzicht Hoofdstuk 2 geeft een inleiding tot H.264/AVC en de belangrijkste eigenschappen ervan welke een impact hebben binnen dit onderzoek. Vervolgens bespreekt hoofdstuk 3 een aantal mogelijke paden om bewegingsdetectie in het gecomprimeerd domein mogelijk te maken. Twee van deze paden, nl. het gebruik van de residuele informatie en de opbouw van DCbeelden, ondervinden problemen binnen deze nieuwe H.264/AVC-standaard. Een derde pad maakt gebruik van informatie omtrent blokpartitionering, bloktype en bewegingsvectoren binnen ieder beeld om detectie van bewegende objecten mogelijk te maken. Deze procedure werd geïmplementeerd en resultaten van verdere analyse worden besproken in hoofdstuk 4. Hoofdstuk 5 haalt enkele verbeteringen en uitbreidingen aan, welke de performantie en nauwkeurigheid van de huidige implementatie ten goede kunnen komen. Het laatste hoofdstuk sluit dit onderzoek af met een kort besluit. 5

14 Hoofdstuk 2 H.264/AVC 2.1 Inleiding De nieuwe H.264/AVC(Advanced Video Coding)-standaard [10] [23] [26], ook wel gekend onder ISO/IEC (MPEG-4) Part 10 en ITU-T Recommendation H.264 is het resultaat van een succesvolle samenwerking tussen MPEG en VCEG. De Moving Picture Experts Group (MPEG) vormt een werkgroep binnen de International Organisation for Standardization (ISO) en de International Electrotechnical Commission (IEC). MPEG zijn verantwoordelijkheid ligt vooral in het ontwikkelen van standaarden voor compressie, verwerking en voorstelling van digitale video en audio. Sinds zijn ontstaan in 1988, heeft deze groep oa. de MPEG-1-standaard [2] ontwikkeld, de standaard op welke producten zoals Video CD en MP3 zijn gebaseerd. Andere standaarden ontwikkeld binnen MPEG omvatten oa. MPEG-2 [5] waarop producten zoals digitale televisie en DVD zijn gebaseerd, MPEG-4 Visual [9], MPEG-7 [7] en MPEG-21 [8]. De Video Coding Experts Group (VCEG) vormt een werkgroep binnen de International Telecommunication Union - Telecommunication Standardization Sector (ITU-T), en is verantwoordelijk voor een reeks standaarden betreffende videocommunicatie over telecommunicatie- en computernetwerken. Als eerste standaard bemerken we H.261 [3], welke een eerste veelgebruikte standaard voor videoconferenties en videotelefonie omvat. Deze standaard werd in 1995 opgevolgd door de efficiëntere H.263-standaard [4], welke een verbeterde compressie levert en op zijn beurt opgevolgd werd door twee latere versies, nl. H.263+ [15] en H [6], met een verdere verbetering in compressie en ondersteuning voor een robuuste transmissie. VCEG heeft in 1998 de ontwikkeling van een 6

15 nieuw project, nl. H.26L, opgestart. Joint Video Team (JVT), bestaande uit leden van zowel MPEG als VCEG, was verantwoordelijk voor de verdere afwerking van het H.26Lproject en vormde hierbij een internationale standaard, nl. de H.264 Recommendation en MPEG-4 Part 10. Deze H.264/AVC-standaard werd ontwikkeld met het oog op aanzienlijke verbeteringen op vlak van compressie en robuustheid t.o.v. bestaande standaarden, over een breed bereik aan transmissiesnelheden en beeldgroottes. 2.2 Het compressie-algoritme Figuur 2.1 geeft de verschillende functionele blokken binnen een H.264/AVC-compatibele encoder en decoder weer. Net zoals bij de voorgaande standaarden, is ook binnen H.264/ AVC het compressie-algoritme opgebouwd rond twee basisprincipes: een blokgebaseerde bewegingsestimatie en -compensatie voor de reductie van temporele correlaties tussen de beelden en een transformatie-gebaseerde residuele codering voor het verwijderen van spatiale redundantie binnen een beeld. Een quantisatiestap en uiteindelijke entropiecodering volgen de twee voorgaande fasen op. Dit principe wordt vaak omschreven als het hybride DPCM/DCT-model [23], maar de verbeteringen binnen H.264/AVC treden echter op in het detail van elk functioneel blok. Om hetgeen volgt ten volle te kunnen begrijpen, is het noodzakelijk het algemene encodeerprincipe kort toe te lichten. Voor verdere informatie omtrent elk functioneel blok verwijzen we naar [23]. Elk beeld wordt verwerkt in eenheden van 16x16-pixelgebieden (een macroblok). Ieder macroblok kan zowel inter- als intragecodeerd worden. Hierbij wordt het macroblok steeds opgesplitst in één of meerdere blokken en voor ieder blok binnen het macroblok een voorspelling op basis van reeds geëncodeerde en gereconstrueerde sample-waarden opgebouwd. Indien het macroblok intragecodeerd wordt, baseert de voorspelling zich op basis van reeds geëncodeerde en gereconstrueerde sample-waarden binnen de huidige slice (zie verder). In het geval van intergecodeerde macroblokken, vormt de voorspelling zich op basis van reeds geëncodeerde en gereconstrueerde sample-waarden binnen één of twee van de opgeslagen referentiebeelden, zich bevindende voor of achter het huidige beeld in schermvolgorde. Referentiebeelden zijn beelden welke reeds geëncodeerd en gereconstrueerd zijn en zich zowel voor als achter het huidige beeld, in schermvolgorde, kunnen bevinden. Zowel encoder als decoder houden zulke referentiebeelden bij. 7

16 Figuur 2.1: H.264/AVC-compatibele encoder en decoder [23] We maken een onderscheid tussen I-, P, en B-slices. I-slices bestaan uitsluitend uit intragecodeerde macroblokken. P- en B-slices kunnen zowel inter- als intragecodeerde macroblokken bevatten. Voor ieder blok binnen een intergecodeerd macroblok zoekt de encoder naar het meest gelijkende blok, van gelijke grootte, binnen de opgeslagen referentiebeelden. Dit meest gelijkende blok doet dienst als voorspelling voor het huidige blok binnen het macroblok en de verplaatsing tussen de locatie van het meest gelijkende blok binnen het referentiebeeld en de locatie van het huidige blok binnen het huidige beeld vormt de bewegingsvector van dit blok. Deze bewegingsvector is van fundamenteel belang om decodering van het blok mogelijk te maken. Bij P-slices zal het blok voorspeld worden op basis van een blok binnen één referentiebeeld, en vereist ieder blok slechts één bewegingsvector. Bij een B-slice kan het blok voorspeld worden op basis van blokken binnen één of twee referentiebeelden, waarbij het (gewogen) gemiddelde van de sample-waarden binnen beide blokken dienst doet als voor- 8

17 spelling voor het huidige blok. Ieder blok kan hier bijgevolg tot twee bewegingsvectoren vereisen. Dit proces, bestaande uit het opzoeken van het meest gelijkende blok binnen de referentiebeelden en het vormen van het verschil tussen de voorspelling en het huidige blok, wordt in het volgende aangeduid als de blokgebaseerde bewegingsestimatie en -compensatie. Merk op dat soms voor een blok binnen een P- of B-slice geen voldoende gelijkaardig blok binnen een referentiebeeld beschikbaar is. In dit geval is het voordeliger het blok verder te behandelen als zijnde een intragecodeerd blok. Zowel bij intra- als intercodering wordt de gevormde voorspelling van het huidige blok afgetrokken om een verschilblok te bekomen. Dit verschilblok (of residueel blok) wordt vervolgens getransformeerd, gequantiseerd en uiteindelijk entropiegecodeerd. De entropiegecodeerde coëfficienten tesamen met extra informatie, nodig om elk blok correct te decoderen (zoals bewegingsvectoren, quantisatieparameters,... ) vormen de uiteindelijke H.264/AVC-bitstroom. H.264/AVC-bitstroom De hiërarchische structuur van een H.264/AVC-bitstroom bestaat uit de volgende zes lagen: ˆ videosequentie: Een videosequentie omvat het bovenste niveau van een H.264/AVCbitstroom en bestaat uit één of meerdere group-of-pictures (GoPs). Eigenschappen van de videosequentie worden kenbaar gemaakt m.b.v. de Sequence Parameter Set (SPS). ˆ group-of-pictures (GoP): Een GoP bestaat typisch uit één enkel intragecodeerd beeld, gevolgd door meerdere intergecodeerde beelden. ˆ beeld: Een beeld vormt de basiseenheid welke gecodeerd wordt en bestaat uit één of meerdere slices. Eigenschappen van het beeld vinden we terug in de Picture Parameter Set (PPS). ˆ slice: Een slice bestaat typisch uit meerdere macroblokken. Het aantal macroblokken per slice dient hierbij niet constant te blijven doorheen het beeld en er is sprake van een minimale koppeling tussen slices onderling. Dit maakt het mogelijk om foutpropagatie te vermijden. We maken een onderscheid tussen I-, P-, B-, SI- en SP- slices en een beeld kan uit meerdere types slices bestaan. 9

18 ˆ macroblok: Een macroblok bestaat uit een 16x16-pixelgebied voor de luminantie (luma) -component en twee spatiaal corresponderende 8x8-pixelgebieden voor elk van de chrominantie (chroma) -componenten (Cb en Cr), wanneer we uitgaan van een 4:2:0 chroma-subsampling. ˆ blok: Een macroblok kan bestaan uit één of meerdere blokken, waarbij ieder blok de basiseenheid vormt voor de blokgebaseerde bewegingsestimatie en -compensatie. Profielen De H.264/AVC-standaard ondersteunt zeven profielen. Drie hiervan, nl. Baseline, Main en Extended, worden in het volgende kort toegelicht. Elk profiel omvat een subset van de syntax en codeermogelijkheden beschikbaar binnen de standaard en richt zich telkens op een klasse aan populaire videocommunicatie-toepassingen. Het Baseline-profiel ondersteunt intra- en intercodering (gebruikmakende van I- en P-slices) en entropiecodering m.b.v. context-adaptieve variabele-lengte codes (CAVLC). Het Baseline-profiel is hierdoor zeer geschikt voor toepassingen zoals oa. videoconferenties, videotelefonie en videobewaking. Het Extended-profiel voegt extra functionaliteit toe, zoals oa. datapartitionering voor een robuustere transmissie, welke dit profiel zeer gepast maakt voor video-streaming. Het Main-profiel kent vervolgens andere extra functionaliteiten, zoals ondersteuning voor interlaced video, intercodering gebruikmakende van B-slices, intercodering met gewogen voorspellingen en entropiecodering m.b.v. een context-adaptieve binaire aritmetische encoder (CABAC). Het Main-profiel is hierdoor uitermate bruikbaar binnen toepassingen zoals oa. video-broadcasting. Limieten op de performantie binnen een bepaald profiel worden gedefinieerd door zogenaamde Levels. Elk Level plaatst beperkingen op parameters zoals oa. sample-verwerkingssnelheid, beeldresolutie, bitsnelheid en geheugenvereisten. Figuur 2.2 toont het verband tussen de verschillende profielen en functionaliteiten ondersteund binnen de standaard. Het volgende gedeelte bespreekt enkele aspecten van het compressie-algoritme welke binnen de H.264/AVC-standaard sterke wijzigingen kennen t.o.v. de vorige standaarden en van belang zijn voor dit onderzoek. Voor verdere details omtrent het compressie-algoritme binnen H.264/AVC verwijzen we naar [10] en [23]. 10

19 Figuur 2.2: Baseline-, Main- en Extended-profiel [23] Intercodering Bij blokgebaseerde bewegingsestimatie en -compensatie gaat men ervan uit dat een huidig beeld lokaal goed voorspeld kan worden a.d.h.v. van een beeld op een ander tijdstip, voor of achter het huidige beeld in schermvolgorde. Wijzigingen tussen beelden zijn veelal het gevolg van bewegende objecten, camerabeweging of veranderingen in de belichting. We kunnen dan ook de compressieverhouding sterk doen toenemen door te trachten deze beweging te compenseren. Er wordt bijgevolg een voorspelling van het huidige beeld gevormd en tot slot het verschilbeeld (i.p.v. het huidige beeld) geëncodeerd. Dit principe van bewegingsestimatie- en compensatie wordt gehanteerd in P- en B-slices. Een P-slice kan zowel P- als I-macroblokken bevatten, een B-slice kan zowel B- als I- macroblokken bevatten. Intragecodeerde macroblokken (I-macroblokken) worden voorspeld op basis van reeds geëncodeerde en gereconstrueerde samples binnen dezelfde slice (zie verder). P- en B-macroblokken worden voorspeld op basis van reeds geëncodeerde en gereconstrueerde samples, opgeslagen onder zogenaamde referentiebeelden. Zowel encoder als decoder onderhouden elk één of twee lijsten aan referentiebeelden (lijst 0 en lijst 1, zie verder), elk bevattende beelden welke reeds geëncodeerd en gereconstrueerd zijn en 11

20 zich zowel voor als achter het huidige beeld, in schermvolgorde, kunnen bevinden. Hoe nauwkeuriger de voorspelling gebeurt, hoe lager de energie in het residueel beeld of verschilbeeld is, en hoe hoger de bereikte compressieverhouding ligt. Er zijn echter een aantal beperkingen verbonden aan blokgebaseerde bewegingsestimatie en -compensatie. Echte objecten hebben bv. praktisch nooit rechte randen welke overeenstemmen met de rechthoekige gebieden. Objecten zullen typisch met een fractioneel aantal pixels tussen opeenvolgende beelden bewegen en vele types van complexe beweging zijn moeilijk te compenseren a.d.h.v. blokgebaseerde methoden, zoals oa. vervormbare objecten of een bewegende arm. H.264/AVC gaat met deze beperkingen om door het invoeren van oa. een adaptieve blokpartitionering bij de bewegingsestimatie en -compensatie ( tree structured motion compensation ) en een 1/4-pixelnauwkeurigheid voor de bewegingsvectoren. Referentiebeelden Vooraleer de principes achter de adaptieve blokpartitionering en 1/4-pixelnauwkeurigheid aan bod kunnen komen, is enige informatie omtrent de referentiebeelden vereist. Een H.264/AVC-compatibele encoder kan gebruik maken van één of twee van een aantal opgeslagen referentiebeelden om een voorspelling voor ieder blok binnen een intergecodeerd blok te vormen. Hierdoor kan de encoder op zoek gaan naar het meest gelijkende blok voor het huidige blok, in een groter bereik aan referentiebeelden. De encoder is bijgevolg niet beperkt tot uitsluitend het vorig geëncodeerde en gereconstrueerde beeld. Zowel encoder als decoder onderhoudt één of twee lijsten aan referentiebeelden, nl. lijst 0 en lijst 1. Deze lijsten bevatten elk referentiebeelden welke zich zowel voor als achter het huidige beeld in schermvolgorde kunnen bevinden. Adaptieve blokpartitionering Het is efficiënter om een variabele blokgrootte te hanteren gedurende de bewegingsestimatie en -compensatie, waarbij de blokgrootte in functie van de lokale eigenschappen binnen het beeld aangepast wordt. Zo wordt er liefst een grote blokgrootte gehanteerd in vlakke, homogene gebieden en een kleine blokgrootte in gebieden met hoog detail en complexe beweging. Vorige standaarden gebruikten het 16x16-macroblok als eenheid voor de bewegingsestimatie en -compensatie (buiten MPEG-4 Visual, welke hiervoor een 8x8- pixelgebied hanteert). Deze grootte vormde een goed compromis tussen compressiewinst 12

21 door gebruik van bewegingsinformatie en de kost geïntroduceerd door het berekenen, opslaan en versturen van deze bewegingsinformatie. Een H.264/AVC-compatibele encoder verdeelt een intergecodeerd macroblok echter op in één of meerdere macroblokpartities. Een 16x16-macroblok kan hierbij onderverdeeld worden in één 16x16-blok, twee 16x8-, twee 8x16- of vier 8x8-blokken luma-samples (en spatiaal corresponderende chroma-samples) (zie figuur 2.3). Als de encoder de 8x8- partitiegrootte kiest, splitst elk 8x8-sub-macroblok zich nog verder op in sub-macroblokpartities (zie figuur 2.4). We onderscheiden hier sub-macroblokpartities van grootte 8x8-, 8x4-, 4x8- en 4x4-gebieden aan luma-samples (en spatiaal corresponderende chromasamples). Elk blok vormt de basiseenheid voor de blokgebaseerde bewegingsestimatie en -compensatie en vereist een aparte bewegingsvector. Figuur 2.3: Macroblokpartities [23] Figuur 2.4: Sub-macroblokpartities [23] Elk chroma-blok wordt op dezelfde wijze onderverdeeld als het blok in de luma-component, behalve dat de partitiegrootte nu exact de helft bedraagt in zowel de horizontale als vertikale zin. Binnen een P-macroblok wordt elke macroblokpartitie voorspeld a.d.h.v. een beeld in lijst 0. Indien deze macroblokpartitie overeenstemt met een 8x8-pixelgebied, wordt elke sub-macroblokpartitie binnen dit sub-macroblok voorspeld a.d.h.v. hetzelfde beeld in lijst 0. Elke macroblokpartitie binnen een B-macroblok wordt voorspeld a.d.h.v. één of twee 13

22 referentiebeelden, één in lijst 0 en/of één in lijst 1. Indien deze macroblokpartitie overeenstemt met een 8x8-pixelgebied, wordt elke sub-macroblokpartitie in dit sub-macroblok voorspeld a.d.h.v. dezelfde referentiebeelden. Merk wel op dat binnen een macroblok de verschillende macroblokpartities gebruik kunnen maken van verschillende referentiebeelden voor de opbouw van hun voorspelling. Zowel lijst 0 als lijst 1 kan referentiebeelden bevatten, zich bevindende zowel voor als achter het huidige beeld in schermvolgorde. Hierdoor is er sprake van vijf verschillende vormen aan bi-directionele predictie. Meer bepaald, een voorspelling op basis van één referentiebeeld voor het huidige beeld in schermvolgorde, een voorspelling op basis van één referentiebeeld na het huidige beeld in schermvolgorde, een voorspelling m.b.v. één referentiebeeld voor en één achter het huidige beeld in schermvolgorde, een voorspelling met twee referentiebeelden voor het huidige beeld en een voorspelling met twee referentiebeelden na het huidige beeld in schermvolgorde. 1/4-pixelnauwkeurigheid Zoals reeds besproken, bewegen objecten typisch met een fractioneel aantal pixels tussen opeenvolgende beelden. Men bekomt bijgevolg een betere voorspelling d.m.v. het interpoleren van de samples in het referentiebeeld naar sub-pixelposities vooraleer op zoek te gaan naar het meest gelijkende blok voor het blok in het huidige beeld. Binnen de H.264/AVC-standaard kent de bewegingsvector bijgevolg een 1/4-pixelnauwkeurigheid voor de luma-component en een 1/8-pixelnauwkeurigheid voor de chroma-component. De luma- en chroma-samples op deze posities bestaan echter niet in de referentiebeelden, waardoor het noodzakelijk wordt ze eerst te berekenen a.d.h.v. een interpolatie. We merken tevens op dat elke macroblokpartitie of sub-macroblokpartitie in een intergecodeerd macroblok wordt voorspeld a.d.h.v. een gebied met gelijke grootte. Eerst en vooral berekent men de luma-samples halverwege de gehele pixelposities. Elke sample-waarde welke zich horizontaal of vertikaal tussen twee waarden op gehele pixelposities bevindt, wordt berekend a.d.h.v. een zesvoudige FIR-filter (Finite Impulse Response filter) met gewichten 1/32, -5/32, 5/8, 5/8-5/32 en 1/32. Zo wordt bv. sample-waarde b (figuur 2.5) berekend uit de zes horizontale waarden op gehele pixelposities E, F, G, H, I en J a.d.h.v. formule: b = round((e 5F + 20G + 20H 5I + J)/32) 14

23 Eenmaal alle sample-waarden welke zich horizontaal of vertikaal halverwege tussen twee samples op gehele pixelposities bevinden, zijn berekend, is het de beurt aan de resterende samples op halve-pixelposities. Deze resterende sample-waarden worden berekend door interpolatie tussen zes horizontale of vertikale sample-waarden op halve-pixelposities, berekend in de vorige stap. Sample-waarde j (figuur 2.5) bekomen we bv. door interpolatie uit de niet-afgeronde waarden van cc, dd, h, m, ee en ff. Figuur 2.5: Interpolatie van luma-samples op halve-pixelposities [23] Zodra we alle sample-waarden op halve-pixelposities kennen, worden de samples op kwartpixelposities geproduceerd d.m.v. een lineaire interpolatie. Samples op kwart-pixelposities met twee horizontale of vertikale buren op gehele of halve-pixelposities bekomen we door een interpolatiestap tussen deze twee buren, bv. (figuur 2.6): a = round((g + b)/2) De resterende sample-waarden op kwart-pixelposities worden lineair geïnterpoleerd tussen twee diagonaal over elkaar geplaatste sample-waarden op halve-pixelposities, bv. (figuur 2.6): e = round((g + h)/2) Bewegingsvectoren met een 1/4-pixelnauwkeurigheid in de luma-component vereisen bewegingsvectoren met een 1/8-pixelnauwkeurigheid in de chroma-component. Sample- 15

24 Figuur 2.6: Interpolatie van luma-samples op kwart-pixelposities [23] waarden op deze sub-pixelposities worden gegenereerd d.m.v. een lineaire interpolatie. Elke sample-waarde a vormt een lineaire combinatie van de nabijgelegen sample-waarden op gehele pixelposities A, B, C en D (figuur 2.7): a = round(((8 d x ).(8 d y ).A + d x.(8 d y ).B + (8 d x ).d y.c + d x.d y.d)/64) Figuur 2.7: Interpolatie van chroma-samples [23] Intracodering Intracodering wordt gehanteerd binnen een I-slice, welke uitsluitend intragecodeerde macroblokken kan bevatten. Vernieuwend binnen H.264/AVC is de uitvoering van een spatiale voorspelling bij de intracodering. Op basis van vorig geëncodeerde en gereconstrueerde 16

25 samples binnen de huidige slice, maakt men een voorspelling voor het huidige blok. Deze voorspelling wordt afgetrokken van het huidige blok, gevolgd door een DCT-gebaseerde transformatie, quantisatie en entropiecodering van het verschil. Merk op dat zowel een P- als B-slice tevens intragecodeerde macroblokken kan bevatten. Men onderscheidt in totaal negen voorspellingsmodes voor elk 4x4-luma-blok (tabel en figuur 2.8), vier voor elk 16x16-luma-blok (tabel en figuur 2.9) en vier modes voor elk 8x8-chroma-blok. De vier voorspellingsmodes voor het chroma-blok zijn zeer gelijkaardig aan de modes voor elk 16x16-luma-blok, behalve voor een verschil in nummering. De modes zijn DC (mode 0), horizontaal (mode 1), vertikaal (mode 2) en plane (mode 3). De encoder kiest typisch de voorspellingsmode welke het verschil tussen de voorspelling en het te encoderen blok minimaliseert en beide chroma-componenten gebruiken steeds dezelfde voorspellingsmode. Mode mode 0 (vertikaal) mode 1(horizontaal) mode 2 (DC) mode 3 (diagonaal link-onder) mode 4 (diagonaal rechts-onder) mode 5 (vertikaal-rechts) mode 6 (horizontaal-onder) mode 7 (vertikaal-links) mode 8 (horizontaal-boven) Beschrijving de bovenste samples A, B, C en D worden vertikaal geëxtrapoleerd de linkse samples I, J, K en L worden horizontaal geëxtrapoleerd de samples worden voorspeld door het gemiddelde van A... D en I... L de samples worden geïnterpoleerd onder een hoek van 45 tussen links-onder en rechts-boven de samples worden geëxtrapoleerd onder een hoek van 45 naar rechts-onder extrapolatie onder een hoek van ongeveer 26,6 t.o.v. de vertikaal naar rechts-onder extrapolatie onder een hoek van ongeveer 26,6 t.o.v. de horizontaal naar rechts-onder interpolatie onder een hoek van ongeveer 26,6 t.o.v. de vertikaal, naar links-onder interpolatie onder een hoek van ongeveer 26,6 t.o.v. de horizontaal, naar rechts-boven Tabel 2.1: Voorspellingsmodes voor het 4x4-luma-blok [23] 17

26 Figuur 2.8: Voorspellingsmodes voor het 4x4-luma-blok [23] Mode mode 0 (vertikaal) mode 1(horizontaal) mode 2 (DC) mode 3 (plane) Beschrijving de bovenste samples worden vertikaal geëxtrapoleerd de linkse samples worden horizontaal geëxtrapoleerd de samples worden voorspeld door het gemiddelde van de linkse en de bovenste samples er wordt een lineaire functie toegepast op de bovenste en linkse samples. Tabel 2.2: Voorspellingsmodes voor het 16x16-luma-blok [23] Figuur 2.9: Voorspellingsmodes voor het 16x16-luma-blok [23] 18

27 2.2.3 Beeldtransformaties De H.264/AVC-standaard maakt gebruik van drie verschillende beeldtransformaties [23], nl. een 4x4-DCT-gebaseerde transformatie voor alle 4x4-blokken aan residuele informatie (zowel na inter- als intracodering), een 4x4-Hadamard-transformatie voor de 4x4-matrix aan luma-dc-coëfficienten in intragecodeerde macroblokken (indien 16x16-intragecodeerd) en een 2x2-Hadamard-transformatie voor de 2x2-matrix aan chroma-dc-coëffcienten in alle macroblokken. Indien het macroblok 16x16-intragecodeerd is, transformeert de encoder elk 4x4-blok aan residuele data eerst met een DCT-gebaseerde transformatie. De DC-coëfficient van elk 4x4-blok binnen het 16x16-macroblok wordt gegroepeerd in een 4x4-matrix, en deze matrix ondergaat vervolgens een 4x4-Hadamard-transformatie, gevolgd door een quantisatiestap. Elk 4x4-blok in de chroma-component wordt getransformeerd a.d.h.v. een DCT-gebaseerde transformatie. De encoder groepeert vervolgens de DC-coëfficient van elk 4x4-blok aan chroma-coëfficienten binnen het 16x16-macroblok in een 2x2-matrix en transformeert deze matrix m.b.v. een 2x2-Hadamard-transformatie, vooraleer een quantisatiestap plaatsgrijpt Verdere verbeteringen Naast verbeteringen in de bewegingsestimatie en -compensatie, zijn er ook andere aspecten aangepast om de compressieverhouding te verhogen, zoals oa. kleinere blokgroottes bij de transformatie, hiërachische blokgroottes, arithmetische entropiecodering en contextadaptieve entropiecodering. Een verhoogde flexibiliteit en een betrouwbare, robuuste transmissie over een breed bereik aan transmissiekanalen en -netwerken is mede mogelijk gemaakt door invoering van oa.: ˆ parameter set structuren (Picture Parameter Set en Sequence Parameter Set) ˆ een NAL-eenheid syntax structuur ˆ flexibele slice-groottes ˆ flexibele macroblok-ordening ˆ willekeurige slice-ordening 19

28 Hoofdstuk 3 Bewegingsdetectie in het gecomprimeerd domein 3.1 Inleiding Veronderstellingen en vaststellingen Gedurende het opstellen van de procedure ter bewegingsdetectie werden volgende veronderstellingen in acht genomen: 1. de achtergrond omvat gebieden bestaande uit grote blokken zonder beweging (met nul-bewegingsvectoren), indien we uitgaan van een vaste camerapositie 2. een bewegend object bestaat typisch uit meerdere blokken binnen een beeld 3. bewegingsvectoren gekoppeld aan een (bewegend) object zijn vrij consistent binnen een beeld 4. bewegingsvectoren gekoppeld aan een (bewegend) object zijn vrij consistent tussen opeenvolgende beelden 5. de verplaatsing van een (bewegend) object is vrij beperkt tussen opeenvolgende beelden 6. de afstand, uitgedrukt in aantal beelden, welke een bewegingsvector overbrugt, duidt de betrouwbaarheid van deze vector aan 20

29 7. hoe verder individuele blokken van elkaar verwijderd zijn, hoe kleiner de kans ze tot hetzelfde object behoren 8. de residuele informatie is groter nabij de randen van bewegende objecten 9. bewegingsvectoren aanwezig in de H.264/AVC-videosequentie duiden niet de effectieve optische flow aan, maar vormen slechts een benadering Veronderstelling zes vereist enige verdere uitleg. Het voorgestelde algoritme (sectie 3.2.3) maakt gebruik van genormaliseerde bewegingsvectoren. Dit houdt in dat bewegingsvectoren worden verondersteld slechts één beeld te overbruggen. Bewegingsvectoren welke echter meerdere beelden overbruggen, ondergaan bijgevolg een normalisatiestap vooraleer de rest van het algoritme plaatsgrijpt. Het mag duidelijk zijn dat een bewegingsvector welke oorspronkelijk minder beelden overbrugt, na normalisatie nauwkeuriger de effectieve beweging overeenstemmend met één beeldafstand zal aanduiden. Dit onderzoek veronderstelt een vaste camerapositie, een brede kijkhoek en videosequenties bestaande uit één enkel I-beeld, gevolgd door uitsluitend P- en B-beelden. De gehanteerde videosequenties bestaan bijgevolg uit één enkele GoP, met structuur IBPBP... Deze structuur is uiteraard niet realistisch, maar wordt binnen dit onderzoek gebruikt doordat een I-beeld niet voldoende informatie bevat om bewegingsdetectie a.d.h.v. onderstaande procedure (sectie 3.2.3) mogelijk te maken. Objecten in I-beelden dienen dan ook te worden bepaald d.m.v. interpolatie van resultaten behaald uit P- en B-beelden. Sectie en hoofdstuk 5 maken mede duidelijk hoe men de beperkingen van een vaste camerapositie en een enkel I-beeld kan omzeilen Informatie uit de videosequentie Volgende informatie valt eenvoudig, zonder gedetailleerd decoderen uit de H.264/AVCvideosequentie te extraheren en werd binnen dit onderzoek bestudeerd naar toepasbaarheid binnen een bewegingsdetectie-algoritme in het gecomprimeerd domein: ˆ informatie omtrent blokpartitionering en bloktype ˆ bewegingsvectoren ˆ DC-coëfficienten ˆ residuele informatie 21

30 3.2 Bewegingsdetectie in H.264/AVC DC-beeld Ieder verschilblok, zowel na intra- als intercodering van een macroblok, ondergaat een 4x4 DCT-gebaseerde transformatie, gevolgd door een quantisatie en entropiecodering. Het resultaat van deze 4x4-transformatie is opnieuw een 4x4-blok waarbij iedere coëfficient binnen het blok een gewicht aanduidt voor een bepaalde combinatie van horizontale en vertikale spatiale frequenties (de zogenaamde basispatronen). De coëfficienten in dit transformatiedomein vertonen grote waarden gegroepeerd in de linker-bovenhoek van het getransformeerde 4x4-blok. De overige coëfficienten vertonen echter kleine waarden en hun impact op de visuele kwaliteit is beperkt. Coëfficienten in het getransformeerd domein schikken zich bijgevolg beter tot verdere compressie. De coëfficient met coördinaten (0,0) wordt vaak aangeduid met de term DC-coëfficient, aangezien deze overeenstemt met de nul-frequenties in zowel horizontale als vertikale zin, en bijgevolg de gemiddelde intensiteit in het oorspronkelijke 4x4-blok weerspiegelt. Indien we een beeld opstellen uitsluitend bestaande uit de DC-coëfficienten van ieder getransformeerd 4x4-blok, bekomen we een beeld 16 keer kleiner dan het origineel. Het resulterende beeld bevat nog in sterke mate de globale eigenschappen van het oorspronkelijk beeld en blijkt zeer bruikbaar voor een verdere analyse. Zulke beelden duidt men aan met de term DC-beelden en zijn geschikt voor analysetechnieken gekend vanuit het pixeldomein. Zo stelt [18] een aantal analysetechnieken voor, gebruik makende van DC-beelden bekomen uit de MPEG-1/MPEG-2-bitstroom. En stelt [11] een procedure ter bewegingsdetectie en tracking voor, gebruikmakende van de DC-coëfficienten van de lumablokken binnen de I-beelden en de bewegingsvectoren aanwezig in de MPEG-bitstroom. Om op een snelle manier het belang van DC-beelden te kunnen bestuderen, hebben we de inverse DCT-gebaseerde transformatie in de JM 13.0 referentiesoftware [24] vervangen door een kopieerbewerking. Hierbij werd voor ieder blok in het getransformeerd domein de DC-coëfficient herschaald en gekopieerd over het gehele blok, i.p.v. de inverse transformatie uit te voeren. Dit liet ons toe om snel DC-beelden te creëren zonder de rest van de referentiesoftware te moeten aanpassen. Dit verklaart ook waarom in figuren 3.3, 3.1 en 3.2 de DC-beelden evengroot zijn als het origineel beeld. Er stellen zich echter een aantal belangrijke problemen binnen de H.264/AVC-standaard welke het gebruik van DC-beelden onpraktisch maken. Eerst en vooral wordt ieder intra- 22

31 gecodeerd blok voorspeld op basis van sample-waarden binnen de huidige slice, waarna het verschil tussen de voorspelling en het huidig blok een DCT-gebaseerde transformatie, quantisatie en entropiecodering ondergaat. Deze spatiale voorspelling vormt een nieuwe functionaliteit binnen H.264/AVC en dient bij de opbouw van het DC-beeld uiteraard ook gecompenseerd te worden. Deze voorspelling zal binnen het bewegingsdetectie-algoritme uitsluitend kunnen geschieden op basis van DC-coëfficienten en geeft aanleiding tot een bijkomende fout. Figuren 3.1 en 3.2 geven beiden een origineel beeld weer, samen met het gewenste DCbeeld en het overeenstemmende DC-beeld bekomen uit de H.264/AVC-bitstroom. We merken hier een grote fout in het bekomen resultaat. Het DC-beeld vormt in dit geval geen verkleinde, laag-doorlaatgefilterde versie van het origineel, maar kent een grote distortie. Het gebruik van DC-beelden ter analyse werd in dit onderzoek bijgevolg ook niet verder bestudeerd. Figuur 3.1: Origineel beeld 147 en DC-beeld uit videosequentie hall monitor Figuur 3.2: Origineel beeld 585 en DC-beeld uit videosequentie PetsD2TeC1 Naast bovenstaande problematiek welke het gebruik van DC-beelden onpraktisch maakt voor een bewegingsdetectie-algoritme, is er sprake van twee bijkomende problemen binnen de H.264/AVC-standaard. De opbouw van een DC-beeld vraagt in de nieuwe H.264/AVCstandaard meer bewerkingen dan in vorige standaarden. Dit doordat de DC-coëfficienten 23

32 van de intragecodeerde luma-blokken (indien 16x16-intragecodeerd) een bijkomende Hadamard-transformatie ondergaan, net zoals de DC-coëfficienten van alle chroma-blokken. Deze extra handelingen in de encoder zorgen voor een extra decorrelatie van de informatie en een stijging van de compressieverhouding, maar tevens voor meer werk bij de opbouw van het DC-beeld. Binnen de P- en B-slices vindt uiteraard de blokgebaseerde bewegingsestimatie en -compensatie plaats. De DC-coëfficienten vormen nu niet de DC-coëfficienten van de 4x4- blokken binnen het oorspronkelijke beeld, maar van de 4x4-blokken binnen het gevormde verschil. Analysetechnieken vereisen echter een DC-beeld van het oorspronkelijk beeld, waardoor deze bewegingscompensatie dient geïnverteerd te worden. Er zal bijgevolg gedeeltelijk gedecodeerd moeten worden en een voorspelling dient opgebouwd te worden voor ieder P- en B-blok. Een benaderende methode voor de opbouw van deze voorspelling, in MPEG-1 en MPEG-2, is gegeven in [18] en [21]. Deze voorspelling baseert zich echter steeds uitsluitend op DC-coëfficienten, waardoor er een bijkomende fout wordt geïntroduceerd in het DC-beeld. Deze fout kan men goed vaststellen bij bewegende objecten, welke een spoor achterlaten doorheen het DC-beeld gedurende hun beweging (figuur 3.3). Figuur 3.3: DC-beelden van beelden 14, 49 en 60 uit videosequentie hall monitor Deze fout is echter ook aanwezig binnen voorgaande standaarden en kent echter een minimale invloed [27], waardoor toepassing van DC-beelden in analyse nog steeds praktisch blijft binnen deze voorgaande standaarden. [18] [11] Residueel beeld Eén van de belangrijkste aspecten binnen de meeste videocoderingsstandaarden, en dus ook binnen H.264/AVC, omvat de blokgebaseerde bewegingsestimatie en -compensatie, 24

33 toegepast in zowel P- als B-slices. Zoals reeds besproken, wordt hier voor ieder blok in het huidige beeld op zoek gegaan naar het meest gelijkende blok van gelijke grootte in één of meerdere referentiebeelden. Het verschil tussen het huidig blok en de voorspelling ondergaat vervolgens een DCT-gebaseerde transformatie, quantisatie en entropiecodering in de encoder. Indien we voor ieder blok binnen het huidig beeld het verschil tussen deze voorspelling en het huidig blok onderbrengen in een nieuw beeld, bekomen we een verschilbeeld of residueel beeld. Indien we enkel rekening houden met de residuele informatie van de intergecodeerde blokken en de luma-component, treedt er geen Hadamard-transformatie op. Om het verschilbeeld te bekomen dient dus enkel de entropiedecodering, herschaling en inverse DCTgebaseerde transformatie toegepast te worden. Merk op dat de inverse DCT-gebaseerde transformatie bij de opbouw van het residueel beeld overgeslagen kan worden, indien we enkel rekening houden met de grootte van de DC-coëfficient van ieder 4x4-blok in het transformatiedomein. Een andere manier om de inverse DCT-gebaseerde transformatie te vermijden, bestaat eruit de gemiddelde energie voor ieder 4x4-blok in het transformatiedomein te bepalen en indien deze een voldoende hoog niveau bereikt, een corresponderend gebied in het residueel beeld te detecteren als zijnde voorgrond. De JM 13.0 referentiesoftware werd aangepast om het belang van residuele beelden in bewegingsdetectie-algoritmen in het gecomprimeerd domein te bestuderen. Overeenstemmend met veronderstelling acht en figuur 3.4, kunnen we besluiten dat het energieniveau aan residuele informatie hoger is nabij de randen van bewegende objecten. Figuur 3.4 geeft een P-beeld weer uit de hall monitor videosequentie en het overeenstemmend verschilbeeld. Figuur 3.5 geeft een B-beeld weer uit dezelfde videosequentie, samen met het corresponderende residueel beeld. Uit beide figuren stellen we een belangrijk verschil vast tussen het energieniveau aan residuele informatie tussen P- en B-beelden. Het energieniveau is zoals te verwachten lager bij B-beelden door de betere (bi-directionele) voorspelling, opgebouwd gedurende de blokgebaseerde bewegingsestimatie en -compensatie. Het pad van bewegingsdetectie gebruikmakende van het residueel beeld wordt hier niet verder onderzocht. Dit doordat videosequenties veel last kunnen hebben van ruis in het residueel beeld en er problemen kunnen optreden bij de detectie van kleine bewegende objecten. Figuur 3.6 toont een P-beeld uit de videosequentie PetsD2TeC1 en zijn corresponderend verschilbeeld. Er is hier sprake van een grote hoeveelheid ruis, waardoor kleine bewegende objecten moeilijk van de ruis te onderscheiden zijn. 25

34 Figuur 3.4: Residueel beeld van een P-beeld uit videosequentie hall monitor Figuur 3.5: Residueel beeld van een B-beeld uit videosequentie hall monitor 26

35 Figuur 3.6: Residueel beeld van een P-beeld uit videosequentie PetsD2TeC1 27

36 3.2.3 Het voorgestelde bewegingsdetectie-algoritme Het bewegingsdetectie-algoritme, welke in deze scriptie ontwikkeld werd, bestaat uit volgende zeven functionele blokken. Het algoritme behandelt de beelden binnen de videosequentie in de volgorde waarin ze op het scherm worden getoond. 1. initiële voorgrond- en achtergrondclassificatie 2. dataconversie 3. spatiale filtering 4. interpolatie 5. clustering 6. temporele filtering 7. finale voorgrond- en achtergrondclassificatie Deze stappen werden geïmplementeerd in de H.264/AVC JM 13.0 referentiesoftware en maken uitsluitend gebruik van de informatie aanwezig in de H.264/AVC-videosequentie. Deze informatie omvat blokpartitionering, bloktypes en bewegingsvectoren. Het bewegingsdetectie-algoritme werkt hierbij volledig binnen de syntax van H.264/AVC. Initiële voorgrond- en achtergrondclassificatie Deze eerste stap houdt rekening met de eerste veronderstelling, nl. de achtergrond omvat gebieden bestaande uit grote blokken met een nul-bewegingsvector. Er wordt hierbij dan ook een eerste, ruwe onderverdeling gemaakt in voorgrond- en achtergrondblokken. Deze ruwe onderverdeling baseert zich op blokpartitionering, bloktype en bewegingsvectoren en zal in de latere fasen verder verfijnd worden. We werken hierbij op macroblokniveau. De classificatie omvat een enkele lus welke alle macroblokken binnen het beeld in rasterscan volgorde doorloopt. Indien het macroblok van type P SKIP of B skip is of blokpartitionering 16x16 hanteert, én een nul-bewegingsvector met zich draagt, worden zijn vier buren (A, B, C en D, figuur 3.7) beschouwd. Indien vervolgens alle vier buren van type P SKIP of B SKIP zijn of blokpartitionering 16x16 hanteren, én een nul-bewegingsvector dragen, wordt het huidige macroblok (X, 28

37 figuur 3.7) als zijnde achtergrond beschouwd. In alle andere gevallen, classeert deze initiële filtering macroblok X als zijnde voorgrond. Ontbrekende buren, bij macroblok X gelegen op een beeldrand, worden beschouwd als zijnde achtergrond en voldoen bijgevolg aan de gewenste voorwaarden (nl. blokpartitionering 16x16 én een nul-bewegingsvector). Figuur 3.7: Initiële voorgrond- en achtergrondclassificatie Een skipped macroblok (P skip en B skip) omvat een macroblok waarvoor geen verdere data wordt verzonden. De decoder berekent de bewegingsvector voor dit blok op basis van de bewegingsvectoren van de blokken in zijn directe omgeving en gebruikt vervolgens rechtstreeks de opgebouwde voorspelling. De H.264/AVC-bitstroom bevat geen residuele data voor een skipped macroblok. Wanneer een macroblok als zijnde achtergrond wordt geclasseerd, speelt deze geen enkele rol meer in de volgende stappen. De classificatie naar achtergrond vormt bijgevolg een onomkeerbaar proces, een achtergrondblok zal bijgevolg nooit meer naar een voorgrondblok kunnen evolueren. Hetzelfde gaat uiteraard niet op voor de classificatie naar voorgrond. Deze onderverdeling tussen achtergrond en voorgrond speelt een belangrijke rol in de latere stappen van het algoritme, zoals oa. de clustering. Immers hoe minder blokken aanwezig in het clusteringsproces, hoe lager de rekentijd en geheugenvereisten. Dataconversie Zoals reeds besproken, kent H.264/AVC een adaptieve blokpartitionering bij de blokgebaseerde bewegingsestimatie en -compensatie. We onderscheiden hier blokgroottes van 16x16 t.e.m. 4x4. Deze verschillende blokgroottes bemoeilijken echter de implementatie van alle volgende stappen en hierdoor opteren we voor een dataconversie naar een vaste blokpartitionering, nl. 4x4. De beschikbare informatie wordt hierbij omgevormd naar een matrixstructuur welke voor ieder 4x4-blok binnen het beeld alle informatie, nodig in de volgende stappen, bevat. 29

38 De informatie nodig in de volgende stappen omvat nu voor ieder 4x4-blok in het beeld, een genormaliseerde bewegingsvector, een aanduiding of de bewegingsvector geldig is (zie verder) en een aanduiding of het blok toebehoord aan de achtergrond. Enige voorafgaande verwerking is wel vereist. Zo kunnen bewegingsvectoren meerdere beelden overbruggen (typisch voor P-slices), kunnen er meerdere bewegingsvectoren voorhanden zijn voor één bepaald blok (typisch voor B-slices) en is een blokpartitionering anders dan de vereiste 4x4 mogelijk. Om de consistentie tussen de bewegingsvectoren van verschillende blokken in een latere fase te bepalen, dienen alle bewegingsvectoren eenzelfde aantal beelden in dezelfde richting te overbruggen. Iedere bewegingsvector wordt daarom in deze stap genormaliseerd en dus herschaald naar een afstand van één enkel beeld. Dit houdt simpelweg in dat iedere bewegingsvector wordt gedeeld door het aantal overbrugde beelden, vooraleer af te ronden. Bi-directionele predictie (mogelijk bij B-slices) levert ons typisch twee bewegingsvectoren, nl. één in de voorwaartse zin en één in de achterwaartse zin, twee in de voorwaartse zin of twee in de achterwaartse richting. De volgende fasen vereisen echter per 4x4-blok één enkele voorwaartse en genormaliseerde bewegingsvector. We maken hierbij een keuze tussen beide bewegingsvectoren, waarbij we opteren voor de bewegingsvector welke het kleinste aantal beelden overbrugt (in overeenstemming met veronderstelling zes). Indien beide bewegingsvectoren een zelfde afstand afleggen, kiezen we ter eenvoud de bewegingsvector overeenstemmend met lijst 0 en achterwaartse vectoren worden hierbij geïnverteerd. Merk op dat iedere bewegingsvector nog steeds een normalisatiestap doorloopt. Zowel P- als B-slices kunnen intragecodeerde macroblokken bevatten. Deze macroblokken worden voorspeld a.d.h.v. sample-waarden binnen dezelfde slice en bevatten bijgevolg ook geen bewegingsvector. Ze krijgen gedurende deze dataconversie dan ook een ongeldige nulbewegingsvector toegekend, welke in de interpolatiestap vervangen wordt door een geldige bewegingsvector. Hoe verloopt nu de eigenlijke opdeling van de beschikbare informatie naar 4x4-blokken? Wanneer een blok wordt onderverdeeld in 4x4-blokken wordt de bewegingsvector van het oorspronkelijke blok toegekend aan alle 4x4-blokken hieruit ontstaan, uiteraard na normalisatie en eventuele invertering. Een 16x16-blok geeft zo aanleiding tot 16 4x4- blokken met éénzelfde bewegingsvector. We maken dus geen gebruik van een lineaire interpolatie tussen nabijgelegen blokken, voor de berekening van de bewegingsvector voor het 4x4-blok. We baseren ons op de veronderstelling, dat indien de bewegingsvector niet voldoende nauwkeurig is voor het gehele blok, de encoder het blok verder zal opsplitsen 30

39 (zie adaptieve blokpartitionering). Een bewegingsvector voor een blok vormt bijgevolg een voldoende nauwkeurige bewegingsvector voor alle 4x4-blokken binnen dit blok. We kunnen hierbij een potentiële verbetering aanbrengen in het bewegingsdetectie-algoritme. Het juist opgesplitste blok zal met grote waarschijnlijkheid in de clusteringsstap terug samengebracht worden tot een enkel cluster, eventueel met toevoeging van andere nabijgelegen blokken. Een versnelling bestaat erin om in de clustering reeds rekening te houden met deze voorafgaande opsplitsing en deze opgesplitste 4x4-blokken reeds vanaf de start als behorende tot hetzelfde cluster te beschouwen. In de huidige versie van het algoritme is deze verbetering niet geïmplementeerd. In de huidige implementatie zijn zowel de initiële voorgrond- en achtergrondclassificatie als de dataconversiestap omvat in één enkele scan doorheen de macroblokken binnen het beeld. Beide stappen kunnen immers onderling onafhankelijk van elkaar, per macroblok plaatsgrijpen. Tevens merken we hier een stijging in de hoeveelheid informatie (aantal 4x4-blokken) op, wat de rekentijd en geheugenvereisten niet ten goede komt. Door de initiële voorgrond- en achtergrondclassificatie en een implementatie van bovenstaande verbeteringen trachten we dit effect te reduceren. Immers hoe minder blokken deelnemen aan de volgende fasen, hoe lager de rekentijd en geheugenvereisten liggen. We kunnen uiteraard ook gebruikmaken van een grotere blokgrootte binnen de matrixstructuur, met bijhorend verlies aan detail in het uiteindelijke resultaat. Spatiale filtering Deze stap verwijdert onbetrouwbare bewegingsvectoren binnen het beeld, nl. bewegingsvectoren welke sterk afwijken relatief gezien t.o.v. de bewegingsvectoren van blokken in hun nabije omgeving. Dit kan geschieden door toepassing van een mediaanfilter, welke in een enkele beweging alle 4x4-blokken binnen het beeld in raster-scan volgorde doorloopt. Bewegingsvectoren welke oorspronkelijk teveel beelden overbruggen, kunnen ook beschouwd worden als zijnde onbetrouwbaar en door het mediaanfilter weggefilterd worden. Onbetrouwbare bewegingsvectoren worden verondersteld zeer sterk afwijkende, maar geïsoleerde vectoren binnen het beeld te vormen. Een rangordefilter, en meerbepaald het mediaanfilter kan deze eigenschap sterk exploiteren en verwijdert zeer effectief deze vorm van impulsruis. 31

40 De werking van het mediaanfilter verloopt als volgt. Een 5x5- of 7x7-venster verplaatst zich in raster-scan volgorde over alle 4x4-blokken binnen het beeld. Na iedere verplaatsing worden de bewegingsvectoren van alle 4x4-blokken binnen het venster gesorteerd van klein naar groot en wordt de bewegingsvector van het blok in het venstercentrum vervangen door de mediaan van de gesorteerde bewegingsvectoren. De basis waarop het mediaanfilter de bewegingsvectoren sorteert, kent nog enige vorm van vrijheid. Sorteren kan geschieden op basis van hoek, grootte of een combinatie van beiden. Bij de implementatie van het mediaanfilter vormt de keuze van de venstergrootte een belangrijke stap. Indien het venster te groot wordt gekozen (bv. 9x9), verwijdert het mediaanfilter kleine bewegende objecten binnen het beeld. Bij een te klein venster (bv. 3x3) zal het filter het effect van grotere blokken met lokaal afwijkende bewegingsvectoren niet voldoende onderdrukken. Een venster met een 5x5- of 7x7-grootte lijkt hierdoor het meest aangewezen. Tevens moet er rekening worden gehouden met ongeldige bewegingsvectoren of blokken gelegen nabij beeldranden, waarbij het venster zich gedeeltelijk buiten het beeld bevindt. De huidige implementatie van het bewegingsdetectie-algoritme biedt nog geen ondersteuning voor een mediaanfilter. Het effect van een mediaanfilter op het uiteindelijke resultaat werd bijgevolg nog niet onderzocht. Interpolatie In deze stap krijgen alle 4x4-blokken met een ongeldige bewegingsvector een geldige bewegingsvector toegekend d.m.v. interpolatie. Voor de eigenlijke interpolatie werd er gekozen voor een zeer eenvoudige implementatie, welke de matrix aan 4x4-blokken viermaal doorloopt (figuur 3.8) en slechts één tijdelijke waarde dient op te slaan. Een eerste fase doorloopt de matrix aan 4x4-blokken van links-naar-rechts, waarbij er telkens op het einde van de rij naar de start van de volgende rij wordt overgegaan. Bij de start van een nieuwe rij, wordt de tijdelijke waarde op ongeldig geplaatst. Bij het doorlopen van de rij, wordt telkens de laatst tegengekomen geldige bewegingsvector opgeslagen in deze tijdelijke waarde en zodra een ongeldige nul-vector wordt tegengekomen, vervangt de laatst opgeslagen (tijdelijke) waarde deze ongeldige bewegingsvector. Een tweede doorloop geschiedt van rechts-naar-links, waarbij tevens bij het bereiken van de start van elke rij de tijdelijke waarde op ongeldig geplaatst wordt en er naar het einde van de volgende rij wordt overgegaan. Opnieuw slaagt de tijdelijke waarde telkens de 32

41 laatst tegengekomen geldige bewegingsvector op, welke opgeteld wordt bij iedere ongeldige bewegingsvector. Een derde maal doorloopt het geheel van boven-naar-onder, waarbij telkens bij het bereiken van het einde van de kolom er een kolom naar rechts wordt overgegaan. Zoals voordien wordt bij iedere nieuwe kolom de tijdelijke waarde op ongeldig geplaatst en steeds de laatst tegengekomen geldige bewegingsvector in de tijdelijke plaats gekopiëerd. Deze tijdelijke waarde telt zich opnieuw op bij iedere ongeldige bewegingsvector binnen de kolom. De vierde en laatste doorloop gebeurt van onder-naar-boven, waarbij bij het bereiken van de bovenzijde van de kolom er een kolom naar rechts wordt gegaan. Opnieuw wordt bij iedere kolom de tijdelijke waarde op ongeldig geplaatst en steeds de laatst geldige bewegingsvector opgeslagen in de tijdelijke waarde. Zodra een ongeldige bewegingsvector wordt tegengekomen, telt de tijdelijke waarde zich bij deze ongeldige bewegingsvector op. In deze laatste stap wordt de bekomen ongeldige bewegingsvector ook door vier gedeeld en uiteindelijk op geldig geplaatst. Figuur 3.8: De verschillende fasen binnen interpolatie In bovenstaande uitleg hebben we opzettelijk het probleem van blokken met ongeldige bewegingsvectoren, gelegen op beeldranden, terzijde gelaten. Deze blokken zullen in één van de vier fasen een ongeldige tijdelijke waarde opgeteld krijgen. In de eigenlijke implementatie wordt hier rekening mee gehouden door enkel een geldige tijdelijke waarde bij de optelling te betrekken en in de laatste doorloop te delen door het aantal keer effectief een optelling bij de ongeldige nul-bewegingsvector heeft plaatsgegrepen. Blokken welke gedurende de initiële classificatie als zijnde achtergrond werden beschouwd, hebben echter ook geldige bewegingsvectoren met een x- en y-verplaatsing beiden gelijk aan nul. Ook deze bewegingsvectoren spelen een rol gedurende de interpolatiestap en het mediaanfilter. We bemerken hier opnieuw een potentiële versnelling binnen het algoritme. De interpolatiestap kan namelijk op een efficiëntere manier geïmplementeerd worden. Een mogelijk- 33

42 heid zou zijn om de interpolatiestap te laten bestaan uit één enkele raster-scan doorheen de matrixstructuur (figuur 3.9). Voor ieder 4x4-blok met een ongeldige bewegingsvector zoekt het algoritme vervolgens iteratief in de vier richtingen (naar boven, onder, links en rechts) naar het dichtstbijzijnde blok met een geldige bewegingsvector en neemt vervolgens het gewogen gemiddelde van deze vier bewegingsvectoren. De gewichten worden hierbij bepaald door de afstand van het blok met de geldige bewegingsvector tot het blok met ongeldige bewegingsvector. Blokken met een geldige bewegingsvector dichtbij gelegen oefenen een grotere invloed uit op het gemiddelde. Aangezien het aantal blokken met een ongeldige bewegingsvector vrij beperkt blijft, doordat er slechts weinig intragecodeerde blokken optreden binnen een P- of B-slice, zal deze implementatie zeker een versnelling met zich meebrengen. Er is nu immers slechts behoefte aan een enkele scan doorheen de matrix, terwijl de iteratieve zoektocht naar de dichtsbijzijnde geldige bewegingsvector zeer beperkt blijft in afstand. Figuur 3.9: Versnelde interpolatie Clustering De belangrijkste stap in het bewegingsdetectie-algoritme omvat het eigenlijke clusteren van de 4x4-blokken behorende tot eenzelfde bewegend object. Het eigenlijke detecteren van de potentiële bewegende objecten vindt hier plaats. Verder filteren tussen de gedetecteerde bewegende objecten geschiedt in de volgende fase, nl. temporele filtering. Veronderstellingen twee en drie geven aan dat een bewegend object beschouwd kan worden als zijnde een groep blokken binnen een beeld waarin de bewegingsvectoren consistent zijn met elkaar. Veronderstelling zeven maakt ons dan weer duidelijk dat de blokken, behorende tot eenzelfde bewegend object, in elkaars nabijheid dienen te liggen. Deze drie veronderstellingen zijn van groot belang bij het bepalen van een geschikte afstandsmaat (zie verder). 34

43 Er zijn verschillende types clustering mogelijk.[1] Zo maken we een onderscheid tussen exclusieve clustering, overlappende clustering, hiërarchische clustering en probabilistische clustering. In eerste instantie werd er geopteerd voor een specifieke implementatie van de exclusieve clustering, nl. de K-means clustering.[22] Deze techniek kent veel voordelen op vlak van performantie, maar tevens één essentieel nadeel, nl. de vereiste voor het vastleggen van de waarde K. Deze waarde komt overeen met het aantal op te sporen clusters, dus in dit geval het aantal bewegende objecten. Aangezien het bewegingsdetectie-algoritme niet op voorhand kan weten hoeveel bewegende objecten er aanwezig zullen zijn in de videosequentie, bemoeilijkt dit de implementatie van de K-means clustering. Bijkomend nadeel van K-means clustering omvat het feit dat er zich geen vaste uitkomst opdwingt, het resultaat is nl. afhankelijk van de waarde K en van de keuze van de initiële set clusters. Een mogelijkheid tot oplossing van bovenstaande problemen omvat het meerdere malen uitvoeren van het K-means clustering-algoritme met bijkomende onderwerping aan het Schwarz-criterium.[22] Binnen de implementatie van het bewegingsdetectie-algoritme opteren we echter voor een aangepaste versie van de hiërarchische clustering, nl. de gevensterde hiërarchische clustering (zie verder). Deze versie kent een verlaging in de geheugenvereisten en een versnelde uitvoering t.o.v. de oorspronkelijke hiërarchische clustering, welke de volgende vier stappen omvat: 1. Het algoritme start met het toekennen van elk 4x4-blok binnen het beeld aan een apart cluster, zodanig dat wanneer er N blokken aanwezig zijn, er ook gestart wordt met N clusters. We definiëren de afstand tussen de clusters als zijnde de afstand tusen de individuele 4x4-blokken welke deze clusters bevatten. De gebruikte afstandsmaat omvat een combinatie van bewegingsvectorconsistentie en afstand tussen de 4x4-blokken (zie verder). 2. Zoek de twee dichtste of meest gelijkende clusters en voeg ze samen tot één enkel, nieuw cluster. In totaal bevindt er zich nu uiteraard één cluster minder dan voordien. 3. Bereken de afstand tussen het nieuwe cluster en elk van de oude clusters. 4. Herhaal stappen 2 en 3 totdat er nog maar één cluster overblijft of de afstand tussen de resterende clusters een bepaalde grenswaarde overschrijdt. Merk op dat bovenstaande procedure slechts een vereenvoudigde versie vormt. In de eigenlijke implementatie zijn de achtergrondblokken, onderscheiden van de voorgrond- 35

44 blokken gedurende de initiële classificatie, reeds vanaf de start binnen één enkel cluster gegroepeerd. Binnen de hiërarchische clustering onderscheidt men verder drie types: ˆ single-linkage: De afstand tussen twee clusters is gelijk aan de kortste afstand van eender welk lid van het ene cluster tot eender welk lid van het andere cluster. ˆ complete-linkage: De afstand tussen twee clusters is gelijk aan de grootste afstand van eender welk lid van het ene cluster tot eender welk lid van het andere cluster. ˆ average-linkage: De afstand tussen de twee clusters is gelijk aan de gemiddelde afstand van elk lid van het ene cluster tot elk lid van het andere cluster. In dit onderzoek wordt de single-linkage clustering gehanteerd. Dit doordat deze methode ons de grootste mogelijkheid biedt op onregelmatige vormen. De gehanteerde afstandsmaat vormt (in overeenstemming met veronderstellingen twee, drie en zeven) een combinatie van consistentie tussen de bewegingsvectoren van de 4x4-blokken en de afstand tussen de 4x4-blokken, en wordt gegeven door: [14] [13] d(b(m, n), B(m, n )) = (m m)(mv x(m, n ) MV x(m, n)) + (n n)(mv y(m, n ) MV y(m, n)) In bovenstaande formule duiden B(m, n) en B(m, n ) de blokken aan met respectievelijke coördinaten (m, n) en (m, n ) binnen het beeld. Daarnaast duiden MV (m, n) en MV (m, n ) de bewegingsvectoren aan van de blokken B(m, n) en B(m, n ), waarbij de suffix de x- of y-richting binnen de vector aangeeft. H.264/AVC maakt gebruik van 1/4-pixelnauwkeurigheid voor de bewegingsvectoren. Implementatie van bovenstaande afstandsmaat dient hiermee dan ook rekening te houden. Zowel de coördinaten van de blokken als de bewegingsvectoren worden bijgevolg in de formule uitgedrukt in 1/4-pixelresolutie. De eerste factor binnen ieder product beantwoordt aan veronderstelling zeven. Immers hoe verder de blokken van elkaar verwijderd, hoe groter beide factoren en hoe groter de uiteindelijke afstandsmaat. Merk wel op dat er hier geen rechtstreeks gebruik wordt gemaakt van de Euclidische afstand tussen de 4x4-blokken. Veronderstelling twee wordt uitgeoefend in de tweede factor binnen ieder product. 36

45 Implementatie van de traditionele hiërarchische clustering vereist het initieel opstellen van een NxN afstandsmatrix (bij N 4x4-blokken binnen het beeld, indien we de achtergrondblokken even terzijde laten), waarvan er wegens de symmetrie t.o.v. de diagonaal slechts (Nx(N-1))/2 elementen van belang zijn binnen de clusteringsstap. Na opzoeken van de kleinste afstand en samenvoegen van de corresponderende clusters dient er een nieuwe afstandsmatrix opgebouwd te worden met één element minder in zowel de horizontale als vertikale zin. Een snelle opbouw van deze nieuwe afstandsmatrix berekent enkel de afstand van dit nieuwe cluster t.o.v. de oude clusters, volgens de regels van single-linkage clustering. Hierbij slaan we steeds de kleinste afstand van de vorige twee oude clusters t.o.v. van de andere clusters op, onder het nieuwe cluster. Dit proces herhaalt zich tot er slechts één cluster overblijft of de afstanden een bepaalde drempelwaarde overschrijden. We kiezen echter voor de implementatie van een variant van hiërarchische clustering, met verlaagde geheugenvereisten en verkorte rekentijd, nl. gevensterde hiërarchische clustering (figuur 3.10). Hierbij beschouwen we rondom ieder 4x4-blok in het beeld een venster bestaande uit 4x4-blokken, waarmee het centrale blok zich op directe wijze kan clusteren. We moeten dus enkel voor ieder 4x4-blok in het beeld de afstand tot elk ander blok binnen het venster berekenen en opslaan. Een afstandsmatrix met dimensie MxN, waarbij M het aantal elementen in het venster min 1 aanduidt en N het totaal aantal 4x4-blokken in het beeld, is hierdoor voldoende. Tevens volstaat nu een enkele scan in raster-scan volgorde doorheen de afstandsmatrix, waarbij elke twee 4x4-blokken met een onderlinge afstand kleiner dan een voorgedefiniëerde drempelwaarde geclusterd worden. Deze drempelwaarde is afhankelijk van de videosequentie en dient experimenteel bepaald te worden. Merk op dat ieder 4x4-blok zich slechts op directe wijze kan clusteren met de blokken binnen zijn venster, maar op een indirecte wijze kan clusteren met alle blokken binnen het beeld. Zoals duidelijk wordt uit figuur 3.10 maakt de gevensterde hiërarchische clustering binnen deze implementatie gebruik van een 5x5-venster. Een 5x5-venster biedt immers nog voldoende mogelijkheden aan een blok om zich op directe wijze te koppelen met zijn buren binnen het venster, terwijl de geheugenvereisten en rekentijd voldoende laag blijven. Merk tevens op dat de indices 1 t.e.m. 24 in de afstandsmatrix uit figuur 3.10 voor ieder 4x4-blok overeenstemt met de verschillende 4x4-blokken binnen zijn 5x5-venster. Dit is bijgevolg voor ieder 4x4-blok in het beeld verschillend. Een duidelijk nadeel t.o.v. de traditionele hiërarchische clustering omvat de beperkte hoeveelheid informatie welke nu opgeslagen wordt binnen de afstandsmatrix. Slechts een zeer beperkt gedeelte van de beschikbare afstandsinformatie wordt opgeslagen onder de 37

46 Figuur 3.10: Gevensterde hiërarchische clustering afstandsmatrix. Er is echter binnen het bewegingsdetectie-algoritme geen behoefte aan afstandsinformatie van elk 4x4-blok t.o.v. elk ander 4x4-blok binnen het beeld. Objecten zullen typisch slechts een beperkt gedeelte van het beeld in beslag nemen en blokken, welke zich verder van elkaar verwijderd bevinden, kunnen nog steeds indirect geclusterd worden. Grotere objecten ondervinden bijgevolg geen problemen gedurende de clusteringsstap. Ondanks dit alles zal het resultaat van de gevensterde hiërarchische clustering niet exact gelijk zijn aan het resultaat bekomen via de traditionele hiërarchische clustering. Het eigenlijke clusteren vereist enige verdere uitleg (figuur 3.11). Initieel vormt elk 4x4- blok binnen het beeld een apart cluster, waarbij de achtergrondblokken reeds vanaf de start gegroepeerd zijn onder één cluster. Elk cluster, en dus ook het achtergrondcluster, bevindt zich bij de start van het algoritme in de afstandsmatrix. Ieder cluster omvat hierbij een gelinkte lijst van 4x4-blokken en voor ieder element binnen het cluster worden 38

47 er 3 zaken opgeslagen, nl. het adres van het startblok, het adres van het eindblok en het adres van het volgende blok in de lijst. Wanneer het algoritme twee clusters dient samen te voegen tot één nieuw cluster, kan dit geschieden door voor het eindblok binnen het ene cluster, het adres van het volgende blok (welke tot nu toe aan NULL gelijk was) gelijk te stellen aan het adres van het startblok binnen het andere cluster. Vervolgens moeten uiteraard de waarden voor het adres van het start- en eindblok voor alle elementen in het nieuwe cluster op de juiste waarde geplaatst worden. Figuur 3.11: Clustering met gelinkte lijsten Het clusteren dient wel het invoeren van lussen te vermijden. Wanneer twee blokken reeds direct of indirect geclusterd zijn, moet het algoritme een tweede clustering van de blokken uiteraard vermijden. Een eenvoudige verificatie bestaat uit het controleren van de startblokadressen van de te clusteren 4x4-blokken. Indien beide blokken beschikken over eenzelfde startadres, zijn ze reeds geclusterd. Het clusteringsproces berekent gedurende zijn werking voor ieder cluster de locatie van de clustercentroid en de gemiddelde bewegingsvector hiermee overeenstemmend. Deze twee waarden spelen een belangrijke rol in de volgende stap, nl. temporele filtering. 39

48 Een verdere verbetering in de implementatie is mogelijk, aangezien dezelfde afstandsinformatie telkens tweemaal wordt opgeslagen en doorzocht binnen de afstandsmatrix. Zo zal bv. het 3x3-venster rond 4x4-blok A het blok B omvatten en het 3x3-venster rond 4x4-blok B het blok A. Beide afstanden, A t.o.v. B en B t.o.v. A, zijn uiteraard gelijk en dienen slechts eenmaal berekend, opgeslagen en onderzocht te worden (figuur 3.12). Figuur 3.12: 3x3-vensters rond 4x4-blokken A en B Twee mogelijke problemen kunnen optreden bij gebruik van bovenstaande afstandsmaat. Indien twee 4x4-blokken niet tot hetzelfde object behoren maar wel een identieke bewegingsvector kennen, bedraagt hun onderlinge afstand nul. Bijgevolg zullen beide blokken samengevoegd worden tot hetzelfde cluster, ongeacht de grootte van de onderlinge afstand tussen beide 4x4-blokken. Een tweede probleem treedt op bij 4x4-blokken welke zich in eenzelfde rij of kolom bevinden. Indien bv. twee 4x4-blokken zich op eenzelfde rij bevinden valt het tweede product volledig weg. Indien de bewegingsvectoren van beide blokken nu tevens een gelijke grootte hebben in de x-richting, valt het eerste product tevens weg en is de onderlinge afstand tussen beide blokken opnieuw nul. Merk op dat het eerste probleem een beperkte invloed kent door gebruik te maken van de gevensterde hiërarchische clustering. De kans dat er binnen het 5x5-venster twee 4x4- blokken aanwezig zijn, welke gelijke bewegingsvectoren hebben maar niet tot hetzelfde object behoren, is bestaande maar verwaarloosbaar klein. Het tweede probleem kent tevens een beperkte invloed. De kans dat twee 4x4-blokken binnen het 5x5-venster zich op dezelfde rij of kolom bevinden én een gelijkheid kennen in de x- of y-richting binnen hun bewegingsvectoren én niet tot hetzelfde object behoren, is effectief weer bestaande maar zeer klein. 40

49 Temporele filtering De informatie per beeld, bekomen uit de vorige vijf stappen, wordt opgeslagen in een tijdsvenster ( sliding window ) welke ruimte biedt voor steeds de laatste vijf verwerkte beelden. Deze informatie omvat per beeld het totaal aantal clusters binnen het beeld, de coördinaten van de centroid van ieder cluster en de overeenstemmende bewegingsvectoren. Telkens een beeld de vorige vijf stappen volledig heeft doorlopen, wordt deze achteraan toegevoegd aan het tijdsvenster. De informatie betrekking hebbende op het oudste beeld binnen het tijdsvenster wordt nadien verwijderd, zodat het venster steeds slechts de informatie van de laatste vijf verwerkte beelden bevat. Het opvullen en ledigen van het tijdsvenster bij de start, respectievelijk het einde van de videosequentie vereist bijkomende aandacht. Na iedere toevoeging van een nieuw beeld en opruiming van het oudste beeld binnen het tijdsvenster, ondergaat het middelste beeld in het venster de twee volgende verwerkingsstappen. Een eerste fase tracht het aantal false positives binnen het huidig beeld te reduceren. Deze fase maakt gebruik van de volgende procedure, uitgelegd voor een enkel cluster binnen het huidige beeld: 1. Extrapoleer de positie van de centroid van het cluster binnen het huidig beeld naar de beelden voor en achter het huidig beeld (de overige beelden binnen het tijdsvenster). Deze extrapolatie geschiedt op basis van de gemiddelde bewegingsvector behorende tot de centroid van dit cluster en baseert zich op veronderstellingen vier en vijf. Deze veronderstellingen geven aanleiding tot een geprojecteerd cluster welke eenzelfde bewegingsvector kent als het cluster in het huidig beeld, maar t.o.v. het cluster in het huidige beeld wel een verplaatsing doorheen het beeld heeft ondergaan. 2. Zoek binnen de overige vier beelden in het tijdsvenster naar een kandidaat-cluster gelijkaardig aan het geprojecteerde cluster. Een gelijkaardig cluster wordt gedefiniëerd als zijnde een kandidaat-cluster welke tot het geprojecteerde cluster een afstand (volgens bovenstaande afstandsmaat, zie Clustering) kent kleiner dan een vastgelegde grenswaarde. Deze drempelwaarde is afhankelijk van de videosequentie en dient experimenteel bepaald te worden. 3. Indien twee of meerdere beelden binnen het tijdsvenster een gelijkaardig cluster bevatten voor het cluster in het huidige beeld, bewaart deze eerste fase het huidi- 41

50 ge cluster. Zoniet, elimineert deze laatste stap het huidige cluster en wordt deze toegevoegd aan de achtergrond binnen het beeld. De afstand tussen het geprojecteerde cluster en de kandidaat-clusters in bovenstaande procedure baseert zich op de coördinaten van de centroid van de cluster en corresponderende gemiddelde bewegingsvector, berekend gedurende de clusteringsstap. Een tweede fase reduceert het aantal false negatives. Hierbij worden de clusters zich bevindende in ieder beeld (buiten het middelste beeld) binnen het tijdsvenster geprojecteerd naar ieder ander beeld binnen het tijdsvenster (buiten het middelste beeld). De onderlinge afstand tussen het geprojecteerde cluster en de kandidaat-clusters binnen het beeld wordt opnieuw onderzocht. Indien er sprake is van voldoende consistentie, wordt het cluster beschouwd als zijnde een effectief bewegend object en dient deze ook aanwezig te zijn in het middelste beeld van het tijdsvenster. Indien dit niet het geval is, wordt de positie van dit bewegend object bekomen door interpolatie van de informatie uit de omliggende beelden binnen het tijdsvenster. Merk op dat deze vorm van bewegingsinterpolatie tevens bewegende objecten kan interpoleren naar I-beelden toe. Deze tweede fase zal echter niet uitsluitend het aantal false negatives verminderen, maar zal ook een hoeveelheid false positives introduceren. Een goed compromis dient hier bepaald te worden. De huidige implementatie van het bewegingsdetectie-algoritme biedt nog geen ondersteuning voor deze tweede fase binnen de temporele filtering. Finale voorgrond- en achtergrondclassificatie Dankzij de resultaten bekomen uit de bovenstaande procedure kan nu een finale voorgronden achtergrondclassificatie plaatsgrijpen. Deze finale classificatie geeft aanleiding tot een videosequentie bestaande uit maskers. Ieder beeld binnen de resulterende videosequentie stemt overeen met een masker voor het corresponderde beeld binnen de oorspronkelijke videosequentie. Het masker geeft bewegende objecten voor als gebieden bestaande uit witte pixels en achtergrond als gebieden bestaande uit zwarte pixels. Figuur 3.13 geeft beeld 364 weer uit de videosequentie PetsD2TeC1, het gewenste resultaat en bijhorend masker bij een drempelwaarde van 15 gehanteerd bij de clusteringsstap en een drempelwaarde van 20 bij de temporele filtering. Merk op dat de nauwkeurigheid waarmee bewegende objecten worden weergegeven, wordt bepaald door de nauwkeurigheid waarmee de matrixstructuur de informatie opslaat. De 42

51 Figuur 3.13: Beeld 364 uit videosequentie PetsD2TeC1 en bijhorend masker huidige implementatie maakt gebruik van 4x4-blokken binnen het beeld om de informatie op te slaan, waardoor ieder bewegend object zal bestaan uit een geheel aantal 4x4-blokken binnen het masker. Figuur 3.14 toont beeld 347 uit de videosequentie PetsD2TeC1, het gewenste resultaat en bijhorend masker bij een drempelwaarde van 15 gehanteerd bij de clusteringsstap en een drempelwaarde van 20 bij de temporele filtering. Deze figuur toont aan dat het algoritme nog enige last van ruis binnen de bewegingsdetectie ondervindt. Een strengere temporele filtering kan deze false positives wegfilteren, maar zal tevens nieuwe false negatives introduceren. Een optimaal compromis dient bijgevolg bepaald te worden. Figuur 3.14: Beeld 347 uit videosequentie PetsD2TeC1 en bijhorend masker 43

52 Hoofdstuk 4 Resultaten 4.1 Nauwkeurigheid De performantie van de voorgestelde procedure ter bewegingsdetectie in het gecomprimeerd domein (sectie 3.2.3) werd beoordeeld a.d.h.v. een testreeks, afkomstig uit de PetsD2TeC1 videosequentie. Deze testreeks onderzoekt de precision en recall in functie van de gehanteerde drempelwaarden binnen het algoritme en maakt hierbij gebruik van de beelden 300 t.e.m binnen de PetsD2TeC1 videosequentie, waarbij om de 25 beelden een meting wordt genomen. Gedurende dit gedeelte van de videosequentie bewegen er zich een aantal auto s en personen doorheen het beeld. Tevens is er sprake van een hoeveelheid ruisbeweging, geïntroduceerd door de bewegende boom en de ruis geïntroduceerd door de camera. De geanalyseerde videosequentie bestaat uit een enkele GoP met structuur IBPBP... en resolutie 384x288. Zulke GoP-structuur is uiteraard niet realistisch, maar werd gebruikt doordat I-beelden niet voldoende informatie bevatten om bewegingsdetectie binnen de huidige implementatie mogelijk te maken. De encodeerparameters gehanteerd binnen de JM 13.0 referentiesoftware zijn weergegeven in appendix A. Het bewegingsdetectie-algoritme (sectie 3.2.3) maakt steeds gebruik van twee instelbare drempelwaarden. Een eerste drempelwaarde wordt gehanteerd binnen de clusteringsstap en definiëert de maximale afstand tussen twee samen te voegen clusters. Een tweede drempelwaarde wordt gebruikt binnen de temporele filtering en geeft aan wanneer een kandidaat-cluster als zijnde gelijkaardig mag bestempeld worden t.o.v. het geprojecteerde cluster. 44

53 Figuur 4.1 geeft de precision en recall weer bij een drempelwaarde 10 gehanteerd gedurende de clusteringsstap, voor vier verschillende drempelwaarden binnen de temporele filtering. Een grote drempelwaarde (bv. 500) zorgt voor een verwaarloosbare invloed. Een zeer kleine drempelwaarde (bv. 20) leidt tot een te strenge temporele filtering. De gemiddelde drempelwaarden (bv. 50 en 100) zorgen voor een normale werking binnen de temporele filtering. Figuren 4.3 en 4.4 visualiseren de bekomen resultaten. De precision geeft de verhouding weer tussen het aantal correct gedetecteerde 4x4- blokken t.o.v. het totaal aantal gedetecteerde 4x4-blokken. Hoe hoger deze waarde ligt, hoe minder beweging foutief waargenomen is door het algoritme. De recall geeft het aantal correct gedetecteerde 4x4-blokken weer t.o.v. het totaal aantal 4x4-blokken welke effectief toebehoren tot een bewegend object. Hoe hoger deze waarde is, hoe beter de aanwezige beweging effectief is waargenomen door het algoritme. Beide waarden zijn afhankelijk van het gebruikte algoritme, de gehanteerde drempelwaarden maar ook van andere factoren zoals oa. beeldkwaliteit, indoor/outdoor-opname en de nauwkeurigheid van de bewegingsvectoren binnen de bitstroom, bepaald aan de encodeerzijde. 45

54 Figuur 4.1: Recall en precision bij toepassing van drempelwaarde 10 gedurende de clusteringsstap en drempelwaarden 20 en 50 gedurende de temporele filtering 46

55 Figuur 4.2: Recall en precision bij toepassing van drempelwaarde 10 gedurende de clusteringsstap en drempelwaarden 100 en 500 gedurende de temporele filtering 47

56 Figuur 4.3: Beeld 289 uit videosequentie PetsD2TeC1 met drempelwaarde 10 gedurende de clusteringsstap en drempelwaarden 20(links-boven), 50(rechts-boven), 100(links-onder) en 500(rechts-onder) gedurende de temporele filtering 48

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

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

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

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

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

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.

Nadere informatie

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

Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 De samenstelling van rotaties in het vlak is commutatief. Vraag 1.2 De samenstelling van de orthogonale spiegelingen t.o.v. twee gegeven vlakken in de

Nadere informatie

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

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

Nadere informatie

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

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

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

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

Data Handling Ron van Lammeren - Wageningen UR

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

Nadere informatie

CSRQ Center Rapport over onderwijsondersteunende organisaties: Samenvatting voor onderwijsgevenden

CSRQ Center Rapport over onderwijsondersteunende organisaties: Samenvatting voor onderwijsgevenden CSRQ Center Rapport over onderwijsondersteunende organisaties: Samenvatting voor onderwijsgevenden Laatst bijgewerkt op 25 november 2008 Nederlandse samenvatting door TIER op 5 juli 2011 Onderwijsondersteunende

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

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

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

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

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

Nadere informatie

Teardrop readout gradient waveform design. Ting Ting Ren

Teardrop readout gradient waveform design. Ting Ting Ren Teardrop readout gradient waveform design Ting Ting Ren Overview MRI Background Teardrop Model Discussion Future work MRI Background: Classical Description of MRI Spins: MR relevant nuclei, like 1 H. Main

Nadere informatie

IEEE P802.3bt June 2015 Interim. Dan Dove, DNS for LTC. June 16, June 16, 2015

IEEE P802.3bt June 2015 Interim. Dan Dove, DNS for LTC. June 16, June 16, 2015 IEEE P802.3bt June 2015 Interim Dan Dove, DNS for LTC June 16, 2015 June 16, 2015 IEEE P802.3bt June 2015 Interim 1. Removed slide formatting and borders to make more direct transfer to FrameMaker for

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

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

SOLVING SET PARTITIONING PROBLEMS USING LAGRANGIAN RELAXATION

SOLVING SET PARTITIONING PROBLEMS USING LAGRANGIAN RELAXATION SOLVING SET PARTITIONING PROBLEMS USING LAGRANGIAN RELAXATION Proefschrift ter verkrijging van de graad van doctor aan de Universiteit van Tilburg, op gezag van de rector magnificus, prof. dr. F.A. van

Nadere informatie

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R Risico s van Technologisch Succes in digitale transformatie 2e Risk Event 2019 11 april 2019 The S T R A T E G I C A D V I S O R Ymanagement school of the autonomous University of Antwerp 2 Prof. dr. Hans

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

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

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

Nadere informatie

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

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

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

Nadere informatie

Het JPEG compressie algoritme, IS

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

Nadere informatie

De 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

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

(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

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

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

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

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

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

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

Nadere informatie

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

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

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

Nadere informatie

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

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

Inhoudsopgave Fout! Bladwijzer niet gedefinieerd. Fout! Bladwijzer niet gedefinieerd. Fout! Bladwijzer niet gedefinieerd.

Inhoudsopgave Fout! Bladwijzer niet gedefinieerd. Fout! Bladwijzer niet gedefinieerd. Fout! Bladwijzer niet gedefinieerd. Validatie van het EHF meetinstrument tijdens de Jonge Volwassenheid en meer specifiek in relatie tot ADHD Validation of the EHF assessment instrument during Emerging Adulthood, and more specific in relation

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

Opleiding PECB IT Governance.

Opleiding PECB IT Governance. Opleiding PECB IT Governance www.bpmo-academy.nl Wat is IT Governance? Information Technology (IT) governance, ook wel ICT-besturing genoemd, is een onderdeel van het integrale Corporate governance (ondernemingsbestuur)

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

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

Process Mining and audit support within financial services. KPMG IT Advisory 18 June 2014

Process Mining and audit support within financial services. KPMG IT Advisory 18 June 2014 Process Mining and audit support within financial services KPMG IT Advisory 18 June 2014 Agenda INTRODUCTION APPROACH 3 CASE STUDIES LEASONS LEARNED 1 APPROACH Process Mining Approach Five step program

Nadere informatie

Behandeleffecten. in Forensisch Psychiatrisch Center de Rooyse Wissel. Treatment effects in. Forensic Psychiatric Centre de Rooyse Wissel

Behandeleffecten. in Forensisch Psychiatrisch Center de Rooyse Wissel. Treatment effects in. Forensic Psychiatric Centre de Rooyse Wissel Behandeleffecten in Forensisch Psychiatrisch Center de Rooyse Wissel Treatment effects in Forensic Psychiatric Centre de Rooyse Wissel S. Daamen-Raes Eerste begeleider: Dr. W. Waterink Tweede begeleider:

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

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. vals Vraag 1.2 Het schroefoppervlak is een afwikkelbaar oppervlak

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 De samenstelling van rotaties in het vlak is commutatief. Vraag 1.2 De samenstelling van de orthogonale spiegelingen t.o.v. twee gegeven vlakken in de

Nadere informatie

Procedure Reset tv-toestellen:

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

Nadere informatie

BVBA POMAC-LUB-SERVICES SPRL Korte Bruggestraat 28 B-8970 Poperinge Tel. 057/33 48 36 Fax 057/33 61 27 info@pomac.be internet: www.pomac.

BVBA POMAC-LUB-SERVICES SPRL Korte Bruggestraat 28 B-8970 Poperinge Tel. 057/33 48 36 Fax 057/33 61 27 info@pomac.be internet: www.pomac. Smeersysteem voor conveyors Conveyors lubrication systems KS-007a-1-NE SMEERSYSTEEM VOOR MONO OF BIRAIL CONVEYORS Dit systeem is ontworpen voor het gedoseerd smeren van de lagers van de rollen van conveyors

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

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

Published Information technology Generic coding of moving pictures and associated audio information: Systems

Published Information technology Generic coding of moving pictures and associated audio information: Systems INTERNATIONAL STANDARD ISO/IEC 13818-1:2007 Published 2008-02-15 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ ORGANISATION INTERNATIONALE DE NORMALISATION

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

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

Voorbeeld. Preview ISO INTERNATIONAL STANDARD

Voorbeeld. Preview ISO INTERNATIONAL STANDARD INTERNATIONAL STANDARD ISO 10202-8 First edition 1998-07-15 Dit document mag slechts op een stand-alone PC worden geinstalleerd. Gebruik op een netwerk is alleen. toestaan als een aanvullende licentieovereenkomst

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

Emotionele Arbeid, de Dutch Questionnaire on Emotional Labor en. Bevlogenheid

Emotionele Arbeid, de Dutch Questionnaire on Emotional Labor en. Bevlogenheid Emotionele Arbeid, de Dutch Questionnaire on Emotional Labor en Bevlogenheid Emotional Labor, the Dutch Questionnaire on Emotional Labor and Engagement C.J. Heijkamp mei 2008 1 ste begeleider: dhr. dr.

Nadere informatie

CTI SUITE TSP DETAILS

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

Nadere informatie

Validatie van de Depressie lijst (DL) en de Geriatric Depression Scale (GDS-30) bij Verpleeghuisbewoners

Validatie van de Depressie lijst (DL) en de Geriatric Depression Scale (GDS-30) bij Verpleeghuisbewoners Validatie van de Depressie lijst (DL) en de Geriatric Depression Scale (GDS-30) bij Verpleeghuisbewoners van Somatische en Psychogeriatrische Afdelingen Validation of the Depression List (DL) and the Geriatric

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

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

AVCHD. AVCHD Workshop. 2012 Hans Dorland

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

Nadere informatie

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

Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen

Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen Sebastiaan Van Leuven Begeleider: Koen De Wolf Promotor: prof. dr. ir. Rik Van de Walle lic. Koen De Wolf Scriptie ingediend

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

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

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

Nadere informatie

Het Effect op Compliance Gedrag van de Invoering van de Vooringevulde Aangifte. J.M. Trooster

Het Effect op Compliance Gedrag van de Invoering van de Vooringevulde Aangifte. J.M. Trooster Het Effect op Compliance Gedrag van de Invoering van de Vooringevulde Aangifte The Effect of pre-completed Tax returns forms on Compliance J.M. Trooster Eerste begeleider: dr. P. Verboon Tweede begeleider:

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

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

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

Nadere informatie

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

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

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

Nadere informatie

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

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

Esther Lee-Varisco Matt Zhang

Esther Lee-Varisco Matt Zhang Esther Lee-Varisco Matt Zhang Want to build a wine cellar Surface temperature varies daily, seasonally, and geologically Need reasonable depth to build the cellar for lessened temperature variations Building

Nadere informatie

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

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

Nadere informatie

Voorbeeld. Preview. norm. Correctieblad NEN-ISO/IEC /C1 (en)

Voorbeeld. Preview. norm. Correctieblad NEN-ISO/IEC /C1 (en) Nederlandse norm Information technology - Coding of audiovisual objects - Part 15: Carriage of network abstraction layer (NAL) unit structured video in ISO base media file format (ISO/IEC 14496-15:2014/Cor

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

Algorithms for Max-Flow

Algorithms for Max-Flow Algorithms for Max-Flow Consider a network with given upper bounds for the capacities of the arcs, and one entry and one exit node. The max-flow problem consists in finding a maximal flow through the network

Nadere informatie

1.1 ORGANIZATION INFORMATION 1.2 CONTACT INFORMATION 2.1 SCOPE OF CERTIFICATION 2.2 AUDITOR INFORMATION 3.1 AUDIT CONCLUSIONS 3.2 MANAGEMENT SYSTEM EFFECTIVENESS 3.3 OBSERVATIONS Organization Address Name

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

Intermax backup exclusion files

Intermax backup exclusion files Intermax backup exclusion files Document type: Referentienummer: Versienummer : Documentatie 1.0 Datum publicatie: Datum laatste wijziging: Auteur: 24-2-2011 24-2-2011 Anton van der Linden Onderwerp: Documentclassificatie:

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