VideoHelp Forum




+ Reply to Thread
Results 1 to 28 of 28
  1. while detail enhancement some grains have been produced. while i'm trying to remove these annoying grains, its makes the output dull again.
    is there any way of balancing this?
    here is the original cliphttp://www.sendspace.com/file/po6v18
    http://www.sendspace.com/file/jh8sb2
    http://www.sendspace.com/file/n9m99p
    and here is my script

    Code:
    MPEG2Source("blah.d2v", cpu2="xxooxo")
    Crop(10, 82, -10, -82)
    LanczosResize(784, 424)
    colormatrix()
    removegrain(mode=17)
    backward_vec2 = last.MVAnalyse(isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
    backward_vec1 = last.MVAnalyse(isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
    forward_vec1 = last.MVAnalyse(isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
    forward_vec2 = last.MVAnalyse(isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
    a=last.MVDegrain2(backward_vec1,forward_vec1,backward_vec2, forward_vec2,thSAD=400,idx=2)
    b = a.McTemporalDenoise(settings="high",strength=255,adapt=true, SHmode=3,Sovershoot=2)
    SeeSaw(a,b, NRlimit=3, NRlimit2=5, Sstr=1.6, Slimit=5, Spower=5, sootheS=20, bias=90)
    FineSharp(sstr=2.0)
    
    
    function FineSharp(clip c, int "mode", float "sstr", float "cstr", float "xstr", float "lstr", float "pstr", float "ldmp") 
    {
    mode  = default(mode, 1   )   #  1 to 3, weakest to strongest. When negative -1 to -3, a broader kernel for equalisation is used.
    sstr  = default(sstr, 2.0 )   #  strength of sharpening, 0.0 up to ??
     
    _cstr = spline(sstr, 0,0, 0.5,0.1, 1.0,0.6, 2.0,0.9, 2.5,1.00, 3.0,1.09, 3.5,1.15, 4.0,1.19, 8.0,1.249, 255.0,1.5)
    _cstr = (mode>0) ? _cstr : pow(_cstr,1./1.25)
    
    cstr  = default(cstr, _cstr)  #  strength of equalisation, 0.0 to ? 2.0 ? (recomm. 0.5 to 1.25, default AUTO) 
    xstr  = default(xstr, 0.19 )  #  strength of XSharpen-style final sharpening, 0.0 to 1.0 (but, better don't go beyond 0.249 ...)
    
                                   #  Viscera parameters
    lstr  = default(lstr, 1.49 )  #  modifier for non-linear sharpening
    pstr  = default(pstr, 1.272)  #  exponent for non-linear sharpening
    ldmp  = default(ldmp, sstr+0.1) # "low damp", to not overenhance very small differences (noise coming out of flat areas)
    
    str1  = sstr 
    str2  = cstr
    SSTR  = string(sstr)
    CSTR  = string(cstr)
    LSTR  = string(lstr)
    PSTR  = string(pstr)
    LDMP  = string(ldmp)
    rg=mode>0?11:20
     
    b = (abs(mode)==1) ? c.removegrain(11,-1).removegrain(4,-1)
    \ : (abs(mode)==2) ? c.removegrain(4,-1).removegrain(11,-1)
    \ : (abs(mode)==3) ? c.removegrain(4,-1).removegrain(11,-1).removegrain(4,-1) : c
     
    shrpD = mt_lutxy(c,b,"x y - abs "+LSTR+" / 1 "+PSTR+" / ^ "+SSTR+" * x y - x y - abs 0.001 + / * x y - 2 ^ x y - 2 ^ "+LDMP+" + / * 128 +")
     
    shrp = (str1<0.01) ? c : c.mt_adddiff(shrpD,U=2,V=2)
    
    shrp = (str2<0.01) ? shrp : shrp.mt_makediff(shrpD.mt_lut("x 128 - "+CSTR+" * 128 +").removegrain(rg,-1),U=2,V=2) 
    
    shrp = (xstr<0.01) ? shrp 
    \    : mt_lutxy(shrp,shrp.removegrain(20,-1),"x x y - 9.9 * +",U=2,V=2).repair(shrp,12,0).mergeluma(shrp,1.0-xstr)
    
    return(shrp) 
    }


    p.s.: i know, perhaps i've made my script unnecessarily long and complicated. can a simpler script can better this one?
    any suggestion for any respect (especially for the crushed black and blown white parts )are strongly welcome, thanx in advance
    Last edited by baunduley; 9th Jan 2013 at 16:26.
    Quote Quote  
  2. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    When you can tell us what the actual visual difference is between grain and detail, that's when we can tell you how to separate the two.

    Scott
    Last edited by Cornucopia; 10th Jan 2013 at 13:32.
    Quote Quote  
  3. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Resize after denoising. Never before.

    I'd like to offer a few suggestions, but it's almost midnight where I live. So I could try to come up with some tricks early tomorrow. Meanwhile I'm sure some members will offer ideas. In the meantime...

    None of the samples is very grainy. In fact, these all look as if they've been very aggressively denoised, seriously oversharpened, insanely oversaturated, and with fatally crushed darks, blown out highlights, and ugly color. This seems to be a trend among youngsters today, whose visual senses are so jaded with bad video and games that they need to be overcome with artificial effects before they can see anything. So, ummm, if these are the sources you have to work with, you're in trouble.

    Nothing in your sample script corrects any of this. Besides, the "grain" you see isn't grain, it looks like a fine-mesh dot crawl and sometimes like FM hash noise. It also looks like the fine nylon-net noise from a bad AVT-8710 TBC. The original source must have been film, although most aspects of the "film look" have been wiped out by over-processing to the point where it's starting to look like anime on steroids.

    Probably none of that is your fault. I do know that most movie photogs in India are artists who would be ashamed to produce work that looks like those samples. But maybe we can try a little fixing later. ........
    Personally, I find it upsetting when good work is abused this way.
    Last edited by sanlyn; 25th Mar 2014 at 06:08.
    Quote Quote  
  4. Resize after denoising. Never before.
    May I ask: Why?
    I see that:
    a. resizing can introduce new artifacts. (which is also a reason to denoise/dehalo after resizing)
    b. if you deblock it might be a good idea to know the macroblock original block boundaries, but for denoising ?
    Last edited by Selur; 10th Jan 2013 at 10:50. Reason: fixed quote bracket
    Quote Quote  
  5. Member 2Bdecided's Avatar
    Join Date
    Nov 2007
    Location
    United Kingdom
    Search Comp PM
    Unfortunately, the blown-out whites have been clamped to just below 235, so there's no way to get them back. Same with the blacks just above 16. No super-white or blacker-than-black in this file.

    I agree with sanlyn - it's not grain - there are occasional dust/dirt blotches, and this horrible interference (a bit like capturing composite via S-video and getting the undecoded chroma sub-carrier in the luma signal).

    Sorry this is no help. Removedirt will help with the dust/dirt.

    FWIW if it hadn't been blown out, I'd quite like the oversaturated (and to a lesser extent, the over-contrasty) look - it might be appropriate for some content.

    I could be wrong, but it looks like all the dust, dirt and hairs are white, meaning this was scanned from the negative, not a normal positive print. In reversing it, I don't think they've quite got the colours right (even accounting for the intentional oversaturation and overblown contrast). sanlyn will probably try to fix it, though I don't think I'd bother.

    Cheers,
    David.
    Quote Quote  
  6. i know there are plenty of flaws in the video
    currently which is bothering me most is this grain/dirt/dust/ dotcrawl
    it worsens (it should) with the detail enhancement/sharpenning
    before sharpening



    after sharpening



    is this problem have any similarity with this?
    http://forum.gleitz.info/showthread.php?t=28979&highlight=spatiales+sieb+goldw%E4scher-manier
    Quote Quote  
  7. You problem is that you use FineSharp, an option which is meant for clean sources, which yours definitely is not.

    # Small and relatively fast realtime-sharpening function,
    # for 1080p, or after scaling 720p -> 1080p during playback (to make 720p look more like being 1080p)
    # It's a generic sharpener. Only for good quality sources!
    # (If the source is crap, FineSharp will happily sharpen the crap.)
    # Noise/grain will be enhanced, too. The method is GENERIC.
    #
    # Modus operandi: A basic nonlinear sharpening method is performed, then the *blurred* sharp-difference gets subtracted again.
    #
    # - Didée
    source: from the beginning of the original FineSharp script,..
    Quote Quote  
  8. ok..... now i've removed the finesharp function from the script


    but it looks no better


    does it mean that i should concentrate not to sharpen it so that the artifacts can be overlooked, rather than fixing the grain/dirt/dust/ dotcrawl

    BTW what is it exactly? is there no way to remove it as well as sharpening and enhancement of detail. please have a close look........... its not everywhere, mostly on bright colors
    Quote Quote  
  9. "does it mean that i should concentrate not to sharpen"
    Yes. 1st get rid of the artifacts than sharpen if you must.

    BTW what is it exactly?
    Fun fact: I forgot. I know that I knew this sort of artifacts an how to get rid of them once upon a time.
    Quote Quote  
  10. Originally Posted by Selur View Post
    Yes. 1st get rid of the artifacts
    how?
    Originally Posted by Selur View Post
    Fun fact: I forgot. I know that I knew this sort of artifacts an how to get rid of them once upon a time.
    are you kidding or serious? i coudn't get you, i'm not not so smart (actually i'm dumb )

    does it have any similarity with this? http://forum.gleitz.info/showthread.php?t=28979&highlight=spatiales+sieb+goldw%E4scher-manier
    Quote Quote  
  11. don't think so, looks more like a job for some one who knows how to use:
    http://avisynth.org.ru/defreq/defreq.html
    Quote Quote  
  12. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Originally Posted by baunduley View Post
    i know there are plenty of flaws in the video
    currently which is bothering me most is this grain/dirt/dust/ dotcrawl
    it worsens (it should) with the detail enhancement/sharpenning
    before sharpening

    is this problem have any similarity with this?
    http://forum.gleitz.info/showthread.php?t=28979&highlight=spatiales+sieb+goldw%E4scher-manier
    Similar, but not quite. The noise shown in the link is striping - not the same as dot crawl. Your samples all have dot crawl, chroma upsampling error ("CUE"), and low bitrate artifacts...among other things. The first 2 are alomost impossible to clean without detail loss, the low bitrate problems are very difficult (more detail loss); the color can be fixed somewhat except for the bad crushing and highlight clipping.

    When video data is crushed (darks) or clipped (highlights), the original luma and chroma values are distorted or destroyed. There's no way to get it back. Here is a quick chart for a very simplified demo of what happens to dark colors when crushing occurs. The chart shows the original values, and how those values are changed by crushing, or "compression" of original values whose ability to define fine gradations between details has been crippled:

    Code:
    
    Original  Crushed
    --------  -------
     RGB  0     0
     RGB  1     0
     RGB  2     0
     RGB  3     0
     RGB  4     0
     RGB  5     0
     RGB  6     0
     RGB  7     0
     RGB  8     0
     RGB  9     0
     RGB 10     0
     RGB 11     0
     RGB 12     1
     RGB 13     1
     RGB 14     1
     RGB 15     1
     RGB 16     5
     RGB 17     5
     RGB 18     5
     RGB 19    10
     RGB 20    10
     RGB 21    10
     RGB 22    10    
     RGB 23    15
     RGB 24    15
     RGB 25    15
     RGB 26    20
     RGB 27    21 
    You can see that if you try to "brighten" the crushed stuff, you get noise, clumps of grainy dirt, etc. -- little or no detail, and severe banding where colors change.

    From VTS-)1_1.m2v:
    Left image (frame 11): Detail and contours on the lower-left wall are constantly shifting and jittering due to low bitrate artifacts. It becomes difficult to tell the difference between the rain and the wall details that are in motionm. Not enough data bits to maintain definition or control motion with good stability.
    Middle image (frame 318): the same problem, upper right. The darks don't blend cleanly, and the grubby dirt and clumps continually move and change shape.
    Right image (frame 318): dot crawl and chroma upsampling error, not to mention oversaturated and blooming red. The filters your script used are not effective in addressing these problems.
    Click image for larger version

Name:	VTS_01_1_problems.png
Views:	1912
Size:	270.1 KB
ID:	15681

    So, "grain" is the least of your worries. The original source was film media, which itself has a certaint amount of fine grain that accounts for the film "look" of movie film.

    I have attached two attempts at cleaning your VT1_01_1 m2v. I didn't attempt to resize for straight 16:9, as this video won't resize so well. Didn't have time, anyway, to work out the 16:9 dimensions for PAL.

    Effort #1 is attached as VTS_01_1_Q.m2v . Its main tools were ColorYUV, SmoothAdjust, QTGMC, and NeatVideo. Note: NeatVideo was used at very low power, mainly as a leightweight finishing smoother and a mild sharpener. Could probably be tweaked more, but you can use whichever tools you like. This is a condensed version of the three steps I took to get the m2v:

    Code:
    #---------- step 1: OPEN FOR AVISYNTH ------------
    LoadCPlugin("D:\Avisynth 2.5\plugins\yadif.dll")
    Import("D:\Avisynth 2.5\plugins\QTGMC-3.32.avs")
    
    MPEG2Source(E:\forum\grain\VTS011\VTS_01_1.demuxed.d2v",CPU=3)
    Crop(8,80,-8,-80)
    Tweak(Sat=0.7)
    ColorYUV(gamma_y=10)
    ColorYUV(off_v=5,cont_v=-15)
    ColorYUV(off_u=-2,cont_u=-10)
    ColorYUV(Autowhite=true)
    SmoothLevels(14, 1.1, 235, 14, 235, chroma=200, limiter=2, tvrange=true)
    DeBlock_QED()
    QTGMC(InputType=1,preset="medium",SourceMatch=3, TR2=2)
    AddGrainC(var=2.0,uvar=2.0)
    
    #     --- to RGB FOR STEP2: NeatVideo ----
    ConvertToRGB32(matrix="Rec601",interlaced=false)
    
    #---------- step 3: RGB -> YV12 FOR HCenc ------------
    Import(D:\Avisynth 2.5\plugins\dither\Dither.avs")
    Import(D:\Avisynth 2.5\plugins\dither\mt_xxpand_multi.avs")
    LoadPlugin(D:\Avisynth 2.5\plugins\dither\avstp.dll")
    LoadPlugin(D:\Avisynth 2.5\plugins\dither\dither.dll")
    LoadPlugin(D:\Avisynth 2.5\plugins\dither\mt_masktools-26.dll")
    
    AviSource(E:\forum\grain\VTS011\VTS011_Q1_NV.avi")
    Dither_convert_rgb_to_yuv(interlaced=false,tv_range=true)
    ColorYUV(off_y=3)
    AddBorders(8,80,8,80)
    Effort #2 is attached as VTS_01_1_TD.avs . It's pretty much the same script, but I replaced QTGMC with TemporalDegrain. Effort #2 has somewhat less detail than #1, but less noise and better stablization of the "floating" artifacts.

    Code:
    #---------- step 1: OPEN FOR AVISYNTH ------------
    Import("D:\Avisynth 2.5\plugins\TemporalDeGrain.avs")
    MPEG2Source("E:\forum\grain\VTS011\VTS_01_1.demuxed.d2v",CPU=3)
    Crop(8,80,-8,-80)
    Tweak(Sat=0.7)
    ColorYUV(gamma_y=10
    ColorYUV(off_v=5,cont_v=-15)
    ColorYUV(off_u=-2,cont_u=-10)
    ColorYUV(Autowhite=true)
    SmoothLevels(14, 1.1, 235, 14, 235, chroma=200, limiter=2, tvrange=true)
    DeBlock_QED()
    TemporalDeGrain(sigma=12)
    AddGrainC(var=2.0,uvar=2.0)
    
    #     --- to RGB FOR STEP2: NeatVideo ----
    ConvertToRGB32(matrix="Rec601",interlaced=false)
    
    #---------- step 3: RGB -> YV12 FOR HCenc ------------
    Import(D:\Avisynth 2.5\plugins\dither\Dither.avs")
    Import(D:\Avisynth 2.5\plugins\dither\mt_xxpand_multi.avs")
    LoadPlugin(D:\Avisynth 2.5\plugins\dither\avstp.dll")
    LoadPlugin(D:\Avisynth 2.5\plugins\dither\dither.dll")
    LoadPlugin(D:\Avisynth 2.5\plugins\dither\mt_masktools-26.dll")
    
    AviSource(E:\forum\grain\VTS011\VTS011_TD_NV.avi")
    Dither_convert_rgb_to_yuv(interlaced=false,tv_range=true)
    ColorYUV(off_y=3)
    AddBorders(8,80,8,80)
    Note that I used AutoWhite in both scripts. I hate autogain and autocolor, but it worked here (somewhat) because all the shots in the sample clip would have no major color-shift or lighting changes. Still, I had to employ ColorYUV and SmoothAdjust to tame down the usual aggressive nature of AutoWhite, which can cause problems all its own.

    I included the scriupts as general guides. Your other clips have color and levels changes from scene nto scene, many of which are rather drastic, so the same color and level adjustments won't work quite the same way for the entire clip. And, yes, making those adjustments is a real pain in the neck, back, head, and other body parts.
    Image Attached Files
    Last edited by sanlyn; 10th Jan 2013 at 22:43.
    Quote Quote  
  13. thanks for your help.
    abosolutely a mind blowing job especially with color correction. it looks so natuaral in your both samples
    but currently i was not so worried about the night scenes, because it is just 2-3 minutes from the whole movie....that would come later


    but the day light scenes (nest two samples) are same as the whole movie. and the same grains(urrrghh!)
    please do something for those
    Quote Quote  
  14. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    The o0ther two samples don't just have the same dot crawl and mesh noise-- they're worse. The lon ger VTS_01_3 gets even worse than that: every camera shot looks like something from a different video. That means major adjustments with almost every scene change. If you have little notion of how these filters or color adjustments really work, you could be posting to this thread in 2015.

    The source is simply defective, the same problem apparently runs all through it. How did this source originate? Is it a rip from commercial DVD, a commercial DVD itself, or something recorded to DVD from tape? I see several defects that are common to tape playback. If it's a commercial DVD or tape, it would be interlaced as standard PAL, or some otehr adaption from film would have been made. But this is deinterlaced. Without a better copy of the original, you're in for a very rough time of it.
    Last edited by sanlyn; 25th Mar 2014 at 06:10.
    Quote Quote  
  15. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Attached VTS_01_3_HC.m2v is the shorter daylight sample. No RGB conversion or NeatVideo. However, 3 tools were needed to subdue that fine mesh noise (still some of it there) that permeates everything: QTGMC, RemoveSpots, and DFTTestMC. ReplaceFramesMC was used on one stubborn frame that wouldn't let go of a huge spot of damage. Updated scripts DFTTestMC and ContraSharpening: http://forum.doom9.org/showthread.php?p=1336882#post1336882

    It's an example of another problem: color shifts between scenes. The first shot is still a bit green, the last shot a tad red. An archivist would design settings specifically for each shot.

    Code:
    Import("D:\Avisynth 2.5\plugins\RemoveSpots.avs")
    Import("D:\Avisynth 2.5\plugins\FineSharp.avs")
    Import("D:\Avisynth 2.5\plugins\QTGMC-3.32.avs")
    Import("D:\Avisynth 2.5\plugins\ReplaceFramesMC.avs")
    Import("D:\Avisynth 2.5\plugins\scripts\DFTTestMC.avs")
    Import("D:\Avisynth 2.5\plugins\scripts\ContraSharpening.avs")
    
    MPEG2Source("E:\forum\grain\VTS013\VTS013.d2v")
    Crop(8,80,-8,-80)
    ColorYUV(cont_v=-30,off_v=5)
    ColorYUV(off_u=-20,gain_u=30)
    Tweak(Hue=10)
    SmoothLevels(0, 0.80, 255, 14, 235, chroma=200, limiter=2, tvrange=true)
    TurnRight()
    RemoveSpots()
    QTGMC(InputType=1,preset="medium",SourceMatch=3, TR2=2)
    
    orig = last
    denoised = orig.dfttestMC()
    result = ContraSharpening(denoised,orig)
    
    result
    TurnLeft()
    ReplaceFramesMC(446,1)
    FineSharp(sstr=0.02)
    AddGrainC(var=1.0,uvar=1.0)
    AddBorders(8,80,8,80)
    return last
    Image Attached Files
    Last edited by sanlyn; 11th Jan 2013 at 00:45.
    Quote Quote  
  16. "osadharon",
    thats how we say fantastic in our language. please dont bother and keep yourself lazy. i can wait to test it for myself, this simply beyond my imagination.
    you are great..... but i will bother you again, if i face any problem in future
    Quote Quote  
  17. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Originally Posted by baunduley View Post
    here is the original clip . . .
    http://www.sendspace.com/file/n9m99p
    A rework of VTS_01_3.demuxed-1.m2v (originally linked at http://www.sendspace.com/file/n9m99p in post #1 of this thread). The reworked video VTS_01_3_1_Rework.m2v is a free downlaod at: .
    http://dc196.4shared.com/download/XZFcL5OO/VTS_01_3_1_Rework.m2v

    The original clip has 14 short camera shots. Each scene has a different noise problem and different oddball levels + color problems. Looks like clips from 14 different movies!I had to correct each scene separately, then join and encode. Some hassler, all 14 shots use a different script. Bad interlace was only the beginning. The infamous net-mesh/dot crawl problem is mostly gone (more or less). I found a trick for handling it:

    Code:
    RemoveGrain()
    QTGMC(InputType=1,preset="medium",TR2=2)
    TurnRight()
    RemoveGrain()
    TurnLeft()
    Some scenes have a fine-grain mesh or herringbone pattern. Sometimes it's moving, sometimes not. When it moves vertically like ripples in water, a second trick handled it better:

    Code:
    RemoveGrain()
    QTGMC(InputType=1,preset="medium",TR2=2)
    TTempSmooth()
    TurnRight()
    FluxSmoothT()
    TurnLeft()
    The image below shows floating herringbone in the red garment and blue water, etc., on the left. The right-hand pic is the result of using the above routine. Taken from frame 950 (scene 6) -- right-click to enlarge. Not perfect, but at least it isn't simmering and sparkling. What a workout! It would take months to clean this bad processing.

    Click image for larger version

Name:	frame950-original-vs-after (scene 6).png
Views:	1116
Size:	887.0 KB
ID:	15754

    I'll need a day or two to get all 15 messy scripts together for posting.
    Last edited by sanlyn; 15th Jan 2013 at 19:54.
    Quote Quote  
  18. what a trick!
    turnright()
    turnleft().....ha ha really amazing
    can you please explain this?
    Quote Quote  
  19. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    The rumor is that some plugins are designed to clean noise that moves horizontally (and that's only rumor, but stop and think about it). Look at camera shots #3 and #6 in the original VTS VTS_01_3.demuxed-1.m2v . Note the fine-mesh noise in the clear areas, especially water in #3 and water and red garment in #6. Use DGIndex to make a d2v of that .m2v, then try this:

    Code:
    MPEG2Source(vidpath+"VTS_01_3.demuxed-1.d2v")
    RemoveGrain()
    You'll see that some of the horizontal-moving noise has been cleaned, but now the horizontal (up and down) motion is more evident. Then try this:

    Code:
    RemoveGrain() 
    TurnRight() 
    RemoveGrain() 
    TurnLeft()
    More of the noise is removed. Sometimes the second trick with FluxSmoothT() also works. Both plugins have mamny settings. I just ran out of time to try all of them. The other plugins I used were also a big help. Back later.
    Last edited by sanlyn; 16th Jan 2013 at 10:19.
    Quote Quote  
  20. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    The attached VTS_01_3_1_scripts.zip contains the scripts and VirtualDub .vcf files that I used for the rework posted above. The ZIP contains 15 small subfolders, one for each of 15 steps. There is is also a "ScriptsAndPlugins_Notes.txt" file with instructions and observations. For me, each of the 14 scenes was a learning experience. You can try them one at a time to get some tips on color correction with ColorYUV, SmoothAdjust, and the gradation curve filter. I didn't use any other VirtualDub denoisers or other Vdub plugins except gradation curves.
    Image Attached Files
    Last edited by sanlyn; 16th Jan 2013 at 08:53.
    Quote Quote  
  21. i am confused
    how should i react?
    it'll take at least a week or month to grasp it, to understand why you have used this particular settings for that particular shot
    and at least a year to change accordingly for the whole movie, may be far longer than that

    none other has made any objection, so it may be the best possible output i guess
    thanks a lot sanlyn, thank you
    Quote Quote  
  22. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Indeed, if you've never seen these plugins before you have some catching up to do. You'll notice, however, that the same plugins were reused again and again -- not in exactly the same order, but with variations to suit the problem. The first step is to try to repair the bad luma levels and crushed colors (can't fix all of it, but one can always try). QGTMC was used to try to repair some poor deinterlace problems, ssome of which are there forever (some very untidy edges and lots of nosie in dark areas). Next, some temporal smoothers were used to try to clean up the dot crawl and fine-mesh herringbone noise, and the banding and blocky grain. Only after denoising would you want to sharpen. All the scripts follow the same pattern: (a) fix levels and color, (b) denoise, (c) sharpen if needed.

    This reminds me of a 27-page thread I copied from Doom9 a while ago. 6 months later, I'm still reading it and looking up documentation on the tricks that were used. I do it by loading the script and then loading the filters one at a time to see the effects.

    This video has huge variations in different scenes. That's always a big headache. A video with more consistent noise and image quality, even if not that good, is much easier to work with.
    Last edited by sanlyn; 16th Jan 2013 at 21:03.
    Quote Quote  
  23. ok, for now a stupid question
    what if one denoise first and then fix levels and color?
    Quote Quote  
  24. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Crushed colors and out-of-range highlights are extremely difficult to clean. Also, very dark areas have more noise than you think. If you can't see it, you don't know how to address it. You can leave it as-is, but your encoder and your players won't be happy.
    Quote Quote  
  25. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Originally Posted by baunduley View Post
    i am confused
    how should i react?
    it'll take at least a week or month to grasp it, to understand why you have used this particular settings for that particular shot
    and at least a year to change accordingly for the whole movie, may be far longer than that
    Your confusion matches mine when I first viewed the sample video. Having been through this sort of endurance test many times in the past, I had a general idea of what to do. But I'll try to show you how I worked on these scenes. Others might work differently.

    For correction, I view video in VirtualDub in RGB. Some prefer YUV histoghrams and other graphs, but RGB helps me understand how the video will display; video is stored in YUV, but is displayed in RGB on PC monitors and TV. It is converted to RGB using a certain color matrix, or set of algorithms. So I use this to see the RGB effects:

    ConvertToRGB32(matrix="Rec601",interlaced=false) # <- or "interlaced=true" if it suits the case.

    I might never actually save that video in RGB. It might not be necessary to work in RGB at all. But I still want to see how it will be affected by the usual display conversion, whether for PC or TV. I worked here with SD DVD and TV in mind.

    Below is a reduced-size screenshot of my VirtualDub display, with the original clip (Scene 6) in the input pane and an RGB histogram from ColorTools in the output panel. Also in the screen is the CSamp dialog window, which is a free tool for reading pixel values. Some use YUV histograms. That's wsell and good, but YUV shows how the data is stored. I use YUV tools as well, but in the nitty-gritty I simply prefer the RGB view.

    Viewing images in a web browser tends to darken the image, so you might want to copy these and view them in a photo App. I used Photoshop Pro because it can "read" my monitor calibration (In other words, what I see there is what I get). But on a properly calibrated monitor, VirtualDub gets close to the mark.

    You can see in the photo that skin tones are too green. The dark colors of the hair are badly crushed against the left-hand side of the histogram. The bright contrast (right-hand side) isn't so bad, so at least the highlights aren't blown away. But the hair is too blue and red is oversaturated and tends to "bloom" a bit (looks a little "hot"). Unfortunately the crushing destroys much of the fine detail that should be there. This is the original uncorrected frame 40 image from Scene 6.
    Click image for larger version

Name:	40-scene6-original.png
Views:	1828
Size:	330.8 KB
ID:	15785

    Without loading any other filters, I ran the script with only the SmoothLevels() and ColorYUV statements. No denoising yet. The web image is still a bit dark, but you can begin to see some small details in the hair (which is still too blue). The histogram shows the major change on the left-hand side, where YUV black levels were raised to about RGB 16 to prevent TV from turning everything a color darker and more grimy than coal. The big peaks on the left-hand side show the dark clipping, so there's only so much one can do to retrieve detail. Making the darks brighter won't bring up more detail, because that detail is gone. With ColorYUV the skin tones were improved by reshaping red and blue contrast and other parameters. Red saturation was calmed a bit to make the cloth look more natural. An oversupply of Green is corrected two ways: First, one can decrease green. But in this case, that would reduce overall saturation, and the water plants wouldn't look correct. The other way to correct Green is to add cyan (Red + Blue, which I did here with ColorYUV). Skin tones and hair aren't quite right; skin is a little pale, and IMHO the water is too green.
    Click image for larger version

Name:	40-scene6-step1.png
Views:	1944
Size:	327.6 KB
ID:	15786

    The colors and levels were tweaked in RGB with the gradation curves filter. Learning to use it doesn't take that much (I studied free web tutorials about the same control in Photoshop). Basically, I had to increase Red in the shadows and midtones, reduce green overall (especially in the brights), and reduced very dark blue a small amount. It's up to personal preference whether I made the water too blue or the plants not green enough. In any case, these tweaks are often a matter of personal preference. I favored skin tones here.
    Click image for larger version

Name:	40-scene6-RGB-tweak.png
Views:	1862
Size:	373.4 KB
ID:	15787

    The most difficult part is fiddling with levels and color. The other filters speak for themselves. RemoveSpots is used to...well, to remove spots. But it also smooths some grain and chroma noise. In some cases I didn't use it and left the spots as-is because the softening in other details was too visible. Applying the other filters isn't difficult once you get a feel for what they do. QTGMC helped reduce shimmer and some of the artifacts from the poor deinterlace used earlier, and from whatever processing was used to convert the original source from film to video. Anti-alias and dot crawl filters (including RemoveGrain) do what they do, and other filters work on other problems.

    Hope that helps. The problems in this video are worse than those I usually see from digital video sources. Some projects are easy. Others are what are called "a learning experience".
    Last edited by sanlyn; 17th Jan 2013 at 12:57.
    Quote Quote  
  26. fabulous tutorial
    i had a brief idea already, but your post cleared all the confusions and helped me to get a crystal clear concept of color correction
    it'll definitely help me as well as the other newbies like me
    thanks again for all your efforts and valuable time
    Quote Quote  
  27. high back again. everything is going perfect

    for now just one question....... in the last joining script (ref: https://forum.videohelp.com/threads/352340-how-to-remove-grain-without-loosing-min-deta...=1#post2213397) u've trimmed out the duplicate frames
    is there any way of locating these frames? or i've to trust only my eyes
    i'm confused
    Quote Quote  
  28. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    When each small clip was made, several extra frames at the start and end of the cut were retained to allow temporal filters to work. Otheriwse, the first few and last few frames of each cut would not be filtered properly. It's easy nenough to look at each clip in VirtualDub and mark the first and last frame numbers to delete. Frame numbers in clips start at 0.

    Shot, quick "flashback" sequences like these do not run through the entire movie -- thank heaven. And other parts of a video won't need such drastic treatment; most scenes will be longer and will have a similar appearance. I am working on a very poor VHS retail issue right now, with hundreds of odd scenes. No two shots look alike. What a headache!
    Last edited by sanlyn; 7th Feb 2013 at 07:05.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!