hpdz.net

High-Precision Deep Zoom

Technical Info

Fast Start and Progressive Download

Progressive download (PD), also known as "Fast Start," is the ability of a video player to start playing video files as they are downloaded, rather than having to wait for the entire file to transfer. Please read here for more information.

Encoding Tools

The fractal rendering software saves raw fractal count data in a custom format. The count data is colorized with a color mapping palette and the individual colorized frames are saved as 24-bit BMP files that are then joined into one or more gigantic uncompressed AVI files.

I use Sony Vegas Pro 8.0 to mix the the AVI files with music, add titles and credits, and then render the videos in either MPG or WMV format.

Video Formats

AVC / H.264 / MPEG-4 Part 10

This is the most advanced video compression technology currently available for commercial use, and works very well. It goes by several names, of which the most clear are H.264 and AVC (Advanced Video Coding). The term "MPEG-4" is somewhat vague, as the MPEG4 standard is actually a collection of standards which has many "parts". The H.264 video standard is actually MPEG-4 Part 10.

The FourCC for this codec is AVC1.

Prima Luce was the first animation I've posted encoded with H.264 and I am very pleased with the video quality, smooth playback, and relatively small file size.

MPEG-4 Part 2

This very popular compression technology is not the same thing as AVC/H.264. It has no performance advantages over the older MPEG-2 compression and is inferior to AVC. It is only used in a few diagnostic videos on this site. Its FourCC code is MP4V.

MOV

This is a container file format, not a compression encoding method. You can put an MPEG-4 compressed video into it, which is what it usually contains, or you can put just about any other format into it as well. I will be sticking with the MP4 file extension so it is always clear what codec is needed, not just what player it's targeted to.

AVI

This is also a container format, not an encoding method. There's no particular reason to publish a file in this format. I use it as an intermediate format between the original uncompressed data and the final publishable compressed work because it is relatively easy to write software that can send BMP-formatted images into this kind of file.

MPEG-1

MPEG-1 is the original video format that was developed for video CD's. It is limited in resolution and bandwidth, and I've had a really hard time getting a 640x480x30 fps fractal animation to fit into this format. There is just too much complexity in the images and the codec ends up having to drop frames to keep the bandwidth within spec. For small videos (320x240) it works sort of OK, but not as well as any of the more modern compression methods.

WMV

Most people have Windows, and so this is an important format. It uses a Microsoft-proprietary codec that is (as far as I am aware) independent of the MPEG technology. It is able to compress the highly complex fractal videos quite well, and I am basically happy with it. It also supports progressive download quite effortlessly on my side, so that's a plus. Unfortunately, the Windows video API insists on buffering WMV files, even if they are located on your hard drive, and this causes some jerkiness in playback unless you have a super-fast hard drive, video card, and motherboard.

MPEG-2

This is the format that DVD's are rendered in. It's pretty good, but requires licensing for public distribution (although it's not clear if that only applies to distribution via an actual DVD or if web site posting is included). There is really no reason to use it because all modern codecs are at least as good. I'm going to re-render all my MPEG2 files to MP4 eventually.

RM

I see no reason to use this format and I haven't tried any experiments with it to evaluate quality, file size, etc. As far as I can tell it is essentially obsolete.

All Others

Vegas can encode into a pretty long list of other, well-known but less commonly used formats. At this point I see no reason to go there, especially if it will require users to download specialized codecs.

High-Definition

I have only just completed a single "high-definition" video, HD1, which was just published in mid-July 2008. I chose a 1200x900 format for it because this fits better onto a 1280x1024 computer screen than any of the 1080-sized HDTV formats, which are too big, and it comes closer to filling the whole screen than any of the 720-line formats. Although there is no precise definition of "high-definition," it seems reasonable to say that anything with more than 720 lines of vertical resolution deserves the title.

The little bit of extra space on the monitor freed up by the 900-line size makes it possible to view the animation in a player that is not in full-screen mode.

See the HD1 page for some thoughts and comments on the overall feasibility of this medium for delivering fractal animations over the internet.