Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen

Maat: px
Weergave met pagina beginnen:

Download "Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen"

Transcriptie

1 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 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 Dankwoord Mijn dank gaat uit naar iedereen die mij heeft bijgestaan tot het produceren van deze thesis en het werk dat hieraan verbonden is. in het bijzonder naar mijn begeleider, Lic. Koen De Wolf, voor de opvolging en feedback die hij mij bezorgd heeft. Ik wens hem via deze weg het beste toe met zijn doctoraat. Daarnaast had ik ook graag Glenn en Sammy vermeld, voor de leuke discussies die ze mij de afgelopen jaren bezorgd hebben. Mede dankzij hen heb ik steeds meer inzichten gekregen in de wondere wereld van de video compressie. Graag had ik Prof. Van de Walle vermeld, voor al zijn inspanningen die hij levert om het Multimedia Lab te laten groeien, en daarbij uitdagende en boeiende thesissen kan uitschrijven. Verder had ik ook het Joint Video Team (JVT) van ITU-T en MPEG willen bedanken voor al het werk dat zij steken in de ontwikkeling H.264/AVC/SVC en de bijhorende referentie software. Zonder hen had dit werk niet tot stand kunnen komen. Tot slot had ik graag mijn ouders vermeld, die de afgelopen jaren steeds in mij zijn blijven vertrouwen, en van wie ik de kansen en de mogelijkheden heb gekregen om dit waar te maken. i

3 Toelating tot Bruikleen De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen van de masterproef 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 masterproef. datum handtekening ii

4 Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen door Sebastiaan Van Leuven Afstudeerwerk ingediend tot het behalen van de graad van Burgerlijk ingenieur in de computerwetenschappen Academiejaar Universiteit Gent Faculteit Ingenieurswetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Promotor: prof. dr. ir. R. Van de Walle Thesisbegeleider: lic. K. De Wolf Samenvatting Dit werk geeft een inleiding in de schaalbare uitbreiding van H.264/AVC. Waarna besproken is hoe een analyse van schaalbare H.264/AVC-stroom verloopt. De resultaten van deze analyses zijn ingezet om experimenteel de verbanden tussen macrobloktypes van macroblokken op verschillende lagen te zoeken. Waarna deze verbanden zijn gebruikt om heuristieken op te stellen voor een macroblokvoorspeller. Zodanig deze niet meer alle macrobloktypes hoeft te testen, maar is a.d.h.v. de voorgestelde oplossingsmethoden een deelverzameling van te testen macrobloktypes bekomen. Hiermee kan de complexiteit van een H.264/SVC-encoder aanzienlijk worden gereduceerd, ofschoon gezorgd is dat er niet veel ingeboet wordt aan benodigde bitsnelheid en de nauwkeurigheid van de macroblokvoorspelling. Trefwoorden: H.264/SVC, Analyse, Macroblokvoorspelling, Macroblokcorrelatie iii

5 Implementation of a Tool for Analysis of Scalable Coded Video Sebastiaan Van Leuven Supervisor(s): lic. Koen De Wolf, prof. dr. ir. Rik Van de Walle Abstract This article will discuss a fast mode decision scheme based on heuristics. The heuristics are determined by experiments. Scalable coded video streams are analyzed in order to determine a relation between the macroblock type of co-located macroblocks. The analyses are performed using a special created tool. The results show that there is a correlation between the macroblock type of the enhancement layer MB and the used quantization, resolution and macroblock type of the co-located macroblock in base layer. These correlations are explained by the properties of the macroblock types. Keywords H.264/SVC, Fast Mode Decision, Heuristics, Macroblock Correlation. I. INTRODUCTION H264/AVC is the latest developed video coding standard, it is jointly developed by ITU-T and MPEG. When different users have to be able to watch a H.264/AVC coded sequence using different resolutions, for each type of device a new stream must be created. These streams can be delivered in simulcast, where every device receives all different streams and picks te one that s most suitable for the application. Since this approach is not scalable, a scalable extension is incorporated in the standard which results in H.264/SVC. The extension introduces the concept of layers. For each type of scalability (spatial, temporal, quality) a different type of layer can be used. Within this scalability, each layer adds additional information compared with lower layers. Doing this, information is not sent multiple times. In the past, scalable video standards have not been very popular. One of the reasons is the fact that for each additional scalable level the frame has to be decoded again. This drawback have been tackled in H.264/SVC. Only a single decoding loop will be used [1]. This means that a frame is decoded in one decoding step, using the information from all available layers, where the information included in higher layers refines the information from lower layers. By doing so, the information of lower layers is still needed, in order not to have redundant information in multiple layers, inter-layer prediction can be used, such that the lower spatial layer is used a reference. For (bi)inter-coded frames, information such as motion vectors and macroblock (MB) types can be extracted. This is signaled to the decoder using BL Skip, additional residual difference information can be sent, if applicable. For intra-coded frames, the lower layer frame is used as reference frame and only the residual difference information is being sent. This is signaled using I BL, in this case no mode decision is necessary in the enhancement Layer (EL). S. Van Leuven is with the Computer Science Department, Ghent University (UGent), Gent, Belgium. sebastiaan.vanleuven@ugent.be. II. MACROBLOCK MODE DECISION The mode decision used in H.264/SVC is the same as in H.264/AVC and is explained in [2]. For H.264/SVC the encoder will perform a mode decision step for each spatial layer. Because this operation has a high computational cost, it is important to reduce the complexity of this mechanism to save time and energy. Previous research [3], [4] already gained some information how to reduce this complexity. However a further reduction of complexity can be obtained if the encoder would consider only a small amount of possible MB types. A tool have been made, which visualizes the used MB modes. This way a correlation matrix can be generated. The columns of this matrix represent the MB type of the EL, while the rows represent the MB type of the base layer (BL). The first row and column indicates the skipped MBs. The elements in the matrix show how many MBs have corresponding MB type in EL and BL compared to the row and column index. In order to compare the results of different resolutions and streams with different lengths, these matrices are converted to MB correlation matrices in terms of percentage. For each MB type in BL (row) the probability of a MB type to be selected in the EL is calculated when the MB type of BL is known. This way the sum of all elements of the row equals 1. Using this approach, an encoder is able to estimate what MB type will be selected using a priori information. In order to develop a complete scheme, multiple streams have been encoded. For every type of stream, rules are proposed such that in every situation an encoder has a subset of MB types for which one of these MB types are highly expected to be selected. This allows the encoder to reduce complexity by only testing this subset of MB types. A. Methodology III. EXPERIMENTAL RESULTS Five different video sequences have been coded using spatial scalability and different quantization parameters (QP). Three streams ( Bus, Foreman, Mobile ) have QCIF resolution in BL, and CIF resolution in EL (noted QCIF/CIF). Two sequences ( City and Crew ) have CIF/4CIF resolution. For each sequence, 16 streams are coded using different QP in BL (QP BL ) and in EL (QP EL ), where QP BL, QP EL {12, 18, 24, 30}. For each stream there are different MB correlation matrices in terms of percentage constructed for P- and B-frames. For each stream a subset of MB types is received by evaluating the distribution of the different MB types in EL. Out of this distribution a subset is created for which the accumulated sum of selection probabilities is high.

6 B. Results Each of the four categories (based on resolution and frame type) has different correlation matrices, such that for each of this category another subset will be created. A distinction has to be made for CIF/4CIF streams where natural motion has a different outcome compared to motion due to camera movements. This last type has the same characteristics as QCIF/CIF streams. This section will show for each category separately the results of the correlation analyses. In every situation, it is seen that the the MB type of the co-locate MB of the BL is a potential candidate to be the MB type in the EL. This is known by the high values on the diagonals in the MB correlation matrix. B.1 B-frames in QCIF/CIF QP EL < 18 {mb type BL, 0, 3, 20, 21, 22} 18 QP EL < 24 {mb type BL, 1, 0, 3, 20, 21, 22} QP EL = 24 {mb type BL, 1, 0, 1, 2, 3, 20, 21, 22} QP EL > 24 {mb type BL, 1, 0, 1, 2, 3, 22} B.2 B-frames in CIF/4CIF QP EL < 18 QP BL QP EL QP EL < < QP BL > QP EL } } {mb type BL, 0, 3, 20, 21, 22, 23} {mb type BL, 0, 1, 2, 3, 20, 21, 22, 23} 24 QP EL < 30 {mb type BL, 1, 0, 1, 2, 3, 20, 21, 22, 23} QP EL 30 {mb type BL, 1, 0, 1, 2, 3} B.3 P-frames in QCIF/CIF The probability distribution for MB types in EL is more uniform compared to bi-inter coded frames. Extra a priori information can be found in the MB type of the BL. This allows exclusion of some MB types out of the subset. Below (1)-(3) shows the elements to be excluded from the subset (4)-(7) type BL = 3 type BL = 0 } {1, 2} (1) type BL = 1 {2} (2) type BL = 2 {1} (3) The subset, depending on QPs and independent of the MB type is given by: QP BL < QP EL < 24 {mb type BL, 0, 1, 2, 3} (4) QP BL QP EL < 24 {mb type BL, 0, 1, 2, 3, 5} (5) QP BL < QP EL 24 {mb type BL, 1, 0, 1, 2, 3} (6) QP BL QP EL 24 {mb type BL, 1, 0, 1, 2, 3, 5} (7) B.4 P-frames in CIF/4CIF QP EL = 12 QP BL QP EL 12 } {type BL, 3, 5} QP BL < QP EL 30 {mb type BL, 0} QP EL = 24 QP BL QP EL = 30 QP EL = 18 QP BL < 30 } {mb type BL, 0, 1, 2, 3, 5} B.5 Intra-coded macroblocks in CIF/4CIF Separate heuristics are found for intra-coded MB in CIF/4CIF resolution. QP EL < QP BL mb type EL {mb type BL, I NxN} QP EL QP BL mb type EL {mb type BL } IV. DISCUSSION Depending on the type of the frame and the used QPs, a different subset of MB types will have a high probability to be selected in the encoder. For lower resolutions, the MB types that have no partitions will increase in number when QP EL rises, this due to the fact that MBs become more homogeneous. This increase will happen sooner compared to higher resolutions. For higher resolutions, the higher degree in detail, will cause these partitioned MB types to be still important at higher QPs, until a certain extend. At the same time, the partitioned MB types will decrease in amount. There is a point where both types are equally important. Depending on the resolution, this point will vary. For bi-inter coding it is seen that bi-inter MB types are more selected than inter-coded MB types with the same partitioning. This is due to the fact that prediction on a (weighted) average of two reference frames will generally result in beter performance. For P-frames in lower resolutions, the orthogonality of the partitioning in the sample-space will cause MBs in EL not to use a MB type with an orthogonal partitioning. However it seems that MB types with smaller or bigger partitions can always be selected. The higher degree of detail at higher resolutions will result in a more uniform distribution of the selection probability, except when high quality is aimed, then only MB types using small partitions will be very important. V. CONCLUSION Depending on a priori information the MB mode decision can reduce the set of MB types to a subset for which it is known that, under given circumstances, one of the elements of the subset will be selected. These subsets are obtained experimentally. Out of the results, heuristics are proposed in order to allow an encoder to use the correct subset, and reduce the necessary complexity. Applying the proposed heuristics to the generated sequences, shows that generally 85-95% of the MBs will be predicted correctly. This can result in an encoder where the MB decision step is reduced by 80%, because approximately only 20% of the MB types should be tested. The bitrate will slightly increase, because using a sub-optimal MB won t have significant influence on the total number of bits, as long as the amount of sub-optimal MBs is limited. [4]. ACKNOWLEDGMENTS The authors would like to acknowledge the suggestions and comments of Koen De Wolf. REFERENCES [1] Mathias Wien, Heiko Schwarz and Tobias Oelbaum, Performance Analysis of SVC, IEEE Transactions On Circuits ans Systems for Video Technology, 17(9), [2] Iain E.G. Richardson, H.264 and MPEG-4 Video Compression, John Wiley & Sons, [3] Koen De Wolf, Davy De Schrijver, Wesley De Neve, Saar De Zutter, Peter Lambert, Rik Van de Walle, Analysis of Prediction Mode Decision in Spatial Enhancement Layers in H.264/AVC SVC, LNCS: Computer Analysis of Images and Patterns, [4] He Li, Z.G. Li, and Wen Changyun, Fast Mode Decision Algorithm for Inter Frame Coding in Fully Scalable Video Coding, IEEE Transactions On Circuits and Systems for Video Technology, 16(7), 2007.

7 Inhoudsopgave 1 Inleiding Probleemstelling Overzicht Het beoogde doel Methodologie De schaalbare uitbreiding van H.264/AVC Inleiding Gelaagde structuur Single-loop decoder Verschillen tussen AVC en SVC Inter-layer prediction Inter-layer motion prediction Inter-layer residual prediction Inter-layer intra frame prediction Intra-layer inter frame prediction Syntactische wijzigingen Samenvallende macroblokken H.264/SVC Profielen Scalable high profiel en scalable high intra profiel Scalable baseline profiel Referentiesoftware vi

8 3 Analyse tool voor H.264/SVC Inleiding Bestaande programma s Analyse tool SVCParser SVCAnalyser Toepassingsgebieden Correlatieanalyse van macroblokken in niet-spatiaal geschaalde stromen Inleiding Macroblokvoorspelling Methodologie Experimentele resultaten Macroblok analyse Stroomanalyse Conclusie Correlatieanalyse van macroblokken in spatiaal geschaalde stromen Inleiding Methodologie Experimentele resultaten Effect van het beeldtype Effect van de resolutie B-beelden in QCIF/CIF-stromen B-beelden in CIF/4CIF-stromen P-beelden in QCIF/CIF-stromen P-beelden in CIF/4CIF-stromen Conclusie Besluiten Inleiding Analyseprogramma Heuristieken Resultaten vii

9 A Handleiding bij de ontwikkelde software 80 A.1 SVCParser A.1.1 Compilatie A.1.2 Werking A.2 SVCAnalyser B DVD met bijkomende informatie 84 Bibliografie 86 viii

10 Lijst van figuren 2.1 Lagen structuur van H.264/SVC Schematische voorstelling van access unit vs. primair gecodeerd beeld Co-located submacroblokken uit uitbreidingslaag en macroblokken uit de basislaag Trace voorbeeld syntax informatie Trace voorbeeld met CABAC Voorbeeld trace van SVCParser Macroblokanalyse per access unit Gedeeltelijke macroblok-correlatiematrix Bitsnelheid en SPS-analyse Grafiek: Percentage co-located macroblokken met verschillend macrobloktype Gedeeltelijke macroblok-correlatiematrix bij QP BL QP EL Gedeeltelijke macroblok-correlatiematrix bij QP BL QP EL Grafiek: Kwaliteit en bitsnelheid voor sequentie Foreman (18,QP EL ) Effect van resolutie en beeldtype op de macroblokcorrelatie Grafiek: Percentage niet-gecodeerde macroblokken Niet-gecodeerde macroblokken in QCIF/CIF-stromen Overzicht meetresultaten B-beelden in QCIF/CIF-stromen Overzicht meetresultaten B-beelden in CIF/4CIF-stromen Overzicht meetresultaten P-beelden A.1 Waarschuwing ten gevolge van /FORCE:MULTIPLE A.2 Gebruik van SVCParser A.3 Gebruik van SVAnalyser ix

11 Lijst van tabellen 3.1 Voor- en nadelen van Simecom SVC analyzer Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Bus Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Foreman Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Mobile Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Crew Analyse co-located macroblokken met QP BL = Bus (18,12), QCIF/CIF, B-beelden correlatiematrix Bus (18,18), QCIF/CIF, B-beelden correlatiematrix Bus (18,30), QCIF/CIF, B-beelden correlatiematrix Nauwkeurigheid macroblokvoorspeller: B-beelden met QCIF/CIF-resolutie Nauwkeurigheid Macroblokvoorspeller: B-beelden met CIF/4CIF-resolutie Nauwkeurigheid macroblokvoorspeller: P-beelden met QCIF/CIF-resolutie Nauwkeurigheid macroblokvoorspeller: P-beelden met QCIF/CIF-resolutie Overzicht nauwkeurigheid heuristieken x

12 Lijst van afkortingen mb type mb type BL mb type EL QP BL QP EL AVC CAVLC CIF DPB DVB FMO GOP ILP JSVM MbMode NAL PPS PPS QCIF QP macroblock type macroblock type basislaag macroblock type uitbreidingslaag QP Base Layer QP Enhancement Layer Advanced Video Coding Context-Adaptive Variable-Length Coding Common Intermediate Format Decoded Picture Buffer Digital Video Broadcasting Flexible Macroblock Ordering Group Of Pictures Inter Layer Prediction Joint Scalable Video Model macroblock mode Netwerk Abstractie Laag Context-Adaptive Binary Arithmetic Coding Picture Parameter Set Quarter CIF Quantization Parameter xi

13 SEI SPS SVC VCL Supplemental Enhancement Information Sequence Parameter Set Scalable Video Coding Video Coding Layer xii

14 Hoofdstuk 1 Inleiding 1.1 Probleemstelling Sinds het begin van de 21ste eeuw kent digitale video codering een steile opmars. Snellere processoren, goedkoper geheugen, toegankelijker breedband internet, de introductie van DVD, het begin van Digitale Video Broadcasting DVB),... zorgen ervoor dat mensen meer en meer in aanraking komen met digitale video. Veelal is voor de digitalisering van deze video s gebruik gemaakt van MPEG-2 codering. Dankzij krachtigere processoren, kunnen complexere algoritmen gebruikt worden die de coderingsefficiëntie van MPEG-2 verbeteren. MPEG-4 Part 2: Visual kan beschouwd worden als de opvolger van MPEG-2. Deze standaard is geïmplementeerd in o.a. DiVX en XVID codecs dewelke nadien door de industrie in verscheidene toestellen zijn geïntegreerd. Naast de complexere alghoritmen, wenste men ook meer flexibiliteit aan een videostroom toe te voegen. Hiervoor begon men aan de ontwikkeling van MPEG-4 Part 10: Advanced Video Coding (AVC), ondertussen was het ITU-T (International Telecommunications Union - Telecommuncations sector) bezig met een soortgelijke opvolger voor H.263, de H.26L (Long Term) standaard. Al vlug bleek dat beide organisaties hetzelfde bereikten, en werd besloten om de nieuwe videocodeerstandaard samen te ontwikkelen met als naam: MPEG-4 Part 10: AVC/H.264 (ISO/IEC / ITU-T Rec. H.264). In het verdere verloop van de tekst is de term H.264/AVC gebruikt. Niet alleen is in H.264/AVC de efficiëntie verbeterd door ook gebruik te maken van complexere mechanismen, er zijn ook nieuwe technieken gebruikt om een grotere foutrobuustheid te bekomen, flexibeler doorsturen van bitstromen,.... Eén van de tekort- 1

15 komingen van H.264/AVC is dat het geen oplossing biedt wanneer verschillende media één bronbestand gebruiken. Zo bevat een videostroom voor een PDA andere eigenschappen dan een stroom bedoeld voor High Definition uitzendingen. Om hieraan tegemoet te komen is beslist om een schaalbare uitbreiding aan de H.264/AVC-specificatie toe te voegen, Scalable Video Coding (SVC). De resulterende naam voor deze standaard is MPEG-4 Part 10: SVC H.264/SVC. Doorheen de tekst is enkel de benaming H.264/SVC gebruikt. Na de voltooïng van H.264/AVC werden een aantal programma s ontwikkeld voor de analyse van H.264/AVC-videostromen. Deze tools visualiseren de syntactische elementen die in de stromen aanwezig zijn, alsook hebben ze de mogelijkheid om uit deze informatie conlusies te trekken, die de performantie van de encoders kan verhogen. Met de introductie van H.264/SVC zijn de applicaties voor de analyse van H.264/AVC niet in staat om de videostromen te decoderen, of te analyseren. Verder zijn er typische eigenschappen, verbonden aan H.264/SVC die deze programma s niet kunnen visualiseren. Om te zorgen dat een schaalbare H.264/AVC-videostroom kan geanalyseerd worden en verbanden tussen verschillende lagen van de stroom kunnen gevisualiseerd worden, is een nieuwe tool ontwikkeld. 1.2 Overzicht Na deze inleiding is een overzicht gegeven van de eigenschappen die schaalbare video codering binnen H.264/AVC bezitten. Hierbij is de nodige aandacht besteed aan concepten nieuw in H.264/SVC en verschillen op syntactisch vlak met H.264/AVC. Na deze uiteenzetting over schaalbaarheid, komt een bestaand analyseprogramma voor H.264/SVC aan bod. Hieruit is bepaald waaraan de nieuwe te ontwerpen applicatie moet voldoen, en wordt deze analyse applicatie toegelicht. Het tweede deel van deze thesis bevat de verwerking van de gegevens die de analyse applicatie (analyse tool) heeft geproduceerd. Hierbij zijn verbanden tussen verschillende macroblokken op verschillende lagen, die dezelfde positie in het beeld beslaan, experimenteel onderzocht. Deze resultaten zijn bekeken, geïnterepreteerd, en geanalyseerd. Hieruit zijn conclusies getrokken waardoor de encoder een drastische vermindering in complexiteit kan verkrijgen. 2

16 De analyses zijn toepasbaar op zowel H.264/AVC- en H.264/SVC-stromen. In dit werk zijn enkel analyses op H.264/SVC-stromen gebruikt, toegepast op zowel spatiaal als nietspatiaal geschaalde stromen. Beide groepen dienen ingedeeld te worden afhankelijk van het beeldtype, en de resolutie. Dit leidt tot een aantal categoriën van schaalbare videostromen. Voor elke categorie is een heuristiek opgesteld waardoor de encoder sneller het juiste macrobloktype voor codering selecteert, en waarbij maximaal 20% van de macroblokken een niet-optimale oplossing krijgen. Verder onderzoek, dat hier niet is uitgevoerd, dient de effecten op het vlak van kwaliteit en benodigde bitsnelheid te onderzoeken. Tenslotte is een conclusie geformuleerd omtrent de bekomen resultaten Het beoogde doel Het doel is een analyse te maken, van de verbanden tussen samenvallende macroblokken op verschillende lagen, aan de hand van een eigen ontworpen analysetool. Deze analysetool dient daarnaast op een eenvoudige wijze de syntactische gegevens in een H.264/SVCvideostroom te visualiseren, alsmede onderlinge verbanden tussen verschillende parameters weer te geven. De tool moet op een eenvoudige wijze uitbreidbaar te zijn om andere parameters te onderzoeken en toekomstige wijzigingen van de H.264/SVC-standaard te implementeren. De gevisualiseerde gegevens in de analyse moeten leiden tot heuristieken, die een snelle oplossingsmethode voor de encoder voorstellen zodanig deze minder complex is, en bijgevolg minder tijd zal nodig hebben, minder rekenkracht dient te bezitten en dus goedkoper kan gemaakt worden Methodologie Door gebruik te maken van de mogelijkheden van bestaande software, is deze software zodanig aangepast zodat tijdens het decoderen een tekstbestand is aangemaakt, waarin alle syntactische parameters uit de stroom vermeld zijn, alsmede de waarde die deze parameters bezitten. Deze manier laat toe om de software eenvoudig aan te passen wanneer er een nieuwe versie van de standaard en/of software beschikbaar is. Nadat de decoder het tekstbestand gegenereerd heeft, zal de analyse tool deze tekst interpreteren en de nodige syntactische elementen uit de stroom onderzoeken om hieruit een analyse te maken. 3

