VideoHelp Forum




+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 44 of 44
  1. Originally Posted by holygamer View Post
    Jagabo do you want to test it yourself here to see if McTemporalDenoise is actually deblocking properly or not? This is my script and I think I've set deblocking to full strength. I encoded the video as h264.

    Code:
    Mpeg2Source("L:\Raw 2001 Dec 10 stutter & brightness changing.d2v")
    
    RemoveSpots()
    AddGrainC(var=1.0,uvar=1.0)
    
    McTemporalDenoise(settings="medium", interlaced=true, deblock=true, useQED=false, quant1=40, quant2=80)
    
    ColorYUV(autogain=true)
    
    Tweak(Bright=0, Sat=1.0, Cont=1.0, Hue=0.0, Coring=False)
    
    Crop(22,0,-6,-12)
    AddBorders(14,6,14,6, $000000)
    If there's a problem then is the only way to fix it by changing the crop? What values are allowed? I know you said that Deblocking works on 8x8 blocks of pixels but that doesn't really mean anything to me.
    I added AddgrainC in the location I did because I found that if I didn't have AddGrainC then I could still see spots on the stills in the video below. I watched it on my TV to see the difference. Since I don't actually want grain I added the denoiser after AddGrainC. I can't actually see grain but I figure I don't want it hence the denoiser. After that, AddGrainC still covers up the spots in the stills. I don't understand this myself but that's what I saw on my TV.

    I've got thousands of videos. I can't check them all to see if I need RemoveSpots or not and I figure it doesn't do any harm so I always use it now.

    Remove Spots from my video thread

    In the thread you're reading now, McTemporalDenoise IS doing something, it's denoising which is what I wanted. I know Tweak isn't doing anything as I found the brightness, contrast, etc to be fine, I always keep Tweak there if I need it or not. Of course Sanlyn's script in the fix changing brightness levels thread is a revelation, I was just looking for a way to fix the changing levels of brightness but what I got was a lot more and it improved the video massively. I didn't even realise there were problems with the video (apart from changing levels) until I saw the difference that Sanlyn's script made. But that's best discussed in that thread. This thread is only for discussing deblocking with or without McTemporalDenoise.
    Quote Quote  
  2. the code i use to deblock interlaced sources (gently provided by didée)

    par=getparity()
    SeparateFields().PointResize(width,height)
    Deblock_QED(24,28,uv=3)
    AssumeFrameBased()
    SeparateFields()
    Merge(SelectEven(),SelectOdd())
    par ? AssumeTFF() : AssumeBFF()
    Weave()
    *** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
    Quote Quote  
  3. Originally Posted by sanlyn View Post
    Tonight I learn that any crop value not divisible by 8 is a no-no.
    Only if you are going to deblock after cropping.
    Quote Quote  
  4. But I deblocked before cropping and you said I couldn't do that either?


    Last edited by VideoFanatic; 14th Oct 2012 at 06:27.
    Quote Quote  
  5. Thanks poisondeathray and themaster. I'll try what you suggested.
    Quote Quote  
  6. The better the deinterlacing before deblocking, the better the results will be.
    Quote Quote  
  7. Originally Posted by holygamer View Post
    But I deblocked before cropping and you said I couldn't do that either
    No, I didn't say that.
    Quote Quote  
  8. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Originally Posted by jagabo View Post
    Originally Posted by sanlyn View Post
    Tonight I learn that any crop value not divisible by 8 is a no-no.
    Only if you are going to deblock after cropping.
    Sorry, my Crop remarks do look kinda facetious. I get punchy by 2-AM. But I know what you're saying.

    F347-original-interlaced (below, unmodified capture from the source mpg):
    There are obvious macroblocks on the big guy's bare leg, near the knee, and one at chest level. Some less obvious blocks along the left border and along the length of the diagonal red rope. Clumped-up grainy stuff with chroma noise in dark areas and around the white lights on the right. Then there's color shift and bleed, mostly oversaturated red. Also, note the white ghost trails of the whitish figure on the right. Strong interlace combing and poor motion control. Most of this junk isn't "noise", it's low-bitrate artifacts and the usual tape playback problems.
    Image
    [Attachment 14244 - Click to enlarge]



    F347-MCTD-interlaced

    McTemporalDenoise(settings="medium", interlaced=true, deblock=true, useQED=false, quant1=40, quant2=80)
    Macroblocks softened a bit but still there. Clumpy grain smoothed a little, fine detail in the audience is disappearing. Edges visibly cleaner. Basically, the image has been smoothed but most artifacts are still there.
    Image
    [Attachment 14245 - Click to enlarge]



    F347_MCTD_Bob

    Same MCTD (interlaced=false) but Bob'd first, then reinterlaced. Results similar to above, but more fine detail is retained.
    Image
    [Attachment 14246 - Click to enlarge]


    More in next post. . . .
    Last edited by sanlyn; 23rd Mar 2014 at 09:53.
    Quote Quote  
  9. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    F347_QTGMC_MCTD
    QTGMC instead of Bob, same MCTD as earlier. Better detail, otherwise the blocks show few differences.
    Image
    [Attachment 14247 - Click to enlarge]


    F347_Bob_Deblock (progressive)
    Interleave(Deblock(60).Bob(), Bob.Deblock(60))
    I took the suggested script literally. Some smoothing, but distortion and odd contouring. It would take a convoluted reinterlace statement to keep it from running at 120 fps. I didn't have time to concoct a reinterlace.
    Image
    [Attachment 14248 - Click to enlarge]



    F347_Resize_QED.psd
    par=getparity()
    SeparateFields().PointResize(width,height)
    Deblock_QED()
    AssumeFrameBased()
    SeparateFields()
    Merge(SelectEven(),SelectOdd())
    par ? AssumeTFF() : AssumeBFF()
    Weave()

    Again, not a quantum leap. Kinda deja-vu. And I'm beginning to think those blocks won't go away, ever.
    Image
    [Attachment 14249 - Click to enlarge]


    Next post . . .
    Last edited by sanlyn; 23rd Mar 2014 at 09:53.
    Quote Quote  
  10. Originally Posted by sanlyn View Post
    F347-original-interlaced (below, unmodified capture from the source mpg):
    There are obvious macroblocks on the big guy's bare leg, near the knee, and one at chest level.
    If you Bob() you'll see that both fields are full of macroblocks. You'll also see that all the even fields have screwed up chroma (a mix of the field before and the field after).
    Quote Quote  
  11. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    In my own script in the other thread of this same video, I didn't address the blocks in these frames. For one thing, they don't occur often; the action is so fast, no one sees this stuff. I didn't see lots of blocks elsewhere, but I'm sure there are more. But there's a reason I gave up on this particular issue, as follows:

    F347_QTGMC_DeBlock
    QTGMC(preset="slow")
    DeBlock(quant=60,aOffset=8,bOffset=8)

    Most of the lesser blocking looks clean, but the big blocks are now big blurs and contours remain distorted. Images in which this distortion occurs illustrate the basic problem: the encoder didn't just create macroblocks, it literally deformed parts of the image.
    Click image for larger version

