News

Video coding and cloud computing ?
The announcement of OnLive's "on-demand gaming" platform has generated a lot of interest. The basic idea is that a video game runs on a central server, not on your PC or games platform. You interact with the game via a broadband connection. The key to making this work is response time - the time lag between your input reaching the server and the updated game screen reaching your display. The gameplay video is rendered on the server and so a critical question is whether a high-definition, high framerate game display can be streamed to your display in real time.
OnLive claim that this can be done using video compression; i.e. compression of the rendered scene, streaming, decompression and display in a fraction of a second. If the platform matches up to the claims, then this might be the start of a trend towards cloud computing, in which high-performance computing is done on a remote server and the results (a rendered screen in this case) are sent to your display using video compression. Are current video compression algorithms good enough to support the cloud computing model ? We'll soon find out...

The ideal video codec ?

Quantization - "flat" scaling factor.

In the Bay area

H.264 quantization parameter
Quantization in an H.264 encoder is controlled by a quantization parameter, QP, that ranges from 0 to 51. QP is an index used to derive a scaling matrix. It is possible to calculate the equivalent quantizer step size (Qstep) for each value of QP (see my tutorial on H.264 4x4 transform). As QP increases, Qstep increases; in fact, Qstep doubles for every increase of 6 in QP. The logarithmic relationship can be seen in this graph of QP (x-axis, linear) vs. Qstep (y-axis, logarithmic).

Guest lectures
I will be giving a number of guest lectures on video coding over the next few months, in Rochester (NY), Aberdeen (UK), France and Spain. You can find out about arranging a lecture on H.264/AVC, video codec design and optimization, or emerging video coding topics, by visiting this page.

Modified transform tutorial
I have modified the tutorial on the H.264 4x4 transform and quantization processes and corrected a minor error. The new tutorial is available here.

What does the "H" in H.264 stand for?

New tutorial on transform and quantization

Fully Configurable Video Coding
I gave a plenary talk at IEEE System on Chip Conference last week and used the opportunity to launch our new research topic, Fully Configurable Video Coding. The idea is to enable complete, dynamic reconfiguration of a video codec. The new concept is attracting a lot of interest from industry and researchers. Here's some more information.

Article on video compression patents
I've posted a new article on video compression patents and IPR. The article gives an overview of the IPR position related to video coding and video compression, with particular reference to video coding standards and patent licenses.

New version of H.264/AVC overview
I have posted a new version of my introductory overview, "What is H.264?". Visit the page and please contact me with any comments.

New overview of H.264/AVC
I have written a new white paper that gives an overview of the H.264/AVC standard (here). It's intended to be a (relatively) non-technical introduction to the standard. The new paper describes what H.264 is, how an H.264 video codec works and why H.264 is an important industry standard. I'd be happy to receive any comments.

Topics for new tutorials
I will be posting a number of new H.264 tutorials over the next few months. I plan to update the existing tutorials (here) and add further topics. The first will be an "easy" introduction to the H.264/AVC standard. I'd welcome requests for new tutorial topics, so please add a comment if you'd like to suggest a topic for a tutorial paper.
- Iain

Welcome
Welcome to the newly-published Vcodex site. This site contains resources, links and information about video compression and about my work. I have kept the existing resources (including the popular H.264 tutorials) and added new material. I will continue to add resources to the site. Contact me if you'd like to suggest or request further resources, tutorial topics, etc, or to find out more about what I do.