VideoHelp Forum
+ Reply to Thread
Results 1 to 14 of 14
Thread
  1. Hi guys!

    My first post here.

    Sorry about my bad english. I am from Brazil.
    I have a VHS collection with about 1200 tapes, where 99% of these tapes were recorded in PAL_M (Braziliam system).
    Although I own this all collection of VHS tapes, I do not have much advanced knowledge about video.
    That is why I am here asking for your help.

    First, i don't even know how to call this problems, so, I will show them with pictures (Click to enlarge):
    Click image for larger version

Name:	carrossel.jpg
Views:	192
Size:	53.6 KB
ID:	43970Click image for larger version

Name:	carrossel2.jpg
Views:	229
Size:	55.4 KB
ID:	43971
    These are pictures taken from a tape recorded in 1991, from TV.
    In these pictures it is possible to see two of the biggest problems I have been having.
    - The first one, is about the high noise in the red colors areas.
    Would be this a VCR problem? Capture card problem? Or maybe (probably) a problem because it was recorded from TV?
    Would be possible solve this by hardware? If not, how can I solve this by software?

    - Second problem: the noises between the colors:
    Click image for larger version

Name:	carrossel3.png
Views:	265
Size:	700.1 KB
ID:	43972
    (Click to enlarge)

    I think this is not a problem with the VCR or the VHS tape. Because I am seeing a similar problem when my TBC (CTB-100) is generating the colorbars:
    Click image for larger version

Name:	COLORBAR - VISUS.png
Views:	285
Size:	776.3 KB
ID:	43973
    (Click to enlarge)

    All images above were taken using a VisusTV PCI-E capture card.

    Here is two other pictures of the same colorbars take using others capture cards I have:

    ENLTV PCI
    Click image for larger version

Name:	COLORBAR - ENLTV.png
Views:	231
Size:	959.0 KB
ID:	43974

    EasyCap USB
    Click image for larger version

Name:	COLORBAR - EASYCAP.png
Views:	253
Size:	863.8 KB
ID:	43975

    The same problem can be seen on all picture cards. More in ones, less in others.

    I was thinking that this would be a problem with the RCA cable, but I already tried to change the cables, and it did not solve the problem.
    I also tried to change the color system of the colorbars from PAL_M to NTSC, but the problem persists.

    Would this be a problem in the hardware? Or would this be a common feature from analog systems?
    Any ideas how I can solve these problems?

    Thanks in advance.
    Quote Quote  
  2. Member
    Join Date
    Aug 2010
    Location
    San Francisco, California
    Search PM
    Chroma noise is common in VHS recordings. It's a cheap consumer format, after all. You should be using a Y/C (s-video) output to minimize the problem and to eliminate dot crawl, which is evident at boundaries between colors. Some VCRs are better at reducing noise than others. Much more can be done in software, for example, using Avisynth.
    Quote Quote  
  3. Thanks for the help! But unfortunately s-video is not an option. No brasilian VCR was released with s-video connection. I have to content myself with the RCA connections.
    Quote Quote  
  4. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    That's not true. You just didn't check better sources or spend enough money. But you can connect your composite VCR to a recommended tbc pass-thru device that has a good y/c 3D filter, s-video output, and a powerful line-sync circuit, both of which you desperately need because of all the dot crawl and sync error distortion in your images. People have been doing this for years. Browse here: https://forum.videohelp.com/threads/319420-Who-uses-a-DVD-recorder-as-a-line-TBC-and-what-do-you-use

    You'll also need to learn to work with Avisynth filters if you want to fix the aliasing, edge noise, and noisy low-frequency flutter in your red colors, most of which is coming from your current VCR.
    - My sister Ann's brother
    Quote Quote  
  5. As was pointed out, VHS is an inherently low resolution, noisy system, especially for chroma (colors). The rolling dots at color edges are dot crawl artifacts -- incomplete separation of the chroma and luma from a composite source. You can greatly reduce them by resizing the frame to half width and then back up to full width. That doesn't hurt the underlying video because VHS is so low resolution to start with.

    The best way to deal with VHS is to use an S-VHS for playback, using the s-video output, and the deck's internal line TBC (or an external line TBC -- pass the signal through a Panasonic ES10 or ES15 DVD recorder). Capture with a lossless codec then filter in AviSynth. That will give you much cleaner results than your getting now. But it's a lot of work and costs a lot of money. There are many many threads here about this. There's no point in re-hashing it here.
    Last edited by jagabo; 10th Dec 2017 at 20:29.
    Quote Quote  
  6. Thanks again for the help. For now, I'll do some research on Avisynth.

    Do you have any idea of filter that you recommend to deal with these problems?
    Quote Quote  
  7. In AviSynth a sequence like :

    ImageSource("carrossel2.jpg")
    BilinearResize(width/2, height).Spline36Resize(width, height)

    will almost entirely eliminate the dot crawl:

    Click image for larger version

