08-28-2005, 12:55 AM
|
|
Site Staff | Video
|
|
Join Date: Dec 2002
Posts: 14,042
Thanked 2,552 Times in 2,170 Posts
|
|
What is Chroma Noise?
Most people have no idea what chroma errors are. It layman's terms, it's "red and blue yuck" on the tv screen. Often like a mist, sometimes as outright flashing obnoxious noise.
It's also commonly created in both digital photos and digital videos, when shooting in low light (or with high ISO). The camera sensor sees pixel noise instead of image. The color noise is a bunch of moving red/blue/green pixels on screen, almost like your video has been invaded by colored ants or termites.
How To Fix Chroma Noise
Option (1) - High-end JVC S-VHS VCRs and Panasonic AG-series S-VHS VCRs that contain a DNR/TBC can reduce or remove this noise. It's not the "TBC" but rather the DNR circuits (powered by the TBC) at work. This is why a normal TBC doesn't "clean" an image.
Option (2) - There is also some advanced filter work you can do in the digital domain ( VirtualDub and uncompressed AVI), but it's not as effective and clean of a process as hardware. The "Chrome Noise Removal" filter in VirtualDub is a popular one. Note that the default settings are strong, and it can give color blurs unless tuned down.
Option (3) - And finally, the LSI DVD recorder chipset can remove chroma noise/errors during the MPEG pre-processing step. LSI is found in LiteOn, JVC, LG, Zenith, ILO-04, Ellion and some others. The JVC version combined JVC DNR tech with LSI tech, super nice job.
Chroma Noise Samples
So, what does chroma noise look likem, you ask?Compare the attached before and after clips. These MPEG files are best watched in VLC -- remember to enable a deinterlacer in VLC's video menu for viewing. Or authored/burned to a test DVD-RW/DVD+RW.
The "after" were post-processed in VirtualDub, combined with some NR filters in TMPGEnc. The only noise left in these files was also present in the source, which is some MPEG mosquito and occasional block noise. It takes about 25:1 ratio of time for this software process (25 hours to fix 1 hour of footage, on single-core CPU). Hardware is realtime, and is more effective too. Update: Modern dual-core and quad-core systems go a bit faster now, too.
How / Where to Download the Files? You'll find the attached file downloads at the bottom of this top post. Files are provided for the convenience of our members. To get download access, simply join the forum as either a Free Member or Premium Member. We don't send spam or sell your email addresses. If you're not sure what to do with .zip or .rar files, see this help post. |
|
The following users thank lordsmurf for this useful post:
Akuma786 (02-28-2023),
JaiFai4K (12-10-2023),
pano (11-24-2010)
|
Someday, 12:01 PM
|
|
Ads / Sponsors
|
|
Join Date: ∞
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
|
|
|
01-03-2014, 05:54 AM
|
|
Free Member
|
|
Join Date: Dec 2013
Location: Boston, MA
Posts: 585
Thanked 73 Times in 66 Posts
|
|
Thank you for the post. I was unable to locate the filter you used or in the available pack posted in another thread. Where did you get it and what are your preferred settings?
|
07-23-2014, 06:50 AM
|
|
Site Staff | Video
|
|
Join Date: Dec 2002
Posts: 14,042
Thanked 2,552 Times in 2,170 Posts
|
|
I need to update this post. There are some other methods available.
- These days, I'd see if the "Camcorder Color Denoise" (CCD 1.7) filter in VirtualDub would fix this first.
- If not, I would try a CCD combo with "cnr" in Avisynth.
- The older method outlined here in somewhat harsh, and has a ghosting side effect that can better be avoided with the newer methods.
I've noted this in my "guides to make/update" file.
|
The following users thank lordsmurf for this useful post:
Akuma786 (02-28-2023),
archivarious (09-09-2020)
|
12-08-2016, 09:13 AM
|
|
Free Member
|
|
Join Date: Dec 2016
Posts: 1
Thanked 0 Times in 0 Posts
|
|
Hello
I am completely new to the process of converting VHS into digital files and restoring the quality.
I have managed to transfer uncompressed vhs footage to my computer using the Video-2-PC kit. I used the deinterlace filter and then used handbrake to convert it to mp4.
After reading this forum, i understand there are more steps I can take to restore the quality of these videos. Is there a virtual dub guide I can follow for vhs restoration? Can I restore/filter the compressed mp4 file or should I be doing all the restoration on the uncompressed file? Please advise
Thanks
|
07-17-2018, 06:21 PM
|
|
Free Member
|
|
Join Date: Feb 2011
Location: France
Posts: 553
Thanked 120 Times in 104 Posts
|
|
For the record and like it might be forgotten in the depths of the web to fix color stripes often seen on old vhs tapes the script below is the best i've seen yet:
Notes:
a) it work great for a cartoon
b) ttempsmooth applied to U&V does 90% of the job
Quote:
avisource().assumetff()
ConvertToYV16(interlaced=true)
orig=last
ev=orig.assumetff().separatefields().selecteven()
od=orig.assumetff().separatefields().selectodd()
ev
ue_chroma = UToY(ev).blur(0,1.5).binomialblur(5).ttempsmooth(m axr=6,lthresh=150, strength=6).KNLMeansCL(d=3,a=8,s=2,h=6)
ve_chroma = VToY(ev).blur(0,1.5).binomialblur(5).ttempsmooth(m axr=6,lthresh=150, strength=6).KNLMeansCL(d=3,a=8,s=2,h=6)
YToUV(ue_chroma, ve_chroma)
MergeLuma(ev)
ev_filtered=last
od
uo_chroma = UToY(od).blur(0,1.5).binomialblur(5).ttempsmooth(m axr=6,lthresh=150, strength=6).KNLMeansCL(d=3,a=8,s=2,h=6)
vo_chroma = VToY(od).blur(0,1.5).binomialblur(5).ttempsmooth(m axr=6,lthresh=150, strength=6).KNLMeansCL(d=3,a=8,s=2,h=6)
YToUV(uo_chroma, vo_chroma)
MergeLuma(od)
od_filtered=last
interleave(ev_filtered,od_filtered)
assumefieldbased().assumetff().weave()
|
For normal footage (non cartoon) i've found the script below work great in many cases
Quote:
avisource().assumetff() # interlaced source
ConvertToYV16(matrix="Rec601",interlaced=true)
# Note: no need to use separatefields + weave according to my tests, don't know why though..
U = UToY().ttempsmooth(maxr=1,lthresh=150, strength=1)
V=VToY().ttempsmooth(maxr=1,lthresh=150, strength=1)
YToUV(U,V,last)
converttoyv12(matrix="Rec601",interlaced=true)
# Optional use CCD at the end (you might not want to use converttoyv12 before, your choice):
ConverttoRGB32(matrix="rec601",interlaced=true)
separatefields()
LoadVirtualDubPlugin("Camcorder_Color_Denoise_sse2 .vdf", "CCD", 0)
CCD(10,1) # 0 to 100 # Default =30, retail vhs: between 7-15 is enough
weave()
converttoyv12(matrix="Rec601",interlaced=true)
|
The original script come from poisonofdeathray in this topic
|
All times are GMT -5. The time now is 12:54 PM
|