Neal Krawetz wrote an interesting article on image fingerprinting, or how to search for images that are similar. He proposes an algorithm to do image fingerprinting and reproduce the functionality of TinEye, a service that allows to give one image and get back all the web pages where that picture, or a slightly modified version of it, is included. By resizing the image to 8×8 pixels, creating a B/W version, and then a binary (only black or white pixels, no grey levels), he reduces a picture to a hash that is 8 x 8 = 64 bits. This can then be compared to a database of hashes of millions of other pictures found on the web (by calculating the “Hamming distance” – read the article for details).
On the other hand, something similar can be done on segments of audio. Youtube has been doing it for years (using technology from Audible Magic) and recently the Echo Next has released Echo Print, a music fingerprint and identification service that does the same thing for free.
Since I work (and play) a lot with video, I was thinking about how to extend the ideas Neal proposes to video. Video material consists of audio (which I will ignore for now) and a sequence of images (typically between 24 and 30 per second). I’ve taken a video clip from Youtube as inspiration, but I won’t tell you yet which one, let’s discover it while I create the fingerprint of 1 of the frames, using the method described by Neal:
first we reduce the frame to a small format, e.g. 16×8 pixels
then we desaturate: make the picture grayscale
then we normalize it: we maximize the contrast, the darkest pixel become the new black, the lightest becomes the new white
we calculate the average darkness and any pixel that is darker we make black, and the others become white -this is what is proposed in the article. Total size of fingerprint: 16 pix * 8 pix * 1 bit = 96 bits = 16 bytes
I found the details in the above fingerprint too coarse, so I used 4 color levels instead of 2. Total size of fingerprint = 16 pix * 8 pix * 2 bits = 32 bytes
I remember that before I started photography on a serious level, I had some understanding of shutter speed, but none of aperture and focal length. Even when I read what they meant, I still couldn’t ‘picture’ it, had no feeling for the numbers. Let’s leave ‘aperture’ for another time and just concentrate for now on the concept of “focal length”
First of all, the focal length of a lens is not the same as the actual physical length of the lens. Yes, 200mm and 300mm lenses (telephoto lenses) tend to be longer, but they’re not exactly 200mm and 300mm long. For instance, the Sigma 55-200mm F4-5.6 DC HSM is 85mm (3.3″) long, while the 70-200mm F2.8 II EX DG lens is 184mm (7.2″). Same maximal focal length, but more than twice as long.
So what is focal length? I could explain that it is “the distance from the center of the lens to the principal foci (or focal points) of the lens“, but that wouldn’t make it more comprehensible, would it? Well, I read through the theory, with tangens of the viewing angle and stuff, and I think I understand it (I’m an engineer, I actually like trigoniometry). A 200mm lens gives a viewing angle of 12° on the diagonal. Still not clear? That’s when I thought: let’s invent something more tangible: the “portrait distance“. Say you need a surface of about 72cm x 48cm (28″ x 18″) to make a portrait of a person (not just a headshot, but with some torso on it too). See some examples below:
Well, the distance between the camera and the person you’re making the portrait of, will be +- 20 times the focal length.
Let’s Get Lost (1988) is a American documentary film about the turbulent life and career of jazz trumpeter Chet Baker written and directed by Bruce Weber.
I saw Let’s Get Lost in Leuven, I guess around 1990. Chet Baker has been a weak spot for me ever since, because I now knew how much suffering was hiding behind that vulnerable voice. I tried to find a DVD of it but apart from a VHS tape (I don’t have a player) I couldn’t find anything. Then the other day I found the whole movie, split in 13 parts, on Youtube:
One of the best places to look for high-quality movie trailers is Apple Trailers. They have lots of bandwidth and a large selection (altough they don’t have e.g. the new Indiana Jones 4 trailers, which are exclusively on Yahoo HD trailers).
Apple typically offers its HD trailers in 3 formats: 480p, 720p and 1080p. The “p” stands for “progressive” i.e. not interlaced, every frame is a full picture instead of only the odd or even lines. The 480 in “480p” stands for the number of lines in the image. 480p is roughly equivalent with DVD quality, 720p is “HD Ready” and 1080p is “Full HD”.