- •Copyright
- •Contents
- •About the Author
- •Foreword
- •Preface
- •Glossary
- •1 Introduction
- •1.1 THE SCENE
- •1.2 VIDEO COMPRESSION
- •1.4 THIS BOOK
- •1.5 REFERENCES
- •2 Video Formats and Quality
- •2.1 INTRODUCTION
- •2.2 NATURAL VIDEO SCENES
- •2.3 CAPTURE
- •2.3.1 Spatial Sampling
- •2.3.2 Temporal Sampling
- •2.3.3 Frames and Fields
- •2.4 COLOUR SPACES
- •2.4.2 YCbCr
- •2.4.3 YCbCr Sampling Formats
- •2.5 VIDEO FORMATS
- •2.6 QUALITY
- •2.6.1 Subjective Quality Measurement
- •2.6.2 Objective Quality Measurement
- •2.7 CONCLUSIONS
- •2.8 REFERENCES
- •3 Video Coding Concepts
- •3.1 INTRODUCTION
- •3.2 VIDEO CODEC
- •3.3 TEMPORAL MODEL
- •3.3.1 Prediction from the Previous Video Frame
- •3.3.2 Changes due to Motion
- •3.3.4 Motion Compensated Prediction of a Macroblock
- •3.3.5 Motion Compensation Block Size
- •3.4 IMAGE MODEL
- •3.4.1 Predictive Image Coding
- •3.4.2 Transform Coding
- •3.4.3 Quantisation
- •3.4.4 Reordering and Zero Encoding
- •3.5 ENTROPY CODER
- •3.5.1 Predictive Coding
- •3.5.3 Arithmetic Coding
- •3.7 CONCLUSIONS
- •3.8 REFERENCES
- •4 The MPEG-4 and H.264 Standards
- •4.1 INTRODUCTION
- •4.2 DEVELOPING THE STANDARDS
- •4.2.1 ISO MPEG
- •4.2.4 Development History
- •4.2.5 Deciding the Content of the Standards
- •4.3 USING THE STANDARDS
- •4.3.1 What the Standards Cover
- •4.3.2 Decoding the Standards
- •4.3.3 Conforming to the Standards
- •4.7 RELATED STANDARDS
- •4.7.1 JPEG and JPEG2000
- •4.8 CONCLUSIONS
- •4.9 REFERENCES
- •5 MPEG-4 Visual
- •5.1 INTRODUCTION
- •5.2.1 Features
- •5.2.3 Video Objects
- •5.3 CODING RECTANGULAR FRAMES
- •5.3.1 Input and output video format
- •5.5 SCALABLE VIDEO CODING
- •5.5.1 Spatial Scalability
- •5.5.2 Temporal Scalability
- •5.5.3 Fine Granular Scalability
- •5.6 TEXTURE CODING
- •5.8 CODING SYNTHETIC VISUAL SCENES
- •5.8.1 Animated 2D and 3D Mesh Coding
- •5.8.2 Face and Body Animation
- •5.9 CONCLUSIONS
- •5.10 REFERENCES
- •6.1 INTRODUCTION
- •6.1.1 Terminology
- •6.3.2 Video Format
- •6.3.3 Coded Data Format
- •6.3.4 Reference Pictures
- •6.3.5 Slices
- •6.3.6 Macroblocks
- •6.4 THE BASELINE PROFILE
- •6.4.1 Overview
- •6.4.2 Reference Picture Management
- •6.4.3 Slices
- •6.4.4 Macroblock Prediction
- •6.4.5 Inter Prediction
- •6.4.6 Intra Prediction
- •6.4.7 Deblocking Filter
- •6.4.8 Transform and Quantisation
- •6.4.11 The Complete Transform, Quantisation, Rescaling and Inverse Transform Process
- •6.4.12 Reordering
- •6.4.13 Entropy Coding
- •6.5 THE MAIN PROFILE
- •6.5.1 B slices
- •6.5.2 Weighted Prediction
- •6.5.3 Interlaced Video
- •6.6 THE EXTENDED PROFILE
- •6.6.1 SP and SI slices
- •6.6.2 Data Partitioned Slices
- •6.8 CONCLUSIONS
- •6.9 REFERENCES
- •7 Design and Performance
- •7.1 INTRODUCTION
- •7.2 FUNCTIONAL DESIGN
- •7.2.1 Segmentation
- •7.2.2 Motion Estimation
- •7.2.4 Wavelet Transform
- •7.2.6 Entropy Coding
- •7.3 INPUT AND OUTPUT
- •7.3.1 Interfacing
- •7.4 PERFORMANCE
- •7.4.1 Criteria
- •7.4.2 Subjective Performance
- •7.4.4 Computational Performance
- •7.4.5 Performance Optimisation
- •7.5 RATE CONTROL
- •7.6 TRANSPORT AND STORAGE
- •7.6.1 Transport Mechanisms
- •7.6.2 File Formats
- •7.6.3 Coding and Transport Issues
- •7.7 CONCLUSIONS
- •7.8 REFERENCES
- •8 Applications and Directions
- •8.1 INTRODUCTION
- •8.2 APPLICATIONS
- •8.3 PLATFORMS
- •8.4 CHOOSING A CODEC
- •8.5 COMMERCIAL ISSUES
- •8.5.1 Open Standards?
- •8.5.3 Capturing the Market
- •8.6 FUTURE DIRECTIONS
- •8.7 CONCLUSIONS
- •8.8 REFERENCES
- •Bibliography
- •Index
8
Applications and Directions
8.1 INTRODUCTION
In addition to technical features and theoretical performance, there are many other important considerations to take into account when choosing a CODEC for a practical application. These include industry support for the CODEC (for example, whether there are multiple sources for technology), availability of development tools and costs (including development, integration and licensing costs). In this chapter we discuss the requirements of a selection of applications and consider practical issues that may affect the choice of CODEC. We list some of the available commercial MPEG-4 Visual and H.264 CODECs and report the claimed performance of these CODECs (where available). We review important commercial considerations (including the contentious topic of patent licensing) and end by making some predictions about the shortand long-term developments in CODEC research and standardisation.
8.2 APPLICATIONS
Table 8.1 lists a selection of applications for video coding technology together with important requirements for each application and suggested MPEG-4 Visual or H.264 Profiles.
None of the applications listed in Table 8.1 require object-based coding tools. As is clear from the list of commercially-available CODECs in Section 8.4 object-based coding is not widely supported in the marketplace and few, if any, ‘real’ commercial applications of objectbased coding have emerged since the release of MPEG-4 Visual. The following anecdote is perhaps typical of the situation with regard to object-based coding, which has been described as ‘a technology looking for an application’.
Some promising work on ‘closed signing’ was presented at a recent workshop on visual communications for deaf users (‘Silent Progress’, hosted by Bristol University, March 2003). Closed signing involves transmitting a separate channel as part of a digital television multiplexing, incorporating a human sign language interpreter translating the content of the main channel. MPEG-4’s object-based coding tools were used to code the signer as a video object,
H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia.
Iain E. G. Richardson. C 2003 John Wiley & Sons, Ltd. ISBN: 0-470-84837-5
• |
|
APPLICATIONS AND DIRECTIONS |
||
270 |
|
|||
|
|
Table 8.1 Application requirements |
|
|
|
|
|
|
|
|
Application |
Requirements |
MPEG-4 Profiles* |
H.264 Profiles |
|
|
|
|
|
|
Broadcast television |
Coding efficiency, reliability (over a |
ASP |
Main |
|
|
‘controlled’ distribution channel), |
|
|
|
|
interlace, low-complexity |
|
|
|
|
decoder |
|
|
|
Streaming video |
Coding efficiency, reliability (over |
ARTS or FGS |
Extended |
|
|
an ‘uncontrolled’ packet-based |
|
|
|
|
network), scalability |
|
|
|
Video storage and |
Coding efficiency, interlace, |
ASP |
Main |
|
playback (e.g. DVD) |
low-complexity decoder |
|
|
|
Videoconferencing |
Coding efficiency, reliability, low |
SP |
Baseline |
|
|
latency, low-complexity encoder |
|
|
|
|
and decoder |
|
|
|
Mobile video |
Coding efficiency, reliability, low |
SP |
Baseline |
|
|
latency, low-complexity encoder |
|
|
|
|
and decoder, low power |
|
|
|
|
consumption |
|
|
|
Studio distribution |
Lossless or near-lossless, interlace, |
Studio |
Main |
|
|
efficient transcoding |
|
|
|
|
|
|
|
*SP, ASP, ARTS, FGS, Studio: Simple, Advanced Simple, Advanced Real Time Simple, Fine Granular Scalability and Studio Profiles.
making it possible to superimpose the figure of the signer on the main TV programme display. However, the feedback from deaf users at the workshop indicated that the superimposed figure was distracting and hard to follow and the users much preferred to see the signer in a separate (rectangular!) window on the screen. It was concluded that the demonstration was an interesting technical achievement but not particularly useful to the target user group.
8.3 PLATFORMS
The choice of implementation platform for a video CODEC depends on a number of factors including the type of application, development support, power consumption restrictions, the need for future product upgrades and the availability and cost of commercial CODECs for the platform. Table 8.2 compares some popular implementation platforms (dedicated hardware, Digital Signal Processor or ‘media processor’, embedded processor or PC) and makes some general comments about their relative advantages and disadvantages Further discussion of platform capabilities can be found in reference [2].
At the present time, PC software and dedicated hardware are probably the most widelyused implementation platforms for MPEG-4 Visual. DSP and embedded platforms are becoming popular for mobile video applications because of their good balance between power efficiency, performance and flexibility.
8.4 CHOOSING A CODEC
Choosing a CODEC can be difficult, not least because each vendor presents the performance and capabilities of their CODEC in a different way. Issues to consider include availability and
CHOOSING A CODEC |
• |
|
271 |
|
|
Table 8.2 Platform comparisons
Platform |
Advantages |
Disadvantages |
|
|
|
Dedicated hardware |
Performance and power efficiency |
Inflexible, high development cost |
|
(best) |
|
DSP or media |
Performance and power efficiency |
Limited choice of CODECs; |
processor |
(good); flexibility |
medium development cost; single |
|
|
vendor |
Embedded processor |
Power efficiency (good); flexibility |
Poor performance; single vendor |
General purpose |
Performance (medium/good); |
Poor power efficiency |
processor (e.g. |
flexibility (best); wide choice of |
|
PC) |
CODECs |
|
|
|
|
licensing terms, the support for required Profiles and Levels, subjective quality, compression performance, computational performance (e.g. instructions per second or coded frames per second), the suitability for the chosen target platform (e.g. whether it has been optimised for this specific platform) and the interface (API) to the CODEC. Ideally, the CODEC performance should be evaluated using source video material that is representative of the target application (rather than, or as well as, using ‘standard’ test video sequences).
Table 8.3 lists a selection of commercially-available MPEG-4 Visual CODECs, based on information available from the MPEG-4 Industry Forum web site (www.m4if.org) in March 2003. This is by no means a complete list of MPEG-4 CODECs but gives a flavour of the range of software and hardware implementations currently available. It is worth noting that most of the information in this table is based on manufacturers’ claims and is not guaranteed to be correct.
The majority of the CODECs listed here appear to be targeted at streaming or storage applications. There are many software implementations of MPEG-4 Visual available, ranging from the official reference software (full-featured but far from real-time) to highly optimised real-time players. Hardware implementations tend to be targeted at high-performance (e.g. broadcast-quality encoding) or low-power (e.g. mobile streaming) applications. Several manufacturers supply code for a particular Digital Signal Processor (DSP) or Embedded Processor or System on Chip (SoC) modules suitable for integration into a larger hardware design or implementation on a Field Programmable Gate Array (FPGA).
The most common profile supported is Simple Profile, followed by Advanced Simple Profile (offering its more efficient coding performance). Two companies in this list (Dicas and Prodys) offer Core Profile solutions but of these two, only Dicas’ CODEC supports the binary shape tool of the Core Profile. Significantly, no other profiles of MPEG-4 Visual are supported by any of these CODECs.
The list of commercial H.264 CODECs (Table 8.4) is shorter and details on some of these CODECs are very limited. This is not surprising since at the time of publication H.264 has only just been released as a full Recommendation/International Standard. Early adopters (such as those listed here) run the risk of having to change their designs to accommodate late modifications to the standard but have the potential to capture early market share.
Where information is available, Main Profile seems to be the most popular amongst these early implementations, possibly because of its support for interlaced video and more efficient high-latency video (through the use of B-slices). This implies that initial target applications