Name:	dotcrawl.png
Views:	132
Size:	595.6 KB
ID:	44048

    The bad aliasing at the bottom of the R will be fixed by better deinterlacing or an inverse telecine. The noise is best removed with a 3d noise filter like TemporalDegrain or MCTemporalDenoise. The oversharpening halos can be reduced with dehalo_alpha but that can be damaging to the video (usually not too bad with animation). Chroma can be sharpened with something like MergeChroma(awarpsharp2(depth=20)). And of course, there are all kinds of filters for brighness, contrast, saturation, hue, etc. Upload a video sample for more a more detailed filter chain.

    This is way overdoing it (especially the noise reduction) but gives you some idea what can be done:

    Click image for larger version

Name:	heavy.jpg
Views:	148
Size:	38.9 KB
ID:	44049

    But you'll really benefit from a line time base corrector during capture. This will greatly reduce all the horizontal jiggle -- which can't really be fixed after capture.
    Last edited by jagabo; 17th Dec 2017 at 20:17.
    Quote Quote  
  8. I started with the last clip since it contains the titles in the earlier images. The video is from an interlaced camera and is best smart bobbed. I came up with this script:

    Code:
    AviSource("forum 04.avi") 
    AssumeTFF()
    ConvertToYV12(interlaced=true)
    BilinearResize(width/2, height) # resize frame to half width
    QTGMC(preset="fast", EZDenoise=1.0, DenoiseMC=true) # smart bob to 59.94 fps, mild noise reduction
    Dehalo_alpha(rx=2.0, ry=2.0)
    MergeChroma(awarpSharp(depth=5), aWarpSharp(depth=20)) # sharpen luma a little, chroma more
    TurnRight().nnedi3(dh=true).Turnleft() # restore frame to full width
    ChromaShift(l=-2) # shift colors up two lines
    Crop(4,20,-24,-8) # remove black/junk borders
    AddBorders(16,14,14,14) # restore borders with pure black, only necessary if you need the original frame size, eg. making a DVD
    Most of the dot craw removal comes from scaling the video to half width and then restoring it to full width. This doesn't hurt the clarity of the underlying video much because the source itself isn't very sharp horizontally.

    Since we need to bob to 59.94 fps we use QTGMC, the best deinterlacer. It has a built in motion compensated noise reduction feature, EZDenoise so I used that to reduce noise. 1.0 is very mild. Higher values give more noise reduction -- but you will lose detail more detail too. Other possibilities for noise reduction include MCTemporalDenoise() and TemporalDegrain(). They are all motion compensated and pretty slow.

    dehalo_alpha() can be very damaging. You may not want to use it. Watch for posterization artifacts in small areas. Like when a person's face is very small in the frame -- they'll start to look like mannequins.
    Quote Quote  
  9. Alternatively software decoding can be interesting option especially where HQ is more important than processing time - same approach for LD works quite well.
    https://github.com/happycube/ld-decode
    Quote Quote  
  10. Here's the video filtered with the above script but with MCTD set to "very high". As you can see, nearly all the noise is gone but so is the fine detail.
    Image Attached Files
    Quote Quote  
  11. Member
    Join Date
    Dec 2017
    Location
    Connecticut
    Search Comp PM
    Originally Posted by dedediadema View Post
    Thanks for the help! But unfortunately s-video is not an option. No brasilian VCR was released with s-video connection. I have to content myself with the RCA connections.
    S-video is a better way of transmitting video because it separates the chroma and luma channels. It won't have the same problems with dot crawl.

    However, this is only the case if the source material is S-VHS. VHS stores the video as a composite signal. So, even if you put it in an S-VHS deck, you still have the same problem. S-VHS decks will generally play back regular VHS, but they can't change the fact that it is still a composite video format, and you're just sending it through an S-VHS connector.

    That does not mean an S-VHS deck might not be a good investment. In general, they were better built, had better heads, good tracking and are just higher quality pieces of equipment.

    But no, that won't do you much good for the problems inherent to composite color video.

    What you need is the best possible comb filter. (hardware or software can work). A really really good comb filter can approach the level of improvement that S-video will get you. It will never be quite as good, but it can improve things for sure.
    Quote Quote  
  12. Originally Posted by jagabo View Post
    I started with the last clip since it contains the titles in the earlier images. The video is from an interlaced camera and is best smart bobbed. I came up with this script:

    Code:
    AviSource("forum 04.avi") 
    AssumeTFF()
    ConvertToYV12(interlaced=true)
    BilinearResize(width/2, height) # resize frame to half width
    QTGMC(preset="fast", EZDenoise=1.0, DenoiseMC=true) # smart bob to 59.94 fps, mild noise reduction
    Dehalo_alpha(rx=2.0, ry=2.0)
    MergeChroma(awarpSharp(depth=5), aWarpSharp(depth=20)) # sharpen luma a little, chroma more
    TurnRight().nnedi3(dh=true).Turnleft() # restore frame to full width
    ChromaShift(l=-2) # shift colors up two lines
    Crop(4,20,-24,-8) # remove black/junk borders
    AddBorders(16,14,14,14) # restore borders with pure black, only necessary if you need the original frame size, eg. making a DVD
    Most of the dot craw removal comes from scaling the video to half width and then restoring it to full width. This doesn't hurt the clarity of the underlying video much because the source itself isn't very sharp horizontally.

    Since we need to bob to 59.94 fps we use QTGMC, the best deinterlacer. It has a built in motion compensated noise reduction feature, EZDenoise so I used that to reduce noise. 1.0 is very mild. Higher values give more noise reduction -- but you will lose detail more detail too. Other possibilities for noise reduction include MCTemporalDenoise() and TemporalDegrain(). They are all motion compensated and pretty slow.

    dehalo_alpha() can be very damaging. You may not want to use it. Watch for posterization artifacts in small areas. Like when a person's face is very small in the frame -- they'll start to look like mannequins.
    I tested your script with the last clip (forum 04.avi), improved considerably the image quality. But I'm still having a lot of noise:
    Click image for larger version

