July 22, 2008

Real World Video Compression: book review

Real World Video Compression is a new book from Peachpit Press that provides a handy comprehensive overview of trends, tools, and workflows for video compression today. Author Andy Beach starts the book with a look at audio, video, and compression basics that need to be known to independently deliver great video to the web, TV, and mobile and set-top devices. Current file formats, codecs, and players are surveyed nicely, with a concise but deep explanation of interframe and intraframe compression.

Before you get ahead of yourself Beach makes sure you keep in mind best practices for developing a workflow to deliver to a particular format. Optimal output requires good input, so Beach also devotes time explaining preprocessing steps, which include not only levels and color correction but also noise reduction, cropping, scaling, deinterlacing, and aspect ratio correction.

The last two thirds of the book surveys the strengths and weaknesses of a range of compression tools and details some recipes for producing content for various platforms. Many compression tools are mentioned at various points but 6 are given detailed treatment: Adobe Media Encoder (AME), Apple Compressor and QuickTime Pro, Microsoft Expression Encoder, Sorensen Squeeze, and Telestream Episode Pro. Since the book is well-organized, readers can quickly scan for the good, bad, and bottom line of each major application.

A unique feature of the book is interviews with professional compressionists, which are interspersed throughout. Along with bonus tips in these interviews you'll find tool preferences -- and that a surprising number of these professionals use low end apps like Visual Hub and MPEG Streamclip.

The last part of the book covers recipes for compression for DVD, the Web, and mobile (iPod and phones) and set-top devices. Valuable overviews of each niche are provided -- but rapidly evolving codecs, tools, and bandwidth capacities and a wide scope spreads content a bit thin in places. No one is giving away the store here, like providing information on data rate sweet spots in codecs or optimal parameters for VBR MPEG-4 encoding in mainstream apps. Well you do get details on encoding with x264 for the open source app Handbrake, which could with tweaking could help you push Flash H.264 to the limit. By the way there's also a QT/Mac version of x264 that you can use instead of Apple's version.

Also not deeply covered was optimizing for YouTube (a moving target), and more importantly analysis of which apps have better encoding implemented for which codecs or which custom codecs perform best. That's a tall order, though you can find pieces of the puzzle in anecdotal info on user forums like Creative Cow's Compression Techniques or in occasional articles like Jan Ozer's recent Cracking the H.264 Codec.

In all, Real World Video Compression is a comprehensive up-to-date view of video encoding, tools, and delivery platforms. A sample chapter, Preprocessing: How Real Movie Magic is Made, is at the Peachpit Press book page. Plus the author is offering extra specifics and updates through his blog, which is also called Real World Video Compression.


andybeach said...

thanks for the review! please consider adding my RWVC site you your blog roll as well. i am continuing to post topics related to video and am finalizing a format now for sharing video tutorials.


andy beach

Rich said...

RWVC is there, and the book was a pleasure -- with plenty of nougats for everyone.

Hey, do you know if h.264 is indeed optimized for 16x16 image dimensions? An Adobe resource seems to indicate this:


andybeach said...

yep it is optimized for 16x16 macroblocks - here is a quote from an ieee paper that rferences that:

"H.264 uses variable block sizes for macroblock partition. The H.264 encoder allows 2 intra coding modes and 5 inter coding modes for a macroblock in a P slice. This is the most essential part for high compression efficiency but requires many computations to decide the most suitable coding mode. In this paper, we present a fast mode decision algorithm for H.264 P slices. To reduce complexity, we analyze the results of 16 x 16 ME (motion estimation) of a macroblock according to the proposed decision model, and if this macroblock is considered to be coded with a larger mode, we prevent motion estimations for smaller modes."