bavc / qctools

QCTools (Quality Control Tools for Video Preservation) is a free and open source software tool that helps users analyze and understand their digitized video files through use of audiovisual analytics and filtering. QCTools is funded by the National Endowment for the Humanities and the Knight Foundation, and is developed by the Bay Area Video Coalition.
http://www.bavc.org/qctools
Other
310 stars 41 forks source link

Flat, Luma and Chroma filters for Waveform Monitor #66

Closed clacinak closed 8 years ago

clacinak commented 9 years ago

It would be great to have a "flat" (no chrominance filter), "luma" and "chroma" filter options for the waveform display.

epiil commented 9 years ago

I'm not sure if having a flat "filter" makes sense in the digital environment of QCTools. IIRC, for analog video signals the flat filter would be used in the context of viewing unmodulated RF, eg., the "RF envelope". The lowpass filter would be used for viewing luminance as an expression of IRE values.

On Sun, Feb 15, 2015 at 3:07 PM, clacinak notifications@github.com wrote:

It would be great to have a "flat" (no chrominance filter), "luma" and "chroma" filter options for the waveform display.

— Reply to this email directly or view it on GitHub https://github.com/bavc/qctools/issues/66.

clacinak commented 9 years ago

I would not say that a flat filter is critical, but it can certainly be helpful and is a feature that every other software-based waveform monitor offers. Pics from Premiere attached as an example. You'll find the same thing in FCP, ScopeBox and more.

flat_bars_premiere luma_bars_premiere

epiil commented 9 years ago

I see an advantage to having a flat filter (by definition an "unfiltered" filter, btw) featuring both the luma and chroma characteristics on one graph. In the context of QCTools this would allow a user to view both the source picture in one window, and a graph containing luma and chroma information in the other.

However, IMHO, monitoring chroma in this manner runs counterintuitive to a vectorscope-measured approach (which is why, in my own workflow, I assign the flat filter to measure things like RF). Given the limited graphical output of the available QCTools graphs, it would be difficult to interpret the data of both signal characteristics meaningfully.

Perhaps the better wish list request is to have dual waveform/vectoscopes contained within one power window.

On Sun, Feb 15, 2015 at 3:35 PM, clacinak notifications@github.com wrote:

I would not say that a flat filter is critical, but it can certainly be helpful and is a feature that every other software-based waveform monitor offers. Pics from Premiere attached as an example. You'll find the same thing in FCP, ScopeBox and more.

[image: flat_bars_premiere] https://cloud.githubusercontent.com/assets/2552814/6204880/02c7d7fe-b528-11e4-87df-9f33384c8dc7.jpg [image: luma_bars_premiere] https://cloud.githubusercontent.com/assets/2552814/6204879/02c5cce8-b528-11e4-92a4-95f0ecfdddb2.jpg

— Reply to this email directly or view it on GitHub https://github.com/bavc/qctools/issues/66#issuecomment-74435504.

clacinak commented 9 years ago

"However, IMHO, monitoring chroma in this manner runs counterintuitive to a vectorscope-measured approach"

I can see calling it redundant, but not counter-intuitive. They aren't in opposition to each other in any way. It's all additive and helpful. As you suggest, I think it probably comes down to personal preferences and how you are use to working. I personally would like a flat filter. You mention an additional wish list request, which I would be fine with as a separate request but wouldn't replace my original request.

On Feb 15, 2015, at 3:53 PM, Erik Piil notifications@github.com wrote:

I see an advantage to having a flat filter (by definition an "unfiltered" filter, btw) featuring both the luma and chroma characteristics on one graph. In the context of QCTools this would allow a user to view both the source picture in one window, and a graph containing luma and chroma information in the other.

However, IMHO, monitoring chroma in this manner runs counterintuitive to a vectorscope-measured approach (which is why, in my own workflow, I assign the flat filter to measure things like RF). Given the limited graphical output of the available QCTools graphs, it would be difficult to interpret the data of both signal characteristics meaningfully.

Perhaps the better wish list request is to have dual waveform/vectoscopes contained within one power window.

On Sun, Feb 15, 2015 at 3:35 PM, clacinak notifications@github.com wrote:

I would not say that a flat filter is critical, but it can certainly be helpful and is a feature that every other software-based waveform monitor offers. Pics from Premiere attached as an example. You'll find the same thing in FCP, ScopeBox and more.

[image: flat_bars_premiere] < https://cloud.githubusercontent.com/assets/2552814/6204880/02c7d7fe-b528-11e4-87df-9f33384c8dc7.jpg