17 De analyse tool is zodanig ontwikkeld dat het tekstbestand uit het decodeerproces van begin tot einde wordt uitgelezen, zonder terug te keren. Op deze manier kunnen de verschillende programma s in een pipe gezet worden en gelijktijdig worden uitgevoerd. Na de ontwikkeling van de tool is deze gebruikt om analyses uit te voeren. De resultaten hiervan zijn gevisualiseerd in grafieken, die geïnterpreteerd zijn waardoor de correlaties tussen de verschillende lagen experimenteel zijn aangetoond. 4

18 Hoofdstuk 2 De schaalbare uitbreiding van H.264/AVC 2.1 Inleiding Voordat H.264/SVC wordt toegelicht, is het interessant schaalbaarheid te verduidelijken. Een videostroom is schaalbaar, wanneer delen uit de stroom apart kunnen worden verzonden, en de resulterende substroom nog steeds geldig en decodeerbaar is. Het resulterende beeld zal dezelfde inhoud bevatten als het origineel, maar met een lagere kwaliteit [1]. De schaling (het nemen van onderdelen uit de originele stroom) houdt in dat de gebruiker enkel het deel ontvangt van een stroom dat hem de best mogelijke kwaliteit geeft, rekening houdend met de beperkingen. Deze beperkingen zijn enerzijds het ontvangstmedium, dat beperkt is door rekenkracht, geheugenopslag en schermresolutie, en anderzijds het netwerk dat voor het transport van deze videostroom instaat. Om ervoor te zorgen dat niet voor elk soort toestel en voor elke netwerkconditie een bronbestand aangemaakt moet worden, is extra informatie aan de H.264/AVC-stroom toegevoegd op zo een manier dat schaling kan plaatsvinden. 2.2 Gelaagde structuur Om schaalbaarheid in H.264/AVC te brengen is het concept van lagen ( Layers ) bedacht. Er zijn drie vormen van schaalbaarheid in H.264/SVC geïntroduceerd, die elk een ander 5

19 vorm van gelaagde structuur voorstellen. Spatiale Schaalbaarheid: Deze vorm van schaalbaarheid laat toe om tussen de verschillende lagen verschillende resoluties te gebruiken. Een spatiale laag (Spatial Layer) moet minimaal de beeldgrootte van de onderliggende laag bevatten. Temporele Schaalbaarheid: Wordt bekomen door niet alle beelden door te zenden, maar een verlaagd aantal beelden per seconde (framerate control). Kwaliteit Schaalbaarheid: Een kwaliteitslaag (Quality Layer) bevat extra residuele verschildata ten opzichte van een vorige kwaliteitslaag. Er kunnen zich 16 kwaliteitsniveau s voordoen in één spatiale laag. Wanneer in de tekst een laag (zonder de vermelding van het type) voorkomt, is altijd een spatiale laag bedoeld, anders zal steeds verduidelijkt zijn om welk type het gaat. Een schaalbare stroom bestaat uit één basislaag (zgn. Base Layer) en één of meerder uitbreidingslagen (Enhancement Layers). Een uitbreidingslaag kan zowel een spatiale laag als een kwaliteitslaag voorstellen. Een spatiale laag heeft niet noodzakelijke een andere resolutie, het is gekenmerkt doordat het een andere afhankelijkheidslaag (Dependency Layer) vormt. In het verdere verloop van deze tekst zullen de termen spatiale laag, laag, uitbreidingslaag en afhankelijkheidslaag dezelfde betekenis hebben en wijzen op een afhankelijkslaag (een laag met Dependency id > 0). Een kwaliteitslaag zal altijd de volledige benaming meekrijgen, en niet zijn gekenmerkt door de term uitbreidingslaag. Wanneer het gaat over spatiale schaalbaarheid, wordt wel degelijk bedoeld dat tussen de verschillende afhankelijkheidslagen een andere resolutie gebruikt is. Een geschaalde stroom wordt verkregen door uit het bronbestand de basislaag te extraheren. Indien de bassislaag verschillende kwaliteitslagen bezit, kan één of meer van deze kwaliteitslagen verzonden worden. Niet alle kwaliteitslagen van een voorgaande afhankelijkheidslaag moeten geëxtraheerd zijn voordat de volgende afhankelijkheidslaag kan verzonden worden. Bij temporele schaalbaarheid moet gezorgd worden, dat de decoder nog steeds de nodige delen van een stroom krijgt, zodanig de voorspelling van beelden kan blijven werken. Wanneer alle beelden van een intra-periode zijn verzonden, is dit de maximale temporele resolutie. Eén temporele laag lager, zijn minder beelden verstuurd, de temporele laag eronder terug minder, enz... In totaal, zijn er zo 8 temporele resoluties, binnen een spatiale laag. 6

20 Als men de tijd voorstelt op de x-as, komt dit overeen met de temporele laag. Orthogonaal hierop, in de y-richting, kan de resolutie wijzigen (spatiale laag). Indien de z-richting de kwaliteit verbeterd, is in deze richting kwaliteit schaalbaarheid voorgesteld. In onderstaande figuur 2.1 zijn op deze manier de drie vormen van schaalbaarheid grafisch weergegeven. Op de basislaag is een kleinere resolutie aanwezig, dan op de uitbreidingslaag. Hiernaast heeft de basislaag één temporele laag minder dan de uitbreidingslaag. De uitbreidingslaag heeft twee kwaliteitslagen. De pijlen geven de afhankelijkheden tussen de beelden weer. Een beeld waar een pijl vertrekt, zal afhankelijk zijn voor het beeld waar de pijl aankomt. Figuur 2.1: Lagen structuur van H.264/SVC. Een beeld op één spatiale- of kwaliteitslaag is een frame. Voorheen (MPEG-2,... ) werd een frame geassocieerd met één enkel beeld uit een videosequentie, strikt genomen is een frame een verzameling van één array van Luma- en twee arrays van Chromabemonsteringswaarden (samples). Bijgevolg zitten op verschillende lagen op het zelfde moment verschillende frames, die dezelfde visuele inhoud beschrijven. De output na decodering, dus de weergave op het scherm, vormt een primair gecodeerd beeld. Om in de bitstroom een primair gecodeerd beeld aan te duiden, is een access unit gebruikt. Dit is de verzameling van alle Netwerk Abstractie Laag eenheden (NAL units) met gecodeerde slices, dewelke data bevat van het primair gecodeerde beeld. Deze 7

21 slices behoren elk tot een laag, en dus ook tot een frame. Bijgevolg is een frame de verzameling van alle gecodeerde slices die tot éénzelfde laag behoren, de combinatie de netwerk paketten van alle frames die een gedecodeerd beeld vormen, vormt een access unit. Figuur 2.2 geeft de onderlinge verbanden schematisch weer. Figuur 2.2: Schematische voorstelling van access unit vs. primair gecodeerd beeld. 2.3 Single-loop decoder Schaalbare uitbreidingen op vroegere videocompressiestandaarden (MPEG-2 Video, H.263, MPEG-4 Visual) zijn niet zeer populair. De belangrijkste reden hiervoor is wellicht dat voor elke laag de decoder opnieuw het beeld volledig moet decoderen en dan pas naar de volgende laag kan overgaan. Aangezien dit een zeer rekenintensieve bewerking is, brengt dit een hoge computationele kost met zich mee. Om dit te voorkomen, heeft H.264/SVC een architectuur van decodering op basis van een enkelvoudige lus (single-loop)[2]. Dit houdt in dat enkel het beste frame volledig moet gedecodeerd worden. Om de nodige informatie te bekomen, is (syntax)informatie uit onderliggende lagen gebruikt. Op deze manier is maar één decodeerstap vereist. Referentiebeelden kunnen een bijkomende decodeerstap nodig hebben om het beeld voor de Decoded Picture Buffer (DPB) te genereren [3]. 2.4 Verschillen tussen AVC en SVC Omwille van compatibiliteit, is ervoor gezorgd worden dat een H.264/SVC-gecodeerde bitstroom steeds, gedeeltelijk, omgezet kan worden naar een H.264/AVC-compatibele bit- 8

22 stroom. Hiervoor zijn de gebruikte coderingstechnieken in H.264/SVC dezelfde als deze in H.264/AVC. Dit houdt in dat dezelfde vormen van voorspelling, quantisatie, entropieencodering,... zijn gebruikt, alsook dat mechanismen zoals Arbitrary Slice Order (ASO) en Flexible Macroblock Ordering (FMO) nog steeds ter beschikking staan van de encoders, al dan niet met beperkingen ( 2.5). Hiernaast zijn er een aantal verschillen. De voorspellingsmethoden zijn uitgebreid voor het gebruik van lagen. De syntax voor H.264/SVC moet de signalering van lagen en daarbij horende eigenschappen en opties toestaan, hierdoor is er een gewijzigde syntax t.o.v. H.264/AVC. Om er voor te zorgen dat er een minimum aan compatibiliteit is, is de basislaag steeds volledig in H.264/AVC gecodeerd en bevat deze ook de H.264/AVC-syntax. Op deze manier kan een H.264/AVC-decoder nog steeds delen uit de stroom recupereren. Dit wordt gedaan door de delen die kunnen geïnterpreteerd worden te decoderen, en de rest te negeren. In wat volgt zijn de verschillen op het vlak van voorspellingen besproken, vervolgens komen enkele belangrijke syntactische wijzigingen aan bod. In H.264/AVC zijn drie vormen van voorspelling gebruikt: Intra frame prediction: Hierbij is enkel gebruikgemaakt van informatie uit het zelfde beeld, dit is het geval bij I-frames. Inter frame prediction: Hierbij is gebruikgemaakt van informatie die zich in een referentiebeeld bevindt in de DPB, zgn. P-frames. Bi-Inter frame prediction: De informatie gebruikt bij de voorspelling komt uit 2 referentiebeelden, er kan eventueel een (gewogen) gemiddelde van de beschikbare informatie gebruikt worden. Dit zijn zgn. B-frames. H.264/SVC heeft extra vormen van voorspelling, dit om in de gelaagde structuur voorspelling op basis van voorgaande lagen te kunnen gebruiken Inter-layer prediction Frames van dezelfde access unit vormen één output beeld, hierdoor is er tussen de frames een grote correlatie aan informatie. Om deze redundante informatie uit te buiten, wordt 9