Name:	F347_QTGMC_Deblock.png
Views:	356
Size:	685.5 KB
ID:	14250


    F347_Bob_Even (top image) and F347_Bob_Odd (lower)
    Looking at bob'd or separated fields, you can see the distorted contours the deblockers can't fix. You might be able to play with motion interpolation here, but it would involve many fast-action frames and would take forever.
    Click image for larger version

Name:	F347_Bob_Even.png
Views:	396
Size:	610.5 KB
ID:	14251
    Click image for larger version

Name:	F347_Bob_Odd.png
Views:	410
Size:	620.4 KB
ID:	14252


    F346_Bob_Odd
    On top of that, there aren't that many "clean" fields to work with. Take a look at the preceding frame 346, where the distortion is just as bad if not worse (look at the knee):
    Click image for larger version

Name:	F346_Bob_Odd.png
Views:	359
Size:	642.9 KB
ID:	14253


    You see this kind of garbage all the time with inappropriate bitrates, yet many viewers stubbornly over-cram lots of video into small spaces and insist that the results "look great". They don't. Not by a long shot.
    Quote Quote  
  12. Originally Posted by sanlyn View Post
    Interleave(Deblock(60).Bob(), Bob.Deblock(60))
    I took the suggested script literally. Some smoothing, but distortion and odd contouring. It would take a convoluted reinterlace statement to keep it from running at 120 fps.
    That wasn't suggested as a method of deblocking the video. It was so he could compare what happens when you try to deblock an interlaced video, vs deinterlacing before deblocking. You open the script in VirtualDub and use the arrow keys to flip back and forth between the two videos.

    One field of the original video (simple Bob()):
    Click image for larger version

Name:	bob.png
Views:	360
Size:	748.4 KB
ID:	14254

    Deblock(60).Bob():
    Click image for larger version

Name:	deblock.bob.png
Views:	341
Size:	716.6 KB
ID:	14255

    Bob().Deblock(60):
    Click image for larger version

Name:	bob.deblock.png
Views:	419
Size:	708.8 KB
ID:	14256

    If you zoom in on the original video you'll see that most of the frame has blocky artifacts. The frame that was deblocked while interlaced has some of the blocks smoothed out but has more jagged edges and further screwed up chroma channels. The frame that was bobbed before deblocking has most of the blocks smoothed away and the chroma isn't contaminated with chroma from the other field.

    Again, this isn't my suggested algorithm for deblocking interlaced video. Simply a demonstration of why you need to deinteralce before deblocking. A simple Bob() results fuzzy video with jaggies, not suitable for production. But it's fast and easy for this demonstration.
    Last edited by jagabo; 14th Oct 2012 at 11:56.
    Quote Quote  
  13. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Right, I understand. I already had the pics, it's just there for comparison (how to do it the wrong way!). I'll add a note to the post.
    Last edited by sanlyn; 23rd Mar 2014 at 09:55.
    Quote Quote  
  14. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Originally Posted by jagabo View Post
    Originally Posted by sanlyn View Post
    F347-original-interlaced (below, unmodified capture from the source mpg):
    There are obvious macroblocks on the big guy's bare leg, near the knee, and one at chest level.
    If you Bob() you'll see that both fields are full of macroblocks. You'll also see that all the even fields have screwed up chroma (a mix of the field before and the field after).
    Yes, I noticed the chroma junk after you pointed it out. Even and Odd also look like video from two different players.

    BTW, I'm removing the double-Bob sample. There are other Bob pics, it's just taking up bandwidth, and many readers might not get the point.
    Last edited by sanlyn; 23rd Mar 2014 at 09:55.
    Quote Quote  



Similar Threads

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