Archive for January, 2012
individual frame from GIF animation by Kiptok
slimmed-down version of a GIF posted to dump.fm by Pecco
larger, .5 MB version
Continuing the conversation with Beau Sievers about "bit depth" and "sampling rate" in animated GIFs. I had asked: "What would sampling rate be in GIF terms?" and proposed "number of frames." (We're comparing imaging technology to music technology so the metaphors are going to be fuzzy at some point.*) Sievers reminds us that sampling is already part of GIF-making in these three tweets:
GIFs, bit depth and sampling rate —- spatial resolution is also sampling rate. Which is why smoothing is bad and zooming is powerful. @tommoody
Smoothing is a kind of destructive upsampling technique; it, uh, disrupts the integrity of the picture plane. @tommoody @clementgreenberg
Zooming pulls an image out of the sampling rate-/resolution-space of the desktop or browser window, smoothing re-absorbs it. @tommoody
Zooming here is used more broadly here than just "the movement of a zoom lens" and includes simple one-step GIF-enlargement, say, from tiny pixel size to huge, as Nullsleep was demonstrating. Some people have been using that for artistic effect - a "change in scale" a la Claes Oldenburg making a giant toilet or pencil eraser. You could redraw the image but most people use a sampling algorithm. The two main kinds are "bicubic" and "nearest neighbor" and it's with bicubic, the Photoshop default, that you get the "destructive upsampling" Sievers mentions, particularly noticeable when enlarging a GIF with hard edges (due to low bit depth). The algorithm literally adds information, light-to-dark gradients to smooth seams, which are not in the sampled GIF. (Destruction by addition of "polluting" data.)
This topic started with a GIF that was likely not resized (and therefore not sampled) but rather generated from scratch, using various parameters. It imitated shallow bit depth without having a reason, such as a pre-existing full color GIF that had been converted to black and white in order to save bandwidth. If that unique GIF (which we were arguing was mainly an exercise in style) were enlarged you would use "nearest neighbor" if you wanted to keep it looking all "1-bit."
I was using "number of frames" to refer to sampling not of space but of movement: a sample of a musical waveform takes a series of snapshots of the wave and in image motion capture you literally take stills of the action. You can reduce the sample rate by removing sample points and you can reduce a GIF by taking out frames: in both cases you end up with a smaller and more "instantaneous" file.
*Per Wikipedia, in computer graphics, bit depth is the "number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer." In digital audio, bit depth describes the "number of bits of information recorded for each sample" (basically everything except pitch, which is determined by the sampling rate). GIF-wise, by "frame rate" in the prior post on this topic I meant the playback rate, which has no effect on the size of the file. If the GIF was taken from a video of movement, the initial capture rate would of course impact the number of frames. GIFs themselves, however, do not record, they only compile or transcode other visual data.
Update: On the subject of GIF playback rate, please see Nullsleep's Animated GIF Minimum Frame Delay Browser Compatibility Study
So we were having a discussion of the Chicago school of artists, dating back to the '60s, who incorporate underground comix-style drawing into their art. I tried to make a "Chicago" style drawing from memory, not looking at any one particular work by, say, HC Westermann or The Hairy Who. Above is the second revision, which yells '80s, not '60s. The more I try to make it like Karl Wirsum or Jim Nutt, the more it looks like Gary Panter.
Bullet points from my Ustream talk in connection with Art Micro-Patronage's "10,000 Pixels" exhibit.
1. Pixel art is a web genre separate from gaming. You can find discussion boards dedicated solely to the publication and critique of pixel art.
2. Artists working in the gallery/art school tradition are attracted to pixel art because of the low level control it gives you over art-making. Some don't feel they are completely in control until they get down into the code telling this part of the screen to flash green and this part blue.
3. Every image on a modern browser is now "smoothed" as if it were a photo enhanced to hide grain. Pixel art flouts this trend and celebrates the artificial.
An area not specifically covered is the political or ecological argument. Products such as Siri suck enormous bandwidth and motivate needless "buildout" (more batteries, more cell towers...). The choice to work small is the web's equivalent of locavore dining.
bit-depth can't be understood without sampling rate. Just saying a work is "1-bit" is saying close to nothing.
Hadn't thought of it that way but that's interesting. What would sampling rate be in GIF terms? Not the frame rate, because slowing it down or speeding it up doesn't change the size of the GIF. Rather, it's the number of frames. You can reduce the GIF size by (i) decreasing the bit depth from millions of colors to sixteen colors, or to black and white, and (ii) removing frames so that the basic motion is still there without a lot of unnecessary transitions. The GIF we were talking about has the look of a severely-reduced palette but has 360 frames. There is no "original" GIF with full colors that was reduced down to a still rather huge 2.7 megabyte GIF. So (let's pile on here), it's just about simulating Kool 8-B1t Stylezz with no other valid artistic purpose.
1. Brian Droutcour explained what poetry was going to be in a "new media" context. The web has many outlets for literati -- the equivalent of small press publishing -- as well as online versions of established academic journals that continue a tradition of writing and evaluating poetry. So what was an "art and technology" website going to bring to the table in terms of redefining or recontextualizing the poetic narrative impulse? In a cogent essay, Droitcour traced the origins of "new media poetry" back to the early 20th Century avant gardes, in particular experiments in cross-mediation by Cocteau, Gertrude Stein, and others, and then forward through the '50s and '60s with the visually-oriented concrete poets and verbally-oriented conceptual art movement, to more recent blurrings of media in '90s net art. Building on these foundations, Droitcour championed a group of verbovocovisual poets working in electronic media today, such as Erik Stinson.
2. Droitcour's efforts were met with skepticism, and almost no one covered his "wordworks" project for several years. The persistence of his vision eventually convinced critic Kyle Chayka, who covered Droitcour in the magazine Artinfo with a begrudgingly sympathetic analysis. "I wasn't going to just rubber stamp this," said Chayka. "It took many, many posts before I was convinced that Droitcour was onto something."
Nullsleep posts some CSS code that you could add to a web page to make browsers read your GIFs and pixel art correctly when resized. The illustration above, showing an image resized using the bicubic (smooth) and nearest neighbor (sharp) methods, is his; it gets across clearly how ugly "smoothing" can be for an exquisite design. The problem is, 99% of developers can't see this, and will continue to insist that mandatory, "on by default" edge smoothing is what we all want and need when we surf the web. ("Smoothing" doesn't just occur when you zoom, it happens anytime someone codes an image's dimensions to appear larger than the image.)
Dragan Espenschied had told me a while back about a Firefox Add-on for crisp resizing. That's designed to customize the individual's browsing experience ("please render pages correctly kthx"), whereas the code in Nullsleep's post applies this "image-rendering" function on the publisher side, so that various browsers will read your page the way you specify.
It would be best, of course, if the problem could be solved at the source. In other words, make smoothing optional in browsers and educate people about the fundamental differences in how images are displayed on the web (see comments here). As an independent publisher, one shouldn't have to code for every contingency of how each browser is going to read your page. You can custom craft a theme and then two years later you will be prompted to update your theme, which means losing all those carefully worked out modifications. My own solution has been to size GIFs and pixel art exactly as they are meant to be seen, which even meant remaking/reposting some older GIFs.
"Monk 2022" [4.9 MB .mp3]
More synthetic jazz combo stuff, with dramatic piano chords trying diligently to stay in the approximate tonal range of a quavery '60s style modular moog (not actually a Moog but whatever), while an imagined drummer with an unfiltered cigarette hanging out of his mouth keeps the thing regimented.