Video coding
From Wikipedia, the free encyclopedia
This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (February 2007) |
Video coding is the field in electrical engineering and computer science that deals with representation of video data, for storage and/or transmission, for both analog and digital video. Video coding is often considered to be only for natural video, it can also be applied to synthetic (computer generated) video, i.e. graphics. Many representations take advantage of features of the Human Visual System to achieve an efficient representation.
The goals of video coding are to accurately represent the video data, compactly, provide means to navigate the video (i.e. search forwards and backwards, random access, etc) and other additional author and content benefits such as text (subtitles), meta information for searching/browsing and digital rights management.
The biggest challenge is to reduce the size of the video data using video compression. For this reason the terms "video coding" and "video compression" are often used interchangeably by those who don't know the difference. The search for efficient video compression techniques dominated much of the research activity for video coding since the early 1980s, the first major milestone was H.261, from which JPEG adopted the idea of using the DCT; since then many other advancements have been made to algorithms such as motion estimation. Since approximately 2000 the focus has been more on meta data and video search, resulting in MPEG-7 and MPEG-21.
[edit] About Video Coding Standards
The International Telecommunications Union (ITU) have published a number of standards aimed at coding video for real time applications, such as video conferencing. In such a case it is not possible to spend several hours preparing the material prior to transmission or to have a high latency when beginning coding, otherwise conversation is not possible. As both parties in the conference will have full coder/decoders then the workload of the coding can be split between them
The standards organizations ISO and IEC joined together to make MPEG standards for viewing movies and television. In this case it is possible to spend more time on the preparation phase; however we expect that the decoder will be in some common domestic appliance (e.g. a DVD player) and therefore the complexity must be kept low as to keep the cost low.
The latest video coding standard from ITU, H.264 is combined with MPEG-4 part 10 under a process run by a Joint Video Team (JVT).
Ideas for navigation are encapsulated in concepts such as Intra (I) coded frames. A predictive video coder regularly incorporates an image that does not require any previous frames for decompression. This makes it easy for the user to navigate to any part of the sequence and decode an image, without having to decode the whole sequence.
It is important to recognise that most video coding standards do not specify the algorithm used for generating the coding, they only specify the decoder. This gives more scope to the person implementing the standard to choose a method appropriate to their application, it could be that their available computing power is very small so they choose a simple method or perhaps a new method is discovered that gives better performance. This is the reason why we do not say "MPEG coding algorithm" etc.
[edit] Technologies
When coding a video sequence for a modern transmission or storage system, the first question is what is the desired bit rate ? Each video coder must include some kind of rate-distortion mechanism that governs the trade-off between quality and size. This affects not only the video compression but also meta data.
A number of technologies are maturing for video coding use:
- In MPEG-4, the concept of object oriented video coding was specified. Video is no longer restricted to a rectangular format; multiple arbitrary shape video objects can be included in the video stream. Very few codecs can actually produce visually meaningful objects but could be considered an extension to previous region based video coding approaches where different coding parameters are applied to regions of the video that have specific qualities.
- In model based video coding some prior knowledge is incorporated concerning the type of video data, e.g. a 3D face model is very useful for head and shoulders type shots.
- In Scalable Video Coding the aim is to code the video such that the decoder can access at different scales; spatially, temporally and quality. For example, it would be convenient if someone using a PDA can view the same video data as someone using a HDTV.