Revisited - HDV to SD and Deinterlacing

R0cky wrote on 9/18/2009, 8:53 AM
I have been following all of the discussions on the best methods for HDV to SD conversion and the recent deinterlacing test tools created by John Meyer. Thanks John for the clips as they allowed me to test what I have been thinking about for a while.

That is, do an exact "throw away every other line/pixel" so there is no interpolation or blending needed going from HDV to SD. 1440x1080 cropped to 1440x960 without scaling and then resampled to 720x480. To get vegas to do this by just deleting every other line/pixel you must select None as your deinterlace method. The 1440x960 frame size is close enough that the loss of info was acceptable to me. John's test clips allowed me to verify that this works.

If you set the deinterlace method to blend or interpolate then you get all of the pixels/lines in the output rather than every other one. Again John's clip allowed me to verify this.

Now the interesting part, image quality. Doing it this way resulted in noticeably worse image quality (on an interlaced CRT TV) than if you set a deinterlace method. This puzzled me for a little while until I thought about it. I realized that Sony is doing a pretty good job when they deinterlace. If you draw a grid of the pixels and cross out every other pixel and every other line then you are left with one of every four. Each of those four has eight nearest neighbors. You can use those to calculate what your one output pixel is. Or use an even more complex algorithm using points farther away also. This is a simplified description as it would be with progressive footage rather than the interlaced footage I'm using though the same principle can be used.

One of my many technical backgrounds is in inkjet printing where you must create 16M colors from 4 colors of ink that have fixed drop sizes. Very complex and sophisticated halftoning algorithms are used to do that. In deinterlacing you have the opportunity to do it in similar ways. Averaging the eight nearest neighbors is one simple way. You could add to that an error diffusion method to improve it. This is where the remainder which can't be represented in your bit depth when you average the 8 pixels is added to the calculation of neighboring pixels in some complex way. There are many different ways to do this, Floyd-Steinberg being one of the best known though not nearly as complex as more modern algorithms.

I have no knowledge of the exact method Sony uses but clearly they are doing something which better than the simplest way. So I am going to just set a deinterlace method and scale my full frame into the SD frame and not worry about it anymore.

Comments

Laurence wrote on 9/18/2009, 9:47 AM
Don't forget that you can rescale from 60i HDV to 60i SD as long as you select a deinterlace method. Vegas will transparently do all the separating into fields, resizing the fields, then refolding the fields into the downrezzed SD 60i stream. My experience is that this gives you the best quality downrez results.

There is a lot going on behind the scenes and Vegas seems to do it better if you don't worry about it than if you try to jump through hoops to do it yourself. My experience is that if you start off with 60i HDV on a 60i timeline with a deinterlace method selected, you can render SD at 60i, 30p (29.97), or 24p without worrying about the process and get results better than what you get if you try to go through all the steps manually. The only two really important settings are "best quality" rendering and that you've selected a deinterlace method (I almost always use blend fields). Everything else, Vegas will do best if you leave it alone. :-)