Log in

View Full Version : Yet another dehalo question ...


johnmeyer
25th September 2013, 23:10
The problem is a strong black halo from a 1968 color Kinescope of the famous 1968 Harvard-Yale football game that I'm restoring for a collector. Here's a still shot:

http://i177.photobucket.com/albums/w208/johnmeyer/Halos_zps6c804f1c.jpg

And, here's a 20 MB MPEG-2 clip from the original DVD made from the Kinescope film (i.e., this is "first generation" AFIK):

Black Halo Clip.mpg (http://www.mediafire.com/?qgvgcsjtu3i7uio)

I have figured out how to fix most of the other defects you see on this clip, including the film weave; red/purple splotches on the white uniforms; noise; and the annoying hot spot from the lousy film-to-video transfer. The one remaining problem is the dark halo. You can see it on the back side of the quarterback as he stands ready to take the ball from center, but it is all over the place on the right and top sides of any player (or referee) wearing white. Note that the long shadows from the sun are on the other side of the players, so this is most definitely an artifact. I suspect that it may have been part of the original Kinescope process, and not something introduced later on.

I just spent thirty minutes with Dehalo Alpha, but was unable to get anything whatsoever to happen, no matter what combination of settings I used.

All I need is a few hints or a pointer in the right direction and I can probably take it from there, assuming that there is a solution to this problem.

Thanks!!

hrgiger6
7th February 2015, 11:49
John, I found this old thread and was curious if you found any sort of rememdy for this sort of thing?

GMJCZP
9th February 2015, 17:04
This is my contribution, I hope you serve something as a possible starting point.

# Requirements: dctfun4b, awarpsharp2, ChromaShift_SP


Mergechroma(dctfun4b(40,40))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
ChromaShift_SP(6,0)
MergeChroma(aWarpSharp2(chroma=4,depth=112))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
ChromaShift_SP(6,0)
MergeChroma(aWarpSharp2(chroma=4,depth=112))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
ChromaShift_SP(-4,0)
MergeChroma(aWarpSharp2(chroma=4,depth=112))
MergeChroma(aWarpSharp2(chroma=4,depth=112))


# ChromaShift_SP: Shift chroma with subpixel accuracy

function ChromaShift_SP (clip clp, float "X",float "Y") {

X = default(X, 0.0) # positive values shift the chroma to left, negative values to right
Y = default(Y, 0.0) # positive values shift the chroma upwards, negative values downwards

w = clp.Width()
h = clp.Height()

clp.MergeChroma(clp.Spline16Resize(w, h, X, Y, w+X, h+Y)) }

johnmeyer
9th February 2015, 17:25
I am very confused: this thread appears to have been significantly altered. I'm pretty sure I had some replies after I originally posted, and I know I posted yesterday.

To more or less repeat what I posted in response to the person who resurrected this thread, I never found any solution to this problem.

feisty2
9th February 2015, 17:43
3952 views with 3 replies
That's not weird at all
:)

johnmeyer
9th February 2015, 17:50
I tried GMJCZP's script, but it didn't do anything at all. Here's a before/after image:

http://i177.photobucket.com/albums/w208/johnmeyer/HalosBefore-After_zpsb49c86af.jpg

I didn't make any changes to the script, other than what was needed to introduced a stackhorizontal statement:

# Requirements: dctfun4b, awarpsharp2, ChromaShift_SP

source=AVISource("E:\fs.avi").converttoYV12(interlaced=false)
source

Mergechroma(dctfun4b(40,40))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
ChromaShift_SP(6,0)
MergeChroma(aWarpSharp2(chroma=4,depth=112))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
ChromaShift_SP(6,0)
MergeChroma(aWarpSharp2(chroma=4,depth=112))
MergeChroma(aWarpSharp2(chroma=4,depth=112))
ChromaShift_SP(-4,0)
MergeChroma(aWarpSharp2(chroma=4,depth=112))

#MergeChroma(aWarpSharp2(chroma=4,depth=112))
final=MergeChroma(aWarpSharp2(chroma=4,depth=112))

stackhorizontal(source,final)
#return final


# ChromaShift_SP: Shift chroma with subpixel accuracy
function ChromaShift_SP (clip clp, float "X",float "Y") {

X = default(X, 0.0) # positive values shift the chroma to left, negative values to right
Y = default(Y, 0.0) # positive values shift the chroma upwards, negative values downwards

w = clp.Width()
h = clp.Height()

clp.MergeChroma(clp.Spline16Resize(w, h, X, Y, w+X, h+Y)) }

GMJCZP
9th February 2015, 23:15
IMHO, The problem in question is spatial (black halo in right direction), as resolved if, for example, Vinverse. If we can attack the problem well (include other plugin or function), the ChromaShift sentences disappears and reduce number of Awarpsharp2 sentences (maybe eliminate or reduce the force of dctfun4b).

bxyhxyh
10th February 2015, 23:28
This would help you.
DGDecode_mpeg2source("Black Halo Clip.d2v", info=3)
tfm()
w=width() h=height()
thin=spline36resize(w/4,h)
dehaloed=thin.dehalo_alpha_mt(brightstr=0.0,darkstr=1.0)
diff=mt_makediff(dehaloed,thin)
mt_adddiff(diff.spline36resize(w,h,0.2))

thin2=spline36resize(w/2,h)
dehaloed2=thin2.dehalo_alpha_mt(brightstr=0.0,darkstr=1.0)
diff2=mt_makediff(dehaloed2,thin2)
mt_adddiff(diff2.spline36resize(w,h))