Thanks, Google! You know, the world really needed yet another incompatible copy-protection scheme for video. I’m disappointed — I had hoped Google Video would spell the beginning of the end of ineffectual, invasive, fair-use-subverting DRM. You could have done it, too. Here’s one approach, free of charge to anyone who wants to run with it. I will even offer to testify in court to establish prior art if you run into a patent dispute; I have documentation of this idea dated January 20, 2005.
I was in the midst of starting up a new company based on this idea when Google Video came along; I figured based on their past track record that they’d get it right, or close enough to right that I’d be shut out of the market. Now I see I maybe should have stuck with it.
Piracy is going to happen no matter what DRM you use. Face that. The problem is not how to stop someone from being able to copy your video, because it will always be you against the world, and the world has a lot more bright and motivated people than you do. The problem is figuring out what you can do about a copied video afterwards.
What you need to be able to do is make it easier to catch the people who are sharing your content. And you can do that using the same scheme Hollywood already uses to track who’s pirating Oscar screeners (i.e., a technique Hollywood has already bought into): watermarking. But with digital imagery, you can be a lot more subtle about it.
By using watermarks that are minimal but visually significant (mostly involving slight shifts in individual colors in an image, too subtle to be noticed by a human but not by a machine) your watermarks will survive reencoding without ruining the image for anyone. So step 1 is to choose a suite of watermarking approaches. Color shifts, brightness tweaks (both in the form of gradients centered on various parts of an image), slight sharpness filtering of out-of-focus background areas… go nuts here, as long as it’s subtle. Let’s say you find 16 of them to keep it nice and power-of-two even. I think the actual number would be higher, especially if you combine techniques, but you don’t want it to be too high.
Next, divide your video up into shots. Each shot starts with a large change in the image data, such as a cut in a film.
Encode each shot with each of your watermarking techniques.
Now, when the time comes to serve someone a copy of the video, you append a bunch of random (or deterministic but unpredictable to the end user) shot versions together. If two watermarking techniques are visually opposite of one another, e.g. darkening the upper left corner and brightening the upper left corner, avoid putting them in sequence. Record the sequence you sent to the user; not the video itself, just a list of watermark IDs. It will usually suffice to just record the random-number seed you used to generate the list.
The cool thing about this technique is that, for popular video, you can have the cost savings of peer-to-peer distribution plus the protection of watermarking. Each individual scene version is shared via a P2P network controlled by your master server, which knows who gets which version and directs people to share scenes among others who share those versions. From the user’s point of view, it’s a P2P transfer, where they’re getting different pieces from different sources; only the most prickly and smart users will care that they’re only getting certain pieces from each source. The important point here is that no one person will ever have the same sequence of scenes you do. Nobody will be even close. A typical movie or TV show will have hundreds of scenes, each with 16+ versions — that’s more possible permutations than there are grains of sand in the universe. (It’s also why you don’t want too many watermarking techniques; you want there to be a bunch of users with each version of a scene to save your bandwidth costs.)
Now, when you inevitably discover a pirated copy of your show on a free P2P network, you grab a copy and analyze it. By comparing it to the original, you can determine which scenes are watermarked using which technique. Even if the user manages to combine 100 different paid copies of the show (unlikely), chances are there will still be enough unique matches to pinpoint the source: only user 153607 got version 13 of scene 384 and version 19 of scene 1309, etc. At that point you have very strong evidence of copyright violation, much stronger than “we got this IP address from an ISP months after the fact, and oops, he has a wireless network, so who knows who really shared this song?”
Visually significant watermarks, by the way, will tend to survive any process designed to remove them: good ones are resolution-independent, are relative so they survive any filtering that doesn’t render the whole video unwatchable (e.g. if the user darkens the image to defeat a brightening watermark, you can still tell that the upper left corner is brighter than the lower right relative to the original.)
Video piracy is attractive right now because there’s essentially zero chance of getting caught. By using a technique like this, you will make people quite certain they will be caught, which will do far more to reduce piracy than any forcible attempt to make the piracy impossible.
I had really hoped Google would yank this idea out from under me (my goal with the startup was to see it happen, not so much to become a zillionaire) so let’s hope someone there is reading this and thinks it’s a good idea!