23 een nieuwe manier van voorspellen gebruikt, inter-layer prediction (ILP). Dit houdt in dat frames uit één laag samples kunnen gebruiken van frames uit een onderliggende laag, zolang de frames tot dezelfde access unit behoren. Op deze manier zijn de macrobloktypes en bewegingsvectoren ( 2.4.2) uit een onderliggende laag overgenomen, eventueel aangevuld met extra residuele verschildata ( 2.4.3). In een uitbreidingslaag kunnen ook volledige macroblokken worden overgenomen uit de basislaag. Tot slot laat ILP toe om intra-gecodeerde informatie uit een onderliggende laag te gebruiken, en aan te vullen ( 2.4.4). Deze methode is toegepast indien de samenvallende macroblokken uit de basislaag intra-gecodeerd zijn. Wanneer een macroblok gebruik maakt van gegevens afkomstig van een lager gelegen laag, wordt dit macroblok gesignaleerd als een BL Skip macroblok 1. Op deze manier worden macrobloktype (belangrijk voor de partitionering van het macroblok) en, indien van toepassing, de bewegingsvectoren overgenomen. Indien geen ILP gebruikt is, zijn de bepaling van het macrobloktype, bewegingsvectoren en residuele verschildata volledig volgens de H.264/AVC-specificaties uitgevoerd. In figuur 2.1 is de inter-layer voorspelling aangeduid door de (volle) verticale pijlen. Het vertrekpunt van de pijl, is het frame dat als referentiebeeld zal dienen. Het frame waar de pijl aankomt kan, indien gewenst, informatie van één of meerdere macroblokken uit het frame van de basislaag nemen. Een H.264/SVC-encoder heeft de mogelijkheid om inter-layer voorspelling te gebruiken, niet te gebruiken of adaptief te gebruiken. Indien inter-layer voorspelling is gebruikt, is per macroblok bepaald wat de beste oplossing is. Bij adaptieve inter-layer voorspelling is slice per slice bepaald wat de beste oplossing is, indien inter-layer voorspelling in een slice is toegestaan, is per macroblok aangeduid of inter-layer voorspelling al dan niet gebruikt is Inter-layer motion prediction Indien spatiale schaalbaarheid is toegepast, zijn de bewegingsvectoren herschaald naar de hogere resolutie. Dit door ze te vermenigvuldigen met de verhouding van de resolutie van de spatiale uitbreidingslaag t.o.v. de basislaag. Op deze manier verwijzen de bewegingsvectoren naar samenvallende macroblokken in referentiebeelden van de spatiale uitbreidingslaag. 1 BL Skip is geen volwaardig macrobloktype, maar een methode van signalisatie tussen encoder en decoder. (zie

24 Wanneer beide lagen een verschillende resolutie hebben, kan er nog een extra verfijning van de bewegingsvectoren verzonden worden. Deze verfijning wordt bij de bewegingsvector opgeteld, zo bekomt men een kwart-pixel bewegingsverfijning (Quarter Pel Motion Refinement)[4] Inter-layer residual prediction Wanneer de bewegingsvectoren van de basis- en uitbreidingslaag sterk gelijken, is er een grote kans dat de residuele verschildata vergelijkbaar is. Om de coderingsefficiëntie te verhogen kan enkel het verschil tussen de residuele verschildata uit de basislaag t.o.v. de residuele verschildata uit de uitbreidingslaag verzonden worden. Daarentegen wanneer de bewegingsvectoren sterk verschillen, zal de residuele verschildata vermoedelijk minder gelijkenissen vertonen en is het beter de volledige residuele verschildata uit de uitbreidingslaag te verzenden. Een adaptief schema moet per macroblok bepalen wat de beste keuze is. De parameter residual prediction flag duidt aan dat het verschil of de volledige residuele verschildata verzonden is in de uitbreidingslaag. Wanneer spatiale schaalbaarheid is toegepast, wordt het residueel signaal eerst geupsampled Inter-layer intra frame prediction Bij intra-voorspelling, is geen data uit referentiebeelden gebruikt. De volledige methode staat beschreven in [5]. Voor H.264/SVC is er een kleine uitbreiding, enkel van toepassing op uitbreidingslagen. Intracoderen van beelden levert veel residuele verschildata op, daarom is het belangrijk de inhoudsafhankelijke eigenschappen van de frames op verschillende lagen sterk uit te buiten. Op deze manier is ervoor gezorgd dat de frames van hogere lagen niet evenveel data bevatten als de basislaag. Anders is er geen voordeel voor schaalbare videocodering ten opzichte van simulcast, waarbij voor elke spatiale laag een H.264/AVCstroom is gegenereerd, zonder rekening te houden met de onderliggende lagen. Om deze gelijkenissen uit te buiten, is een nieuw macrobloktype ingevoerd. Het I BL (Intra Base Layer) macrobloktype [6] zal de intra-gecodeerde data uit de basislaag overnemen, en hier extra informatie aan toevoegen. De werking van intra-predictie in H.264/SVC is iets complexer dan voorheen. Indien elk van de 4x4-submacroblokken van een macroblok in een uitbreidingslaag, overeenkomen met intra-gecodeerde (sub)macroblokken van een basislaag, dan is het macrobloktype van 11

25 Figuur 2.3: Co-located submacroblokken uit uitbreidingslaag en macroblokken uit de basislaag. dit macroblok in de uitbreidingslaag I BL. De decoder zal dan de intra-gecodeerde delen uit de basislaag decoderen, een deblocking filter toepassen en upsamplen naar de resolutie van de uitbreidingslaag. Indien van toepassing, wordt er extra residuele verschildata doorgestuurd in de uitbreidingslaag, deze wordt opgeteld bij het bekomen beeld. Op het uiteindelijke beeld, na optelling van het verschilbeeld, is nogmaals een deblocking filter toegepast. Het toepassen van het eerste deblocking filter is nodig voor het geval het macroblok op de uitbreidingslaag samenvalt met meerdere macroblokken uit de basislaag. Indien het deblocking filter niet is toegepast, kan het zijn dat blokartefacten optreden. Het wegwerken daarvan zou veel residuele verschildata vragen. Indien een intra-gecodeerd macroblok, samples gebruikt van een inter-gecodeerd macroblok, zou eerst dit inter-gecodeerd macroblok moeten gedecodeerd worden, inclusief de bewegingsdata. In dat geval is er geen sprake meer van een single-loop decodering. Daarom mag de basislaag enkel een beperkte vorm van intra-codering toepassen (constrained intra prediction), hierbij mag de intra-codering geen gebruikmaken van samples uit naburige macroblokken die inter-gecodeerd zijn. Als twee spatiale lagen niet dyadisch zijn (niet verschillen met een factor 2), kan het voorkomen dat samples van een I BL-macroblok uit de uitbreidingslaag overeenkomen met inter-gecodeerde samples op de basislaag. Om de volledige oppervlakte van het macroblok in uitbreidingslaag te bestrijken, zijn de samples van intra-gecodeerde gebied na upsampling, repetitief geëxtrapoleerd over de inter-gecodeerde samples. Het verschil in resolutie heeft twee belangrijke gevolgen. Enerzijds is het samenvallende macroblok in een uitbreidingslaag van een intra-gecodeerde macroblok uit de basislaag, niet per se I BL. Dit wanneer één naburig (sub)macroblok uit de basislaag niet intra-gecodeerd is, en dit gedeeltelijk samenvalt met één van de submacroblokken van het macroblok uit de 12

26 uitbreidingslaag. Anderzijds kan het ook zijn dat alle samenvallende macroblokken uit de basislaag intra-gecodeerd zijn, maar een deel van het macroblok uit de uitbreidingslaag toch samenvalt met inter-gecodeerde pixels uit de basislaag. De oorzaak van beide gevolgen is het feit dat de positie van samenvallende macroblokken is berekend a.d.h.v. één positie in het submacroblok van de uitbreidingslaag. Indien deze referentieposities van de submacroblokken uit de uitbreidingslaag overeenkomen met pixels van een intragecodeerd (sub)macroblok uit de basislaag, dan is het macroblok in de uitbreidingslaag een I BL gecodeerde macroblok, deze beslissing is onafhankelijk van de codering van de andere samples. Figuur 2.3 toont dit laatste aan, hierbij is een niet-dyadische uitbreiding van de resolutie van de basislaag gebruikt als resolutie van de uitbreidingslaag. De submacroblokken van de spatiale uitbreidingslaag (aangeduid in vet) vallen, na downsampling, samen met verschillende macroblokken uit de basislaag. De referentiepunten van de submacroblokken uit de uitbreidingslaag komen overeen met pixels in intra-gecodeerde (sub)macroblokken uit de basislaag, hierdoor zal het macroblok uit de uitbreidingslaag I BL zijn, ofschoon voor drie submacroblokken uit de uitbreidingslaag de grootste overeenkomstige oppervlakte in de basislaag inter-gecodeerd is Intra-layer inter frame prediction Tot slot is er nog een verschil tussen inter-voorspelling in H.264/AVC en H.264/SVC. Zowel inter-frame voorspelling als bi-inter frame voorspelling volgen hetzelfde principe, alleen kan bi-inter voorspelling gebruik maken van 2 bewegingsvectoren (al dan niet naar een verschillend referentiebeeld), en een voorspelling op het gemiddelde van de referentiemacroblokken. Daarom is hetgeen volgt van toepassing op zowel inter-frame als bi-inter frame voorspelling. Voor de eenvoud zal enkel inter-frame voorspelling kort worden aangehaald. In [5] is inter-frame voorspelling voor H.264/AVC verduidelijkt. In H.264/SVC zijn dezelfde begrippen en technieken, zoals bewegingsvectoren en bewegingsvectorvoorspelling van toepassing. Het verschil is dat inter-frame voorspelling op een referentiebeeld van dezelfde spatiale laag moet gebeuren. Intra-layer inter frame wordt gebruikt wanneer inter-layer voorspelling niet mogelijk is (bv. voor frames van de basislaag, of geen frame op de basislaag aanwezig door een verschil in temporele resolutie) of wanneer ILP niet is toegelaten (no inter layer pred flag=1). 13

27 Dit verduidelijkt waarom de macroblokken van een frame op een uitbreidingslaag niet de facto BL Skip gecodeerd zijn. Het referentiebeeld (van dezelfde uitbreidingslaag) kan voor een macroblok een betere voorspelling (i.e. nauwkeurigere bewegingsvectoren en bijgevolg minder residuele verschildata) bevatten dan het respectievelijke macroblok op de basislaag. Mogelijke redenen hiervoor zijn een grotere resolutie en dus meer detail, betere kwaliteit omwille van een lagere kwantisatieparameter (Quantization Parameter, QP),.... De horizontale pijlen in figuur 2.1 duiden inter-frame voorspelling aan. Indien het betere resultaten oplevert om een frame in basisvoorstelling als referentie te gebruiken, is dit mogelijk door use ref base pic flag en store ref base pic flag [3] te gebruiken. Een uiteenzetting hierover is niet zinvol met betrekking op het vervolg van de tekst Syntactische wijzigingen Om schaalbaarheid aan H.264/AVC toe te voegen, zijn bijkomende syntaxelementen toegevoegd, zodanig dat aan de nieuwe behoeften is voldaan. Er zijn 5 belangrijke syntactische wijzigingen in H.264/SVC t.o.v. H.264/AVC terug te vinden in: NAL unit header; Prefix NAL unit; Macroblock Layer; Supplemental Enhancement Information; Subset Sequence Parameter Set. NAL unit header De NAL unit header bevat informatie over het type van het huidige pakket, door de aanduiding in nal unit type. In [7] zijn alle toegelaten nal unit types te vinden. Hierin staan ook de types eigen aan H.264/SVC beschreven, omdat op deze wijze een H.264/SVCstroom voldoet aan de H.264/AVC-specificatie en dusdanig een terugwerkende compatibiliteit garandeert. Immers als de H.264/SVC-gerelateerde nal unit types hier niet in zijn opgenomen, kan een (niet robuuste) H.264/AVC-decoder deze stroom niet interpreteren en is er dus geen compatibiliteit tussen beide varianten. 14

28 Naast deze informatie, bevatten in H.264/SVC de NAL units van gecodeerde data, extra informatie. Het meest belangrijke is de informatie die beschrijft in welke laag de slice zich bevindt. Hiervoor zijn er drie parameters in de NAL unit, resp. dependency id, quality id en temporal id. Een andere interessante parameter is no inter layer pred flag die aangeeft of macroblokken in de gecodeerde slice ILP kunnen gebruiken ( 2.4.1). Prefix NAL unit De prefix NAL unit is een voorvoegsel voor NAL units van gecodeerde slices uit de basislaag. Deze NAL units uit de basislaag dienen volgens de H.264/AVC-specificatie gecodeerd te zijn. Omdat de H.264/SVC-decoder de verschillende H.264/SVC-opties zou kennen (oa. tot welke laag de gecodeerde slices behoren), wordt een Prefix NAL Unit voor de NAL unit met de gecodeerde slice doorgezonden. De volledige syntax van de Prefix NAL unit is identiek aan de syntax uitbreiding van de NAL unit header voor H.264/SVC-gecodeerde slices. De prefix is beschouwd als een apart pakket omwille van compatibiliteit. Dit nal unit type (14) wordt door de H.264/AVC-decoder genegeert. Macroblock layer Een belangrijke syntactische wijziging in de macroblok informatie is een extra parameter, base mode flag. Deze duidt aan of het macrobloktype en (indien aanwezig) bewegingsdata van de basislaag worden overgenomen. Indien dit het geval is kan er nog extra residuele verschildata aanwezig zijn, die een verbetering van de kwaliteit ten opzichte van de onderliggende laag bekomt. Een dergelijke codering, het gevolg van ILP, is BL Skip (Base Layer Skip) genoemd. Indien geen informatie van de basislaag is overgenomen, worden macrobloktype en eventueel bewegingsvectoren voor de macroblok in de uitbreidingslaag apart berekend en gecodeerd. Een ander belangrijk verschil is het nieuwe mb type: I BL. Dit type is niet expliciet in de stroom vermeld, maar het macroblok van de uitbreidingslaag krijgt dit type zoals verduidelijkt in Suppemental enhancement information Supplemental Enhancement Information (SEI) berichten zijn niet noodzakelijk om een videostroom goed te kunnen decoderen. Zij bevatten nuttige, bijkomende informatie 15

29 voor de decoder. Dit pakkettype is in H.264/AVC reeds geïntroduceert, en in H.264/SVC verder uitgebreid. Net zoals in H.264/AVC zijn de berichten niet essentieel. De specificatie [7] laat tevens toe dat SEI-berichten Out-of-Band worden verzonden. Subset sequence parameter set Sequence Parameter Sets (SPS) bevatten informatie over parameters die in een stroom voorkomen, maar niet veel variëren in de tijd. Voorbeelden hiervan zijn het aantal referentiebeelden, resolutie,... In H.264/SVC wordt deze informatie uitgebreid en Subset Sequence Parameter Set genoemd. Een SPS met eenzelfde seq parameter set id als een voorgaande SPS, moet dezelfde waarden voor de parameters bevatten. Indien één van de parameters zou wijzigen, dient een nieuwe SPS opgesteld te worden, met een niet gebruikte seq parameter set id [7]. Een SPS met eenzelfde seq parameter set id kan dus enkel dezelfde parameters bevatten als de voorgaande doorgestuurde SPS met dezelfde seq parameter set id. Hetzelfde geldt ook voor een Subset SPS. Bijgevolg is het toegestaan dat een SPS en een Subset SPS dezelfde seq parameter set id hebben, en toch verschillende parameters bezitten. Aangezien enkel een SPS door een SPS en een Subset SPS door een Subset SPS overschrijfbaar is. Omwille hiervan heeft een Subset SPS een ander nal unit type dan een SPS, zodanig een H.264/AVC-decoder enkel rekening houdt met de aanwezige SPS. De sequentie parameters van de uitbreidingslaag mogen enkel verzonden zijn in een Subset SPS. Een H.264/SVC-decoder kan op die manier uitmaken of een slice verwijst naar een Subset SPS of SPS. In tegenstelling tot de SPS heeft de Picture Paramter Set (PPS), geen extra uitbreiding in H.264/SVC. De PPS syntax gegevens in een H.264/AVC en H.264/SVC-bitstroom zijn dus gelijk Samenvallende macroblokken Samenvallende (co-located) macroblokken zijn macroblokken die op dezelfde positie in twee verschillende beelden gelegen zijn. In H.264/SVC is het mogelijk dat deze beelden een verschillende resolutie bezitten (indien tussen de lagen wordt gerefereerd). Om in deze situatie het co-located macroblok te bepalen, wordt een herschaling toegepast [6]. 16

30 De pixelpositie van pixel 2 (1,1) van het macroblok in uitbreidingslaag, is herschaald en geprojecteerd op de basislaag. Het dichtstbijzijnde punt op het bemonsteringsrooster bepaalt met welk macroblok uit de basislaag het macroblok samenvalt na herschaling. Zoals aangegeven in figuur 2.3 kan het zijn dat deze macroblokken maar weinig samenvallen, aangezien maar één pixel van het macroblok bepaalt waar het referentiepunt gelegen is. Doorheen de tekst is de benaming co-located macroblok gebruikt om aan te geven wanneer het over een samenvallend macroblok gaat. Er zal tevens gespecifiëerd zijn of het gaat om een co-located macroblok in een referentiebeeld, of een co-located macroblok in een beeld uit een andere laag. 2.5 H.264/SVC Profielen Om te zorgen dat een en/decoder niet de volledige syntax en mechanismen van een standaard moet implementeren, is een subset van de technieken en syntax opgesteld. Deze subset, een profiel genaamd, en is een integraal deel van de standaard. Het voordeel van enkel een deel te implementeren is de lagere kostprijs en het feit dat verschillende onafhankelijke software- en hardwarecomponenten compatibel zijn als ze tot hetzelfde profiel behoren. De vereisten zijn enerzijds wat aanwezig moet en anderzijds wat niet aanwezig mag zijn. De profielen zijn uitgebreid, daarom wordt hier enkel beperkt tot wat verder van toepassing zal zijn. Het spreekt voor zich dat bij het opstellen van de profielen voor H.264/AVC geen rekening is gehouden met de beperkingen voor een gelaagde stroom. In hetgeen volgt is gekeken naar de restricties op het vlak van toegelaten slicetypes en hoe slicegroepen worden behandeld in H.264/SVC Scalable high profiel en scalable high intra profiel Het Scalable High Profiel en het Scalable High Intra Profiel bouwen verder op de beperkingen van het High Profiel, hierin zijn geen slicegroepen toegestaan. Vandaar dat bij de schaalbare varianten ook geen meerdere slices per frame zijn toegestaan 3. In het Scalable High Profiel zijn de slice types: (E)I, (E)B en (E)P toegestaan. De types met prefix E 2 positie (0,0) is de pixel links boven van het macroblok 3 Bijgevolg is Arbitrary Slice Order (ASO) ook niet toegestaan 17

31 (Enhancement) zijn slicetypes gebruikt in een (spatiale en kwaliteits) uitbreidingslaag. Voor het Scalable High Intra Profiel zijn enkel IDR-beelden 4 toegestaan, en moet geen DPB worden bijgehouden Scalable baseline profiel Dit profiel bouwt verder op het Baseline profiel, waarbij in een stroom geen bi-voorspelde slices zijn toegelaten. Vandaar dat de toegelaten slices beperkt zijn tot: I-, P-, EP-, EIen EB-slices. Dit houdt in dat een basislaag uit een stroom die beantwoordt aan het Scalable Baseline Profiel, ook decodeerbaar is door een H.264/AVC-decoder met Baseline profiel. Hiernaast is ook nog een andere restrictie opgelegd die voor het Scalable Baseline Profiel strenger is dan voor het gewone Baseline Profiel. In een PPS voor een basislaag, moet de parameter num slice groups minus1 gelijk zijn aan 0, terwijl voor de uitbreidingslagen er geen beperking is (behalve dat nog steeds maximaal 8 slices zijn toegestaan in een frame). Dit houdt dus in dat er geen FMO kan toegepast worden. Indien voor een uitbreidingslaag een slice group map type aanwezig is moet deze 2 zijn. Hierdoor is enkel het Foreground with left-over slicegroep map type toegestaan. De reden hiervoor is terug te vinden in de single-loop architectuur van de decoder. 2.6 Referentiesoftware Om de correctheid van een stroom te testen tegenover de specificaties [7], is referentiesoftware ontwikkeld [8]. De Joint Scalable Video Model (JSVM) software, stelt hulpmiddelen (tools) ter beschikking om de compatibiliteit van bitstromen tegenover H.264/SVC te testen. Behalve een H.264/SVC-encoder en -decoder bezit de referentiesoftware ook andere tools, zoals een programma voor het herschalen van YUV-beelden, een applicatie om een substroom uit een H.264/SVC-stroom te extraheren (BitStreamExtractor),... Een volledig overzicht is te vinden in [8], alsook software, de gebruikshandleiding en de methode om een nieuwe versie van de software te verkrijgen. 4 Instantaneous Decodeing Refresh: beelden waarbij de decoder wordt gereset 18

32 Hoofdstuk 3 Analyse tool voor H.264/SVC 3.1 Inleiding Dit hoofdstuk handelt over het analyse proces voor H.264/SVC-stromen. Eerst wordt algemeen besproken hoe het volledige proces van een analyse werkt. Vervolgens komt een bestaand programma aan bod ( 3.2), hierbij zijn de voor- en nadelen besproken. Van hieruit wordt overgegaan naar de beschrijving van het ontwikkelde programma ( 3.3) en zijn mogelijke toepassingsgebieden besproken ( 3.4). Het analyseren van een videostroom omvat twee vormen van analyse. Enerzijds een analyse op syntactisch niveau (NAL unit niveau), om hieruit gegevens over (stroom-) parameters te bekomen, en anderzijds een analyse van de frames voordat ze gedecodeerd worden. Deze tweede vorm laat toe te bepalen wat de eigenschappen zijn van een frame, deze eigenschappen zijn veelal gecodeerd doorgestuurd. Zo zijn er verschillen op voorspelde waarde verzonden (intra-codering) of verschillen met voorgaande waarden (bewegingsvectoren, QPs,... ). Een mogelijk toepassingsgebied voor de syntactische analyse is bandbreedteoptimalisatie, terwijl een toepassingsgebied voor de tweede vorm het optimaliseren van encodeeralgoritmes kan zijn. Als laatste is een analyse interessant voor didactische doeleinden, om inzicht te krijgen hoe H.264-stromen zijn opgebouwd, of wat de effecten zijn van het extraheren van lagen uit een bronstroom. De algemene werking van een analyseprogramma omvat twee belangrijke stappen, en optioneel een derde. De eerste stap is het syntactisch ontleden van een stroom (parsen), net zoals een decoder doet. Hierbij is geverifieerd of de syntax van de stroom correct is en zijn alle variabelen nodig voor het decoderen toegewezen (bv. macrobloktype, bewegings- 19

33 vectoren). Het verschil met een decoder is het feit dat er geen inverse bewerkingen nodig zijn aangezien geen output beeld gegenereerd wordt. Na het parsen, zijn de syntax en de verschillende variabelen geanalyseerd. Eventueel zijn de inverse bewerkingen als derde stap uitgevoerd, dit maakt het analyseprogramma tevens een decoder. Deze optionele stap maakt het beeld zichtbaar, en een visuele controle kan extra gegevens over de stroom onthullen (bv. foutieve codering, voorspellingen,... ). In het zicht van H.264/SVC is het belangrijk dat de analyse meer is dan het op elke laag toepassen van een analyse met een enkelvoudige-laag benadering. De gelijkenissen tussen verschillende frames van een access unit, correlaties tussen de lagen, gegevens over de volledige stroom ten opzichte van één of meerdere lagen, e.d. zijn van ontzettend belang om een goede analyse van de stroom te bekomen. Een analyse over één laag bevat geen kennis over de volledige stroom, waardoor veel gegevens niet (correct) zijn geïnterpreteerd. 3.2 Bestaande programma s Op het moment van schrijven, is er één analyseprogramma publiek beschikbaar voor H.264/SVC-stromen: Simecom SVC Analyzer [9]. Het programma, dat over een grafische interface beschikt, behandelt enkel H.264/SVC-stromen geëncodeerd met JSVM-software versie Dit houdt in dat een aantal syntaxelementen niet meer conform zijn met de huidige specificatie, waardoor het gebruik beperkt is. Hiernaast wordt een stroom enkel geanalyseerd voor één laag, waarbij spatiale resolutie en kwaliteit gespecificeerd moeten zijn. Hierdoor bekomt men geen vergelijking tussen de lagen en is er geen verhouding van de laag t.o.v de totale stroom gekend. Onderstaande tabel somt verder de voor- en nadelen van deze applicatie op. Voordelen grafische interface eenvoudig gratis goed als didactisch materiaal Nadelen enkelvoudige-laag benadering maar één laag gelijktijdig analyseren geen correlaties tussen lagen software niet open syntax update afhankelijk van uitgever geen geautomatiseerde werking werkt enkel visueel Tabel 3.1: Voor- en nadelen van Simecom SVC analyzer. 20

34 3.3 Analyse tool Omdat de bestaande software niet aan de vooropgestelde behoeften voldoet, is een eigen applicatie ontworpen. Deze software moet voldoen aan volgende eisen: Scheiding Syntax en Analyse: Om te zorgen dat de uitkomst van de analyse onafhankelijk is van de gebruikte encoder versie, moet er een onderscheid zijn tussen het parsen van de stroom, het toewijzen van de variabelen en de feitelijke analyse. Onderhoud en Uitbreidbaarheid: De software moet eenvoudig uitbreidbaar zijn om niet geïmplementeerde analyses in de toekomst mogelijk te maken. Automatische Analyse: Analyses op stromen moeten automatisch uitvoerbaar zijn, zodanig een reeks van stromen kan geanalyseerd worden zonder tussenkomst van een operator. Beperkte Duurtijd: Een analyse zal meestal onderdeel zijn van een reeks bewerkingen op stromen, om deze operaties niet te vertragen moet de totale duurtijd van de analyse beperkt blijven. Multi-Laag Benadering: De analyse moet gelijkenissen tussen verschillende lagen verwerken, alsook een analyse van één laag (bij uitbreiding een analyse van H.264/AVC) mogelijk maken. Het is geen trade-off tussen één of meerlagige analyse, maar een vereiste beide te verwerken. Om een scheiding tussen syntax en analyse te bekomen zijn twee aparte tools ontwikkeld: enerzijds de parser, anderzijds de eigenlijke analyse. De parser ontleedt de stroom en schrijft syntaxelementen uit de stroom in een tekst bestand. De analyse tool zal dit bestand sequentieel (lijn per lijn) inlezen, de nodige gegevens uit de stroom verwerken en tenslotte een resultaat geven met de eigenschappen van de stroom SVCParser De SVCParser zal de H.264/SVC-stroom syntactisch ontleden en de naam en waarde van het syntaxelement opslaan in een tekst bestand. De ontledingsstap is een onderdeel van een decoder architectuur, daarom is gekozen de JSVM-software [8] te gebruiken, waar dit reeds uitgebreid in verwerkt zit en de mogelijkheid bestaat om gegevens in een 21

35 tekstbestand weg te schrijven. voeren, door middel van een nieuwe softwareversie. Dit laat toe om snel syntactische wijzigingen door te JSVM-decoder De decoder die bevat zit in de JSVM software, H264AVCDecoderLibTestStatic.exe, is een applicatie die gebruikt maakt van drie bibliotheken uit de JSVMsoftware (i.e. H264AVCCommonLibStatic.lib, H264AVCDecoderLibStatic.lib, H264AVCVideoIoLibStatic.lib). Wegens de verwarrende naam van deze applicatie, wordt de aanduiding JSVM-decoder gebruikt. Om geen conflicten te hebben met het toekomstig gebruik van de decoder, is een nieuwe applicatie gemaakt, die ongeveer dezelfde werking kent als de JSVM-decoder, en dus ook gebruik maakt van de bibliotheken. Er is in de JSVM-software reeds de mogelijkheid de syntax en gegevens uit de bronstroom in een tekstbestand op te slaan. Deze optie is standaard niet gecompileerd. Om dit wel te doen, moeten de pre-processor definities ENCODER_TRACE en DECODER_TRACE op 1 gezet zijn in tracefile.h. Bij uitvoering zal de software een traceerbestand (trace) aanmaken. Deze trace heeft de bedoeling de werking van de software te verifiëren. Een volledige trace is te vinden in bijlage B, in figuur 3.1 zijn enkel regels uit een slice header weergeven om de inhoud van een trace file kort te overlopen Slice # 0 Frame # 0 NAL unit header: forbidden_zero_bit u(1) 0 NAL unit header: nal_ref_idc u(2) 3 NAL unit header: nal_unit_type u(5) 5 SH: first_mb_in_slice ue(v) 0 [1] MB # Figuur 3.1: Trace voorbeeld syntax informatie. Het begin van een NAL unit is aangeduid door een reeks - tekens waartussen het NAL unit type vermeld is. Betreft het een gecodeerde slice, dan zijn tevens de slice- en framenummer zichtbaar. Deze slice- en framenummer zijn incrementeel met het voorkomen in de stroom en onafhankelijk de weergave op het scherm of de slicegroep waartoe de slice behoort. De volgende regels bevatten de syntaxelementen. Elke regel begint met de positie van het element t.o.v het begin van de NAL unit. Vervolgens is de naam van het syntaxelement 22

36 weergegeven. Dit is opgebouwd uit twee delen, het eerste deel (voor : ) geeft aan waartoe het syntaxelement behoort (NAL unit header, PPS, SPS, slice header, SEI,...). Het tweede deel is de eigenlijke naam van het syntaxelement. De derde waarde op de rij is de methode van codering [7]. Vervolgens is de eigenlijke waarde van het syntaxelement weergegeven, en tenslotte de bitsequentie zoals deze in de stroom te vinden is. Voor elke macroblok is aangeduid op welke positie dit macroblok zich in het frame bevindt. Dit komt niet noodzakelijk overeen met de plaats in de stroom. Deze eigenschap is interessant wanneer FMO is toegepast, hierbij is er geen verband tussen de positie in de stroom en de positie op het scherm. Voor syntax waarden is dit een overzichtelijke manier van weergeven, figuur 3.2 toont een deel van de trace met de waarden van de gebruikte intra-voorspellingsmethode en residuele verschildata met CABAC-entropie (Context-Adaptive Binary Arithmetic Coding) codering. IntraPredModeLuma ae(v) x01e IntraPredModeChroma ae(v) x x x x015d x x012c Cbp ae(v) x010e DQp ae(v) 0 LUMA: x01ca x01b x Figuur 3.2: Trace voorbeeld met CABAC. Zoals voorheen, zijn de syntaxelementen (IntraPredModeLuma, Cbp, DQp) aangeduid met coderingstype, en de waarde in de stroom. In tegenstelling tot de syntax informatie van de headers, is de bitsequentie uitgebreider voorgesteld. Elke regel bevat één bit met bijhorende informatie voor van de entropie codering. Elk CABAC-symbool in de stroom heeft een voorstelling met volgende betekenis: symboolnummer, bereik, toestand, meest waarschijnlijke symbool, - en de eigenlijke symbool waarde. Voor een analyse is deze voorstelling te gedetailleerd en zorgt voor een te omvangrijk bestand (ongeveer 14MB voor 1 access unit). Om dit te voorkomen, zijn functies uit de bibliotheek aangepast. Voor 23

37 CAVLC (Context-Adaptive Variable-Length Coding) worden tevens de eigenschappen van de entropie encodering weergegeven. Een volledig voorbeeld is te vinden in bijlage B. Hier is niet verder op ingegaan, aangezien duidelijk is dat niet alle informatie van een trace nodig is om een goede analyse te bekomen. JSVM-bibliotheken De JSVM-bibliotheken zijn statische bibliotheken, bij het compileren van een uitvoerbaar programma, is de code uit de bibliotheken aan het programma toegevoegd. Deze procedure wordt na het compileren uitgevoerd door de linker. Het voordeel hiervan is dat de software overdraagbaar is, zonder dat de bibliotheken moeten uitgewisseld worden. Het nadeel is dat telkens een nieuwe versie van de bibliotheek komt, de software moet bijgewerkt worden. Het aanpassen van de functies, om de output van de trace te wijzigen, kan in de code van de bibliotheken. Dit kan ervoor zorgen dat de software die deze bibliotheken gebruiken, niet meer normaal functioneert, indien ze opnieuw gecompileerd is. Om niet voor elk onderzoek een nieuw project te moeten aanmaken, met bijna dezelfde bibliotheken, kunnen in het project van de SVCParser de nodige functies uit de bibliotheken overschreven worden. Om compileerbaar te zijn, moeten de header bestanden, die de definities van de overschreven functies en klassen van de JSVM-bibliotheken bevatten, in de code opgegeven zijn. Bij het linken worden twee functies gevonden met dezelfde naam en argumenten. Eénmaal in het gecompileerde project, en éénmaal in de bibliotheken. De linker moet ingesteld zijn om de functie te gebruiken die eerst is gevonden. Dit gebeurt door in de make-file (Linux) of onder Visual Studio (Windows) bij de project eigenschappen -> Linker -> Command Line -> Additional Options: /FORCE:MULTIPLE te vermelden. Deze methode is ook bruikbaar wanneer verschillende bibliotheken dezelfde functie overschrijven. Indien in dat geval de functie niet is overschreven in de code, is de eerste implementatie gebruikt volgens de volgorde van de opgegeven bibliotheken. Zoals voorheen aangehaald, dient de trace om de correcte werking van de software aan te geven. Aangezien de software verschillende malen hetzelfde deel van een stroom doorloopt, komt het dus voor dat dezelfde gegevens meerdere malen zijn weggeschreven. 1 Dit is o.a. het geval wanneer een header is geïnitialiseerd. 1 Vanaf JSVM-software versie 9 10 is dit opgelost 24

38 Wijzigingen De wijzigingen aangebracht aan de functies van de bibliotheken zijn erop gericht om de hoeveelheid data in de trace te verminderen. Dit is gedaan op drie manieren: Enkel de noodzakelijke (syntax) elementen weergeven; Elk syntaxelement maar één maal weergeven; Onnodige data niet weergeven. De functies die data naar de trace schrijven, bevinden zich in tracefile.cpp. Een aantal functies hiervan zijn aangepast zodanig geen onnodige data is weggeschreven, zo is het printen van het NAL unit type gewijzigd zodanig nog maar 2 - tekens voor en achter het type staan. Daarnaast zijn voor syntaxelementen enkel de naam en de waarde (in de stroom) opgeslagen. Positie, codering, lengte en de bitsequentie van de representatie in de stroom zijn standaard niet meer weergegeven, maar men kan bij het opstarten van het programma met een vlag aanduiden dit wel te doen. Verder is het mogelijk in te stellen tot welk niveau is geparset. Meer informatie hierover is te vinden in bijlage A. Er is ook gezorgd dat alles in één trace is weggeschreven, voordien genereerde elke laag een trace, zodanig de positie in de stroom niet te achterhalen was. Tenslotte wordt doorheen het programmaverloop de trace gesloten en geopend. Hiervoor zijn een aantal functies, die op zich niets met het traceren te maken hebben, aangepast. Deze functies zijn het begin- en eindpunt van een blok opgeroepen functies die wel data mogen wegschrijven. Zodanig moet niet elke functie die niet mag wegschrijven aangepast zijn. Op deze manier is het bestand oa. gesloten bij initialisatie en het uitlezen van bits. Vanaf JSVM-software versie 9 10 is het initialisatieprobleem vanuit de software opgelost, door aan de TraceFile - klasse een variabele toe te voegen die aangeeft of er data mag geschreven worden. Om compatibiliteit naar vroegere bibliotheek-versies te waarborgen, is deze manier niet toegepast in de SVCParser. De klasse definitie (van de oudere versie) kan niet overschreven worden, dit zou een ander gecompileerd resultaat geven t.o.v de bibliotheek en het geheel is dan niet uitvoerbaar. Ook naar de toekomst toe is niet geweten of deze parameter behouden blijft. Een voorbeeld van een trace gegenereerd door de SVCParser, is in figuur 3.3 weergegeven. 25

39 -- MB # BLSkipFlag 1 Cbp 23 DQp 0 -- MB # BLSkipFlag 0 MbMode 3 MotionPredFlag 1 MotionPredFlag 1 Mvd: x 0 above 0 left 0 Mvd: y-52 above 0 left 0 Mvd: x-15 above 0 left 0 Mvd: y 0 above 0 left -52 Cbp 15 DQp 0 -- MB # BLSkipFlag 0 MbMode 6 IntraPredModeLuma 5 Figuur 3.3: Voorbeeld trace van SVCParser. Naast deze aanpassingen, is extra informatie weergegeven in de trace. De totale lengte van de pakketten is na van het NAL unit type vermeld. Deze lengte is de RBSP-lengte (Raw Byte Sequence Payload) en is uitgedrukt in byte. Het omvat de som van SODB (String Of Data Bits - de eigenlijke data van de videostroom) en de trailing bits. Dit houdt in dat bij het byte-stroomformaat de start code sequentie en eventuele extra bits voor uitvulling (padding bits) niet zijn meegerekend. In normale gevallen (wanneer niet uitgevuld is) zijn dit voor elke NAL unit 3 bytes (0x000003) die niet zijn mee geteld. Ten opzichte van de grote hoeveelheid data in NAL units, zijn deze 3 bytes te verwaarlozen. Indien de analyse handelt over een stroom uit het netwerk, zal de aangegeven lengte wel kloppen aangezien de start code en bits voor uitvulling dan niet gebruikt zijn. Een andere aanpassing betreft de intra-luminantie voorspellingsmode. Deze is gecodeerd doorgezonden [5]. Om tijdens de analyse niet te moeten bepalen wat de verwachtte mode is, is de gebruikte intra-luminantie voorspellingsmode in de trace vermeld. Dit reduceert de complexiteit van de analyse SVCAnalyser De SVCAnalyser voert de eigenlijke analyse uit. Het leest de trace lijn per lijn uit, houdt statistische gegevens bij en reconstrueert de variabelen van de frames. Bijlage A bevat een handleiding van de SVCAnalyser. 26

40 (a) QP s per Macroblok voor access unit 3 (b) Macrobloktypes per Macroblok voor access unit 4 Figuur 3.4: Macroblokanalyse per access unit. Na elk beeld is voor elk macroblok het gebruikte macrobloktype en QP weergegeven, figuur 3.4 illustreert dit. Hierbij is vermeld tot welke spatiale laag en tot welke access unit de frames behoren. De access units melden de volgorde zoals in de output buffer (pic order cnt lsb), en niet de volgorde in de stroom. Indien bij het macrobloktype de waarde -1 voorkomt, wijst dit erop dat het macroblok niet gecodeerd is (i.e. mb skip of deel van een mb run). Als tevens naar een bestand is geprint, is deze informatie niet op het scherm weergegeven. Wanneer er zich een PPS met informatie over slicegroepen in de stroom bevindt, is een FMO-map geprint. Dit is een overzicht dat per macroblok aangeeft tot welke slicegroep een macroblok behoort. De analyse tool kan alle types van slicegroepen weergeven. Nadat de volledige trace is uitgelezen, wordt een uitvoer gegenereerd. De uitvoer van de SVCAnalyser kan zowel naar het scherm als naar een bestand worden geprint. Het eerste deel van de analyse uitvoer, is een analyse van de macroblokken, dit wordt 27

41 gevolgd door een aantal statistische gegevens over de sequentie (aantal verschillende slices, beelden,... ). Hierna komt een overzicht van de benodigde bandbreedte en als laatste zijn nog enkel stroomparameters vermeld. In het eerste deel van de macroblokanalyse is weergegeven hoeveel keer elk macrobloktype is gebruikt, zowel voor I-, P- en B-beelden. Daarnaast is ook apart het gecumuleerd voorkomen van de intra-gecodeerde macrobloktypes vermeld. Deze waarden zijn vervolgens samengevat weergegeven, waarbij per slicetype is weergegeven hoeveel macroblokken er zijn met betrekking op een klasse van macrobloktypes. Deze klassen groeperen een aantal macrobloktypes die gemeenschappelijke eigenschappen bezitten (bv. intragecodeerde macroblokken van 16x16-pixels, PCM-gecodeerde intra-macroblokken, aantal niet-gecodeerde macroblokken,... ). Een soortgelijke verdeling is ook weergegeven voor de verschillende submacrobloktypes (I- en P-beelden) Er is niet altijd een rechtstreeks verband tussen de macroblok mode (MbMode) in de trace en het macrobloktype. Bij inter-gecodeerde beelden met CABAC-entropiecodering wordt M bm ode = 0 gebruikt om niet-gecodeerde macroblokken aan te duiden (macrobloktype P Skip of B Skip). Hierdoor is in dit geval mb type = MbMode 1. Bij intragecodeerde beelden kan een macroblok niet worden overgeslagen, bij CAVLC zal mb run aanduiden of één of meerdere macroblokken niet-gecodeerd zijn, in deze beide gevallen is mb type = MbMode. Vervolgens is per uitbreidingslaag en per slicetype aangeduid wat de correlaties zijn tussen macrobloktypes van co-located macroblokken uit de basis- en uitbreidingslaag. Dit is gedaan door matrices, waarbij de rij-index aangeeft wat het macrobloktype is in de basislaag, en de kolom-index het macrobloktype uit de uitbreidingslaag. De waarde geeft aan hoeveel macroblokken er zijn met de combinatie (mb type basislaag, mb type uitbreidingslaag ). De totale som van alle elementen in de matrix, komt overeen met het totaal aantal macroblokken uit de uitbreidingslaag. Bij spatiale resolutie vormen de macroblokken uit de basislaag meerdere malen een combinatie met verschillende macroblokken uit de uitbreidingslaag, figuur 2.3 toont zo n situatie. Verschillende macroblokken uit de uitbreidingslaag vallen samen met één macroblok uit de basislaag, vandaar dat het macroblok uit de basislaag verschillende combinaties vormt. Een diagonaalmatrix geeft aan dat alle macroblokken uit de uitbreidingslaag hetzelfde type hebben als de co-located macroblokken uit de basislaag. De eerste rij (-1) geeft aan hoeveel combinaties er zijn met niet-gecodeerde macroblokken in de basislaag (mb skip of mb run), de eerste kolom doet hetzelfde voor macroblokken uit de uitbreidingslaag. Fi- 28

42 Correlatie tussen de MB van BL en EL(4): P slice BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode Figuur 3.5: Gedeeltelijke macroblok-correlatiematrix guur 3.5 toont een deel van de macroblok-correlatiematrix, voor de verbanden tussen de macroblokken van een vierde uitbreidingslaag t.o.v. de basislaag. Hierbij is te zien dat er bijna een diagonaalmatrix gevormd wordt. Indien de uitbreidingslaag meer temporele lagen bevat dan de basislaag, zie figuur 2.1, dan is de macroblok-correlatiematrix niet bijgewerkt voor de frames die enkel aanwezig zijn in de uitbreidingslaag, er is dan immers geen correlatie met de basislaag. Er is enkel rekening gehouden voor de correlaties t.o.v. de basislaag binnen dezelfde access unit. Een volgend overzicht in de uitvoer zijn de niet-gecodeerde macroblokken, (mb skip of mb run) indien aanwezig, is er per macroblok een overzicht gegeven van het aantal keer dat macroblok niet-gecodeerd is. Dit overzicht is voor elke laag opgesteld. Hierna komt een overzicht dat de som is van de voorgaande lagen. Tenslotte is het totaal aantal niet-gecodeerde macroblokken aangegeven. Voor elke uitbreidingslaag, en elk slicetype is per macroblok bijgehouden hoeveel keer dat macroblok gesignaleerd is als BL Skip. De som van het aantal BL Skip macroblokken kan kleiner zijn dan het aantal macroblokken die hetzelfde macrobloktype in basislaag en uitbreidingslaag bezitten (som van de elementen op de diagonaal van de matrix is grotere dan totaal BL Skip macroblokken). Dit doordat macroblokken uit de uitbreidingslaag, die niet als BL Skip aangegeven zijn, nog steeds hetzelfde macrobloktype kunnen hebben als het co-located macroblok uit de basislaag. Vervolgens komt er een overzicht van de gebruikte intra-voorspellingsmodes, eerst voor de luminantie- dan voor de chrominantiecomponent. Er is bij luminantie een onderscheid gemaakt tussen 4x4 en 16x16 intra-voorspelling. De 16x16-luminantie voorspellingsmode zijn afgeleid uit het macrobloktype, een overzicht hiervan, los van het overzicht van de 29

43 gebruikte macrobloktype, maakt de interpretatie van de resultaten eenvoudiger, en groepeert de volledige intra-predictie analyse. De analyse van 4x4- of 8x8-intra luminantie voorspellingsmodes gebeurt op basis van de verzonden intra pred mode luma, die enkel bij het intra-gecodeerde macrobloktype 0 (I 4x4 of I 8x8) aanwezig is. Aangezien een volledig macroblok 16x16-pixels bedraagt, zijn er ofwel 16 intra-luminantie voorspellingsmodes (I 4x4) ofwel 4 intra-luminantie voorspellingsmodes (I 8x8) De intra-voorspellingsmode correlatiematrices zijn weergegeven per laag, één voor elk slicetype, en daarbij is de gecumuleerde matrix die de correlatie tussen de lagen, onafhankelijk van het slicetype weergegeven. Deze matrices geven een overzicht van de gebruikte intra-voorspellingsmode bij co-located submacroblokken. Als laatste van de macroblokanalyse, is per laag gemeld (in absolute waarde en procentueel uitgedrukt) hoeveel macroblokken in de uitbreidingslaag een gelijk, of verschillend macrobloktype hebben met het co-located macroblok uit de basislaag. Hierna zijn een aantal algemene stroom gegevens weergegeven. Als eerst onderdeel van de niet-macroblokanalyses, staan een aantal statistische gegevens vermeld, waaronder het aantal access units, aantal slices per type, aantal I-, P-, B-beelden,.... Vervolgens is een analyse gemaakt van de bandbreedte, figuur 3.6 geeft hier een overzicht van. Het eerste deel vermeldt hoeveel bytes er nodig zijn voor niet-vcl (Video Coding Layer) pakketten, dit zijn de parameters en bijkomende informatie. Daarna is per slicetype aangeduid hoeveel bytes ze innemen. Het aantal bestede bytes voor NAL unit prefix pakketten ( 2.4.6) wordt bij de lengte van de corresponderende slice waar dit pakket bij hoort gecalculeerd. Een lagendecompositie geeft weer hoeveel bytes elke spatiale en temporele laag gebruiken. In figuur 3.6 zijn 5 spatiale en 6 temporele lagen, de waarden duiden aan hoeveel bytes de pakketten op die bepaalde laag bezitten (som van alle kwaliteitslagen). Het totale aantal bytes per spatiale laag is tevens vermeld. Er is te zien dat de vierde uitbreidingslaag (laag 4) één temporele laag meer bevat. Deze laag bevat een dubbele beeldsnelheid (30 beelden/sec), t.o.v. de lager gelegen lagen (15 beelden/sec). Wanneer een uitbreidingslaag niet aanwezig is, is hier geen plaats voor voorzien. Indien een temporele resolutie niet aanwezig is, is er een - geplaatst, zodanig de verschillende kolommen duidelijk gedistantieerd zijn. Als laatste deel van de bandbreedteanalyse, is de benodigde bandbreedte voor de volledige stroom weergegeven, op basis van 25 beelden 2 per seconde. 2 Output beelden, dus primair gecodeerde beelden 30

44 Totaal aantal Bytes: Aantal bytes voor NON-VCL pakketten Type SPS SubSPS PPS SEI Totaal Aantal bytes voor VCL pakketten (including PREFIX) Type I P B Totaal NAL_UNIT_PREFIX: 413 bytes Aantal bytes in de Lagen (inc. PREFIX) Totaal Gemiddelde bitsnelheid (kbps): SPS Analyse SPS voor Dependency Layer 0 : 0 resolutie: 176x144 SPS voor Dependency Layer 1 : 0 resolutie: 176x144 SPS voor Dependency Layer 2 : 1 resolutie: 352x288 SPS voor Dependency Layer 3 : 2 resolutie: 352x288 SPS voor Dependency Layer 4 : 3 resolutie: 352x288 Laag/SPS/PPS Spatiale Laag PPS SPS Figuur 3.6: Bitsnelheid en SPS-analyse. Het voorlaatste deel betreft een analyse van de SPS (ook weergegeven in figuur 3.6), te beginnen met de resolutie voor elke spatiale laag gevolgd door een analyse van de SPS- en PPS-id s per spatiale laag. Merk op dat SPSid 0 twee maal voorkomt. Dit doordat de SPS uit de uitbreidingslaag (Subset Sequence Parameter Set) dezelfde SPSid mag bevatten als een SPS en deze niet zal overschrijven ( 2.4.6). Als laatste (niet weergegeven in figuur 3.6) is voor elke laag het aantal beelden in de DPB vermeld en het aantal actieve referentiebeelden voor Lijst 0 en Lijst 1. 31

45 3.4 Toepassingsgebieden De trace visualiseert de elementen die deze stroom bevatten. Dit maakt de SVCParser een geschikt controlemechanisme om te verifiëren of alle nodige elementen correct in de stroom zijn gecodeerd. Daarnaast kan het ook als instrument gebruikt worden om vertrouwd te raken met de inhoud van H.264/AVC- en H.264/SVC-stromen. De SVCAnalyser laat toe om uitgebreide analyses van de stroom te maken, op deze manier kunnen encodeeroptimalisaties bekomen worden. De macroblok-correlatiematrices laten toe modellen voor macroblokpredicties [10, 11] te ontwerpen of te verfijnen. Op deze manier bekomt men heuristieken die de macroblokvoorspeller in de encoder in staat stelt sneller te beslissen, met minimale toegift aan een verhoging van de bitsnelheid. Uit de macroblok-correlatiematrices is de selectieprobabiliteit van een bepaald macrobloktype te achterhalen, indien het macrobloktype van het co-located macroblok uit de basislaag gekend is. Zodanig test de macroblokvoorspeller eerst een beperkt aantal macroblokken, indien één van deze een voldoende resultaat geeft, worden de andere types niet meer getest. Of de geoptimaliseerde encoder kan zich enkel beperken tot dit beperkt aantal macrobloktypes. Deze methode laat een substantiële versnelling van de encoder toe, daar tegenover staat wel dat niet altijd de beste voorspelling geselecteerd is en dus in bij een aantal macroblokken meer residuele verschildata aanwezig zal zijn. ( 4.2) Hiernaast kunnen heuristieken opgesteld worden van de gebruikte luminantie- en chrominantie-intra voorspellingsmode. Deze versnelling heeft minder impact, daar er minder voorspellingsmodes zijn, en enkel van toepassing is bij intra-gecodeerde macroblokken in de uitbreidingslaag die niet I BL gecodeerd zijn. Verder onderzoek zal zich moeten richten naar de impact van beide optimalisaties, daar er reeds soortgelijk onderzoek is gebeurd voor enkelvoudige gelaagde stromen, maar minder doorgedreven onderzoek, naar de performantieverbeteringen bij meer-lagige stromen. Naast de mogelijke encodeeroptimalisaties, is de analyse bruikbaar om de effecten op de bandbreedte van stromen te onderzoeken, zowel wat betreft de totale bitsnelheid als de bitsnelheid van één of meer lagen. 32

46 Hoofdstuk 4 Correlatieanalyse van macroblokken in niet-spatiaal geschaalde stromen 4.1 Inleiding Dit hoofdstuk toont aan door middel van analyses op een reeks H.264/SVC-gecodeerde sequenties, dat de SVCAnalyser foutloze resultaten levert. Deze analyses gebeuren bij sequenties waarvan de schermresolutie van basislaag en uitbreidingslaag gelijk is, m.a.w. niet-spatiaal geschaald. De gebruikte kwantisatie parameters (QPs) zijn vermeld op basis van het koppel (QP BL, QP EL ). Waarbij het eerste element (QP BL ) staat voor de QP van de basislaag (Base Layer), en het tweede element (QP EL ) voor QP uitbreidingslaag (Enhancement Layer). Het doel is een verband te zoeken tussen enerzijds (QP BL, QP EL ) en anderzijds het aantal macroblokken met gelijke types in basis- en uitbreidingslaag. Dit om het geselecteerd macrobloktype in de uitbreidingslaag te voorspellen, aan de hand van a priori informatie uit de basislaag (het macrobloktype) en gekende gegevens uit de stroom. Er is getracht het mechanisme van macroblokvoorspelling te optimaliseren, daarom is dit eerst kort aangehaald ( 4.2). Hierbij is extra aandacht geschonken aan de aanpassingen omwille van de gelaagde structuur die H.264/SVC kent. Vervolgens is de methodologie van de test besproken ( 4.3) om verder te gaan met de experimentele resultaten ( 4.4) en uiteindelijk tot conclusies ( 4.5) te komen omtrent de verbanden bij co-located macroblokken in een H.264/SVC-stroom waarbij de spatiale lagen dezelfde resolutie bezitten. 33

47 4.2 Macroblokvoorspelling Macroblokvoorspelling in H.264/AVC [5] is quasi identiek aan macroblokvoorspelling in H.264/SVC. Hierbij is een macroblok voorspeld d.m.v. alle mogelijke macrobloktypes. De voorspelde weergave, waarbij het voorspelde beeld het minst aantal fouten (minimale som van absolute fouten) t.o.v. het origineel bevat, is gebruikt om het verschilbeeld te bepalen. Dit verschilbeeld is vervolgens gebruikt in de kwantisatiestap. Minder informatie in het verschilbeeld, betekent minder residuele verschildata dat uiteindelijk verzonden wordt. Deze techniek blijft ongewijzigd in H.264/SVC, daarbovenop zijn enkele wijzigingen aangebracht. In geval van I BL is geen macroblokvoorspelling nodig, aangezien het voorspelde beeld het gedecodeerde beeld uit de basislaag is. In H.264/SVC kan het te voorspellen (sub)macroblok informatie uit de onderliggende laag gebruiken ( 2.4), zodanig heeft de macroblokvoorspeller voorkennis van het beeld. Deze voorkennis, is het macroblok uit de basislaag dat informatie levert over het macrobloktype (de partitionering, referentiebeelden,... ) en bewegingsvectoren. Indien het macrobloktype en bewegingsvectoren van de basislaag en de uitbreidingslaag gelijkaardig zijn, is BL Skip verzonden. Ondanks dit eenvoudig uitziende type, zijn tijdens de macroblokvoorspelling nog steeds alle macrobloktypes getest, en daarbij is eventueel bijkomende residuele verschildata verzonden. Voor P- en B-beelden zijn resp. 32 en 50 methoden (macrobloktypes + mb skip) getest. Daarbij hebben I 4x4 en I 8x8 macroblokken, voor elk 4x4- of 8x8-submacroblok, 9 verschillende methodes om de luminantiecomponent te voorspellen en 4 methodes om de 16x16-chrominantiecomponent te voorspellen. Om de benodigde rekentijd te reduceren, kan door voorkennis uit de basislaag het aantal te testen macrobloktypes verkleind worden tot een deelverzameling van potentiële macrobloktypes. Dit ten nadele van de bandbreedte die zal toenemen. Het is de bedoeling de verhoging van de bandbreedte te reduceren en de reductie in rekenkracht te maximaliseren. Deze deelverzameling (subset) van macrobloktypes is experimenteel vastgesteld. Dit hoofdstuk bespreekt de testresultaten die gebruikt kunnen worden om de heuristieken op te stellen. Uiteindelijk worden een aantal regels voorgesteld om bij de macroblokvoorspellingsstap, voor macroblokken in een uitbreidingslaag, maar een subset van alle mogelijke macrobloktypes te moeten testen. 34

48 4.3 Methodologie Er zijn voor vier videosequenties gecodeerde varianten gemaakt. Deze sequenties zijn Mobile, Foreman en Bus met CIF-resolutie (352x288) en Crew met 4CIF-resolutie (704x576). De reden dat de sequentie Crew met 4CIF-resolutie gecodeerd is, in tegenstelling tot de drie andere, is om te bestuderen of de resultaten van de eerste drie nog steeds geldig zijn op hogere resoluties. Er is maar één sequentie in deze hogere resolutie gebruikt, aangezien het encoderen van een sequentie met 4CIF-resolutie trager verloopt dan CIF-resolutie. Voor elke testsequentie zijn 20 gecodeerde stromen ontwikkeld, waarbij voor de QP van de basislaag (QP BL ) geldt: QP BL {12, 18, 24, 30} en voor de QP van de uitbreidingslaag (QP EL ) geldt: QP EL {12, 18, 24, 30, 36}. Beide lagen zijn met CABAC gecodeerd, dit heeft geen invloed op de macroblokken, maar wel op de totale bandbreedte van de stroom. De inter-layer voorspelling is voor elk macroblok adaptief bepaald ( 2.4.1). De grootte van de Group Of Pictures (GOP) bedraagt 16 beelden, de intra-periode 32 beelden. Dit houdt in dat na 16 beelden één referentiebeeld wordt geëncodeerd en per 32 beelden één beeld intra-gecodeerd is. Hierbij is op te merken dat het, strikt genomen, niet gaat over primair gecodeerde beelden ( 2.2). Aangezien een slicetype in de basislaag niet noodzakelijk gelijk hoeft te zijn aan een slicetype uit de uitbreidingslaag, is het mogelijk dat dit voor verschillende lagen anders verloopt, in deze experimenten is dit niet toegepast. De totale stroom bevat 64 primair gecodeerde beelden. Elk van deze stromen is geparset en de trace geanalyseerd. Hoeveel macroblokken er verschillende macrobloktypes hebben in basis- en uitbreidingslaag, zowel absoluut als procentueel, wordt uit deze analyse bekomen. Naast het aantal verschillende macroblokken, zijn de kwaliteit van het beeld en de benodigde bandbreedte een belangrijk gegeven. De kwaliteit, bepaald met de Peak Signal to Noise Ratio (PSNR), uitgedrukt in db, is in enkelvoudige gelaagde stromen rechtstreeks afhankelijk van de QP en heeft een rechtstreeks verband op de hoeveelheid data aanwezig in de stroom. Deze eigenschap is bestudeerd om te weten of dit nog steeds van toepassing is in H.264/SVC. 35

49 4.4 Experimentele resultaten Macroblok analyse Onderstaande tabellen geven een overzicht van de geanalyseerde stromen. De eerste en tweede kolom bevatten de waardes van de gebruikte kwantisatie, (QP BL, QP EL ). Kolom drie toont het aantal macroblokken uit de uitbreidingslaag, dat op de co-located posities in de basislaag, gelijke macrobloktypes hebben. Kolom vier geeft het aantal macroblokken uit de uitbreidingslaag, met verschillende macrobloktypes in basis- en uitbreidingslaag. Om verbanden te zoeken tussen verschillende resoluties zijn deze absolute waarden niet geschikt aangezien met verschillende resoluties wordt gewerkt, waarbij de grotere beeldresoluties meer macroblokken bevatten. Daarom is ook procentueel aangeduid voor hoeveel macroblokken de macrobloktypes in beide lagen verschillen. Voorgaande waarden betreffen het totaal aantal macroblokken uit de uitbreidingslaag voor de volledige sequentie. De PSNR duidt in kolom vijf aan hoe goed het beeld overeenstemt t.o.v. het origineel. Een lage waarde wijst op veel ruis (vervorming) en dus een slechtere kwaliteit. De bitsnelheid benodigd voor de stroom (kolom zes) is bepaald op basis van 25 beelden per seconde, a.d.h.v. de RBSP-lengte van de pakketten ( 3.3.1). Sequentie Bus QP BL QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,04 47, , ,00 47, , ,00 47, , ,00 47, , ,99 47, , ,99 47, , ,61 42, , ,06 42, , ,05 42, , ,04 42, , ,38 47, , ,37 42, , ,66 38, , ,02 38, , ,86 38, , ,09 47, , ,97 42, , ,54 38, , ,67 34,55 833, ,02 34,45 821,08 Tabel 4.1: Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Bus 36

50 Sequentie Foreman QP BL QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,73 47, , ,19 48, , ,30 48, , ,11 48, , ,29 47, , ,68 47, , ,19 43, , ,47 43, , ,76 43, , ,94 43, , ,71 48, , ,73 43, , ,44 40,52 626, ,30 40,49 608, ,55 40,36 607, ,69 48, , ,61 43, , ,98 40,36 671, ,82 37,58 294, ,51 37,52 289,45 Tabel 4.2: Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Foreman Sequentie Mobile QP BL QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,22 47, , ,16 47, , ,47 47, , ,18 47, , ,57 47, , ,43 47, , ,59 42, , ,08 42, , ,97 42, , ,26 42, , ,96 47, , ,90 42, , ,63 37, , ,06 37, , ,83 37, , ,31 47, , ,74 42, , ,16 37, , ,82 33,61 830, ,27 33,59 819,00 Tabel 4.3: Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Mobile 37

51 Sequentie Crew QP BL QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,00 48, , ,00 48, , ,00 48, , ,00 48, , ,36 48, , ,65 48, , ,64 43, , ,04 43, , ,47 43, , ,80 43, , ,33 48, , ,14 43, , ,10 39, , ,28 39, , ,57 39, , ,99 48, , ,54 43, , ,11 39, , ,72 37, , ,68 37, ,88 Tabel 4.4: Verband tussen (QP BL, QP EL ) en (Mb type BL, Mb type EL ) voor Crew Om deze waarden grafisch voor te stellen, is van elke tabel een grafiek gemaakt met vier curven, één curve voor elke QP BL. Aangezien, bij benadering, al deze curven hetzelfde uitzicht hebben, is enkel de grafiek voor Foreman weergegeven in figuur 4.1. De grafieken voor de andere sequenties verschillen door de verticale en horzontale posities van de curven. De verticale positie is bepaald door het aantal macroblokken met gelijke types in basis- en uitbreidingslaag. De horizontale posities van de curves zijn bepaald door QP BL. Naarmate QP EL nadert naar QP BL, neemt het aantal macroblokken met verschillende types in basis- en uitbreidingslaag sterk af. Er is dus duidelijk een verband tussen het macrobloktype en (QP BL, QP EL ). Als de kwantisatie niet in discrete stappen, maar continu instelbaar is, zal de curve een quasi parabolische vorm benaderen. Hierdoor is te verklaren waarom de curve in het begin bij QP BL = 12 niet daalt, en de curve voor QP BL = 30 op het einde niet stijgt. Beide curven tonen dus maar een deel van de (in ideale termen) parabolische vorm. In het eerste geval is dit doordat er geen sequentie is waarbij de uitbreidingslaag met een kleinere QP dan deze van de basislaag gecodeerd is. Uit gedetailleerd onderzoek blijkt dat de curve voor QP BL = 30 niet stijgt doordat er een punt ligt tussen QP EL = 30 en QP EL = 36, waar zich het minimum van de curve bevindt, hierdoor is het stijgen niet 38

52 verschillend macrobloktype (%) Analyse macrobloktype in niet-spatiaal geschaalde stromen QP EL QP BL = 12 QP BL = 18 QP BL = 24 QP BL = 30 + Figuur 4.1: Grafiek: Percentage co-located macroblokken met verschillend macrobloktype zichtbaar. Daarenboven zijn er geen stromen in rekening gebracht waarvoor QP EL > 36. In tegenstelling tot wat verwacht wordt, stijgt op een bepaald moment het aantal colocated macroblokken met verschillend macrobloktype indien de QP EL toeneemt. Men kan verwachten dat het aantal co-located macroblokken met verschillend macrobloktype naar nul gaat. Dit omdat de kwaliteit van het beeld van de uitbreidingslaag slechter is door een toenemende QP EL, waardoor aannemelijk is dat meer informatie uit de basislaag is overgenomen. De curven gaan inderdaad naar (bijna) 0, maar stijgen vervolgens terug. Volgende paragrafen bestuderen in detail de oorzaak hiervan. Hiervoor zijn de curven in drie zones opgedeeld, waarbij elke zone één van volgende verbanden heeft: QP BL QP EL, QP BL QP EL of QP BL QP EL. QP BL QP EL Bij het encoderen van het beeld van uitbreidingslaag, met QP BL QP EL, is extra informatie aan het beeld van de uitbreidingslaag toegevoegd, daar de kwaliteit van deze laag hoger is. Deze laag gedraagt zich dan als een soort kwaliteitslaag. De extra informatie komt omdat het eerste referentiebeeld in de stroom intra-gecodeerd is voor beide 39

53 lagen. Hierdoor is voor macroblokken in de uitbreidingslaag een accuratere macroblokvoorspelling uitgevoerd op het referentiebeeld ( 2.4.5) waardoor de macrobloktypes uit de basislaag niet noodzakelijk de beste overeenkomst geven. Daarnaast is extra residuele verschildata geëncodeerd indien informatie uit de basislaag is overgenomen aangezien deze kwaliteit niet toereikende is voor de hogere kwaliteit van de uitbreidingslaag. Naarmate de QPs van beide lagen elkaar naderen, bezit het referentiebeeld uiteindelijk geen significant betere kwaliteit. Daardoor bevatten meer macroblokken uit de basislaag een goede voorspelling voor het beeld van de uitbreidingslaag, en hebben de macroblokken uit de uitbreidingslaag veelal hetzelfde macrobloktype. QP BL QP EL Wanneer zowel de basislaag en uitbreidingslaag nagenoeg dezelfde kwantisatie hebben (QP BL QP EL ), ziet het referentiebeeld van de uitbreidingslaag er gelijkaardig uit als het referentiebeeld van de basislaag. Bij de encodering van de uitbreidingslaag, is veel informatie uit de basislaag overgenomen. Dit is logisch aangezien zowel macroblok partitionering, als bewegingsvectoren en residuele verschildata voor beide beelden gelijkaardig zijn. Hierdoor zijn veel macroblokken als BL Skip gesignaleerd, en zijn bijna alle co-located macroblokken van hetzelfde type in basis- en uitbreidingslaag. Gedetailleerd onderzoek wijst uit dat het minimum, aan verschillende macrobloktypes tussen beide lagen, afhankelijk is van de gebruikte stroom. Algemeen kan gesteld worden dat het minimum wordt bereikt wanneer: QP BL + 3 QP EL QP BL + 6. Het verschil in aantal macroblokken, wanneer QP BL = QP EL, is echter beperkt en bijgevolg is als benadering het punt waar QP BL = QP EL als minimum genomen. QP BL QP EL Als QP BL QP EL, dan heeft het beeld van de uitbreidingslaag minder kwaliteit. In normale scenario s is een dergelijke situatie niet realistisch. De inhoudelijke informatie tussen beide beelden is sterk verschillend. Het effect voor de macroblokvoorspelling is dat de data in de basislaag een minder accuraat resultaat geeft, dan wanneer het macroblok uit het referentiebeeld is overgenomen (intra-layer inter frame voorspelling). Hierdoor zijn er macroblokken in de basislaag gecodeerd, die in de uitbreidingslaag niet-gecodeerd (mb skip) zijn. In de grafiek van figuur 4.1 is dit zichtbaar door het stijgend aantal macroblokken met een ander macrobloktype in beide lagen. 40

54 Macroblok correlaties B slice BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode Figuur 4.2: Gedeeltelijke macroblok-correlatiematrix bij QP BL QP EL B slice BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode BL Mode Figuur 4.3: Gedeeltelijke macroblok-correlatiematrix bij QP BL QP EL Figuur 4.2 en figuur 4.3 tonen een deel van de macroblok-correlatiematrix, beiden voor sequentie Foreman met QP BL = 18 en resp. QP EL = 12 en QP EL = 36. De volledige analyses, inclusief de volledige macroblok-correlatiematrices, zijn te vinden in bijlage B. In figuur 4.2 is te zien dat de diagonaal grote waarden bevat (aangezien zo n 70% van de macroblokken in basis- en uitbreidingslaag hetzelfde macrobloktype hebben). Daarnaast is er een grote verdeling van de verschillende macrobloktypes. Figuur 4.3 toont dat enkel waarden zijn terug te vinden op de diagonaal en in de eerste kolom. Dit wijst op de macroblokken die hetzelfde macrobloktype in basis- en uitbreidingslaag hebben (diagonaal) en de macroblokken die niet-gecodeerd zijn (mb skip). Hetzelfde is tevens zichtbaar op de macroblok-correlatiematrices voor P-beelden. 41

55 Verband PSNR en Bitsnelheid bij (18, QP EL ) kwaliteit Bitsnelheid Bitsnelheid (kbps) PSNR(dB) QP EL Figuur 4.4: Grafiek: Kwaliteit en bitsnelheid voor sequentie Foreman (18,QP EL ) Een analyse waarbij QP BL QP EL, is gelijkaardig aan de analyses uit hoofdstuk 5, waar soortgelijke matrices bekomen worden. De verkregen conclusies en heuristieken uit hoofdstuk 5, zijn ook van toepassing op niet-spatiaal geschaalde stromen met QP BL QP EL Stroomanalyse In tabellen zijn tevens de PSNR en bitsnelheid van de sequenties vermeld. Figuur 4.4 toont een grafische voorstelling van deze gegevens voor de sequentie Foreman met QP BL = 18. In tegenstelling tot figuur 4.1, stijgen de curven voor kwaliteit of bitsnelheid niet wanneer QP BL < QP EL, maar blijven ze (ongeveer) constant. Dit in tegenstelling tot wat het geval is bij enkelvoudige gelaagde stromen. Hierbij blijven kwaliteit en bitsnelheid dalen als de QP stijgt [5]. In H.264/SVC blijft dit rechtstreeks verband geldig zolang QP BL > QP EL. Het niet verder dalen komt doordat veel informatie uit de basislaag is gebruikt zonder aanpassing (gelijke macrobloktypes maar geen extra residuele verschildata) en het alternatief (mb skip) niet veel bandbreedte bespaart. De kwaliteit en bitsnelheid voor een stroom is identiek wanneer QP EL = QP BL en 42

56 QP BL QP EL. Grafieken: 4.1 en 4.4 met elkaar vergelijken, toont dat de complexiteit is gereduceerd bij QP BL QP EL door alle macrobloktypes in de uitbreidingslaag gelijk te nemen aan deze van het co-located macroblok uit de basislaag (grafiek: 4.1), zonder dat dit invloed heeft op de kwaliteit en bitsnelheid (grafiek: 4.4). 4.5 Conclusie In stromen waarbij de resolutie tussen de lagen niet wijzigt, is gebleken dat er een punt bestaat waar een minimum aan macroblokken, in basis- en uitbreidingslaag, een verschillend macrobloktype hebben. Vanaf dit punt zullen kwaliteit en bitsnelheid nagenoeg constant blijven. Er is gebleken dat dit punt bekomen wordt wanneer QP BL QP 1 EL. Indien QP BL > QP EL is er geen uitgesproken diagonaalmatrix in de macroblokcorrelatiematrix te zien. Daarentegen wanneer QP BL QP EL, is in de macroblokcorrelatiematrix te zien dat ofwel de macrobloktypes van co-located macroblokken gelijk zijn, ofwel het macroblok in uitbreidingslaag niet-gecodeerd is. Aangezien er bijna geen verschil is tussen de bitsnelheid en kwaliteit van de stroom wanneer QP BL = QP EL (de minima in figuur 4.1) en wanneer QP BL < QP EL, is besloten dat het gebruik van mb skip overbodig is wanneer QP BL < QP EL en bijgevolg alle macroblokken in de uitbreidingslaag hetzelfde macrobloktype en identieke bewegingsvectoren mogen krijgen als het co-located macroblok uit de basislaag. De beste manier om dit te signaleren aan de decoder is door no inter layer pred flag en adaptive base mode flag gelijk aan 0 te stellen (resp. in NAL unit header en slice header). Dit komt overeen met een geforceerde ILP ( 2.4.1). Op deze manier is elke macroblok uit de uitbreidingslaag overgenomen uit de basislaag en moet de macroblokvoorspeller niet voor elk macroblok uit de uitbreidingslaag een macroblokvoorspelling uitvoeren. Tot slot is er, in tegenstelling tot enkelvoudige gelaagde stromen, geen rechtstreeks verband tussen QP EL of QP BL en de bitsnelheid en kwaliteit. Maar zijn bitsnelheid en kwaliteit afhankelijk van het koppel (QP BL, QP EL ). Het effect van deze conclusie op zowel de vermindering in complexiteit (versnellen van de encoder) en de verhoging van de bandbreedte dient verder onderzocht te worden, en maakt geen onderwerp uit van dit onderzoek. 1 exacte positie afhankelijk van stroom, algemeen geldt: QP BL + 3 QP EL QP BL

57 Hoofdstuk 5 Correlatieanalyse van macroblokken in spatiaal geschaalde stromen 5.1 Inleiding In dit hoofdstuk komen spatiaal geschaalde stromen aan bod. Deze stromen bevatten minimaal twee lagen met een verschillend aantal beeldpixels. Dergelijke stromen zijn bruikbaar wanneer de ontvanger in staat moet zijn om de stroom weer te geven op toestellen met verschillende resoluties. Alle stromen die behandeld zijn hebben een spatiale dyadische uitbreiding ( 2.4.4). Dit resulteert in een verviervoudiging van de oppervlakte van het beeld t.o.v. de onderliggende laag. De bedoeling van de analyse is een model op te stellen voor de macroblokvoorspelling van de spatiale uitbreidingslaag, op basis van het gebruikte macrobloktype van het co-located macroblok in de basislaag, en de kwantisatie van beide lagen. Dit model is opgebouwd rond heuristieken die aangeven welke macrobloktypes het meest waarschijnlijk zijn om bij benadering het beste resultaat te geven. Met deze heuristieken dient de macroblokvoorspeller in de encoder maar een deelverzameling (subset) van de mogelijke macrobloktypes te onderzoeken. Dit zorgt voor een snelheidswinst bij het encoderen en vermoedelijk voor een kleine toename van de bandbreedte. In het verleden is reeds soortgelijk onderzoek uitgevoerd [10]. Hierbij zijn maar een beperkt aantal macrobloktypes uit de uitbreidingslaag aan bod gekomen, en zijn geen heuristieken opgesteld die de macroblokvoorspeller in staat stellen het beste resultaat te benaderen met minder bewerkingen. 44

58 5.2 Methodologie De stromen zijn gegenereerd met de JSVM-referentiesoftware [8] versie Het encoderen van stromen met spatiale lagen met verschillende resolutie, vereist dat voor elke resolutie een YUV-bestand aanwezig is. Om dit te genereren wordt gebruikgemaakt van het programma DownConvertStatic.exe 1. Het gebruikte filter is het non-normative downsampling filter, beschreven in [12] Er is gebruikgemaakt van vijf sequenties: Mobile, Foreman, Bus, Crew en City. De eerste drie hebben in de basislaag QCIF-resolutie (176x144) en in de uitbreidingslaag CIF-resolutie (352x288). De sequenties Crew en City hebben in de basis- laag CIF-resolutie en in uitbreidingslaag 4CIF-resolutie (704x576). Er zijn per sequentie 64 uitvoerbeelden gegenereerd met een intra-periode van 32 beelden en GOP-grootte van 16 beelden. De inter-layer voorspelling is adaptief bepaald en op elke laag is CABACcodering toegepast. Deze instellingen zijn dezelfde als gebruikt in hoofdstuk 4. Wanneer de tekst handelt over een volledige stroom, waarbij de resoluties van beide lagen belangrijk zijn, is de notatie Resolutie BL /Resolutie EL gebruikt. Op deze manier bezitten bovenvermelde stromen respectievelijk QCIF/CIF- en CIF/4CIF-resoluties. Verwacht wordt dat het beste macrobloktype afhangt van de kwaliteit van het beeld. Indien de kwaliteit van de beelden minder goed is, is er makkelijker een goede voorspelling gevonden, die weinig (of geen) residuele informatie oplevert. Aangezien een grote korreligheid in het referentiebeeld zorgt dat veel informatie sterk gelijkend is. De resultaten van hoofdstuk 4 geven inderdaad aan dat er een verband bestaat tussen het geselecteerde macrobloktype en de kwaliteit van het beeld. Hierdoor zijn er voor elke testsequentie stromen gegenereerd met variërende kwantisatie, voor de kwantisatie van de basislaag (QP BL ) geldt: QP BL {12, 18, 24, 30} en voor de kwantisatie van de uitbreidingslaag (QP EL ) geldt: QP EL {12, 18, 24, 30}. Na het encoderen van de stromen, zijn deze geparset en geanalyseerd. De resultaten van de analyse zijn verder in dit hoofdstuk gebruikt om tot een besluit te komen. Vanuit dit besluit worden heuristieken opgesteld, waardoor de encoder sneller het juiste macrobloktype vindt. Om een verband te vinden tussen de macrobloktypes in beide lagen, is gebruikgemaakt van de macroblok-correlatiematrices uit de SVCAnalyser ( 3.3.2). Het aantal macrobloktypes van een bepaalde soort hangt sterk af van de gebruikte sequentie en de toegepaste 1 onderdeel van de JSVM-software 45

59 kwantisatie. Sequenties met weinig beweging, zullen meer niet-gecodeerde macroblokken bevatten dan sequenties met veel beweging. Daarnaast is het aantal macroblokken in de sequentie afhankelijk van de gebruikte resolutie en zijn bijgevolg vergelijking van de macroblok-correlatiematrices tussen verschillende resoluties minder eenvoudig. Daarom zijn de macroblok-correlatiematrices omgezet naar matrices met procentuele waarden. Hierbij geeft de waarde op positie (i, j) aan hoeveel percent van de macroblokken met mb type BL = i, in het co-located macroblok van de uitbreidingslaag mb type EL = j hebben. De totale som per rij is dus 100%. Op deze manier is de distributie van de macrobloktypes in de uitbreidingslaag gekend, indien het macrobloktype van de basislaag gekend is. In dit hoofdstuk zijn alle macroblok-correlatiematrices percentueel uitgedrukt, alsook de grafieken die deze matrices visualiseren. Voordat de macroblokvoorspelling in de uitbreidingslaag plaatsvindt, is het macrobloktype in de basislaag gekend. Zodanig kunnen we spreken van voorkennis of a priori kennis. Deze a priori kennis kan uitgebuit worden wanneer ze een verband legt met de kansverdeling (distributie) van de macrobloktypes in de uitbreidingslaag. Het opstellen van deze kansverdeling kan door een oneindig aantal stromen, onderverdeeld in een oneindig aantal categorieën, te onderzoeken. Zodanig is het mogelijk, aan de hand van de categorie waartoe een stroom behoort en het macrobloktype uit de basislaag, het beste macrobloktype in de uitbreidingslaag te voorspellen 2. Uiteraard is dit een onrealistische benadering, en moeten een compromis gezocht worden. Dit compromis wordt bereikt door een beperkt aantal stromen te onderzoeken en per categorie een subset op te stellen waartoe het potentële macrobloktype behoort. Deze subset bevat maar een deel van de mogelijke macrobloktypes die de macroblokvoorspeller moet testen, en is zodanig opgesteld dat een voldoende grote probabiliteit bestaat dat het geselecteerde macrobloktype effectief deel uitmaakt van de subset. Zodanig dat een macroblokvoorspeller dit type zal selecteren. Op deze manier is de afwijking t.o.v. de beste keuze zo klein mogelijk gehouden, dit is belangrijk omdat een minder goede keuze een rechtstreeks verband heeft op de bitsnelheid. 46

60 (a) Sequentie Bus (QCIF/CIF) QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,41 47, , ,19 42, , ,09 37, , ,69 33, , ,92 30, ,59 (b) Sequentie Foreman (QCIF/CIF) QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,88 48, , ,35 43, , ,38 40, , ,84 37, , ,74 35,28 994,41 (d) Sequentie Crew (CIF/CIF) QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,80 48, , ,60 43, , ,12 39, , ,09 37, , ,93 36, ,78 (c) Sequentie Mobile (QCIF/CIF) QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,92 47, , ,67 42, , ,58 38, , ,26 34, , ,23 31, ,8 (e) Sequentie City (CIF/CIF) QP EL type BL type BL PSNR-Y Bitrate - 25Hz = type EL type EL (%) (db) (kbps) ,93 47, , ,21 42, , ,97 38, , ,71 35, , ,94 33, ,58 Tabel 5.1: Analyse co-located macroblokken met QP BL = Experimentele resultaten In eerste instantie is gekeken naar het aantal macroblokken uit de uitbreidingslaag met hetzelfde macrobloktype als het co-located macroblok uit de basislaag. Indien de metingen gelijkenissen vertonen met resultaten uit hoofdstuk 4, zijn dezelfde conclusies geldig. Tabel 5.1 geeft aan hoeveel macroblokken gelijke en verschillende macrobloktypes bevatten (absoluut en procentueel), de kwaliteit van de gedecodeerde stroom en de benodigde bandbreedte (op basis van 25 beelden per seconde) voor alle stromen met QP BL = 18. Hierin is te zien dat de er verschillen zijn met de metingen t.o.v. hoofdstuk 4, daarom zijn de resultaten voor de stromen met een andere QP BL niet weergegeven. Er is te zien dat de kwaliteit en bitsnelheid blijven dalen indien QP BL < QP EL. Het aantal macroblokken met een verschillend type blijft dalen wanneer QP EB < QP BL, maar bereikt niet noodzakelijk een minimum 3. Hierdoor kunnen de resultaten van hoofdstuk 4 niet zomaar worden aangepast naar spatiaal geschaalde stromen. Een verband tussen de macrobloktypes, is duidelijk uit een analyse van de macroblok- 2 Voorspellen zoals in gokken, niet zoals in het bepalen van een verschilbeeld 3 Enkel de sequenties Foreman, Crew en City hebben een minimum wanneer (QP BL, QP EL ) = (18, 30) 47

61 correlatiematrices ( 3.3.2). Deze analyse zal, in tegenstelling tot hoofdstuk 4, niet gebaseerd zijn op het verband tussen het aantal gelijke macrobloktypes in basis- en uitbreidingslaag in functie van de kwaliteit en bitsnelheid. In vergelijking met hoofdstuk 4 hebben opvallend veel macroblokken in de uitbreidingslaag een ander macrobloktype dan het macrobloktype van het co-located macroblok van de basislaag. Hierdoor is bestudeerd welke macrobloktypes in de uitbreidingslaag moeten voorkomen, zodanig de gecumuleerde som van deze macrobloktypes voldoende groot is, om grote afwijking op het aantal correct voorspelde macroblokken te beperken. Tabellen 5.2, 5.3 en 5.4 tonen de procentuele macroblok-correlatiesmatrices voor de B-beelden van de sequentie Bus, met QPs (18, 12), (18, 18) en (30, 18). Hierin zijn enkel B-macrobloktypes weergegeven, samen met mb skip (mb type = -1) en I NxN (mb type = 23). Er blijkt immers dat bij de B-frames in QCIF/CIF-stromen (bijna) geen macroblokken met andere (intra)macrobloktypes zijn gecodeerd, zowel in basis- als uitbreidingslaag. De analyses en alle tabellen zijn te vinden in bijlage B. In bijlage hebben de cellen van de procentuele macroblok-correlatietabellen een groene achtergrondkleur wanneer de combinatie meer dan 10% voorkomt op een rij. Hierdoor is grafisch een eenvoudig overzicht gegeven van de belangrijkste combinaties. In tabellen 5.2, 5.3, 5.4 zijn deze waarden vet aangeduid en hebben een grijze achtergrondkleur. Uit de macroblok-correlatiematrices is af te leiden dat de invloed van niet-gecodeerde macroblokken (mb type = 1) stijgt, naarmate QP EL stijgt t.o.v QP BL. Dit is analoog aan de bevindingen in hoofdstuk 4. Er zijn verschillen zichtbaar tussen de tabellen op basis van het koppel (QP BL, QP EL ). De macroblok-correlatiematrices geven een nauwkeurig overzicht van de verwachting van het macrobloktype in de uitbreidingslaag. Deze nauwkeurigheid is tevens een nadeel, doordat de significante eigenschappen verloren gaan naast de onbelangrijke gegevens. Daarom zijn grafieken opgesteld waarbij deze data op een drie dimensionale manier is weergeven. De grafieken vormen een 3D-histogram, en zijn een visualisatie van de procentuele macroblok-correlatiematrices. In deze grafieken komt de positie van een balk overeen met (mb type BL, mb type EL ) en de hoogte van de balk met het percentage van de macroblokken met mb type BL = rij index, waarvan het co-located macroblok in de uitbreidingslaag mb type EL = kolom index heeft. Deze voorstelling laat toe op een visuele manier patronen in de grafieken te herkennen en te onderzoeken of deze patronen overeenkomen met stromen die dezelfde eigenschappen 48

62 mb type ,11 16,11 0 0,56 16, , ,56 0,83 2,78 0,83 0 0,83 0 0,56 5,28 5,28 23, ,49 0,49 0,39 14,06 0,07 0,07 0, ,2 0 0,23 0,33 0,49 0,81 0,49 0,29 0,94 0,52 0,65 6,48 5,89 28, ,64 4,24 0,42 15,25 0, ,42 0,42 2,12 0 0,42 0 1,27 2,12 0,85 0 8,9 6,78 35,17 2, ,14 0 9,94 14,1 0 0,32 1,6 0,64 0 0,32 0 0,32 0 0,64 3,53 5, ,28 0,96 3,85 6,09 37,18 0, ,81 0,06 0,35 38,78 0,03 0 0,03 0,03 0 0,15 0,06 0,06 0,56 0,44 1 0,5 0,41 0,47 0,5 0,29 7,57 7,66 28,98 0, ,29 5,36 0 8,93 1,79 1, , , ,79 5,36 48,21 7, ,25 0 9,38 9, , ,75 2, ,63 7,5 2,5 43, ,94 1,47 4,41 17, ,88 10, ,47 2,94 4, ,94 0 5,88 4,41 35, , , , , , ,25 6,25 34, ,5 37, , , , ,13 6, , , ,69 5,73 2,08 7,81 0,52 0 2,08 0, ,6 1,56 0,52 2,6 9,9 2,08 6,77 0,52 0 3,65 5,21 41, ,9 0 0,4 13,71 0, ,81 0 0,4 10,48 1,21 0,4 0 0,81 2, ,68 6,05 40, ,89 0,82 0,41 15,57 0,82 0,41 0 0,41 0, ,41 2,05 15,98 1,23 0,41 0,41 1,64 0,41 0 4,51 6,15 36, ,06 0 0,91 15, ,91 1,52 0 0, , ,51 0,91 0,3 0,3 0,91 0,61 3,96 6,71 34,45 1, ,42 0 5,32 9, ,58 2, ,32 0,48 0,48 0,97 22,58 0 0,48 0,97 0 4,84 5,16 36,29 0, ,27 0,4 0 14,11 0,4 2, ,21 1,21 0,4 0 13,31 2,82 0,4 0 7,66 4,44 40,32 2, ,32 2,98 0,2 9,52 0,99 1, ,4 0,79 0,4 0,2 0 0,6 24,01 0 0,2 5,75 5,16 36,71 0, ,08 0 1,25 12, ,83 0,83 0 0,42 0 0,42 0,83 0 0,42 0, ,42 1,25 5 7,5 38,75 1, , , ,35 0 1,35 0 0,68 1,35 1,35 2,03 2,03 0,68 0,68 1,35 11,49 6,76 8,11 28,38 0, ,51 0,36 0,09 15, ,09 0 0, ,09 0,63 1,27 0,45 0,27 1,36 0,82 0,54 0,27 21,2 8,33 37,59 0, ,32 0,09 0,09 15, ,09 0 0,27 0,36 0,91 0,73 0,55 0,64 0,46 0,36 8,3 26,73 31,02 0, ,92 0,89 1,16 10,02 0,6 0,83 0,81 1,02 0,04 0,24 0,07 0,2 0,79 0,97 1,06 1,45 0,76 1,54 1,16 0,53 6,63 5,53 55,54 1, ,22 0 0,56 1,11 0,56 0 0, ,56 1, , ,56 14,44 77,78 Tabel 5.2: Bus (18,12), QCIF/CIF, B-beelden correlatiematrix mb type ,39 1,94 11,67 0 0,28 0,56 0 0,56 0,56 0,28 0,28 0,56 0,28 2,5 0,56 0,83 0,28 0,28 0,56 1,94 1,39 8, ,82 45,15 1,14 1,3 13,05 0,23 0,2 0,29 0,13 0,1 0,29 0,07 0,23 0,59 0,98 1,24 0,72 0,46 1,24 0,65 0,62 4,65 3,35 18, ,24 18,64 10,59 0,42 17,8 2,54 0, ,42 0 1,27 1,27 0,85 1,69 0,85 0,42 0 3,39 0,42 0,42 7,2 4,66 22,03 0,42 2 6,41 12,18 0,96 16,35 15,71 0,32 0 5,13 2,24 0 0,32 0 0,64 0,96 0,96 4,17 8, ,6 0,32 1,92 1,28 19,55 0,32 3 3,18 11,48 0,56 0,59 45,2 0,15 0,12 0,12 0,09 0,09 0,12 0,09 0,12 0,91 0,77 1,21 0,71 0,56 0,68 0,59 0,5 5,89 5,24 20,94 0, ,71 7,14 8,93 1,79 5,36 3,57 10, ,79 1,79 0 1, ,79 1,79 3,57 3,57 35, ,38 5, ,25 16,88 0 0,63 11,88 9, ,63 0,63 0 3,75 3,75 0,63 0 0,63 1,25 3,13 1,88 23, ,82 0 7,35 17, ,41 17, ,41 2,94 1, ,41 1,47 29, , , , , , , ,5 0 12, , ,5 6,25 0 6,25 21,88 3,13 0 3,13 3, , , ,13 0 3,13 3,13 15, ,13 6,25 3,65 5,73 8,85 2,08 0,52 2, ,25 0,52 0,52 2,6 8,33 1,56 9,9 1,04 0,52 2,08 1,04 32, ,03 14,11 3,23 0,81 13,31 0, ,81 0,81 0,4 0 14,92 1,21 1,61 0,81 0,81 0,81 1,21 0 4,03 3,63 32,66 0,4 13 2,87 12,7 2,46 0,82 11,89 1,64 2,05 0,41 0,41 0, ,41 2,87 17,21 0 0,41 1,23 2,87 0,41 0 5,33 7,79 25, ,13 9,45 0,3 2,74 15,24 0 0,61 1,52 0,91 0 0,3 0,91 0 0,3 0,61 23,48 1,22 0,3 0,61 1,83 0,3 3,35 6,71 25,91 1, ,9 8,06 0,65 7,9 11, ,52 2, ,48 0,65 0,16 0,81 27,9 0,16 0,48 0,97 0,32 2,42 1, , ,05 7,26 1,21 0,4 14,11 0,81 2,42 0, ,21 0 1,61 0,81 1,21 1,21 13,31 3,23 0,81 0 7,66 3,63 31,05 1, ,99 9,33 3,77 0,4 11,31 1,98 0, ,4 0,99 0,99 0,6 1,59 0,6 29, ,37 4,56 28,77 0,2 18 2,92 12,5 1,25 2,08 10,83 0 0,42 1,67 0 0,83 0,42 0,42 0,42 1,67 0,42 1,25 2, ,17 0,42 7,08 5,42 28,33 0, ,16 13,51 0,68 1,35 10, ,35 0 0,68 2,03 0,68 0 0,68 1,35 4,05 0,68 0,68 0,68 2,03 14,86 5,41 2,7 23, ,72 12,05 0,82 0,27 16,58 0,27 0,09 0,27 0,18 0,27 0 0,09 0,09 1,18 0,82 1 0,27 1,72 0,63 0,82 0,09 26,63 7,61 26,27 0, ,55 14,14 0,36 0,18 18,34 0, ,27 0 0,18 0,27 0,09 0,91 0,73 1,37 0,64 0,18 0,91 0,64 0,64 7,12 27,28 22,9 0, ,98 7,11 1,11 1,63 11,17 0,98 1,09 1,14 0,99 0,11 0,3 0,16 0,38 1,04 1,08 1,59 1,57 0,69 1,77 1,61 0,79 6,07 5, , , ,11 0,56 0 0, ,56 0,56 0, ,89 81,11 Tabel 5.3: Bus (18,18), QCIF/CIF, B-beelden correlatiematrix mb type ,94 0 3,33 3,89 0,28 0,28 0, ,48 33,92 5,47 4,04 7,88 0,46 0,39 0,46 0,1 0,29 0,42 0,36 0,36 0,49 0,52 0,29 0,2 0,2 0,39 0,13 0,29 1,04 0,52 3, ,92 2,97 47,46 1,27 7,63 2,54 1,27 0 0, ,85 1,27 1,27 2,12 0,42 0 0,85 0, ,85 1,69 6, ,95 2,56 0,32 63,46 3, ,17 1,6 0, , ,32 0, ,32 0,64 0,32 0 2, ,44 5,42 2,71 2,65 51,8 0,44 0,35 0,21 0,15 0,12 0,27 0,29 0,38 0,27 0,5 0,5 0,35 0,59 0,32 0,41 0,32 1,65 1,71 5,12 0, ,64 5,36 3,57 0 3,57 3,57 39, , , ,79 17, ,88 0, ,63 3, ,13 6, , , , ,29 1, ,47 69, , , ,63 12,5 6,25 0 9,38 0 3, , ,13 3, ,25 3,13 3, , , ,63 0 3,13 9,38 3, , , , , , ,42 3,13 9,38 9,38 2,08 2,08 1,04 1,04 0, ,81 0,52 0 0, , ,95 4,44 3,23 2,42 7,26 3,63 0, ,21 0,4 0,4 42,34 0, ,81 0,4 0,4 0 0,81 0,81 10, ,18 3,28 5,33 2,05 7,38 0 2, , ,41 36, ,23 1,23 0 0,41 2,05 1,64 10, ,41 1,22 3,66 8,84 5,18 0,3 0,61 3,05 2, ,61 0,3 0 0,3 53,96 0,3 0 0,61 0 0,91 0,61 0,91 2, ,58 2,26 1,61 11,45 6,45 0,16 0,16 5,48 1,94 0, ,65 0,16 0 0,32 49, ,16 0,48 0,16 0,65 5,32 0, ,11 6,05 8,47 1,61 12,5 2,02 1,61 0,4 0 0,4 0 1,21 0,4 1,21 0,81 0, , ,61 2,02 10, ,88 2,98 10,91 0,79 6,35 2,58 2,38 0, ,99 0,4 0,4 0,2 0,2 0,6 47, ,99 0,6 6, ,58 2,08 1,25 5,42 7,92 0,83 0,42 1,25 2,08 2, ,42 0,42 1,25 0, ,83 2,08 0,83 5, ,08 2,7 0,68 6,08 5,41 0 1,35 0,68 2,03 0, , , ,38 2,7 2,7 12, ,13 4,8 3,08 1,72 14,4 0,54 0,63 0,18 0,18 0,82 0,27 0,45 0,36 1 1,36 0,72 0,36 1,27 0,63 0,91 0,27 42,48 1,81 8, ,8 5,66 1,55 1,82 12,68 0,46 0 0,18 0,18 0,18 0,27 0,55 0,36 0,64 0,82 0,36 0,36 0,73 0,46 0,46 0,18 1,73 44,07 6,3 0, ,8 3,17 3,54 4,54 8,29 1,5 1,37 2,09 1,75 0,44 0,23 0,28 0,64 0,92 1,04 0,96 0,86 0,7 1,02 1,26 0,44 2,7 1,94 50,44 0, ,67 0 0,56 0,56 1,11 0, ,56 0 0,56 0 0, ,11 0 4,44 88,33 Tabel 5.4: Bus (18,30), QCIF/CIF, B-beelden correlatiematrix 49

63 bevatten op het vlak van (QP BL, QP EL ). Het nadeel is dat op papier een deel van de gegevens moeilijker kunnen bestudeerd worden, doordat er geen manipulatie mogelijk is. De kolommen hebben elk eenzelfde kleur en zijn van links naar rechts geïndexeerd, de rijen zijn van boven naar onder weergegeven, de oorsprong, (-1,-1), bevindt zich in het hoekpunt uiterst links Effect van het beeldtype Een onderscheid dient gemaakt te worden voor de macroblok-correlatiematrices op basis van het beeldtype. In hoofdstuk 4 is dit niet nodig aangezien daar voor alle beeldtypes het macrobloktype van de het co-located macroblok uit basislaag is gebruikt in uitbreidingslaag. Een nauwkeurige analyse van de macrobloktypes kan enkel tussen beelden van het zelfde type aangezien elk beeldtype specifieke macrobloktypes kan gebruiken. Een bespreking van I-beelden is overbodig aangezien in dit geval alle macroblokken in de uitbreidingslaag als I BL ( 2.4.4) macrobloktype doorgezonden worden. Hierdoor worden geen 28 voorspellingsmethoden 4 getest. P-en B-beelden hebben elk eigen macrobloktypes, aangevuld met de macrobloktypes van intra-codering (I-macrobloktypes). De macrobloktypes van P- en B-beelden zijn verschillend. Figuur 5.1 geeft weer dat voor elk beeldtype een andere macroblokcorrelatiematrix zichtbaar is, waardoor een analyse op één beeldtype niet geldig is voor het andere beeldtype. In figuren 5.1(c) en 5.1(d) is te zien dat nabij de oorsprong op minder plaatsen waarden weergegeven zijn in vergelijking met figuren 5.1(a) en 5.1(b). Er is dus duidelijk een verschil merkbaar op basis van het type beeld. Daarom zijn voor elk beeldtype aparte analyses uitgevoerd Effect van de resolutie In figuur 5.1 zijn enkele grafieken weergegeven die aantonen dat er verschillen zijn in de macroblok-correlatiematrices tussen stromen met verschillende resoluties. Daarnaast zijn er zelfs verschillen voor stromen met identieke resolutie (weergegven in figuur 5.4(c)). Deze grafieken laten zien dat het effect voor de intra-gecodeerde macroblokken (I-macroblokken of intra-macroblokken) in de uitbreidingslaag groot is. De I-macroblokken zijn de macro macrobloktypes + I BL + mb skip 50

64 Fore- (a) B-beeld met QCIF/CIF-resolutie: man (24,12) (b) B-beeld met CIF/4CIF-resolutie: (24,12) Crew (c) P-beeld met QCIF/CIF-resolutie: Mobile (30,12) (d) P-beeld met CIF/4CIF-resolutie: (30,30) Crew Figuur 5.1: Effect van resolutie en beeldtype op de macroblokcorrelatie 51

65 bloktypes waarvoor geldt: mb type > 22. In de grafieken van figuur 5.1 komt dit overeen met (ruwweg) het linkse en het onderste deel van de grafiek. Bij QCIF/CIF-stromen (figuren 5.1(a) en 5.1(c)) zijn er, zowel in B- als P-beelden bijna geen macroblokken intra-gecodeerd (met uitzondering van I NxN ), bij CIF/QCIFstromen (figuren 5.1(b) en 5.1(d)) ligt dit anders. Hierin is zichtbaar dat ook bij I- macroblokken in de basislaag een ander macrobloktype is gebruikt in de uitbreidingslaag. Er zijn twee sequenties met CIF/4CIF-resolutie gecodeerd( Crew en City ), die beiden een verschillend resultaat geven. Hierdoor dient voor CIF/4CIF-stromen bijkomend onderzoek gedaan te worden naar het verband tussen de eigenschappen van het beeld en de verschillen in de macroblok-correlatiematrices. Voorlopig wordt van de veronderstelling uitgegaan dat de beweging die in het beeld vervat zit, typerend is voor een sequentie en dat de hoeveelheid beweging een indeling is om CIF/4CIF-stromen te categoriseren. Bij traag bewegende sequenties ( City ) zijn de resultaten identiek aan deze van de QCIF/CIF-stromen. Voor sequenties met meer wanorde in de bewegingen maar een statische achtergrond ( Crew ) zijn aparte heuristieken opgesteld. Zowel voor B- en P-beelden kan gesteld worden dat de resolutie (en bij hogere resoluties de beweging in het beeld) een manier is stromen te categoriseren. In wat volgt is verwezen naar QCIF/CIF-stromen indien het gaat over stromen in deze resolutie of stromen met CIF/4CIF-resolutie met traag bewegende beeldinhoud B-beelden in QCIF/CIF-stromen Om heuristieken uit te werken, zijn benaderingen genomen op alle grafieken van B-beelden in QCIF/CIF-stromen, zodanig het uiteindelijke resultaat voor alle situaties een goed compromis vormt. Immers heuristieken opstellen specifiek voor één (type) stroom, kan voor grote fouten zorgen bij andere stromen, of andere condities. Diagonaal Alle grafieken van de macroblok-correlatiematrices laten zien dat de diagonaal relatief grote waarden heeft, dit wijst erop dat in de uitbreidingslaag een aanzienlijke kans bestaat dat het macrobloktype van het co-located macroblok uit de basislaag wordt geselecteerd. Dit is ook zichtbaar in tabellen door de gekleurde achtergrond. In elke situatie, 52

66 moet de macroblokvoorspeller van de uitbreidingslaag het macrobloktype van het colocated macroblok uit de basislaag testen. Minimale subset Macrobloktypes B Direct 16x16 (mb type = 0), B Bi 16x16 (mb type = 3) en B 8x8 (mb type = 22) zijn voor alle stromen een belangrijke groep van macrobloktypes in de uitbreidingslaag, onafhankelijk van het macrobloktype van de basislaag. Dit is duidelijk doordat er bij deze types, in alle stromen, altijd in de volledige kolom (dus voor alle types uit de basislaag) waarden staan. Bij benadering, blijken 40-70% van de macroblokken uit de uitbreidingslaag te behoren tot één van deze drie types, de exacte hoeveelheid is niet relevant. Deze macrobloktypes zijn veel voorkomend aangezien ze als basis B-macrobloktypes worden beschouwd. In veel gevallen dient het macroblok niet gepartitioneerd te zijn, omdat een goede referentie voor het volledige macroblok gevonden is. Daarnaast geeft een voorspelling op het (gewogen) gemiddelde van twee referentiebeelden meestal een beter resultaat dan een voorspelling op één referentiebeeld vandaar het belang van het B Bi 16x16 en B Direct 16x16 -macrobloktype. Wanneer wel partitionering is toegepast, zijn veelal 16x8- en 8x16-submacroblokken niet ideaal, daarom wordt het macroblok volledig opgedeeld in 8x8-submacroblokken (indien nodig tot 4x4) en krijgt elk submacroblok het benodigde submacrobloktype (B 8x8 ). Hoewel B 8x8 minder voorkomt bij een lagere kwaliteit, blijft het toch nog een significant macrobloktype in de uitbreidingslaag onafhankelijk van het macrobloktype van het co-located macroblok van de basislaag. Niet-gecodeerde macroblokken De grafiek in figuur 5.2 toont dat het aantal niet-gecodeerde macroblokken stijgt naarmate de kwantisatie van basis- en uitbreidingslaag toeneemt. Dit wijst op een rechtstreeks verband tussen het aantal niet-gecodeerde macroblokken en de kwantisatie. Er kan echter geen eenduidig verband worden vastgesteld tussen de gebruikte kwantisatie en het voorkomen van een significant aantal macroblokken in de uitbreidingslaag. Indien de niet-gecodeerde macroblokken in basis- en uitbreidingslaag co-located macroblokken zijn, test de macroblokvoorspelling reeds of het macroblok in uitbreidingslaag 53

67 mb skip (%) Percentage Niet-Gecodeerde Macroblokken 60 Mobile QP BL =12 Bus QP BL = Foreman QP BL =12 Mobile QP BL =30 40 Bus QP BL =30 Foreman QP BL = QP EL Figuur 5.2: Grafiek: Percentage niet-gecodeerde macroblokken niet-gecodeerd is (cfr. diagonaal). De macroblok-correlatiematrices leveren exactere gegevens om het macrobloktype van het co-located macroblok in de basislaag te bepalen. Met behulp van de grafiek in figuur 5.2, wordt de aandacht gevestigd op de grafieken voor de stromen met hogere kwantisatie van de uitbreidingslaag, doordat in de grafiek de stijging is in functie van de kwantisatie in de uitbreidingslaag. Deze stijging geldt zowel voor macroblokken met hoge en lage kwantisatie in de basislaag. Uit figuren 5.3(a) en 5.3(b) geconcludeerd dat het voorkomen van niet-gecodeerde macroblokken op de uitbreidingslaag, op posities waar het co-located macroblok gecodeerd is, enkel significant is indien: QP EL 18 De hoge waarden in de grafiek van figuur 5.2 wijzen dus op macroblokken die in beide lagen niet-gecodeerd zijn. Een hoge kwantisatie van de basislaag heeft dus geen effect op de distributie van B Skip in de uitbreidingslaag, zoals uit beide figuren blijkt. Macroblokpartitionering Onafhankelijk van de kwantisatie van de basislaag, zijn macrobloktypes B Bi Bi 16x8 (mb type = 20) en B Bi Bi 8x16 (mb type = 21) significant, zolang de kwantisatie van de uitbreidingslaag niet te groot is (QP EL 24). Het percentage van voorkomen dat beide types afzonderlijk bezitten, is niet erg groot, maar het wederkerend voorkomen laat uitschijnen dat deze types van belang zijn. Figuur 5.4(a) illustreert dit. 54

68 (a) Mobile (30,12) (b) Mobile (18,24) Figuur 5.3: Niet-gecodeerde macroblokken in QCIF/CIF-stromen In figuur 5.4 is te zien dat macrobloktypes B L0 16x16 (mb type = 1) en B L1 16x16 (mb type = 2) voorkomen indien de kwantisatie van de uitbreidingslaag voldoende groot is (QP EL 24). Dit effect wordt versterkt indien de kwantisatie verhoogt. De reden dat macrobloktypes B L0 16x16 en B L1 16x16 voorkomen bij hogere kwantisatie en tegenstelling tot B Bi Bi 16x8 en B Bi Bi 8x16, die enkel bij lagere QP s gebruikt zijn, is omwille van de eigenschappen van de macrobloktypes. B L0 16x16 en B L1 16x16 maken gebruik van één bewegingsvector (en dus geen partitionering van het macroblok). Daarentegen gebruiken B Bi Bi 16x8 en B Bi Bi 8x16 twee bewegingsvectoren (één voor elk 8x16-submacroblok) en hebben het (gewogen) gemiddelde van twee referentiebeelden als voorspelling. Hierdoor is bij een slechtere kwaliteit (hogere kwantisatie van de uitbreidingslaag) het mogelijk een referentiemacroblok te vinden, zonder partitionering te gebruiken. Bij een betere kwaliteit vindt de macroblokvoorspeller een beter voorspelling bij een gepartitioneerd macroblok aangezien er dan meer detail in het beeld zit en details in submacroblokken belangrijker zijn. Merk op dat macrobloktype B Bi 16x16 ook niet-gepartitioneerd is, dit type komt echter veel voor omdat het een bi-voorspeld type is, daar waar B L0 16x16 en B L1 16x16 55

69 (a) Bus (18,12) (b) Mobile (30,24) (c) City (18,30) (d) Foreman (30,30) Figuur 5.4: Overzicht meetresultaten B-beelden in QCIF/CIF-stromen 56

70 enkel gebruik maken van één referentielijst en dit algemeen gezien een minder goed resultaat geeft t.o.v. bi-voorspelling. QP EL = 24 Wanneer QP EL = 24, is voldaan aan beide voorgaande gevallen, in dit geval zullen zowel B L0 16x16, B L1 16x16, B Bi Bi 16x8 en B Bi Bi 8x16 in de uitbreidingslagen voorkomen. Dit doordat de kwaliteit nog niet goed genoeg is om veel B Bi Bi 16x8 - en B Bi Bi 8x16 -macroblokken te coderen, en er tevens niet voldoende kwaliteit meer is om een overwicht aan B L0 16x16 en B L1 16x16 -macroblokken te coderen. Het gevolg is een uniforme probabiliteitsdistributie tussen deze vier types, waarbij afhankelijk van de specifieke eigenschappen van de beeldinhoud één van de twee situaties meer kan voorkomen. Een goed ontworpen macroblokvoorspeller kan hier rekening mee houden, en na verloop van tijd de twee (bijna) niet geselecteerde macrobloktypes niet meer opnemen in de deelverzameling. Op deze manier garandeert de macroblokvoorspeller een grote nauwkeurigheid, maar kan indien nodig de complexiteit extra reduceren. Heuristieken Bovenvermelde eigenschappen, die het verband tussen de macroblokken van twee lagen aanduiden, stellen de macroblokvoorspeller in staat om sneller tot een gelijkwaardige oplossing te komen dan wanneer alle macrobloktypes worden getest. Zodanig, kan de macroblokvoorspeller voor B-beelden van QCIF/CIF-stromen onderstaande oplossingsmethode gebruiken. Een subset van macrobloktypes bevat de types waarvan aangetoond is dat er een grote kans is op selectie, al dan niet onder bepaalde omstandigheden, zodanig is het voldoende dat de macroblokvoorspeller enkel deze types gebruikt. De minimale subset van macrobloktypes is: mb type EL {mb type BL, 0, 3, 22} (5.1) Afhankelijk van de gebruikte kwantisatie van de uitbreidingslaag zijn aan deze deelverzameling macrobloktypes toegevoegd, zodanig de voorgestelde heuristiek (oplossingsmethode) bekomen is. De heuristiek bevat vier deelverzamelingen op basis van QP EL, zoals hierboven aangehaald: 57

71 QP EL < 18 mb type EL {mb type BL, 0, 3, 20, 21, 22} (5.2) 18 QP EL < 24 mb type EL {mb type BL, 1, 0, 3, 20, 21, 22} (5.3) QP EL = 24 mb type EL {mb type BL, 1, 0, 1, 2, 3, 20, 21, 22} (5.4) QP EL > 24 mb type EL {mb type BL, 1, 0, 1, 2, 3, 22} (5.5) Deze vooropgestelde regels zijn aanpasbaar naargelang de complexiteit van de encoder moet afnemen, of nog kan toenemen, waardoor meer macroblokken exact bepaald worden en dus minder bitsnelheid nodig is. Theoretische nauwkeurigheid Aan de hand van de macroblok-correlatiematrices is theoretisch bepaald welk percentage macroblokken, bij gebruik van hierboven vermelde heuristiek, correct voorspeld zijn. Dit is gebeurd a.d.h.v. de resultaten van de SVCAnalyser, door te kijken hoeveel macroblokken in de uitbreidingslaag van een type zijn dat vermeld is in een deelverzameling. Indien het macroblok in de uitbreidingslaag behoort tot de deelverzameling, dan is het met deze heuristiek ook correct voorspeld. Tabel 5.5 geeft per opgestelde deelverzameling aan hoeveel percent van de macroblokken in de uitbreidingslaag tot deze subset behoren. Hierbij zijn (5.2) en (5.3) samen in één kolom voorgesteld, en is de juiste uitdrukking geselecteerd afhankelijk van de gebruikte QP EL, dit aangezien beide uitdrukkingen niet gelijktijdig kunnen plaatsvinden, en enkel verschillen in het toelaten van niet-gecodeerde macroblokken. De laatste kolom geeft aan hoeveel macroblokken er tot de minimale deelverzameling (5.1) behoren. Dit is als referentie gebruikt voor een encoder met een grote reductie in complexiteit. Merk op dat bij de minimale deelverzameling geen rekening is gehouden met B Skip, bij een grote QP EL kan dit 10-20% extra positieve voorspellingen opbrengen. Een mogelijke veralgemening zou kunnen zijn om altijd enkel (5.4) te gebruiken. Echter is duidelijk dit deze aanpak, indien de QPs gekend zijn, tot een verhoogde rekenkracht zal leiden t.o.v. de beperktere deelverzameling. Voor alle vijf de uitdrukkingen (5.1) - (5.5) is de (theoretische) nauwkeurigheid bepaald. Op deze manier is aangetoond dat de heuristiek tot realistische benaderingen komt, die een versnelling van de encoder kan teweegbrengen, en anderzijds nog een groot deel van de macroblokken correct zal voorspellen. 58

72 (a) Nauwkeurigheid sequentie Bus QP BL QP EL (5.2)-(5.3) (5.4) (5.5) (5.1) ,53% 90,96% 81,46% 77,12% ,61% 88,97% 79,31% 74,79% ,57% 87,89% 81,90% 69,05% ,77% 90,34% 87,20% 68,65% ,02% 91,93% 80,20% 78,88% ,39% 87,97% 78,41% 73,39% ,35% 86,41% 80,00% 63,74% ,83% 89,61% 86,46% 61,40% ,87% 90,39% 77,95% 76,43% ,93% 87,38% 77,46% 73,14% ,35% 86,41% 80,00% 63,74% ,72% 87,65% 84,62% 58,96% ,93% 89,41% 76,68% 75,20% ,61% 85,22% 74,87% 72,27% ,33% 83,28% 76,56% 62,33% ,10% 85,95% 83,35% 58,41% (c) Nauwkeurigheid sequentie Mobile QP BL QP EL (5.2)-(5.3) (5.4) (5.5) (5.1) ,40% 96,31% 87,98% 87,09% ,33% 94,81% 87,40% 83,69% ,30% 93,81% 87,32% 74,33% ,44% 93,72% 89,63% 63,40% ,27% 96,23% 88,03% 78,28% ,04% 94,68% 87,17% 83,19% ,81% 93,64% 86,99% 72,79% ,84% 93,19% 89,23% 59,74% ,57% 96,49% 88,40% 87,27% ,36% 93,06% 85,34% 83,52% ,90% 82,91% 85,84% 75,28% ,93% 92,78% 88,48% 61,91% ,37% 96,36% 87,77% 86,43% ,84% 93,55% 85,28% 83,07% ,99% 92,87% 85,46% 77,31% ,90% 92,13% 87,76% 68,59% (b) Nauwkeurigheid sequentie Foreman QP BL QP EL (5.2)-(5.3) (5.4) (5.5) (5.1) ,96% 91,01% 78,80% 75,75% ,86% 89,76% 82,31% 68,56% ,95% 92,50% 90,27% 64,93% ,52% 96,98% 96,59% 63,85% ,02% 87,10% 76,06% 71,98% ,14% 87,82% 78,85% 72,40% ,19% 88,83% 82,68% 70,59% ,36% 94,12% 91,08% 80,15% ,28% 89,80% 77,34% 73,83% ,28% 86,39% 78,18% 66,00% ,89% 87,74% 84,48% 57,83% ,36% 94,68% 94,08% 63,06% ,88% 89,53% 76,13% 76,36% ,66% 82,27% 73,57% 65,70% ,39% 85,46% 81,84% 57,90% ,64% 91,77% 90,99% 62,83% (d) Nauwkeurigheid sequentie City QP BL QP EL (5.2)-(5.3) (5.4) (5.5) (5.1) ,81% 93,76% 78,22% 55,79% ,03% 92,83% 81,55% 78,96% ,48% 93,17% 89,48% 73,28% ,87% 96,79% 95,98% 69,12% ,46% 94,44% 77,85% 67,92% ,72% 91,77% 78,31% 68,16% ,74% 91,81% 88,17% 52,73% ,66% 96,34% 95,50% 43,99% ,12% 94,05% 77,14% 46,90% ,33% 91,34% 79,76% 46,88% ,87% 96,79% 95,98% 69,12% ,99% 95,40% 94,59% 26,57% ,78% 93,65% 76,47% 34,16% ,87% 96,79% 95,98% 43,45% ,66% 89,88% 85,80% 26,96% ,41% 94,49% 93,59% 20,39% Tabel 5.5: Nauwkeurigheid macroblokvoorspeller: B-beelden met QCIF/CIF-resolutie Indien de heuristiek gevolgd is, is de gebruikte subset in tabel 5.5 aangeduid (vetcursief). Kolom (5.5) wijst op het maximaal aantal correct te voorspellen macroblokken met deze heuristiek doordat de volledig subsry is gebruikt. Kolom (5.1) duidt aan hoeveel percent van de macroblokken minimaal correct voorspeld zal zijn, door de kleinste deelverzameling te nemen. Beiden zijn resp. als boven- en ondergrens voor de nauwkeurigheid van een complexiteitsgereduceerde macroblokvoorspeller beschouwd. Er is te zien dat de aangeduide waarde steeds nabij de bovengrens is gelegen, maar enkel de bovengrens is indien het alternatief significant meer (5%) foutieve voorspelling bedraagt. Door niet steeds de subset van de bovengrens te gebruiken, zal hierdoor minder complexiteit verreist zijn in de encoder. 59

73 5.3.4 B-beelden in CIF/4CIF-stromen Deze analyse en bijhorende heuristiek, zijn gebaseerd op de resultaten van één stroom (sequentie Crew ). De verwachting is dat kleine afwijkingen voorkomen en de heuristiek kan aangepast worden om tot een algemeen geldende heuristiek te komen. Diagonaal In de grafieken is zichtbaar dat er op de diagonaal grote waarden aanwezig zijn. Bij I- macrobloktypes zijn deze waarden zeer uitgesproken, bij B-macrobloktypes is dit minder uitgesproken. Hiervoor zijn twee verklaringen. Veel macroblokken in de uitbreidingslaag worden als I BL verzonden, waardoor het macrobloktype identiek is, anderzijds zijn er in veel meer macroblokken met een B-macrobloktype, waardoor de verdeling van de verschillende types bij B-macroblokken meer uniform is. Globaal genomen geldt dat de macroblokvoorspeller in de uitbreidingslaag het macrobloktype uit de basislaag moet testen. Minimale subset In tegenstelling tot QCIF/CIF-stromen, zijn er maar twee macrobloktypes die steeds voorkomen in de grafieken. Macrobloktypes B Direct 16x16 (mb type = 0) en B Bi 16x16 (mb type = 3) hebben onafhankelijk van het macrobloktype van de basislaag een grote vertegenwoordiging bij de macrobloktypes van de uitbreidingslaag. De reden dat B 8x8 (mb type = 22) niet meer in elke situatie geselecteerd is, is het gevolg van de verhoogde resolutie die de oppervlakte van de details vergroot. Daarom is enkel dit type belangrijk indien de kwaliteit verreist is om de zeer kleine details weer te geven. Figuur 5.5(a) geeft de sterke aanwezigheid van B Direct 16x16 en B Bi 16x16 aan. Niet-gecodeerde macroblokken Naar analogie met niet-gecodeerde macroblokken in QCIF/CIF-stromen, is onafhankelijk van de kwantisatie van de basislaag gekeken naar de procentuele verdeling die nietgecodeerde macroblokken in de uitbreidingslaag hebben. Hieruit volgen twee bevindingen. Enerzijds zijn macroblokken met I-macrobloktypes in de basislaag nooit als B Skip (mb type = -1) gecodeerd. Anderzijds, zijn B-macroblokken in de uitbreidingslaag niet-gecodeerd indien: QP EL 24, met uitzondering van macroblokken die in 60

74 (a) Crew (12,18) (b) Crew (24,30) (c) Crew (18,12) (d) Crew (30,12) Figuur 5.5: Overzicht meetresultaten B-beelden in CIF/4CIF-stromen 61

75 de basislaag niet-gecodeerd zijn (maar dit is opgevangen door de diagonaaleigenschap). Figuur 5.5(b) laat hogere waardes zien in de eerste kolom. Macroblokpartitionering Net zoals bij QCIF/CIF-stromen zijn macrobloktypes B L0 16x16 (mb type = 1) en B L1 16x16 (mb type = 2) aanwezig wanneer de kwantisatie op de uitbreidingslaag toeneemt. In CIF/4CIF-stromen is de aanwezigheid echter al significant wanneer QP EL 18. Door de grotere resolutie zijn er sneller 16x16-submacroblokken gevormd, ten gevolge van de toegenomen oppervlakte. De verhoging van QP EL zorgt dan weer voor het homogeen maken van gedetailleerde gebieden, waardoor één bewegingsvector voldoende is voor het macroblok. Macrobloktypes B Bi Bi 16x8 (mb type = 20) en B Bi Bi 8x16 (mb type = 21) komen voor wanneer er een lage kwantisatie in de uitbreidingslaag plaatsvindt. In CIF/4CIFstromen komen deze twee macrobloktypes steeds voor samen met macrobloktypes B 8x8 en I NxN (mb type=23). Deze types zijn allemaal opgebouwd met submacroblokken. Het verhogen van de kwaliteit van het beeld in de uitbreidingslaag zorgt voor een verhoogde selectiekans, wegens de toenemende graad van detail, zoals zichtbaar in figuur 5.5(c) Het macrobloktype I NxN komt veel voor, in tegenstelling tot QCIF/CIF-stromen, doordat de verhoging van de kwaliteit en de uitbreiding in resolutie zodanig een groot verschil in detail veroorzaakt dat voor veel macroblokken intra-codering efficiënter is. Binnen intra-codering bezit het I NxN type de meest uitgebreide partitionering (tot 4x4- submacroblokken), het is dus logisch dat de bijkomende detail en scherpte in het beeld, is gecodeerd met het macrobloktype dat het meest gevoelig is voor details. Andere I- macroblokken zijn niet gebruikt, indien het macrobloktype van het co-located macroblok uit de uitbreidingslaag een B-macrobloktype is. De probabiliteit op selectie van een macrobloktype met partitionering is bij benadering omgekeerd evenredig aan de probabiliteit van selectie van een macrobloktype zonder partitionering. De heuristiek zoekt hierin een juiste evenwicht, door op het moment dat beide categoriën kunnen voorkomen, al deze macroblokken toe te voegen aan de deelverzameling. 62

76 Intra-gecodeerde macroblokken Macroblokken die in de basislaag intra-gecodeerd zijn, zullen zoals bij de diagonaaleigenschap in vele gevallen hetzelfde macrobloktype hebben. Enkel wanneer de kwantisatie van het beeld in de uitbreidingslaag lager is dan die van het beeld uit de basislaag, kunnen deze macroblokken ook het I NxN -macrobloktype hebben. Macroblokken met het I NxN - macrobloktype in de basislaag hebben altijd in de uitbreidingslaag een I NxN -macroblok. Figuur 5.5(d) duidt op de sterke aanwezigheid van I NxN -macroblokken. Heuristiek De heuristiek van B-beelden van stromen met CIF/4CIF-resolutie is afhankelijk van het soort macrobloktype (I of B) dat het co-located macroblok in de basislaag heeft, daarnaast hebben zowel QP EL als de verhouding tussen QP BL en QP EL een impact op de selectie van het macrobloktype. De minimale deelverzameling van B-macrobloktypes is gereduceerd tot: mb type EL {mb type BL, 0, 3} (5.6) De minimale deelverzameling van I-macrobloktypes: mb type EL {mb type BL } (5.7) Voor mb type BL = ( ) geldt: QP EL < 18 mb type EL {mb type BL, 0, 3, 20, 21, 22, 23} (5.8) QP BL QP EL QP EL < 24 mb type EL {mb type BL, 0, 1, 2, 3, 20, 21, 22, 23}(5.9) 18 < QP BL > QP EL 24 QP EL < 30 mb type EL {mb type BL, 1, 0, 1, 2, 3, 20, 21, 22, 23} (5.10) QP EL 30 mb type EL {mb type BL, 1, 0, 1, 2, 3} (5.11) 63

77 Voor mb type BL = ( ) geldt: QP EL < QP BL mb type EL {mb type BL, 23} (5.12) QP EL QP BL mb type EL {mb type BL } (5.13) Wederom zijn de vooropgestelde regels aanpasbaar naargelang de vereisten van de encoder. Indien het onderzoeken van (maximaal) 10 macrobloktypes onder alle omstandigheden toelaatbaar is, is er geen onderscheid nodig tussen de verschillende voorwaarden, en is de subset van (5.10) bruikbaar. Theoretische nauwkeurigheid QP BL QP EL (5.8) (5.9)-(5.10) (5.11) (5.6) ,06% 94,25% 51,06% 49,76% ,13% 89,19% 70,57% 67,29% ,43% 95,56% 92,53% 83,40% ,17% 98,49% 98,09% 87,77% ,92% 93,82% 39,63% 38,61% ,02% 84,99% 60,62% 56,60% ,51% 91,42% 87,86% 70,91% ,51% 99,65% 98,11% 80,06% ,61% 93,54% 32,30% 30,56% ,88% 83,32% 51,96% 48,34% ,69% 86,97% 79,50% 63,22% ,68% 96,77% 95,85% 77,76% ,62% 93,53% 27,17% 24,82% ,34% 84,00% 46,11% 32,59% ,50% 83,23% 71,95% 57,12% ,68% 91,78% 89,20% 71,10% Tabel 5.6: Nauwkeurigheid Macroblokvoorspeller: B-beelden met CIF/4CIF-resolutie Tabel 5.6 geeft voor de gegenereerde stromen weer hoeveel macroblokken er correct voorspeld zijn indien bovenstaande deelverzamelingen gebruikt worden. Hierbij is bij elke situatie rekening gehouden of de intra-gecodeerde macroblokken van type kunnen wijzigen, zoals aangegeven in de heuristiek. De minimale deelverzameling (5.6) is als referentie weergeven. Deze geeft aan hoeveel macroblokken correct voorspeld zijn, indien de encoder maar het minimum aan complexiteit kan hebben, dit is een ondergrens voor het aantal correct voorspelde macroblokken. 64

78 In kolom (5.9)-(5.10), is de deelverzameling genomen die van toepassing is op de stroom, het verschil is het toelaten van niet-gecodeerde macroblokken in de uitbreidingslaag. Per stroom is in de tabel een waarde aangeduid (vet-cursief) die aangeeft hoeveel macroblokken correct zijn voorspeld indien de voorwaarden van de heuristiek zijn toegepast op de stroom. Hierbij is te zien dat bij twee nabij gelegen waarden (ongeveer evenveel macroblokken correct voorspeld), telkens het type met de kleinste subset gebruikt is. Niet alle aangeduide waarden zijn de meest ideale, voor sommige kwantisaties is er een betere voorspelling mogelijk, maar de heuristiek verder aanpassen zodanig deze past bij de stroom, zorgt ervoor dat er bij andere stromen meer afwijkingen kunnen komen P-beelden in QCIF/CIF-stromen Diagonaal In navolging van B-beelden blijkt dat ook nu weer de diagonaal altijd grote waarden bevat. Voor elk macroblok in de uitbreidingslaag is het macrobloktype van het co-located macroblok in de basislaag getest. Niet-gecodeerde macroblokken Macroblokken in de uitbreidingslaag, waarvan het co-located macroblok in de basislaag gecodeerd is, kunnen niet-gecodeerd zijn, indien de kwaliteit van de uitbreidingslaag slechter of gelijk is aan de kwaliteit van de basislaag: QP EL QP BL. Daarnaast moet QP EL 24. Dit is te zien in figuur 5.6(a). Voor macroblokken in de uitbreidingslaag waarvan het co-located macroblok in de basislaag niet-gecodeerd is, is zichtbaar dat het macroblok op de uitbreidingslaag ook niet-gecodeerd is, indien de kwantisatie op de uitbreidingslaag groter is dan die op de basislaag. Uit de resultaten blijkt dat grote afwijkingen hierop voornamelijk gebeuren wanneer er weinig macroblokken niet-gecodeerd zijn. Wanneer veel macroblokken nietgecodeerd zijn, dan is de afwijking uitzonderlijk 15% van het totaal aantal niet-gecodeerde macroblokken in de basislaag. 65

79 Intra-gecodeerde macroblokken De I-macroblokken hebben voornamelijk het I NxN -macrobloktype, de overige zijn verwaarloosbaar. Er blijkt dat macroblokken, waarvan het co-located macroblok in de basislaag macrobloktype I NxN heeft, weinig kans hebben om een ander macrobloktype toegewezen te krijgen. Er wordt dus steeds gesteld voor P-beelden met QCIF/CIF-resolutie: mb type BL = 5 mb type EL = 5 (5.14) Bij andere macrobloktypes komt het I NxN macrobloktype enkel voor indien de kwaliteit van de uitbreidingslaag gelijk is of verbeterd ten opzichte van de basislaag (QP EL QP BL ). Zoals aangegeven in figuur 5.6(b) Macroblokpartitionering Ondanks het beperkt aantal (5) macrobloktypes voor inter-codering, is het eenvoudig om een minimale subset van veelvoorkomende macrobloktypes te vinden in de grafieken. Macrobloktypes P L0 16x16 (mb type = 0) en P 8x8 (mb type = 3) komen, onafhankelijk van het macrobloktype op de basislaag, veel voor in de uitbreidingslaag. Deze types zijn dus goede kandidaten en de macroblokvoorspeller van de uitbreidingslaag moet altijd deze types testen. De reden dat deze types regelmatig voorkomen, komt door de eigenschappen van deze macroblokkentypes. Macrobloktype P L0 16x16 heeft geen partitionering, waardoor bij grote stukken beeld die gelijkaardig zijn met het referentiebeeld, dit macrobloktype geschikt is. Indien wel partitionering nodig is, is het vaak voordeliger om het macroblok in 8x8-submacroblokken (P 8x8 ) te verdelen dan in 16x8- of 8x16-submacroblokken te verdelen. In het eerste geval is wederom onderverdeling tot 4x4-submacroblokken mogelijk. De partitionering heeft bijkomende gevolgen met betrekking op de verwachtte combinaties van macrobloktypes in basis- en uitbreidingslaag. Zo is het ongewoon dat macrobloktype P L0 L0 16x8 (mb type = 1) voorkomt in de basislaag en P L0 L0 8x16 (mb type = 2) het macrobloktype van het co-located macroblok is in de uitbreidingslaag. Het zelfde geldt voor macrobloktype P L0 L0 8x16 in de basislaag met P L0 L0 16x8 in de uitbreidingslaag. De reden is logisch te verklaren, doordat beide macrobloktypes een partitionering hebben die in de pixel-ruimte orthogonaal op elkaar staan. 66

80 Voor macroblokken met macrobloktype P 8x8 of P L0 16x16 in de basislaag, is te zien dat het co-located macroblok in de uitbreidingslaag in mindere mate de macrobloktypes P L0 L0 16x8 en P L0 L0 8x16 bezitten, maar meer P L0 16x16 en P 8x8. Ook hier is de oorzaak te vinden in de partitionering van het macroblok. Omwille hiervan zijn macrobloktypes P L0 L0 16x8 en P L0 L0 8x16 uitgesloten van de deelverzameling indien het macrobloktype van het co-located macroblok P 8x8 of P L0 16x16 is. In figuur 5.6(b) is dit te zien doordat de posities in het midden van de grafiek, kleinere waarden hebben. Dit leidt, op basis van de beschikbare a priori kennis, tot drie relaties die, indien van toepassing, uit de te testen subset moeten worden verwijderd: } (a)mb type BL = 3 mb type EL {1, 2} (5.15) (b)mb type BL = 0 mb type BL = 1 mb type EL {2} (5.16) mb type BL = 2 mb type EL {1} (5.17) Het macrobloktype P 8x8ref0 (mb type = 4) komt in de volledige gecodeerde stroom (basis- en uitbreidingslaag) nooit voor. Dit is niet te wijten aan het gebruik van meerder referentiebeelden, aangezien dit ook in stromen met één referentiebeeld het geval is. De mogelijkheid bestaat dat de JSVM-encoder dit type niet gebruikt. Hier is verder niet op ingegaan. Het macrobloktype P 8x8ref0 is niet opgenomen in de heuristieken. Heuristiek Een onderscheid is gemaakt tussen inter- en intra-macrobloktypes. De heuristiek voor intra-macroblokken op de basislaag is weergegeven door (5.14). De minimale deelverzameling, die voor alle P-macrobloktypes uit de basislaag geldig is en de minimaal te testen macrobloktypes voor de uitbreidingslaag bevat, bestaat uit: mb type EL {mb type BL, 0, 3} (5.18) Deze verzameling wordt uitgebreid naargelang de verhouding van QP EL met QP BL 67

