My wife’s design firm Ideas on Purpose is up for the Fast Company ‘Fast 50′. Please go vote for them. The better they do the more time I have to work on filters.
Joe Maller.com
I wrote a fairly lengthy response to a question about desaturating video clips on Apple’s FCP message board, but it seemed like something worth posting here too.
YUV should correctly be called YCrCb, with Cr and Cb begin the red and blue channels, the 1:1 in 4:1:1. Y is the green channel plus luminance, the 4 in 4:1:1. Being able to select the green channel produces better results in DV because that’s the channel that carries the luma information.
Yes, broadcast technicians seem to consider ‘YUV’ to be slang. That said, there are plenty more hits on Google for YUV than for YCrCb, and FCP and QuickTime use the term ‘YUV’ internally.
YUV refers to a method of storing RGB data in a smaller bandwidth. The information in YUV is converted back to RGB in order to display as a full color image. Part of the reason for separating Luminance from Color was to create a transmission method for color television which was backwards compatible with b/w tv and used less signal bandwidth than sending three b/w (rgb) channels of information. The solution is an incredibly elegant hack and a testament to the genius of the people who invented television.
The reason the Green channel looks clearest is because 60% of luminance is made of green light. The two color channels are not red and blue, they are ranges between Red-Green (Cr, U) and Yellow-Blue (Cb, V). This is sometimes confused because those ranges are determined by subtracting from Red and Blue. Something to note is that green exists in all three YUV channels: it’s 60% of Luma, explicit in Cr and Yellow is an additive combination of Green and Red. Blue appears as 10% of Luma and only half of the Cb color information. I suspect this is a primary reason for using greenscreens instead of bluescreens for video keying.
I wrote about YUV here, with links to several good sources: FXScript Reference: RGB and YUV Color.
I’m not remembering whether PAL is 4:2:0, but the 4:1:1 sampling in NTSC DV is quite easy to see. Sampling color information every four pixels is the reason DV Chroma is so blocky and drifts off to the right side of hard edges. I’m pretty sure the 4:x:x syntax has nothing to do with RGB and instead refers to the recorded sampling of information in YUV space. One of the great things about DV is that the Luma information is the same resolution as any other professional video format. The only degradation is in the recording of color information, which is usually very hard to distinguish unless you’re specifically looking for it.
When using the channel-blending trick the results mimic black and white film shot with a colored glass filter. The color channel(s) used are the chromatic opposite of the glass filter which would produce the same effect. For example the Green channel looks like b/w film shot with a pink/magenta filter, the Blue channel looks like b/w film shot through a yellow filter. It’s possible to combine channels to get more specific intermediary colors, something a lot of people do with the Channel Mixer in Photoshop. Combining 50% Red with 50% Green yields similar results to a blue glass filter. That idea is the basis for my Saturation & Colorize filter, I wanted to give the same level of control over b/w results as a person would have when shopping for glass filters at B&H. One cool side effect of math instead of reality is that the same methods can be used to saturate as well as de-saturate, with some useful results.
Today the Qs, the stock tracking the NASDAQ 100 Index, closed at 26.74. The value of fifty shares was $1337.
States that aren’t using Joe’s Filters (yet): Alaska, Arkansas, Hawaii, Idaho, Kansas, Maine, Mississippi, Montana, Nevada, Rhode Island, South Dakota and West Virginia.
Spent the evening lurking in the NYCFCPUG (New York City Final Cut Pro User Group) meeting at the Soho Apple Store. Of the product demos, the one that most caught my imagination was the particle system in discreet’s combustion (um, the all lowercase thing is kind of goofy and dated). It’s not that I want to use particles for anything specific, it just looked like fun to play with. Years ago I received a copy of KPT Final Effects and spending hours rendering little useless particle animations simply because they were beautiful to watch. Those same animations now preview in realtime and interact with the user input.
This brings me to something I’ve been thinking about dabbling into sooner or later: OpenGL. OpenGL is the graphics rendering engine used many 3D games and applications, and seems to have a terrific particle foundation to play with. The NeHe OpenGL tutorials look like a great place to start. Sites like that are something I aspire to create; curiosity acted upon and given back to inspire others.
Wow. Less than four hours after posting the link to the new Joe’s Filters site, the Googlebot showed up and seems to be indexing the whole site. Which reminds me that I don’t have a robots.txt file yet. Or a favicon.ico icon.
The new Joe’s Filters website is now open for public testing, including a new beta version of Joe’s Filters. This is a large part of what I’ve been working on for the past few months, but there’s a lot more left to wrap up.
The existing Joe’s Filters site isn’t redirecting yet and I haven’t announced it on those pages on purpose. The site uses a lot of technologies I only recently learned so I’m letting traffic drift until I’m sure everything works.
Next Page »
JavaScript

- Joe’s Filters for Final Cut Pro
My collection of utility and effects plugins for Final Cut Pro and Final Cut Express - The FXScript Reference
The community based reference for FXScript, the effects language at the heart of Final Cut Pro
Projects
- Basic Javascript Rollovers
My original JavaScript rollover tutorial, from 1996 - Email Address Protection
iPhoto
- Joe’s iPhoto AppleScripts for Date Manipulation
A set of utility scripts for adjusting dates in your iPhoto Library
Categories
Archives:
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- April 2005
- March 2005
- February 2005
- January 2005
- December 2004
- November 2004
- September 2004
- August 2004
- June 2004
- May 2004
- April 2004
- March 2004
- February 2004
- January 2004
- December 2003
- November 2003
- October 2003
- September 2003
- August 2003
- July 2003
- June 2003
- May 2003
- April 2003
- March 2003
- February 2003
- January 2003
- December 2002
- November 2002
- October 2002
- September 2002
- August 2002
- July 2002
- June 2002
- May 2002
- April 2002
- March 2002
- February 2002
- January 2002
- December 2001
- November 2001
- October 2001
- September 2001
- August 2001
- July 2001