Name:	forum 04000501.png
Views:	92
Size:	332.2 KB
ID:	44221

    TemporalDegrain() is very good. I'm having a lot of improvements with it. But as you said, is pretty, pretty, pretty slow.

    Did you see the others samples? What about the forum 01.avi clip? What plugin would you indicate?
    All plugins that I'm using to improvement the forum 04.avi clip quality, is not making almost any improvement with the forum 01.avi clip.
    Quote Quote  
  13. forum 01.avi is some pretty nasty (2nd gen?) VHS. The material is film based so an IVTC back to 23.976 fps is in order. But all that noise and the vertical jitter makes it harder to deal with. Try something like:

    Code:
    AviSource("forum 01.avi") 
    AssumeTFF()
    ColorYUV(gain_y=50) #brighten things up
    ConvertToYV12(interlaced=true)
    
    BilinearResize(width/2, height)
    QTGMC(preset="fast") # 59.94 fps
    TDecimate(cycle=5, cycleR=3) # 23.976 fps
    TemporalDegrain() # possible alternate MCTemporalDenoise(settings="very high")
    MergeChroma(aWarpSharp(depth=20)) #sharpen colors
    ChromaShift(l=-2) # move colors up 2 lines
    TurnRight().nnedi3(dh=true).TurnLeft() # back to full width
    Stab() # reduce vertical jitter
    I have some other code that reduces the vertical jitter (and other resulting artifacts) better but there seems to be a bug in AviSynth that causes the later noise reduction filters to screw up. This was originally right after the Spline36Resize(), instead of the Stab() at the end:

    Code:
    SeparateFields()
    evn=SelectEven().Stab(dxmax=4, dymax=8)
    odd=SelectOdd().Stab(dxmax=4, dymax=8)
    Interleave(evn, odd)
    Weave()
    Quote Quote  



Similar Threads

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