81 kunnen er zich vier situaties voordoen: QP BL < QP EL < 24 mb type EL {mb type BL, 0, 1, 2, 3} (5.19) QP BL QP EL < 24 mb type EL {mb type BL, 0, 1, 2, 3, 5} (5.20) QP BL < QP EL 24 mb type EL {mb type BL, 1, 0, 1, 2, 3} (5.21) QP BL QP EL 24 mb type EL {mb type BL, 1, 0, 1, 2, 3, 5} (5.22) Van deze bekomen deelverzamelingen moeten telkens de nodige elementen uitgesloten worden, indien (5.15) - (5.17) van toepassing is. Bijkomend is een niet-gecodeerd macroblok in de basislaag, niet-gecodeerd in de uitbreidingslaag indien QP EL > QP BL, en een I NxN -macroblok in de basislaag komt overeen met een I NxN -macroblok in de uitbreidingslaag. Bij deze situaties moeten dus geen andere types getest worden. Theoretische nauwkeurigheid Bij het opstellen van de theoretische performantie is in elke situatie uitgegaan van de beperkingen omtrent intra-macroblokken en het niet-coderen van macroblokken. Voor het bepalen van de heuristiek is uitgegaan van zes mogelijke benaderingen. Twee hiervan dienen om een mogelijke boven- en ondergrens aan te geven van de nauwkeurigheid bij een complexiteitsreductie. Als ondergrens is de minimale deelverzameling (5.18) beschouwd. Deze methode levert minimaal een nauwkeurigheid van 65%, maar heeft globaal gezien een nauwkeurigheid van 70-80%. De bovengrens is het procentuele aantal correct voorspelde macroblokken wanneer de macrobloktypes van het co-located macroblok in de uitbreidingslaag van alle B-macroblokken van de basislaag, deel kunnen uitmaken van : mb type EL { 1, 0, 1, 2, 3, 5} (5.23) Daarnaast zijn alle I-macroblokken als I NxN -macroblok voorspeld. Zodanig illustreert de bovengrens de verwaarlozing ten gevolge van de I-macroblokken als I NxN - macroblok te coderen in de uitbreidingslaag. Voor de andere scenario s is uitgegaan van de subsets van (5.19) - (5.22), de kolomnaam geeft aan welke beperkingen inzake de a priori informatie van de macrobloktypes uit de basislaag in acht is genomen. Dit ter vergelijking met de laatste kolom, die de volledige 68