[image: luma_bars_premiere] < https://cloud.githubusercontent.com/assets/2552814/6204879/02c5cce8-b528-11e4-92a4-95f0ecfdddb2.jpg

— Reply to this email directly or view it on GitHub https://github.com/bavc/qctools/issues/66#issuecomment-74435504.

— Reply to this email directly or view it on GitHub https://github.com/bavc/qctools/issues/66#issuecomment-74436325.

dericed commented 9 years ago

Putting waveform and vectorscope in the same display is no problem. To make a 'flat' filter waveform, whether redundant or counter-intuitive, I'd need to better understand how to derive the information to plot from what is available. For instance in the waveform on the left edge it plots values at 9, 20, and 75. But then the flat filter plots every intermediate value between 0 and 40 at one level and also data from -20 to 45. I don't understand how we could plot a -20. Whether in 8 bit or 10 bit the lowest value is 0 which correlates to 0 IRE. The frequencies below 0 IRE were not represented in the digitized samples, only 0-100 IRE. Maybe there some math to get from here to there but I don't know it.

dericed commented 9 years ago

55deb051edc43a9c673dc9e43fb1a8a7580c9d9a addresses @epiil's idea for a "better wish list request"

dericed commented 9 years ago

Here are drafts: https://www.youtube.com/watch?v=EBqU31eZAUA or https://www.youtube.com/watch?v=rrrJETsmNHM. The process is inferred by reverse engineering with the geq filter, bmdplay and an analog scope with a flat filter, but many parts of this need optimization and more RE.

epiil commented 9 years ago

This filter makes much more sense now that QCTools has capture capability...

On Tue, May 12, 2015 at 2:04 AM, Dave Rice notifications@github.com wrote:

Here are drafts: https://www.youtube.com/watch?v=EBqU31eZAUA or https://www.youtube.com/watch?v=rrrJETsmNHM. The process is inferred by reverse engineering with the geq filter, bmdplay and an analog scope with a flat filter, but many parts of this need optimization and more RE.

— Reply to this email directly or view it on GitHub https://github.com/bavc/qctools/issues/66#issuecomment-101145267.

richardpl commented 9 years ago

Could someone post more pictures of chroma and flat filter, it is not obvious to me how to implement them. Thanks. I assume luma one is already available.

dericed commented 9 years ago

I gave the filterchains in the youtube links above which demo the flat filter.

dericed commented 9 years ago

I gave the filterchains in the youtube links above which demo the flat filter.

-vf "format=yuv444p,geq=lum=lum(X\,Y)+(­abs(cb(X\,Y)-128)+abs(cr(X\,Y)-128))*(0.­5-random(1))*0.86,histogram=mode=wavefor­m:waveform_mode=column:waveform_mirror=1­,crop=iw:256:0:0,scale=720:480,setdar=4/­3,histeq"

In this I'm converting y, u, and v to a new y plane in geq by adding the Y + ( abs(U-128) + abs(V-128) * ( 0.5 - random (1) * 0.86 ) and then plotting the result on a waveform.

The 0.5 - random(1) is because flat waveforms plot a range of values rather than points, so the random distributes samples in a range according to the combined offsets of u and v from the 128. That range is then centered off the Y values. The 0.86 is a rough way to convert 8 bit to IRE values to better line up with what's happening on an analog scope. Cc'ing @epiil who knows flat waveforms better than I.

richardpl commented 9 years ago

Hmm, than what about chroma filter?

dericed commented 9 years ago

Not sure what the OP meant. The histogram=mode=waveform already plots chroma. @clacinak, have an example?

richardpl commented 9 years ago

@rebschandler could you post picture of scopebox's chroma filter?

rebschandler commented 9 years ago

screen shot 2015-09-03 at 10 42 20 am

dericed commented 9 years ago

looks similar to flat (vertical fill according to saturation), but without the offset by the luma value

richardpl commented 9 years ago

@rebschandler thanks, but I'm looking for one with 0-255 scale.

dericed commented 9 years ago

@richardpl, I think it's using an analog IRE scale of 0-110, which ~ equals the digital 8 bit 0-255 scale. On the other hand, since the values reflect saturation levels I think the max value in a 0-255 scale would be sqrt(128_128+128_128). So a u=0 and v=0 values would fill a range on the 0-255 scale from 0-181.0193359837562.

richardpl commented 9 years ago

Unfortunately that doesnt seem to work so im looking for exact numbers.

dericed commented 8 years ago

@clacinak, please test in https://github.com/bavc/qctools/releases/tag/v0.7.2