Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 31 to 58 of 58
Thread
-
This is what I get from your screenshot. The histogram looks more "normal".
[Attachment 59775 - Click to enlarge]
Is your video signal Composite or S-video? Can you upload a short clip of your video?
Edit:
On the other hand I think it is possible to find a gain (contrast tweak) which will materialize as an integer rounding such that every other level step is affected which results in the "unusual" peaks pattern.
Edit2, for what it's worth:
When we grayscale the image (forcing R=B=G or Cb=Cr=128) and inspect the RGB Histogram we see the gaps in the waveform and in the Histogram (RGB format at the bottom)
[Attachment 59778 - Click to enlarge]Last edited by Sharc; 9th Jul 2021 at 02:34.
-
Here 2 samples, from the same recording captured with JVC HR-S9500MS -> S-Video -> Hauppauge USB-Live2 at default proc-amp setting and HuffYUV.
It's a raw unprocessed capture.
The second has a standard field distribution (i.e. not interlaced, coming from the same moment in time), the first is a little weird in its temporal data.
sample1
spike1.avi
sample 2
spike2.avi -
Adding a tiny bit of grain 'smooths' the histogram
Code:addgrainC(1)
[Attachment 59779 - Click to enlarge]
or you may increase the contrast by 1.007 to redistribute the levels
Code:Tweak(cont=1.007, coring=false, dither=true)
Last edited by Sharc; 9th Jul 2021 at 03:30.
-
Adding a tiny bit of grain 'smooths' the histogram
We were just trying to understand the source of it -
Edit2, for what it's worth:
When we grayscale the image (forcing R=B=G or Cb=Cr=128) and inspect the RGB Histogram we see the gaps in the waveform and in the Histogram (RGB format at the bottom) -
-
Take the numbers 16 ...... 235 and multiply with say 1.2 or 0.8, then round to integer and see how certain values get dropped and others accumulate.
-
-
Probably you're right. What worried me is when skiller said that in presence of a spiky histogram some data is lost, and that's why I wanted to fully understand my histograms. It could be a false alarm, I hope...
-
Again, I think it's the colour noise
I have seen it in several captures, with a large set of different VCRs and workflows from friends and from checking the videos posted in the forums. Only common element is the capture card or the chipset in the capture card (I do not remember if VC-500 had same behaviour) -
-
because of the fact that processing removes it
-
-
There is no need to go that far, a simple
Code:ConvertToRGB(interlaced=false, matrix="PC.601").ConvertToYV16(interlaced=false)
and if you look to Sharc experiments and my experiments, other simple commands remove it completely! -
It happens when you decrease the contrast or gain. For example say you decrease the gain by a factor of 2/3.
Code:before after (truncated) 100 66 101 67 102 68 103 68 104 69 105 70 106 70 107 71 108 72 109 72
Here's an AviSynth script that shows the gaps and peaks from integer rounding:
Code:function GreyRamp() { BlankClip(color=$000000, width=1, height=256, pixel_type="RGB32") StackHorizontal(last, last.RGBAdjust(rb=1, gb=1, bb=1)) StackHorizontal(last, last.RGBAdjust(rb=2, gb=2, bb=2)) StackHorizontal(last, last.RGBAdjust(rb=4, gb=4, bb=4)) StackHorizontal(last, last.RGBAdjust(rb=8, gb=8, bb=8)) StackHorizontal(last, last.RGBAdjust(rb=16, gb=16, bb=16)) StackHorizontal(last, last.RGBAdjust(rb=32, gb=32, bb=32)) StackHorizontal(last, last.RGBAdjust(rb=64, gb=64, bb=64)) StackHorizontal(last, last.RGBAdjust(rb=128, gb=128, bb=128)) } function cont(clip c, int gain) { ColorYUV(c, cont_y=gain) } GreyRamp() Trim(0,100) Crop(64,0,-64,-0).PointResize(512,512) ConvertToYV24(matrix="PC.601") Animate(0, 100, "cont", last,-100, last,100) AddBorders(4,0,4,0) # so the histogram stays the same scale Histogram(mode="levels") ConvertToRGB(matrix="PC.601")
Last edited by jagabo; 9th Jul 2021 at 07:28.
-
Well done!
It's then probably the gain, meaning the AGC (automatic gain control) embedded in the capture card, the reason for the strange histogram, more than the levels (brightness/contrast) adjustements (that I did not touch in capture). Thanks!
Edit: but now, skiller's theory (gaps=no lost data, spikes=data loss, if I did understand correctly) is in danger!Last edited by lollo; 9th Jul 2021 at 07:42.
-
It depends how one defines the "loss". If we have a lower number of different level steps (=coarser quantization, less bits) the quantization error (difference of precise value vs quantized integer truncated value) becomes larger and the (local) SNR drops accordingly. This inaccuracy and reduced number of levels can be seen as a loss (less details). Therefore it is not recommended to squeeze the histogram unnecessarily.
In jagabo's "before" we have 10 different steps (100....109). In the "after" there are only 7 distinct levels (66....72). What we visually "loose" in this case is contrast.
On the other hand the empty codewords (gaps) introduce banding, which is however not a "loss" but rather an unexploited potential.Last edited by Sharc; 9th Jul 2021 at 09:27.
-
Not sure I fully understand what you mean: we still have 8 bits, the quantization error happens in both directions, as in jagabo's example. In one direction we produce spikes, on the other direction we create gaps. From the sampling point of view, the consequent SNR degradation should be the same.
-
The gaps from increasing contrast/gain can be removed if you know exactly how they were produced. (Obviously, if you increase the contrast too much you will crush darks and brights, so you will lose information that way.) The peaks from reducing contrast/gain cannot be fixed because there's no way of knowing the original value -- in my example in post #48 there's no way of knowing if the 68 was originally 102 or 103, or if the 70 was original 105 or 106.
-
Hmmm yes, you are probably right. The SNR is not affected as long as we stay in 8 bit and don't alter the analog signal gain.
-
The peaks from reducing contrast/gain cannot be fixed because there's no way of knowing the original value -- in my example in post #48 there's no way of knowing if the 68 was originally 102 or 103, or if the 70 was original 105 or 106.
The gaps from increasing contrast/gain can be removed if you know exactly how they were produced.
If the main player is the AGC I cannot go further, but if the main player is the brightness/contrast reduction that we all use to avoid crushing black/white levels, than this means that every time we introduce a spike and we won't be able to reproduce the exact data later. Interesting.
On the other hand, when we expand the levels (something that is just an experiment, I do not think that somebody is doing this at capture stage) theoretically we could recover the gap! -
-
Great explanations guys, @Sharc and @jagabo.
In the end, if the captures look visually pleasing, I wouldn't worry too much about any weirdness that the AGC might introduce. There's most likely no way of changing it on the hardware level.Last edited by Skiller; 9th Jul 2021 at 18:46. Reason: typo
-
Do these spikes really matter? Like it's the analogue footage you are working with, they really don't make a much of a difference
-
Do these spikes really matter? Like it's the analogue footage you are working with, they really don't make a much of a difference
Similar Threads
-
Capture Codec Setting, Crushed Black Levels, Histogram use
By Smells_Like_Feet in forum CapturingReplies: 8Last Post: 10th Aug 2020, 10:31 -
Adjusting IRE Black Levels with Sony DV Camcorder Pass-Through Capture
By VideoDoc in forum CapturingReplies: 8Last Post: 15th Apr 2020, 04:34 -
Adding a new External Capture Card to my Hauppauge Colossus Internal Card
By MounaLafi in forum CapturingReplies: 30Last Post: 21st Feb 2019, 14:40 -
Adjusting H.264 Levels from .mp4
By chris319 in forum Newbie / General discussionsReplies: 49Last Post: 26th Sep 2017, 14:33 -
Can't capture signal from JVC HR-S9911U VHS deck into Hauppage capture card
By vhscapture in forum CapturingReplies: 3Last Post: 18th Jul 2016, 12:07