82 (a) Nauwkeurigheid bij sequentie Bus (5.15).a (5.15).b (5.15) (5.16) +(5.16) +(5.16) +(5.16) QP BL QP EL (5.18) (5.23) +(5.17) +(5.17) +(5.17) +(5.17) ,39% 99,28% 97,85% 92,00% 96,34% 89,39% ,26% 96,17% 94,70% 87,42% 92,85% 84,26% ,51% 97,47% 95,79% 86,32% 93,60% 82,83% ,13% 98,06% 96,59% 88,59% 94,44% 85,44% ,31% 99,16% 97,44% 91,88% 96,21% 89,44% ,24% 98,78% 96,70% 89,98% 94,40% 86,41% ,26% 97,05% 95,37% 86,11% 92,89% 82,95% ,37% 97,47% 95,72% 86,49% 93,90% 84,05% ,29% 98,78% 96,88% 92,62% 95,24% 89,63% ,39% 98,19% 96,21% 91,36% 94,31% 87,90% ,32% 99,12% 97,23% 88,17% 94,95% 85,02% ,51% 96,88% 95,16% 86,00% 92,92% 82,67% ,70% 99,33% 97,66% 93,42% 95,32% 90,05% ,89% 98,65% 96,58% 92,54% 94,01% 88,36% ,72% 96,88% 94,95% 89,42% 90,94% 84,02% ,69% 98,69% 96,59% 88,53% 93,25% 84,06% (c) Nauwkeurigheid bij Sequentie Mobile (5.15).a (5.15).b (5.15) (5.16) +(5.16) +(5.16) +(5.16) QP BL QP EL (5.18) (5.23) +(5.17) +(5.17) +(5.17) +(5.17) ,31% 99,66% 98,06% 88,55% 96,09% 85,40% ,37% 97,10% 95,08% 85,69% 93,31% 82,37% ,43% 98,06% 96,04% 86,20% 93,69% 82,37% ,13% 98,57% 96,09% 84,64% 93,64% 80,22% ,49% 99,58% 97,49% 89,23% 96,34% 86,49% ,51% 98,99% 97,05% 87,75% 95,33% 84,51% ,88% 98,53% 96,38% 85,77% 94,44% 81,86% ,87% 98,86% 96,27% 84,43% 94,02% 80,01% ,98% 99,62% 97,55% 88,80% 96,17% 86,03% ,34% 99,16% 97,11% 87,71% 95,41% 84,47% ,73% 99,49% 96,97% 87,04% 95,50% 83,46% ,24% 98,65% 96,20% 84,60% 93,64% 79,97% ,57% 99,75% 98,03% 90,66% 96,04% 87,42% ,51% 99,45% 97,45% 88,68% 95,08% 84,89% ,93% 98,11% 95,59% 85,44% 93,43% 81,48% ,75% 99,75% 96,38% 85,77% 94,19% 81,14% (b) Nauwkeurigheid bij Sequentie Foreman (5.15).a (5.15).b (5.15) (5.16) +(5.16) +(5.16) +(5.16) QP BL QP EL (5.18) (5.23) +(5.17) +(5.17) +(5.17) +(5.17) ,52% 99,54% 98,23% 90,05% 96,67% 87,56% ,97% 95,53% 93,47% 83,35% 91,65% 80,02% ,25% 98,99% 96,92% 85,29% 94,73% 81,58% ,54% 99,45% 98,44% 91,36% 97,34% 89,67% ,27% 99,54% 97,17% 95,54% 96,93% 93,27% ,61% 99,28% 96,28% 93,27% 95,88% 90,61% ,61% 98,57% 95,33% 93,73% 96,13% 91,79% ,41% 99,37% 98,25% 95,88% 97,94% 94,70% ,16% 99,37% 97,97% 92,47% 94,57% 88,51% ,11% 97,69% 96,38% 88,85% 91,96% 84,26% ,54% 99,33% 97,60% 88,72% 93,56% 83,84% ,95% 99,07% 97,70% 90,40% 94,87% 86,87% ,33% 99,24% 97,89% 94,70% 94,11% 90,32% ,21% 98,11% 96,68% 92,93% 91,29% 86,87% ,33% 91,46% 90,28% 84,68% 83,54% 78,20% ,34% 99,45% 97,52% 90,70% 92,51% 85,10% (d) Nauwkeurigheid bij Sequentie City (5.15).a (5.15).b (5.15) (5.16) +(5.16) +(5.16) +(5.16) QP BL QP EL (5.18) (5.23) +(5.17) +(5.17) +(5.17) +(5.17) ,74% 99,73% 96,86% 88,10% 94,15% 83,19% ,69% 93,58% 90,00% 79,44% 86,48% 73,14% ,21% 97,36% 93,74% 81,83% 90,55% 76,07% ,86% 98,28% 96,00% 85,54% 93,95% 81,76% ,04% 99,83% 97,05% 89,94% 94,34% 85,24% ,33% 99,58% 95,99% 87,12% 92,20% 80,72% ,04% 97,06% 93,24% 82,48% 89,68% 75,96% ,82% 98,53% 96,01% 85,43% 93,97% 81,47% ,78% 99,92% 97,31% 91,13% 94,64% 86,61% ,45% 99,73% 95,93% 88,87% 92,75% 83,16% ,44% 99,59% 95,37% 87,03% 92,18% 80,83% ,45% 98,17% 95,20% 86,04% 93,42% 81,89% ,37% 99,86% 96,92% 93,66% 94,24% 88,93% ,68% 99,78% 95,91% 91,82% 92,45% 85,64% ,32% 96,89% 92,76% 88,02% 89,01% 81,30% ,50% 99,46% 96,15% 89,41% 93,56% 84,73% Tabel 5.7: Nauwkeurigheid macroblokvoorspeller: P-beelden met QCIF/CIF-resolutie heuristiek met beperkingen weergeeft. Op deze manier is de invloed van de verschillende benaderingen geanalyseerd. Het laatste scenario is de voorgesteld oplossingsmethode, waarbij rekening wordt gehouden met (5.14), (5.15) - (5.17), (5.19) - (5.22). Dit zal typisch rond de 80-85% correcte resultaten leveren, met een minimale correctheid van 73% P-beelden in CIF/4CIF-stromen Deze paragraaf handelt over de correlaties tussen macrobloktypes in basis- en uitbreidingslaag voor P-beelden met CIF/4CIF-resolutie, die bewegingsvectoren ten gevolge van beweging van objecten in het beeld bezitten en waarbij het beeld een statische achtergrond heeft. Stromen met CIF/4CIF-resolutie waar beweging is ten gevolge van vloeiende camerabeweging, kennen dezelfde eigenschappen (en heuristieken) als QCIF/CIF-stromen. 69

