violao
6th May 2004, 20:15
Recently I became involved in progressive video restoration from badly telecined source. At first I tried the available plugins deblend/unblend and published scripts and realized that none fitted my needs. The files I'm dealing with have no blending pattern, original frame rates are not known and blending certainly doesn't satisfy unblend's assumption that:
Frame = (1 - N)* Previous + N * Next
I found that weight coefficients for previous and next frame are in no way related to each other and that they can both be > 1.
Another thing I didn't like with currend deblend techniques is that they have no support for interlaced source. The idea widely used is to bob the source and then unblend, that obviously results in replacing top blended fields with bottoms and vice-versa.
So using unblend as a start point I designed my own blend remover from scratch. It works by trying to find weight coefficients by examining most different pixels from previous and next frames and using some statistic calculations (medians, means, standard deviation, variance, etc.) to detrermine the reliability of results. I tested it succsessfully with very clean artificially blended progressive clip as well as with my camcorder telecined noisy super8 projections.
Currently default parameters are set for what I expect to be the best values for "clean" blended source and for noisy unblending my parameters were:
threshold = 10
dthresh = 0.5
cthresh = 0.075
pixels = 100
mode = 0
As manual states it is expected to work only on sources that include all clean fields/frames + some blends. If you however have interlaced source with orphan tops or bottoms you may still try the bob approach.
Needless to say removeblend works with both progressive and interlaced and currently only with YV12 TFF. If you have BFF you can convert it with:
separatefields().trim(1, 0).weave()
Although it appears to work in my initial tests I have some concerns about replacing decisions and since I have limited access to varios types of telecined material I would appreciate any feedback. From what I have seen in this forum lately there seems to be a lot of interest in this area.
Last words, I don't intend to make this a full progressive restorer, that is to decomb and decimate the result. There are great tools for that around and I don't even dream of making a better software for that purpose.
Finally, this is my first plugin, so be nice and :thanks:
Download (http://bossanovaguitar.com/video) is at the bottom of man page.
Frame = (1 - N)* Previous + N * Next
I found that weight coefficients for previous and next frame are in no way related to each other and that they can both be > 1.
Another thing I didn't like with currend deblend techniques is that they have no support for interlaced source. The idea widely used is to bob the source and then unblend, that obviously results in replacing top blended fields with bottoms and vice-versa.
So using unblend as a start point I designed my own blend remover from scratch. It works by trying to find weight coefficients by examining most different pixels from previous and next frames and using some statistic calculations (medians, means, standard deviation, variance, etc.) to detrermine the reliability of results. I tested it succsessfully with very clean artificially blended progressive clip as well as with my camcorder telecined noisy super8 projections.
Currently default parameters are set for what I expect to be the best values for "clean" blended source and for noisy unblending my parameters were:
threshold = 10
dthresh = 0.5
cthresh = 0.075
pixels = 100
mode = 0
As manual states it is expected to work only on sources that include all clean fields/frames + some blends. If you however have interlaced source with orphan tops or bottoms you may still try the bob approach.
Needless to say removeblend works with both progressive and interlaced and currently only with YV12 TFF. If you have BFF you can convert it with:
separatefields().trim(1, 0).weave()
Although it appears to work in my initial tests I have some concerns about replacing decisions and since I have limited access to varios types of telecined material I would appreciate any feedback. From what I have seen in this forum lately there seems to be a lot of interest in this area.
Last words, I don't intend to make this a full progressive restorer, that is to decomb and decimate the result. There are great tools for that around and I don't even dream of making a better software for that purpose.
Finally, this is my first plugin, so be nice and :thanks:
Download (http://bossanovaguitar.com/video) is at the bottom of man page.