The secret of MPEG-2 is the flexibility offered to the manufacturers of the equipment, while adhering to the core MPEG-2 standard. Encoders and decoders come at a range of prices with a range of capabilities. Not all decoders are equal. Manufacturers decide how much functionality to include in their decoders. They may, for instance, support electronic programme guides, interpretation of optional MPEG data, and support for a range of audio formats. Even a stream of encoded MPEG-2 video may be handled at various levels of sophistication (advanced codecs provide features for instance which may mask the effect of loss of all or part of a frame of video).
In many ways, the encoder is the key item. There are many options when encoding a video picture into an MPEG-2 bit stream. The ability to maintain picture quality with rapidly moving scenes and complex pictures will depend upon the algorithms and processing power of the encoder. For real-time transmission, such as encoding the output of a video camera, this may necessitate expensive equipment. For non-realtime, converting stored analogue / digital clips into an MPEG-2 video clip library, less expensive (but slower) equipment may be used.
The various types of MPEG-2 decoder may be broadly classified as shown below:
Software MPEG-2 Decoders
Software-based MPEG-2 players, which usually require the support of specialised instruction sets to provide the bit manipulations required for video rendering. Such support is provided in most modern processors (e.g. MMX, viz). Such players are well suited to delivery from local high speed media (e.g. to replay video recorded on Digital Versatile Disk (DVD) ), but are generally CPU intensive, and allow little extra processing with current CPUs for other tasks. Display is to a window on the computer display.
PC-Based MPEG-2 Accelerators
PC-based MPEG-2 accelerators are available for personal computers and/or workstations. The accelerator provides a range of functions to ease the processing of the MPEG-2 video decompression, but still requires CPU intervention to decode the MPEG-2 stream. The primary application of accelerators is the replay of recorded MPEG-2 video from a local disk. Mediamatics have specified a "standard" interface to such decoders.
Computer MPEG-2 Decoders
MPEG-2 decoders relieve the computer CPU of nearly all processing. They may play via an external monitor, a video overlay on the existing computer monitor, or by direct writing of the video bit map to the display memory. Decoders may receive data from a Network Interface Card (NIC) or a local disk. The host computer is free to do other tasks - although disk access speed may often be a limiting factor on overall system performance. The cost is likely to be (£100-£300).
Network Computers / Thin Clients
An alternate design is to embedded the MPEG-2 decoder in an equipment which was designed to support MPEG-2 decoding together with other basic functions (e.g. web browsing, ftp, telnet, programme guides). Such equipment may be based around a virtual machine (e.g. a JAVA virtual machine) and be reprogrammable by the user and/or network applications. A high quality display would normally be connected via a S-video or SCART connector. By reducing the functionality of such a design, manufacturers may eliminate interface and configuration options - substantially reducing the overall cost of ownership (ie. little additional software required, easy installation, simple user interface) compared to a common PC. The key emphasis will be on ease of use, with the intention of reaching the many people who do not need (or will not use) a common PC.
The MPEG-2 Set-Top Box (STB)
Most people use TV sets in a different way to computers and locate them in different rooms and have different expectations, particularly in the lifetime of equipment (10 years?), the initial cost, the running cost (zero for hardware, small charge for programming), and user interface (remote control). There is therefore a need for an equipment which allows connection of standard (PAL/NTSC) TVs to a digital video network. Such equipment will take the form of a set top box which replacing or sitting alongside existing satellite / cable receivers. The cost of such an equipment must be around £200 with a long lifetime. It is likely that it will support DVB (and/or ATSC) and provide an interaction channel (which may be optionally used).
MPEG-2 Consumer Equipment
Future TVs and video equipment may support in-built decoders, reducing the cost of the set-top box and allowing further integration of functions. An alternate scenario is also possible, in which the set-top box and a network computer/thin client are brought together into a single piece of equipment with a range of interfaces to various types of network (DVB/ ATSC) and packet/cell data networks). Such equipment may be viewed more as a utility interface (in the same way as an electricity/gas/water meter) and be hidden away out of sight. The household equipments (TV, VCR, Camcorder, PCs) would be connected back using a common high-speed communications link (e.g. IEEE 1394 FireWire).
MPEG-2 data may be delivered to the decoder in a variety of ways. These may be categorised in one of two groups, depending upon whether the receiver buffers a substantial volume of data prior to playing.
These applications have only a small buffer at the receiver and therefore require the jitter introduced during transmission to not exceed the maximum delay which the buffer can accommodate. These applications usually have insufficient space for retransmission and require data to be sent as a continuous stream (either to a group of synchronised receivers or to individual receivers:
These applications have a buffer at the receiver. The applications may buffer all or part of the video clip before playing. They are therefore less sensitive to jitter introduced during transmission, and may be tolerant of a small level of loss - the protocol used may permit some form of retransmission:
There are two important issues to be considered when thinking about MPEG-2 delivery. The first issue arises directly from the bit rate needed to support MPEG-2 applications - rates typically of 3-6 Mbps per programme. If each user is selecting their own material, this may multiply the bandwidth needed by the number of users. This places exacting demands on the network and the server, and also on the client hosts used by the users (which need normally handle only one programme but are usually of a lower specification than the server). The other issue is the subject of Quality of Service (QoS). Different applications and delivery mechanisms will have different needs in terms of maximum tolerable jitter, and maximum tolerable loss rate.
Applications may be written to use MPEG-2 on a range of platforms using such Application Programming Interfaces (APIs) as QuickTime (Mac, eta) and others. APIs are also available for the PC platform and may be categorised as:
At the time of writing, many developers are committed to producing Direct-Show APIs, but few are able to supply this.