83 (a) Foreman (18,30) QCIF/CIF (b) Bus (24,18) QCIF/CIF (c) Crew (12,30) CIF/4CIF (d) Crew (24,18) CIF/4CIF Figuur 5.6: Overzicht meetresultaten P-beelden 70

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

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

Nadere informatie

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

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

Nadere informatie

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Nadere informatie

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

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

Nadere informatie

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

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

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

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

Nadere informatie

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

Adherence aan HWO en meer bewegen

Adherence aan HWO en meer bewegen Adherence aan HWO en meer bewegen Een experimenteel onderzoek naar de effecten van het motivationele stadium van patiënten en de adherence aan huiswerkoefeningen (HWO) bij fysiotherapie en het meer bewegen.

Nadere informatie

MyDHL+ ProView activeren in MyDHL+

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

Nadere informatie

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

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

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

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

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

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

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

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

Nadere informatie

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

Ouderlijke Controle en Angst bij Kinderen, de Invloed van Psychologische Flexibiliteit

Ouderlijke Controle en Angst bij Kinderen, de Invloed van Psychologische Flexibiliteit 1 Ouderlijke Controle en Angst bij Kinderen, de Invloed van Psychologische Flexibiliteit Nicola G. de Vries Open Universiteit Nicola G. de Vries Studentnummer 838995001 S71332 Onderzoekspracticum scriptieplan

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

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

