logo资料库

High.Efficiency.Video.Coding.Coding.Tools.and.Specification.pdf

第1页 / 共331页
第2页 / 共331页
第3页 / 共331页
第4页 / 共331页
第5页 / 共331页
第6页 / 共331页
第7页 / 共331页
第8页 / 共331页
资料共331页,剩余部分请下载后查看
Preface
Contents
Symbols and Operators
Acronyms
1 Introduction
1.1 How to Read This Book
1.2 A Brief Walk Through the History of Video Coding Standards
1.2.1 Advanced Video Coding
1.2.2 High Efficiency Video Coding
1.3 Evolution of a Specification
1.3.1 Formal Procedure for a Standard in ISO/IEC
1.3.2 Formal Procedure for a Recommendation in the ITU-T
1.4 The Joint Collaborative Team on Video Coding
1.4.1 Approval Process
1.4.2 Method of Working
1.4.3 Deliverables
1.4.4 Structure of the JCT-VC
References
2 Video Coding Fundamentals
2.1 Video Coding Systems
2.1.1 Video Acquisition
2.1.2 Pre-processing
2.1.3 Encoding
2.1.4 Transmission
2.1.5 Decoding
2.1.6 Post-processing
2.1.7 Display
2.2 Structure of a Video Sequence
2.2.1 Pictures, Frames, and Fields
2.2.2 Sample Shape
2.3 Representation of Color
2.3.1 The CIE Standard Observer
2.3.2 Color Primaries
2.3.3 Display Transfer Characteristics
2.3.4 Color Conversion
2.3.5 Chroma Sub-sampling
2.4 The Hybrid Video Coding Scheme
2.4.1 Picture Partitioning
2.4.2 Intra Prediction
2.4.3 Inter Prediction
2.4.4 Motion Estimation
2.4.5 Residual Coding
2.4.6 In-loop Filtering
2.4.7 The Decoded Picture Buffer
2.4.8 Entropy Coding
2.5 Encoder Control
2.5.1 Distortion Measures
2.5.2 Rate-Distortion Optimization
2.6 Compression Artifacts
References
3 Design and Specification
3.1 Specification Fundamentals
3.1.1 Interoperability
3.1.2 Specification Scope
3.1.3 Text Classification
3.1.4 Editing Perspective
3.2 Specification Elements
3.2.1 Syntax and Semantics
3.2.2 Decoding Process
3.2.3 Parsing Process
3.3 Specification Principles
3.3.1 Loss Robustness
3.3.2 Independent Parsing
3.3.3 Bit-Exact Specification
3.3.4 Parallelization
3.3.5 Dynamic Range
3.3.6 Timing
3.4 Conformance
3.5 How to Read the Specification Text
3.5.1 Terminology
3.5.2 Conventions and Geometric Relations
3.6 Drafting Methodology
3.6.1 Measuring the Compression Performance
3.6.2 Proposal Assessment
References
4 Coding Structures
4.1 Temporal Coding Structures
4.1.1 Temporal Layers
4.1.2 Picture Types
4.1.3 Splicing of Video Sequences
4.1.4 Comparison to H.264|AVC
4.2 Spatial Coding Structures
4.2.1 Blocks and Units
4.2.2 Slices and Slice Segments
4.2.3 Tiles
4.2.4 Coding Tree Block and Coding Block
4.2.5 Prediction Block
4.2.6 Transform Tree and Transform Block
4.2.7 Comparison to H.264|AVC
4.3 Reference Pictures
4.3.1 Reference Picture Sets
4.3.2 Reference Picture Lists
4.3.3 Short-Term Reference Picture Set Signaling
4.3.4 Long-Term Reference Picture Set Signaling
4.3.5 Comparison to H.264|AVC
References
5 High-Level Syntax
5.1 Byte Stream Format
5.2 Network Abstraction Layer
5.2.1 NAL Unit Structure
5.2.2 NAL Unit Types
5.2.3 Access Units
5.2.4 Decoding Units
5.3 Parameter Sets
5.3.1 Video Parameter Set
5.3.2 Sequence Parameter Set
5.3.3 Picture Parameter Set
5.4 Slice Segment Header
5.4.1 Picture Order Count
5.5 Supplemental Enhancement Information
5.6 Hypothetical Reference Decoder
5.6.1 Coded Picture Buffer
5.6.2 Decoded Picture Buffer
5.6.3 Sub-picture Operation
5.6.4 Operation Points
5.6.5 Conformance Points
5.6.6 Signaling HRD Parameters in the VPS and SPS
5.7 Video Usability Information
5.7.1 Geometrical Relations
5.7.2 Video Signal Type and Color Information
5.7.3 Frame/Field Indication
5.7.4 Default Display Window
5.7.5 Timing Information
5.7.6 Bitstream Restrictions
5.8 Comparison to H.264|AVC
References
6 Intra Prediction
6.1 Prediction Mode and Prediction Block
6.2 Reference Samples for Intra Prediction
6.2.1 Reference Construction
6.2.2 Lowpass Smoothing
6.2.3 Strong Smoothing for 32 times32 Luma Reference Samples
6.3 Planar Intra Prediction
6.4 DC Intra Prediction
6.5 Angular Intra Prediction
6.5.1 One-Dimensional Prediction Reference
6.5.2 Interpolated Prediction
6.5.3 Horizontal and Vertical Intra Prediction
6.6 Signaling and Predictive Coding of Intra Prediction Modes
6.6.1 Luma Intra Prediction Mode
6.6.2 Derivation of the Chroma Intra Prediction Mode
6.7 Intra Coding Example
6.8 Comparison to H.264|AVC
References
7 Inter Prediction
7.1 Motion Compensated Prediction
7.1.1 Uni-prediction and Bi-prediction
7.1.2 Coding Block Partitioning into Prediction Blocks
7.1.3 Weighted Prediction
7.2 Motion Vector Representation
7.2.1 Motion Data Storage Reduction
7.2.2 Merging Motion Vectors
7.2.3 Predictive Motion Vector Coding
7.2.4 Signaling
7.3 Sub-Sample Interpolation
7.3.1 Luma Sub-Sample Interpolation Filtering
7.3.2 Chroma Sub-Sample Interpolation Filtering
7.3.3 Derivation of the Interpolation Filter Coefficients
7.4 Inter Coding Examples
7.5 Comparison to H.264|AVC
7.5.1 Motion Vector Representation
7.5.2 Sub-Sample Interpolation
References
8 Residual Coding
8.1 Transforms and Quantization
8.1.1 Integer DCTs
8.1.2 Integer 4times4 DST
8.1.3 Dynamic Range and Transform Normalization
8.1.4 Quantizer Design
8.1.5 Quantizer Weighting Matrix
8.1.6 Decoder-Side Weighting and Level Scaling Operation
8.1.7 Signaling of the Quantization Parameter
8.2 Coded Representation of Transform Blocks
8.2.1 Transform Sub-Blocks
8.2.2 Last Significant Coefficient Position
8.2.3 Transform Block Coefficient Coding
8.2.4 Sign Data Hiding
8.3 Transform Skip
8.4 Transform and Quantization Bypass
8.5 PCM Coding
8.6 Comparison to H.264|AVC
References
9 In-Loop Filtering
9.1 Deblocking Filter
9.1.1 Determination of Edges
9.1.2 Determination of the Deblocking Filter Strength Parameter
9.1.3 Deblocking Filtering
9.1.4 Deblocking Filter Example
9.2 Sample Adaptive Offset
9.2.1 Edge Offset
9.2.2 Band Offset
9.2.3 Signaling of SAO Parameters
9.2.4 SAO Filter Example
9.2.5 Encoder-Side Derivation of Sample Adaptive Offset Parameters
9.3 Comparison to H.264|AVC
References
10 Entropy Coding
10.1 Fixed- and Variable-Length Coding
10.1.1 Fixed-Length Codes
10.1.2 Exp-Golomb Codes
10.2 CABAC---Context-Based Adaptive Binary Arithmetic Coding
10.2.1 Process Overview
10.2.2 Binary Arithmetic Coding
10.2.3 Binarization
10.2.4 Context Initialization
10.2.5 Context Selection
10.3 Comparison to H.264|AVC
References
11 Profiles, Tiers, and Levels
11.1 Profiles
11.1.1 Main Profile
11.1.2 Main 10 Profile
11.1.3 Main Still Picture Profile
11.2 Tiers and Levels
11.3 Syntax Structure
References
12 Extensions to HEVC
12.1 Range Extensions
12.1.1 Proposed RExt Profiles
12.1.2 Proposed RExt Tools
12.1.3 Comparison to H.264|AVC
12.2 Common Specification Structure for Multi-Layer Video Coding Extensions
12.2.1 Definition of Layers
12.2.2 Proposed Joint Tools
12.3 Multiview Coding
12.3.1 Proposed Multiview Profile
12.3.2 Comparison to H.264|AVC
12.4 Scalable Extension
12.4.1 Proposed SHVC Profile
12.4.2 Proposed SHVC Tools
12.4.3 Comparison to H.264|AVC
12.5 3D Video Coding
References
Index
Signals and Communication Technology Mathias Wien High Efficiency Video Coding Coding Tools and Specification
Signals and Communication Technology
More information about this series at http://www.springer.com/series/4748
Mathias Wien High Efficiency Video Coding Coding Tools and Specification 123
Mathias Wien Institut für Nachrichtentechnik RWTH Aachen University Aachen Germany ISSN 1860-4862 ISBN 978-3-662-44275-3 DOI 10.1007/978-3-662-44276-0 ISSN 1860-4870 (electronic) ISBN 978-3-662-44276-0 (eBook) Library of Congress Control Number: 2014944714 Springer Heidelberg New York Dordrecht London Ó Springer-Verlag Berlin Heidelberg 2015 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)
Preface Since the first publication of the video coding standard H.264 | AVC in 2003, the video world has changed. Video content has become a major fraction of digital network traffic worldwide and is still growing. The demand for HD and Ultra HD video (with picture resolutions of 4K  2K and more) increases, inducing even higher bandwidth needs. The established standard H.264 | AVC is used for HD content while having been developed mainly for resolutions around standard definition television. The standardization effort for ‘‘High Efficiency Video Coding’’ (HEVC) answers the demand for improved compression performance at resolutions of HD and beyond. The design of the included coding tools enables video compression to the desired degree in conjunction with implementation friendliness and options for parallelization at multiple levels. It is expected to be widely adopted for video services at HD and Ultra HD quality, providing Ultra HD video at similar bitrates as used for HD video today. Based on the known concepts of the well-established hybrid coding scheme, new coding structures and better coding tools have been developed and specified for HEVC. The new standard is expected to be taken up easily by established industry as well as new endeavors, answering the needs of today’s connected and ever-evolving online world. This book presents the standard and strives to explain it in a clear and coherent language. It provides a comprehensive and consistently written description of the applied concepts and coding tools. For synchronization of beginners in the field, a chapter on the fundamentals of video coding is included. It provides a general overview on the elements of video coding systems, the representation of color video, and an introduction of the building blocks of the hybrid coding scheme. Another chapter is dedicated to the topic of specification by itself; it deals with requirements on specification text and with imposed fundamental technological guidelines. The understanding of these principles is utile for assessment of the v
vi Preface algorithmic design at present as well as for future development of extensions and potential additional coding tools. The following chapters follow the structure of the HEVC specification, giving insight to the design and concepts of the coding tools in the specification. The book shall help readers to understand the state-of-the-art concepts of video coding with HEVC as their latest instantiation. It shall contribute to the promul- gation of the HEVC standard and provide support in adopting it for new and fascinating applications. Examples in the chapters make use of bitstreams and test sequences according to the common testing conditions of the Joint Collaborative Team on Video Coding (JCT-VC). Bitstreams according to these conditions were frequently made public on the JCT-VC experts mailing list by the reference software coordinators. Different versions of these bitstreams have been used as anchors in numerous tests and extensive experiments throughout the HEVC development. Coding examples in this book are given for the test sequence BasketballDrive, provided courtesy of NTT DOCOMO, Inc., Japan, and ParkScene, provided courtesy of Tokyo Institute of Technology, Nakajima Laboratory, Japan. Examples for the sequences of the JCT-VC common testing conditions further include BlowingBubbles and RaceHorses, provided courtesy of NTT DOCOMO, Inc., Japan; ChinaSpeed, provided courtesy of Shanghai Shulong Computer Technology Co., Ltd., China; FourPeople, provided courtesy of Vidyo Inc., USA; and PeopleOnStreet, provided courtesy of Samsung Electronics Co., Ltd., Korea. Hundreds of experts in the JCT-VC have worked hard, spending time in never- ending meetings with tremendous numbers of input contributions to achieve the goal of a stable high-quality high-performance specification. Their contribution and commitment are highly appreciated. The standardization work has been car- ried out under the prudent and stimulating lead of the JCT-VC chairs Gary J. Sullivan and Jens-Rainer Ohm. Their thoughtful and precise guidance is specifi- cally appreciated. It formed and coined this collaborative team. This book would have not been possible without help and support from several people. I want to thank an uncounted number of JCT-VC experts for numerous conversations and debates on various aspects of the specification. Special thanks go to T. K. Tan and Andrew Segall for manifold and insight-full discussions over the years; and to Benjamin Bross who knew all answers to questions on the specification. Very special thanks go to Rickard Sjöberg for his expertise and helpful comments on picture types and reference picture management; and spe- cifically to Peter Amon for his comprehensive and remarkably careful text review. Peter, I owe you more than a beer. Special thanks for review and support also go to people at Institut für Nachrichtentechnik of RWTH Aachen University: Julian Becker, Max Bläser, Christopher Bulla, Olena Chubach, Christian Feldmann, Iris
Preface vii Heisterklaus, Cordula Heithausen, Fabian Jäger, Ningqing Qian, Inge Reissel, Christian Rohlfing, and Uday Thakur; very special thanks to Bastian Cellarius who helped generating the example figures. Most special thanks go to Prof. Jens-Rainer Ohm for providing distinct leadership, kind mentoring, and encouraging guidance. Thank you for providing me room to write this book. It is an outstanding experience and honor to work in your team. The warmest thanks go to my wonderful family: Sabine and our children Frederic, Leonard, and Marlene. Aachen, May 2014 Mathias Wien
分享到:
收藏