Coding Techniques for Multi-View Video Signals
Transcrição
Coding Techniques for Multi-View Video Signals
Coding Techniques for Multi-View Video Signals Verfahren zur Codierung von Mehrkamera-Videosignalen Der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg zur Erlangung des Grades Doktor-Ingenieur vorgelegt von Ulrich Fecker Erlangen, 2009 Als Dissertation genehmigt von der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg Tag der Einreichung: 24. Oktober 2008 Tag der Promotion: 17. Februar 2009 Dekan: Prof. Dr.-Ing. Johannes Huber Berichterstatter: Prof. Dr.-Ing. André Kaup Prof. Dr.-Ing. Marcus Magnor Erlanger Berichte aus Informations- und Kommunikationstechnik Band 22 Ulrich Fecker Coding Techniques for Multi-View Video Signals Verfahren zur Codierung von Mehrkamera-Videosignalen D 29 (Diss. Universität Erlangen-Nürnberg) Shaker Verlag Aachen 2009 Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available in the Internet at http://dnb.d-nb.de. Zugl.: Erlangen-Nürnberg, Univ., Diss., 2009 Copyright Shaker Verlag 2009 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the publishers. Printed in Germany. ISBN 978-3-8322-8054-3 ISSN 1619-8506 Shaker Verlag GmbH • P.O. BOX 101818 • D-52018 Aachen Phone: 0049/2407/9596-0 • Telefax: 0049/2407/9596-9 Internet: www.shaker.de • e-mail: [email protected] iii Acknowledgements Many people helped me in the course of writing this thesis. First of all, I would like to thank Prof. Dr.-Ing. André Kaup, who has been my supervisor during my time at the Chair of Multimedia Communications and Signal Processing, for all his support and advice during these years. I am also indebted to Prof. Dr.-Ing. Marcus Magnor for showing particular interest in the topic and for reviewing the thesis. This work would not have been possible without my colleagues at the University of Erlangen-Nuremberg and their innumerable suggestions and ideas. From all of them, I would like to mention Jens-Uwe Garbas, Marcus Barkowsky, Jürgen Seiler, Wolfgang Sörgel and Ingo Scholz, who contributed to the research in this thesis in particular. Furthermore, I would like to thank all the students who helped me with their excellent work. Special thanks go to Ursel Arnold and Ute Hespelein for their valuable assistance with the bureaucracy involved. Major parts of this work were funded by the German Research Foundation (DFG) within the Collaborative Research Centre 603 “Model-based analysis and visualisation of complex scenes and sensor data”. I would like to express my gratitude to Prof. em. Dr.-Ing. Heinrich Niemann and Prof. Dr. Günther Greiner for making this possible. I am deeply indebted to my parents, Margret and Gerhard Fecker, for all their kindness and patience during the last three decades. Finally, I would like to thank my beloved wife Gisela for every day we may spend together. iv v Abstract Multi-view video is a technique where a moving object or a scene is recorded using a setup of several synchronous cameras. By applying image-based rendering techniques, new views can be generated for arbitrary viewpoints and viewing angles. Even complex lighting conditions and surface characteristics are reproduced in a photorealistic quality. Furthermore, the computational effort is independent from the scene complexity. Applications include three-dimensional television, where the viewer can choose his viewing position and viewing angle freely, as well as medical visualisations. However, recording multi-view video signals leads to massive amounts of data. That is why efficient compression is crucial for making practical systems possible. The aim of this thesis is on the one hand the efficient coding of multi-view video data and on the other hand the development of pre- and post-filtering techniques which improve the compression and the rendering result. Instead of coding each camera view separately, the correlation between neighbouring views is exploited. The achievable gain by doing so is estimated through a statistical analysis. Furthermore, the standardisation efforts of the Joint Video Team (JVT) regarding multi-view coding are taken into account. Further aspects which are investigated include random access to the coded data and the compression of depth maps, which are frequently used as side information. To deal with disturbing luminance and chrominance variations between the camera views, an efficient pre-filtering technique is presented. Based on histogram matching, all camera views are adapted to a reference view in the centre of the setup. It is shown how the coding efficiency is improved by using histogram matching and how the algorithm can be adapted for real-time transmission systems. When multi-view data is transmitted over error-prone channels, image parts may get lost. Therefore, an error concealment technique is developed by extending an efficient method for single-view video. Fourdimensional frequency selective extrapolation with motion and disparity compensation is introduced, and it is shown that lost blocks in multi-view sequences can be recovered with a convincing reconstruction quality. vi vii Zusammenfassung Bei Mehrkameravideo wird ein bewegtes Objekt oder eine Szene mit einer Anordnung aus mehreren synchronisierten Kameras aufgenommen. Mit Hilfe von bildbasierten Renderingverfahren können neue Ansichten für beliebige Standorte und Blickwinkel erzeugt werden. Auch komplizierte Lichtverhältnisse und Oberflächenbeschaffenheiten werden in fotorealistischer Qualität wiedergegeben. Darüber hinaus hängt der Rechenaufwand nicht von der Szenenkomplexität ab. Anwendungen sind z. B. dreidimensionales Fernsehen, bei dem der Zuschauer seinen Betrachtungsort und Blickwinkel frei wählen kann, sowie Visualisierungen im Bereich der Medizin. Die Aufnahme von Mehrkamera-Videosignalen führt allerdings zu erheblichen Datenmengen. Daher ist eine effiziente Kompression für die Realisierung praxistauglicher Systeme von entscheidender Bedeutung. Ziel dieser Arbeit ist auf der einen Seite eine effiziente Codierung von MehrkameraVideodaten, auf der anderen Seite die Entwicklung von Vor- und Nachverarbeitungsverfahren, die sowohl die Kompression als auch das Renderingergebnis verbessern. Anstatt jede Kameraansicht separat zu codieren, wird die Korrelation zwischen benachbarten Ansichten ausgenutzt. Mit einer statistischen Analyse wird der auf diese Weise erzielbare Gewinn abgeschätzt. Außerdem werden die Standardisierungsbestrebungen des Joint Video Teams (JVT) im Bereich der Mehrkameracodierung berücksichtigt. Weitere untersuchte Aspekte sind u. a. das Problem des wahlfreien Zugriffs auf die codierten Daten sowie die Kompression von Tiefenkarten, die häufig als Seiteninformation verwendet werden. Um mit störenden Luminanz- und Chrominanzschwankungen zwischen den Kameraansichten umgehen zu können, wird ein effizientes Vorverarbeitungsverfahren vorgestellt. Mittels eines Histogrammabgleichs werden alle Kameraansichten an eine Referenzansicht in der Mitte der Anordnung angepasst. Es wird gezeigt, wie sich die Codiereffizienz durch den Histogrammabgleich verbessert und wie der Algorithmus für Echtzeit-Übertragungssysteme angepasst werden kann. Werden Mehrkameradaten über fehlerbehaftete Kanäle übertragen, können Bildteile verloren gehen. Daher wird ein Fehlerverschleierungsverfahren als Erweiterung eines effizienten Verfahrens für Einkameravideo entwickelt. Hierfür wird eine vierdimensionale frequenzselektive Extrapolation mit Bewegungs- und Disparitätskompensation vorgestellt, und es kann gezeigt werden, dass verlorene Blöcke in Mehrkamerasequenzen mit einer überzeugenden Rekonstruktionsqualität wiederhergestellt werden können. viii ix Contents 1 Introduction 1 2 Light Fields and Multi-View Video 2.1 Image-Based Rendering and the Plenoptic Function . . . . . 2.1.1 Model-based rendering versus image-based rendering 2.1.2 The plenoptic function . . . . . . . . . . . . . . . . . 2.1.3 Parameterisation and discretisation . . . . . . . . . . 2.1.4 Disparity . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Static Light Fields . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Applications . . . . . . . . . . . . . . . . . . . . . . . 2.2.1.1 Special effects . . . . . . . . . . . . . . . . . 2.2.1.2 Archiving of artwork . . . . . . . . . . . . . 2.2.1.3 Medical visualisation . . . . . . . . . . . . . 2.2.2 Coding . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2.1 JPEG coding of each image . . . . . . . . . 2.2.2.2 Exploiting the inter-image redundancy . . . 2.2.2.3 Geometry-based approaches . . . . . . . . . 2.3 Dynamic Light Fields and Multi-View Video . . . . . . . . . 2.3.1 Recording . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Applications . . . . . . . . . . . . . . . . . . . . . . . 2.3.2.1 Three-dimensional television (3D TV) . . . 2.3.2.2 Free-viewpoint television (FTV) . . . . . . . 2.3.3 Multi-view test sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 6 7 8 10 10 10 11 11 12 12 13 14 14 15 15 15 16 16 3 Multi-View Coding Schemes 3.1 Simulcast Coding . . . . . . . . . . . . . . . . . . . . . 3.1.1 The H.264/AVC video coding standard . . . . . 3.1.2 Application to multi-view video coding . . . . . 3.1.3 Coding results . . . . . . . . . . . . . . . . . . . 3.2 Statistical Analysis of Multi-Reference Block Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 21 23 24 25 . . . . . . . . . . . . . . . Contents x 3.2.1 Multi-reference prediction . . . . . . . . . . . . . . . . . . 3.2.2 Simulation results . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Improvement in MSE and PSNR . . . . . . . . . . . . . . 3.2.4 Detailed statistics and selection of prediction modes . . . . 3.2.5 Block matching with temporal and spatial references only . 3.2.6 Rate-distortion optimised selection of reference frames . . 3.2.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Resorting Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Transposed picture ordering for improved predictive coding 3.3.2 Coding results . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2.1 Sequence “Xmas” . . . . . . . . . . . . . . . . . . 3.3.2.2 Sequence “Flamenco1” . . . . . . . . . . . . . . . 3.3.3 Considerations on the positions of frames in the buffer . . 3.3.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Joint Multi-View Video Model (JMVM) . . . . . . . . . . . . . . 3.4.1 Hierarchical B pictures . . . . . . . . . . . . . . . . . . . . 3.4.2 Prediction structure in JMVM . . . . . . . . . . . . . . . . 3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 28 31 31 36 37 39 40 40 42 42 42 45 45 46 46 47 49 . . . . . . . . . . . . . . . . . . . . . . . . . 51 51 52 53 57 59 5 Luminance and Chrominance Compensation 5.1 Histogram Matching Algorithm . . . . . . . . . . . . . . . . . . . . 5.1.1 Description of the algorithm . . . . . . . . . . . . . . . . . . 5.1.2 Correction of the first and last active bin . . . . . . . . . . . 5.1.3 Application to multi-view sequences . . . . . . . . . . . . . . 5.2 Effect of Histogram Matching on Multi-View Coding . . . . . . . . 5.2.1 Statistical evaluation of the prediction step . . . . . . . . . . 5.2.2 Effect on the JMVM multi-view video coder . . . . . . . . . 5.3 Extensions to the Algorithm . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Time-constant mapping function . . . . . . . . . . . . . . . 5.3.2 RGB colour space . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Global disparity compensation . . . . . . . . . . . . . . . . . 5.3.4 Time-constant histogram matching in the RGB colour space 5.3.5 Effect on the visual quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 62 62 63 65 65 65 67 68 68 70 71 72 73 4 Random Access to Coded Multi-View Video Data 4.1 Problem Description . . . . . . . . . . . . . . . . . 4.2 Access to a Single Frame . . . . . . . . . . . . . . . 4.3 Random Access to an Arbitrary Frame . . . . . . . 4.4 Decoding Complexity Versus Coding Efficiency . . . 4.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents 5.3.6 Reversibility of the algorithm . . . . . . . . . . . . . . 5.4 Coding Results . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Comparison to Illumination Compensation in JMVM . . . . . 5.6 Extensions for Real-Time Applications . . . . . . . . . . . . . 5.6.1 Initial calibration phase . . . . . . . . . . . . . . . . . 5.6.1.1 Results . . . . . . . . . . . . . . . . . . . . . 5.6.2 Sliding-window calculation with a symmetric window . 5.6.2.1 Results . . . . . . . . . . . . . . . . . . . . . 5.6.3 Sliding-window calculation with an asymmetric window 5.6.3.1 Results . . . . . . . . . . . . . . . . . . . . . 5.6.4 Exponential weighting . . . . . . . . . . . . . . . . . . 5.6.4.1 Normalised weighting factors . . . . . . . . . 5.6.4.2 Results . . . . . . . . . . . . . . . . . . . . . 5.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 74 74 82 83 83 85 86 86 89 89 90 91 91 6 Depth Map Coding 6.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Depth maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Hand-held camera sequences for unstructured lumigraph rendering 6.2 Depth Map Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Considerations on the necessity of coding the depth maps . . . . . 6.2.2 Coding tests for the multi-view sequences . . . . . . . . . . . . . . 6.2.3 Coding tests for the hand-held camera sequences . . . . . . . . . 6.3 Effect of Depth Map Compression on the Rendering Quality . . . . . . . 6.3.1 Evaluation method . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 95 95 96 96 96 99 102 102 102 104 106 7 Transmission Over Error-Prone Channels 7.1 Error Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Considerations on the effect of transmission errors . . . . . . . . . 7.1.2 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.4 Probability of frame losses . . . . . . . . . . . . . . . . . . . . . . 7.2 Robust Video Coding and Error Concealment for Single-View Video . . . 7.2.1 Robust video coding . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 Error concealment . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 4-D Frequency Selective Extrapolation for Multi-View Error Concealment 7.3.1 Extrapolation method . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Iterative procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 110 110 110 110 115 116 116 116 118 118 120 Contents xii 7.3.3 7.3.4 7.4 7.5 7.6 7.7 Weighting function . . . . . . . . . . . . . . . . . . . . . . . Calculation of the expansion coefficients and selection of the function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.5 Temporal and cross-view extrapolation modes . . . . . . . . Performance of the 4-D Frequency Selective Extrapolation . . . . . 7.4.1 Results for the full 4-D mode . . . . . . . . . . . . . . . . . 7.4.2 Comparison of the extrapolation modes . . . . . . . . . . . . 7.4.3 Visual quality . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.4 Results for the sequence “Ballet” . . . . . . . . . . . . . . . Orthogonality Deficiency Compensation . . . . . . . . . . . . . . . Motion and Disparity Compensation . . . . . . . . . . . . . . . . . 7.6.1 Description of the extended algorithm . . . . . . . . . . . . 7.6.1.1 Aligned data volume . . . . . . . . . . . . . . . . . 7.6.1.2 Motion and disparity estimation . . . . . . . . . . 7.6.1.3 Reliability of the motion and disparity estimation . 7.6.2 Performance evaluation . . . . . . . . . . . . . . . . . . . . . 7.6.2.1 Results for the sequence “Ballroom” . . . . . . . . 7.6.2.2 Results for the sequence “Ballet” . . . . . . . . . . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Summary and Conclusions . . . basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 . . . . . . . . . . . . . . . . . 121 122 122 122 123 124 124 125 129 130 130 131 132 133 133 135 138 141 A Notations 145 A.1 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 A.2 Mathematical Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Bibliography 150