(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

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

Functioneren van een Kind met Autisme. M.I. Willems. Open Universiteit

Functioneren van een Kind met Autisme. M.I. Willems. Open Universiteit Onderzoek naar het Effect van de Aanwezigheid van een Hond op het Alledaags Functioneren van een Kind met Autisme M.I. Willems Open Universiteit Naam student: Marijke Willems Postcode en Woonplaats: 6691

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

Bent u gemotiveerd? L.E.J. Gerretsen Studentnummer: Eerste begeleider: prof. dr. L. Lechner Tweede begeleider: Dr. A.

Bent u gemotiveerd? L.E.J. Gerretsen Studentnummer: Eerste begeleider: prof. dr. L. Lechner Tweede begeleider: Dr. A. Bent u gemotiveerd? Een Experimenteel Onderzoek naar de Invloed van een op het Transtheoretisch Model Gebaseerde Interventie op de Compliance bij de Fysiotherapeutische Behandeling van Psychiatrische Patiënten

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

Question-Driven Sentence Fusion is a Well-Defined Task. But the Real Issue is: Does it matter?

Question-Driven Sentence Fusion is a Well-Defined Task. But the Real Issue is: Does it matter? Question-Driven Sentence Fusion is a Well-Defined Task. But the Real Issue is: Does it matter? Emiel Krahmer, Erwin Marsi & Paul van Pelt Site visit, Tilburg, November 8, 2007 Plan 1. Introduction: A short

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

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

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

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

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

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

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

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

Nadere informatie

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

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

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

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

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

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

Nadere informatie

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

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

Nadere informatie

De Relatie tussen Werkdruk, Pesten op het Werk, Gezondheidsklachten en Verzuim

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

Nadere informatie

Gebruik van het LOGO in geautomatiseerde verkiezingen

Gebruik van het LOGO in geautomatiseerde verkiezingen BIJLAGE 1 S.A. STERIA Benelux N.V. Gebruik van het LOGO in geautomatiseerde verkiezingen Technische bepalingen voor de weergave van het logo op de schermen. Versie 1.2 Guy JASPERS Revisions Revision Description

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

GOAL-STRIVING REASONS, PERSOONLIJKHEID EN BURN-OUT 1. Het effect van Goal-striving Reasons en Persoonlijkheid op facetten van Burn-out

GOAL-STRIVING REASONS, PERSOONLIJKHEID EN BURN-OUT 1. Het effect van Goal-striving Reasons en Persoonlijkheid op facetten van Burn-out GOAL-STRIVING REASONS, PERSOONLIJKHEID EN BURN-OUT 1 Het effect van Goal-striving Reasons en Persoonlijkheid op facetten van Burn-out The effect of Goal-striving Reasons and Personality on facets of Burn-out

Nadere informatie

Preschool Kindergarten

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

Nadere informatie

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

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

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

Nadere informatie

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

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

STRESS CORROSION CRACKING OF WELDED JOINTS OF Al-Mg ALLOYS

STRESS CORROSION CRACKING OF WELDED JOINTS OF Al-Mg ALLOYS Journal of KONES Powertrain and Transport, Vol. 21, No. 3 2014 ISSN: 1231-4005 e-issn: 2354-0133 ICID: 1133154 DOI: 10.5604/12314005.1133154 STRESS CORROSION CRACKING OF WELDED JOINTS OF Al-Mg ALLOYS Gdynia

Nadere informatie

Online Resource 1. Title: Implementing the flipped classroom: An exploration of study behaviour and student performance

Online Resource 1. Title: Implementing the flipped classroom: An exploration of study behaviour and student performance Online Resource 1 Title: Implementing the flipped classroom: An exploration of study behaviour and student performance Journal: Higher Education Authors: Anja J. Boevé, Rob R. Meijer, Roel J. Bosker, Jorien

Nadere informatie

Daylight saving time. Assignment

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

Nadere informatie

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

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

Nadere informatie

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

Referentie Handleiding

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

Nadere informatie

open standaard hypertext markup language internetprotocol transmission control protocol internet relay chat office open xml

open standaard hypertext markup language internetprotocol transmission control protocol internet relay chat office open xml DOWNLOAD OR READ : OPEN STANDAARD HYPERTEXT MARKUP LANGUAGE INTERNETPROTOCOL TRANSMISSION CONTROL PROTOCOL INTERNET RELAY CHAT OFFICE OPEN XML PDF EBOOK EPUB MOBI Page 1 Page 2 relay chat office open xml

Nadere informatie

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

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

Nadere informatie

University of Groningen

University of Groningen University of Groningen De ontwikkeling van prikkelverwerking bij mensen met een Autisme Spectrum Stoornis en de invloed van hulp en begeleiding gedurende het leven. Fortuin, Marret; Landsman-Dijkstra,

Nadere informatie

Polsslag. Samenvatting. Probleem om aan te pakken: Context. Doelen. Aansluiting bij de werkelijkheid. Vaardigheden

Polsslag. Samenvatting. Probleem om aan te pakken: Context. Doelen. Aansluiting bij de werkelijkheid. Vaardigheden Polsslag Samenvatting Age category 9-12 jaar Topic Gegevens en statistieken Total duration 535 minutes Leerlingen verkennen de polsslag in verschillende situaties. Ze creëren een meetinstrument om hun

Nadere informatie

Academisch schrijven Inleiding

Academisch schrijven Inleiding - In dit essay/werkstuk/deze scriptie zal ik nagaan/onderzoeken/evalueren/analyseren Algemene inleiding van het werkstuk In this essay/paper/thesis I shall examine/investigate/evaluate/analyze Om deze

Nadere informatie

LinkedIn Profiles and personality

LinkedIn Profiles and personality LinkedInprofielen en Persoonlijkheid LinkedIn Profiles and personality Lonneke Akkerman Open Universiteit Naam student: Lonneke Akkerman Studentnummer: 850455126 Cursusnaam en code: S57337 Empirisch afstudeeronderzoek:

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

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

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

Impact en disseminatie. Saskia Verhagen Franka vd Wijdeven

Impact en disseminatie. Saskia Verhagen Franka vd Wijdeven Impact en disseminatie Saskia Verhagen Franka vd Wijdeven Wie is wie? Voorstel rondje Wat hoop je te leren? Heb je iets te delen? Wat zegt de Programma Gids? WHAT DO IMPACT AND SUSTAINABILITY MEAN? Impact

Nadere informatie

Sociale Cognitie bij Psychisch Gezonde Volwassenen

Sociale Cognitie bij Psychisch Gezonde Volwassenen Sociale Cognitie bij Psychisch Gezonde Volwassenen Onderzoek met het Virtuele Lab Social Cognition in Psychologically Healthy Adults Research with the Virtual Laboratory Anja I. Rebber Studentnummer: 838902147

Nadere informatie

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

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

Nadere informatie

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

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

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

HOTCO2: alternatief voor de WKK en ketel in de tuinbouw

HOTCO2: alternatief voor de WKK en ketel in de tuinbouw HOTCO2: alternatief voor de WKK en ketel in de tuinbouw Inschatting van de potentie van efficiëntere productie van warmte en CO2 met het HOTCO2 systeem in de tuinbouwsector Erin Kimball (TNO), Ronald-Jan

Nadere informatie

MobiDM App Handleiding voor Windows Mobile Standard en Pro

MobiDM App Handleiding voor Windows Mobile Standard en Pro MobiDM App Handleiding voor Windows Mobile Standard en Pro Deze handleiding beschrijft de installatie en gebruik van de MobiDM App voor Windows Mobile Version: x.x Pagina 1 Index 1. WELKOM IN MOBIDM...

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

Interaction Design for the Semantic Web

Interaction Design for the Semantic Web Interaction Design for the Semantic Web Lynda Hardman http://www.cwi.nl/~lynda/courses/usi08/ CWI, Semantic Media Interfaces Presentation of Google results: text 2 1 Presentation of Google results: image

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

Running Head: INVLOED VAN ASE-DETERMINANTEN OP INTENTIE CONTACT 1

Running Head: INVLOED VAN ASE-DETERMINANTEN OP INTENTIE CONTACT 1 Running Head: INVLOED VAN ASE-DETERMINANTEN OP INTENTIE CONTACT 1 Relatie tussen Attitude, Sociale Invloed en Self-efficacy en Intentie tot Contact tussen Ouders en Leerkrachten bij Signalen van Pesten

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

De Relatie tussen Dagelijkse Stress, Negatief Affect en de Invloed van Bewegen

De Relatie tussen Dagelijkse Stress, Negatief Affect en de Invloed van Bewegen De Relatie tussen Dagelijkse Stress, Negatief Affect en de Invloed van Bewegen The Association between Daily Hassles, Negative Affect and the Influence of Physical Activity Petra van Straaten Eerste begeleider

Nadere informatie

Tentamen T1 Chemische Analysemethoden 6 maart 2014

Tentamen T1 Chemische Analysemethoden 6 maart 2014 Tentamen T1 Chemische Analysemethoden 6 maart 2014 Naam: Student nummer: Geef uw antwoord op dit papier. U mag uw tekstboek, aantekeningen, liniaal en een rekenmachine gebruiken. 1) De stralingsdosis van

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

Shipment Centre EU Quick Print Client handleiding [NL]

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

Nadere informatie

To refer to or to cite this work, please use the citation to the published version:

To refer to or to cite this work, please use the citation to the published version: biblio.ugent.be The UGent Institutional Repository is the electronic archiving and dissemination platform for all UGent research publications. Ghent University has implemented a mandate stipulating that

Nadere informatie