hpdz.net

High-Precision Deep Zoom

Technical Info

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

Although I have mostly been encoding to WMV format, I have been impressed by the quality and small file size achievable with MPEG-4. I expect that most future works will be published in this format. Windows Media Player doesn't support MPEG-4, so Windows users will need to acquire RealPlayer, QuickTime, Nero player, or something other than WMP. For those who don't already have a player that can play MP4 files, it is definitely worth it to download or buy one.

MPEG-4

Prima Luce is the first animation I've posted in MPEG-4, and I am very pleased with the video quality, smooth playback, and relatively small file size. However, that animation is an extremely simple one to compress since it has very little detail. I am working on comparing MPEG-4 and WMV for more complex images and will make a decision about which is best for this purpose. I will post my analysis here when it's complete. Meanwhile I'll continue to post with WMV as well as MPEG-4.

To add more complexity to an already complex issue, I have recently learned that MPEG-4 is not a single format, but rather a whole set of "Parts" that include several different encoding methods. I will always use an AVC codec that encodes to the H.264 standard. This is, as far as I can tell, the most advanced codec available for working with very high compression ratios, and is in fact the up-and-coming codec for HDTV applications.

Rift is the first animation where I've created a large set of WMV and MP4 files with similar compression sizes to compare against each other. The MP4 files have better quality, but they are also larger for some reason. This may be due to many things, such as audio encoding, keyframe rate, etc. I will have to investigate this further.

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.