Johnny, if you're out there...
I read this post of yours and the one after that that said -7.8% should be used for correcting DV where the black level is too high (32 instead of 16).
Question: Does this kind of proc-amp work on a DV stream re-encode every frame? And if so, how much generational loss is there?
+ Reply to Thread
Results 1 to 10 of 10
Originally Posted by nlec
The 7.8% is the nearest you can get to 7.5% when dealing with a 220-level quantized signal.
The way the proc amp in our software works guarantees no generational loss when applying offsets to the DV signal. This is true for the luma and two chroma components.
The native DV data stream contains the video data as compressed macroblocks. A key part to the compression is to convert the video data into the frequency domain by application of the discrete cosine transform (DCT). Each 8x8 block of pixels ends up as an 8x8 block of frequency coefficients. Coefficient (0, 0) has special meaning - it is the "DC component" or, put another way, is the average value of the original 8 x 8 pixels. Moreover, in the DV data stream, the DC coefficients are stored in such away that you can get at them without having to do any decompression at all.
Mathematically, if you want to add or subtract a constant amount from the luma, then in the spatial domain, you have to apply that to every pixel. In the frequency domain, you can achieve exactly the same thing just be adding to/subtracting from the DC coefficient. Furthermore, you don't have to decompress anything. Hence, there can be no generational loss because the compressed data in the DV stream never get touched.
This is also why our software is able to achieve real-time processing so easily. To perform a luma offset, it just requires changing 720 x 480 / 64 numbers (for NTSC). Traditional editing software has to decode the Huffman encoded data, rearrange the decoded data into 8 x 8 pixel blocks, dequantize the 8 x 8 blocks, invert the DCTs, rearrange all the spatial data into a recognizable image, add the luma offset to every pixel and, finally, reverse the whole process.
Originally Posted by JohnnyMalaria
Applying an offset simply increases or decreases all the DC coefficients by the same amount. If the new values exceed either the maximum or minimum amounts (as defined by the DV spec), they will be clamped.
If you want to change the black level and scale everything so that the peaks at 100 IRE remain there, you can apply a luma gain, too. The software has a built-in real-time waveform monitor, so you can tweak the offset and gain as needed.
As it states in the manual, you need to be cautious about applying too much change to the video - i.e., don't add so much offset or apply a large gain that you end up pushing the signal beyond the legal ranges. In the DCT domain, the artifacts of doing so can look rather odd.
Thanks, I'll experiment a little. Sounds good, though.
I wish I had a pre-recorded Video8 tape with colorbars on it.
I suggest fiddling around with the settings while running the software in Video Renderer mode. Then, once you've got the level right, change the output to a DV AVI file.
(The sofware's original design intent was to process incoming live DV and send it back out to another DV device in real-time.)
Which would have been absolutely perfect for me if my stupid DVDR behaved properly on the Firewire bus (an old story).
OK, I'm giving it a whirl. I've read through the proc-amp part of the help file and have a couple of questions...
Is there any way to make the waveform display larger? It's very hard to read the markings on the vertical scale. Is the lower dashed line at 7.5 IRE? What does the upper dashed line represent? It looks like it's at 70 IRE.
Here's the original image as shown in the Premiere Pro 2.0 source monitor (this is a direct DV capture from the camera over Firewire done with DV Processor):
The PPro YC Waveform display is what originally clued me in to the black level problem. It definitely looks like setup has been added by the Sony TRV350 D8 camcorder. This makes me worried that maybe the brighter values up around IRE 110 have been crunched at the high end by the camera when it adds setup...
The DV Processor proc-amp waveform display shows something similar before making any adjustments, although the blacks seem to be even higer than IRE 7.5. I also see that the brighter values are shown to be at 100 instead of 110 as shown by PPro.
When I set the Luma offset in the DV Processor proc-amp to -7.8% the upper values get shifted down, but now the blacks seem to be right at IRE 7.5 according to the scale on the left...
Shouldn't they be moving closer to IRE 0?
I ran DV Processor on a segment of DV video (same file as the one the composite still in my last post came from) and set the proc-amp to -7.8% Luma offset. When it was done I loaded the output and looked at it in PPro's YC Waveform monitor. All fixed! I compared the before and after versions and DV Processor did a wonderful job.
My theory is that the odd waveform displays in my last post can be attributed to the drawing code in the DV Processor waveform monitor. There are a couple of other issues with the proc-amp interface but they seem to be with the GUI code and not the video processing itself.
Tomorrow I'll re-capture the entire tape with the -7.8% Luma offset and see how that goes, but for now I'm happy.
When you adjust both offset and gain in the proc-amp, is the gain applied before or after the offset is applied?