Following is an excerpt from GDAlgorithms-list (http://lists.sourceforge.net/lists/listinfo/gdalgorithms-list) ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: [Algorithms] Animation Interpolation Date: Mon, 7 Apr 2003 18:44:13 +0100 The project I'm working on at the moment calls for high quality characters. I'm not worried about rendering them. The problem will be convincing behaviour, e.g. modifying animations according to emotional state. Rose et al.'s verb / adverb work [1] is really nice. It gives a sensible way to blend between different example animations. So we can author an example sad walk and an example happy walk, then interpolate between them to get a walk style anywhere between the two. It generalises sensibly to any number of style dimensions (at least in theory; I've not seen any examples of multi-dimensional usage, although I believe they've used up to 6 dimensions). It even generalises to interpolating the shapes of the objects you're animating [2], and performing IK [3]. And all on a reasonable CPU budget. The only obvious drawback is the patent [4]. Any thoughts on alternatives? Or even better, prior art? :) I haven't finished looking at other options yet (e.g. [5]), but Rose's work looks the most approachable so far. Jamie [1] - Rose, Bodenheimer, Cohen. Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions http://www.vuse.vanderbilt.edu/~bobbyb/pubs/VandAdv98.pdf [2] - Sloan, Rose, Cohen. Shape and Animation by Example. http://research.microsoft.com/graphics/hfap/shapetr.pdf [3] - Rose, Sloan, Cohen. Artist-Directed Inverse-Kinematics Using Radial Basis Function Interpolation. http://www.research.microsoft.com/research/graphics/hfap/ikeuro.pdf [4] - Rose, Cohen, Bodenheimer. United States Patent 6,462,742. http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1 &u=/netahtml/srchnum.htm&r=1&f=G&l=50&s1=6462742.WKU.&OS=PN/6462742&RS=PN/64 62742 [5] - Ashraf, Wong. Constrained Framespace Interpolation. http://www2.cgit.ntu.edu.sg:8000/~ashraf/ca01Framespace.pdf ================================================================================ From: "Bretton Wade" (brettonw^microsoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Mon, 7 Apr 2003 11:52:18 -0700 I've implemented Chuck's stuff, and compared it to techniques used in several other games. It is certainly a very good system, but since the patent might be exclusionary, you could consider some of the other techniques. I hope I remember this correctly... DirectX has an animation blending library in it that triangulates your parameter space and does simple interpolation in convex regions. You could use this library or roll your own using a similar technique. This method has smaller compute overhead than Verb/Adverb (which wants you to evaluate every animation you might blend - minus some optimizations for zero weights). You can't extrapolate with this method, but we didn't find extrapolation to be a useful technique anyway (or rather, the artists didn't like the way the character anti-limped when the health axis was moved past the healthy walk - think "pole in the bum"). -- Bretton Wade (aka Noz Moe King) in Bellevue, WA ================================================================================ From: Guillaume Provost (Guillaume^pseudointeractive.com) Subject: RE: [Algorithms] Animation Interpolation Date: Mon, 7 Apr 2003 14:54:30 -0400 Jamie, We perform a delaunay triangulation of all sample animations in velocity space. We then perform successive blends of aeral (homogeneous barycentric) coordinates in velocity space, then we fixup for slopes procedurally, instead of using a radial blend. As long as you blend in both time and space, you can extrapolate and interpolate pretty much any movement. Its slightly more expensive then the radial method (I think) - but its giving good results on our end. Guillaume. ================================================================================ From: "Greg Seegert" (greg^stainlesssteelstudios.com) Subject: RE: [Algorithms] Animation Interpolation Date: Mon, 7 Apr 2003 15:28:26 -0400 What exactly does the patent cover? Because I know of some very popular games which use what sounds like a similar method. In the games I'm thinking of they are used for, among other things, walk speed - a very slow deliberate walk interpolated to a jog interpolated to a full out run animation depending on character speed. Or does the patent cover only "emotional" animations? =) ================================================================================ From: (phil_wilkins^playstation.sony.com) Subject: RE: [Algorithms] Animation Interpolation Date: Mon, 7 Apr 2003 13:02:21 -0700 Although I am not a patent lawyer, it looks to me like it specifically covers the use of splines to interpolate control spaces for animation blending. Cheers, Phil ================================================================================ From: "Tom Forsyth" (tom.forsyth^blueyonder.co.uk) Subject: Re: [Algorithms] Animation Interpolation Date: Tue, 8 Apr 2003 02:15:26 +0100 One day soon, using a spline to control something instead of using a straight line will become "obvious", and therefore non-patentable (or at least unenforcable). Any decade now... TomF ================================================================================ From: Chris Hecker (checker^d6.com) Subject: Re: [Algorithms] Animation Interpolation Date: Mon, 07 Apr 2003 19:42:44 -0800 >One day soon, using a spline to control something instead of using a >straight line will become "obvious", and therefore non-patentable (or at >least unenforcable). Any decade now... I wonder if you could fit the "obviousness" data with some kind of curve...nah, can't think of anything that would work. Chris ================================================================================ From: Casey Muratori (gda^funkytroll.com) Subject: Re: [Algorithms] Animation Interpolation Date: Tue, 8 Apr 2003 00:42:36 -0700 (Pacific Daylight Time) > The only obvious drawback is the patent [4]. > > Any thoughts on alternatives? Or even better, prior art? :) Well, the only thing that Rose et al adds to the dialog is the concept of fitting radial basis functions. The back end of a verb/adverb system is still just a straight linear blend, which there is plenty of prior art for. So the only thing they could be said to have "patented" (and I use the term in the Amazon.com "we have made a minor improvement to something by combining two ideas which already existed separately, and even together, but not exactly for this specific purpose" sense, not in the Edison "I invented everything in your house" sense), is the concept that you fit radial basis functions (plus complimentary linear functions) to sample points first, and then use that fit to generate the weights that you feed to the linear blending backend. You can't patent spline animation, because it's already more than thirty years old. Or rather, you can patent it, because you can patent anything - it's America, after all. But you would probably lose a court case. As far as prior art or alternatives go, ILM had been using fitted RBFs for blending _shapes_ prior to the patent. See SIGGRAPH 2000 for a publication of "Pose Space Deformation", which implies that it had already been in use prior to the August 1999 filing of the Rose patent. Of course, I don't know if it had been published prior to that time. I'm not an RBF wonk. Now, on that note, since I know Chuck Rose, and I didn't previously know that he had patented this, I have an e-mail to write :) - Casey ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Tue, 8 Apr 2003 10:56:11 +0100 Thanks for your feedback, it's always good to hear from someone who's done it already :) DirectX isn't an option, as we have to be cross-platform. Rolling our own version of the linear interpolation, of course, shouldn't be too hard. At this stage there's still a lot of spec to be decided, so I can't make a call yet on extrapolation (although I'm sure I could justify not supporting it :). We haven't started looking at other possible interpolation methods yet, we may end up experimenting in that direction.... Even so, we still appear to be falling foul of claim 1 of the patent: 1. A method for authoring computer animation segments, wherein the animation segments are defined as "verbs" parameterized by "adverbs," comprising the steps of: providing example motion segments corresponding to a defined verb with different values of the adverb(s); providing the example motion segments in a system that permits a user to dynamically manipulate the value(s) of the adverb(s); and in response to the user's manipulation of the adverb(s), creating a new animation segment by interpolation of the example motion segments. Jamie ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Tue, 8 Apr 2003 11:16:29 +0100 Claims 4, 5 and 6 read: 4. A method as recited in claim 3, wherein the adverb corresponds to an emotion of the animated object. 5. A method as recited in claim 3, wherein the adverb corresponds to a direction of movement of the animated object. 6. A method as recited in claim 3, wherein the adverb corresponds to a state of knowledge of the animated object. But claim 1 is so general it's nuts, and would cover the case you describe, even if it doesn't fall under 5 or 6. Jamie ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Tue, 8 Apr 2003 11:37:18 +0100 Part of the problem with the patent (and, of course, IANAL), is that parts of it are so wide (e.g. claim 1), that you'd imagine it could never hold up in court. Which makes it very frustrating to unwind it to find the innovation that it's _really_ about. If it's really just the use of RBFs (claim 21 of 38...), then that's lovely; we can use another way to find the weights :) But the patent claims go waaaay beyond that. In particular, of course, I'd like to reparametrise in such a way that the runtime IK modifications are effectively done offline, if possible :) Certainly claim 29 is a pain, as it covers any normal state machine which has adverbs (i.e. any parametrization of the animations) added to it.... Thanks for the info on ILM; although the patent doesn't (seem to) cover the shape / adjective work, just the verb / adverb work. If you find out anything helpful from Rose, please let me know :) Cheers Casey :) Jamie ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Tue, 8 Apr 2003 12:00:43 +0100 Hi Guillaume, I'm afraid I'm not entirely following your method. Let me see how much I understand: 1) Express the animations as velocities. 2) Perform Delaunay triangulation of the animations in 'adverb' space. 3) Given a point in the triangulation, blend using the aeral coordinates. 4) Successive blends are used to account for 'adverb' space's many dimensions. 5) I'm not at all sure about the 'fixup for slopes procedurally'. Nonetheless, it's encouraging to see that a variety of methods are giving good results :) Jamie ================================================================================ From: Guillaume Provost (Guillaume^pseudointeractive.com) Subject: RE: [Algorithms] Animation Interpolation Date: Tue, 8 Apr 2003 21:46:52 -0400 Jamie, Sorry - I was'nt exactly very clear in my e-mail. I basically have a base layer (the motion animation layer), which provides animation data for all bones of a skeleton. This 'layer' is constructed using a set of animations, the 'motion animation matrix', that art provides me with. Each animation is animated with the root DOF moving so that I can post-extract the average velocity over the walk cycle. So imagine I get a rest, walk, run, strafe walk, strafe run, back walk, back run. I extract the average velocity of all animations, and I place them on a 'grid' (in velocity space), which I then triangulate (using a simple delaunay triangulation). Then at run-time, I look at how fast the player goes, I extract the bounding triangle, and I do a triangular blend in velocity space (using barycentric weights) to get the current animation. If a certain 'blend' does'nt look good, artists can simply 'plug' the problem by adding a new animation going at that velocity, and the whole layer gets retriangulated automatically. Now, honestly, the radial stuff might give better results in practice, I'm not sure. This works for me, but since you can't really always control the way sample points are triangulated, you could theoretically get odd blend boundaries. You can adapt the system simply to a 3D tetrahedral blend for generic 3D 'fly' control, but we decided to simply use a 2D matrix and procedurally correct the limbs for slopes, stairs and the like (instead of having the artist animate walk-slope up, walk-slope-down etc... animations - which would have blown the animation data to a ridiculous amount). I use simple dof-specific priority based animation hooks to layer any other animations on 'top' of the basic motion layer. Shooting a gun layers on top of the chest and arms, for example, but in an analog way so that you keep the swaying motion of the walk, while keeping a rock steady aim. We support multiple constraint spaces for every dof that we have so that you can do things like, say, attach the hand to the chest and have it stay in the same position relative to the chest even if someone down the chain decides to rotate or move it. Hope that's a little clearer! Guillaume. ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Wed, 9 Apr 2003 13:48:01 +0100 Thanks Guillaume, that's crystal clear :) We're expecting to deal with emotional factors as well as speed of motion, so we will need to handle the multidimensional case. Given that with Rose's system, you still have to use runtime IK to correct for foot slippage, coping with slope procedurally doesn't sound over the top. And it sounds like you have a nice system for adding constraints on top of the underlying animation :) Jamie ================================================================================ From: (christer_ericson^playstation.sony.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 10:52:43 -0700 > Part of the problem with the patent [...] Slightly tangential to the issue, I heard this rumor that EA explicitly forbids its employees to read patents, and doing so would be grounds for termination. Presumably this would serve as some sort of "Your patent is obvious to anyone 'trained in the arts', because we reinvented it without knowledge of the contents of your patent"-defense. Is this true? I like the gist of it. Would it work? Christer Ericson Sony Computer Entertainment, Santa Monica ================================================================================ From: "Jon Watte" (hplus^mindcontrol.org) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 10:58:37 -0700 The reason might be slightly different. I believe that IF the company or its employees read up on related patents, THEN they can't go and seek a second patent on the same idea (or they'd be in a poor position if they did). Something like that. Idea: Call the Sony lawyers if you want to learn more, and report back to the list :-) Cheers, / h+ ================================================================================ From: "Bretton Wade" (brettonw^microsoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 11:10:17 -0700 Most of the larger companies I've worked at have similar policies, and the reason has to do with knowingly infringing on someone else's intellectual property. In court, ignorance is a apparently a reasonable defense against large damage awards. ;) -- Bretton Wade (aka Noz Moe King) in Bellevue, WA ================================================================================ From: Mike Shaver (shaver^off.net) Subject: Re: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 14:08:38 -0400 On Apr 10, (christer_ericson^playstation.sony.com) wrote: > Slightly tangential to the issue, I heard this rumor that EA > explicitly forbids its employees to read patents, and doing so > would be grounds for termination. That's not uncommon. It's one of the reasons that people use patent search services: you'd like your engineers to be able to say "nope, never saw that" when they apply for their own patents. > Presumably this would serve > as some sort of "Your patent is obvious to anyone 'trained in > the arts', because we reinvented it without knowledge of the > contents of your patent"-defense. First, invention doesn't == obvious. If it did, nothing would be patentable, because it needs to be invented by someone, etc. Independent invention is very much not a means for invalidating a patent. Second, the test of "obvious" is only used to determine if a patent is granted, I believe, and not for defense of it. If it's not considered obvious at the time that the patent was granted, having it "become" obvious afterwards doesn't weaken the patent. ("Prior art" generally doesn't go against "obvious" but rather against "invention", when used to defend against an infringement suit.) IANAL, this is not legal advice, not for internal use. Mike ================================================================================ From: Mark Danks (mdanks^STORMFRONT.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 11:17:43 -0700 Haven't heard about that, but I suspect that there is a different reason (having run into it when I did a patent): I was advised by a lawyer to not look into any patents, because if I knew about them when I filed, then I had to reference them as "prior art" or my patent was considered invalid. Functionally, it shifts the burden of proving that something is new to the patent office...which doesn't have a really good track record these days, IMHO. Mark ============================== = (mdanks^stormfront.com) = Technical Director PS2/XBox = http://www.danks.org/mark ============================== ================================================================================ From: Charles Bloom (cbloom^cbloom.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 11:41:33 -0700 Yeah, I've seen this before. The basic idea is that the patent office is really terrible at it's job, so it's quite possible that they'll issue you a patent even though a previous one already covers it. It's perfectly legal for you to apply for a patent which is redundant as long as you didn't know about the previous one. So, when you do your own patent search, you don't want to be too diligent (eg. no more diligent than the patent office will be). It's better if you don't know that there's "prior art". It does not make it legal for you to use a patented idea just because you haven't read the patent. In order for a patent to be invalidated it must be shown to be obvious to a practitioner at the time the patent was granted. If the technique later becomes "obvious", tough. ================================================================================ From: Thatcher Ulrich (tu^tulrich.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 16:40:25 -0400 (EDT) (christer_ericson^playstation.sony.com) > >Slightly tangential to the issue, I heard this rumor that EA >explicitly forbids its employees to read patents, and doing so >would be grounds for termination. Plausible. >Presumably this would serve as some sort of "Your patent is obvious >to anyone 'trained in the arts', because we reinvented it without >knowledge of the contents of your patent"-defense. That's not why; independent invention doesn't help. As some other posters mentioned, the real reason to prevent your engineers from looking at patents is to avoid being punished for "willful infringement". If willful infringement is proven, you're liable for triple damages. So it's a judgement call whether you'd rather have your engineers reading patents or not. It's definitely a contradiction in patent law. There's an interesting summary of some patent lawyers' take on it here: http://www.derwent.com/piugl2000/0071.html -Thatcher ================================================================================ From: "Killpack, Chris" (ChrisK^ea.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 14:27:37 -0700 > Slightly tangential to the issue, I heard this rumor that EA > explicitly forbids its employees to read patents That's basically true. I pretty much take the opinion that everything "cool" you read is either already patented, or in application stages. > would be grounds for termination. That I don't know. Possibily if it is was wilful infringement, which is a cloudy issue because... From what I can remember people don't even need to mention that they have applied for a patent on something. If at a later stage they are awarded a patent and you implemented details from the prior publication, you are still in infringement of that patent (in legalese it's called a submarine patent). In my opinion that raises questions about conferences - how many talks/papers/presentations contain material that is part of a patent or patent application? For example there were two talks at GDC this year that contained patented material (one talk was entirely based upon a patented technique). At least they mentioned it. How many others didn't in an attempt to trap people in future patent violations and subsequent licensing fees? Chris ================================================================================ From: "Tony Cox" (tonycox^microsoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 14:38:57 -0700 The reason people are sometimes advised/directed not to read patents is that the penalties for wilful infringement are more severe than for accidental infringement. If you read the patent, then go ahead and infringe anyway, you are screwed. So it's generally safer not to read them. Sad, but true. Tony Cox - Development Lead, Hockey Microsoft Games Studios - Sports ================================================================================ From: "Brock, Kelly" (KBrock^maxis.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 15:08:15 -0700 That's why they've made it company policy that we do not read patents. It's a somewhat new rule but given that we're a big target I guess it makes sense that they would implement it. And yes, it can lead to termination. KB ================================================================================ From: (phil_wilkins^playstation.sony.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 15:41:52 -0700 So does this mean that, having publicly admitted that I read that patent, that I can no longer safely work on animation interpolation? Cheers, Phil ================================================================================ From: "Tom Forsyth" (tom.forsyth^blueyonder.co.uk) Subject: RE: [Algorithms] Animation Interpolation Date: Fri, 11 Apr 2003 00:27:36 +0100 Oh dear god. And patents were invented specifically to aid the flow of information. What a screwed-up world this is. TomF. ================================================================================ From: (christer_ericson^playstation.sony.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 17:11:09 -0700 Tom Forsyth wrote: > Oh dear god. And patents were invented specifically to aid the flow of > information. What a screwed-up world this is. Does anyone have any good ideas for tricking Bush into thinking that the US Patent Office is a terrorist organization? PS. I've never read a patent in my life. Honest to God! PPS. I'm an atheist. Christer Ericson Sony Computer Entertainment, Santa Monica ================================================================================ From: "Hamilton Feltman" (hfeltman^lucasarts.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 17:36:24 -0700 Just playing devils advocate here, but patents were invented to protect inventions, aiding the flow of information was a secondary benifit. Probably, the real reason is the patent office was tring to reduce their workload, by opening the patents to the public and requiring applicants to do research and list prior art in their submission. Funny, but a consideration would be a closed patent office; surely to be overflowed by all the requests, because one could not know how it had been previously patented. Honestly, for a company like ___ to fire you for reading patents just shows how lame they are. Its like saying, "Were using patented technology (not by us) so lets just pretend we dont know about the patents. Grow up. ================================================================================ From: "Tyson Jensen" (twjensen^sammystudios.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Thu, 10 Apr 2003 18:01:54 -0700 Not so. Patents were invented to promote the flow of information, as Tom said. The "bargain" is that in exchange for free-flow of information, the government will for a limited time protect and guarantee your right as an inventor to make money from your invention. So we see the PRIMARY goal of patents is to promote the flow of information, the protection of inventions is simply a necessary evil along the way. The patent office is hopelessly under funded because our wonderful representatives aren't going to approve money for something that the average under educated citizen doesn't even know about, much less understand. The average citizen is uneducated because those same representatives have no interest in approving money to educate citizens as that would mean that the representatives THEMSELVES would have to be educated! When the patent office is under funded, the result we see is FUD (fear, uncertainty, doubt). FUD, the state of no one really wanting to know what incredibly stupid thing just got patented and hoping that patent sharks don't come knocking on your door looking for damages because you're using an unlicensed door-knocker. ================================================================================ From: "Jon Watte" (hplus^mindcontrol.org) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 19:59:53 -0700 > Honestly, for a company like ___ to fire you for reading patents > just shows how lame they are. Its like saying, "Were using > patented technology (not by us) so lets just pretend we dont know > about the patents. Grow up. I believe it's more like this scenario: Suppose programmer X in division dX separately re-invents some obvious technology with prior art, such as XOR cursors, for use in product pX. Suppose that, separately, programmer Y in division dY reads up on patents, and finds that XOR cursors are patented, shakes his head, and then goes on shipping whatever he's supposed to be shipping (say, product pY). Later, the owner of the XOR cursor patent goes through their web logs, finds that programmer Y at the company knew about the XOR cursor, and proceeds to gain triple damages against the company for using XOR cursors in product pX. Most US states have at-will employment laws, which may mean that you can hire and fire based on any (documented) policy you want, except for the protected cases (gender, race, religion, etc). Making a policy saying that "we would rather not pay money to people who can cause our company triple damages" seems like a reasonable thing to do in this situation. I'm not a lawyer, of course, so I could be terribly confused, but in my world it makes sense. Luckily, this is sweng-gamedev where this kind of discussion should be held. Cheers, / h+ PS: oh, wait... ================================================================================ From: "Bretton Wade" (brettonw^microsoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 21:07:14 -0700 ACM didn't used to accept patented or otherwise copyrighted material for publication. I'm guessing that's changed based on some of the stuff I've seen showing up in SIGGRAPH conferences the past few years... -- Bretton Wade (aka Noz Moe King) in Bellevue, WA ================================================================================ From: Thatcher Ulrich (tu^tulrich.com) Subject: patents (was Re: [Algorithms] Animation Interpolation) Date: Fri, 11 Apr 2003 02:03:26 -0400 On Apr 10, 2003 at 03:41 -0700, (phil_wilkins^playstation.sony.com) wrote: > > So does this mean that, having publicly admitted that I read that > patent, that I can no longer safely work on animation interpolation? So the thing is, *nobody* is "safe", whether or not they read the patent, or said so in public. If you're completely ignorant of the patent, you can still be sued for using the patented technique. The only thing ignorance gets you is 1x damages and a big fiasco, instead of 3x damages and a big fiasco. It does *not* get you 0x damages. On the other hand, ignorance might make you more likely to infringe in the first place, since you don't know what to avoid. When I used to work with mechanical engineers, they would always do a patent search as an early step in designing a new product; at least in that field, lots of good ideas were patented more than 20 years ago, and avoiding infringing your competitor's patents is extremely important. (A mistake here can be fatal -- if you inadvertently infringe a competitor's patent and you go to market, they can just decide not to offer you a license, and you have to pay damages AND stop selling your product until you design around their patent.) That's the theory anyway. It's a pretty weird system. One of the more amusing and relevant resources that I know of on the patent system and how it relates to emerging technologies is the PATNEWS email newsletter run by Greg Aharonian: http://www.bustpatents.com . He apparently makes his living as a consultant by invalidating bad patents, although he is a big proponent of the system in theory. He advocates patent reform, and doing away with software copyright and replacing it with patents (!) Anyway, some of the stuff in PATNEWS is incredible. If you get a kick out of stupid patents, it's the motherlode. -- Thatcher Ulrich http://tulrich.com ================================================================================ From: Chris Hecker (checker^d6.com) Subject: RE: [Algorithms] Animation Interpolation Date: Thu, 10 Apr 2003 23:08:27 -0800 >In my opinion that raises questions about conferences - how many >talks/papers/presentations contain material that is part of a patent or >patent application? For example there were two talks at GDC this year that >contained patented material (one talk was entirely based upon a patented >technique). At least they mentioned it. How many others didn't in an >attempt to trap people in future patent violations and subsequent >licensing fees? We made a loose policy on the GDC Advisory Board this year, partly because of Stam's talk proposal. We're still going to consider talks with patented information in them, but speakers must disclose whether the information is encumbered and announce it at the beginning of their talk so attendees can make their own call and leave if they want. Chris ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: RE: [Algorithms] Animation Interpolation Date: Fri, 11 Apr 2003 11:03:01 +0100 Hmm, looks like it's debatable, but public interest was clearly a very early concern: http://www.patent.gov.uk/patent/history/fivehundred/tudors.htm Jamie ================================================================================ From: "Jamie Fowlston" (jamief^qubesoft.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 11:06:08 +0100 Incidentally, Australia recently streamlined its patent office, and ended up granting a patent on the wheel.... http://www.csiro.au/helix/sciencemail/Sample2HTML.html Jamie ================================================================================ From: "Madoc Evans" (tmadoc^tin.it) Subject: Re: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 08:00:32 +0200 Shame on everyone who patents their work! If you want to make money from it before you let it be known then don't let it be known until you've made you money. If someone else comes up with the same idea, you have no right to stop them from using it, it's their very own intellectual property to do as they wish with. You don't need to 'abuse' patents to make them EVIL. The patent office *is* a terrorist organisation. ================================================================================ From: "Tyson Jensen" (twjensen^sammystudios.com) Subject: RE: patents (was Re: [Algorithms] Animation Interpolation) Date: Fri, 11 Apr 2003 10:32:41 -0700 Wow! Great point! What you do is, have a database of all patents of expiration age. Now, you can use any idea you read about. Additionally, if you are sued, you already have prior art documents IN HAND to go to court with! Even in CS, there are lots of great ideas that are over 17-20 years old. Of course, animation interpolators aren't among them, alas. ================================================================================ From: "Tyson Jensen" (twjensen^sammystudios.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 10:45:16 -0700 How sad that things have degenerated to this state! Patents were invented because technologies would be invented and then lost. Witness the process of creating Damascus steel, a process only recently rediscovered partly because it was a secret process passed only among a special privileged class. Many similar advances would happen, be used by a particular company, then fall into obscurity if the one or two people who understood it happened to die off before the information could be passed on. Not to mention the powerful value of having a whole line-up of competition waiting at the gate less than ½ a lifetime from the time an invention is first discovered! Sometimes, an advance in one field is exactly what is needed to spark innovation in another field. Patenting helps promote the availability of information that would otherwise be concealed. Personally, I believe that software and business method patents should be reclassified as mathematical methods, which are inherently not patentable thanks to a decision made by a council of mathematicians over 300 years ago when the idea of patenting mathematical algorithms was first floated. (Software and business methods can clearly be reformulated in purely mathematical language) ================================================================================ From: "Jon Watte" (hplus^mindcontrol.org) Subject: RE: patents (was Re: [Algorithms] Animation Interpolation) Date: Fri, 11 Apr 2003 11:05:45 -0700 > Even in CS, there are lots of great ideas that are over 17-20 years old. > Of course, animation interpolators aren't among them, alas. When did Tron come out? When was Foley, van Dam published? They're getting to get up there, although not really 17 years quite yet. Evenso, one of the biggest problems with software patentes, in my view, is that prior art and obviousness is so hard to establish, because someone may TODAY patent something which was REJECTED for publication 10 years ago because it was considered obvious by the review panel at the time. This, btw, is one excellent benefit of Open Source. Cheers, / h+ ================================================================================ From: "Charles Nicholson" (cnicholson^sammystudios.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 11:15:38 -0700 Well that's about the most naive take on the subject i've heard yet. You're assuming that everyone is perfectly moral and will respectfully not use someone else's brilliant idea without credit/royalties? "Don't let it be known"- what about protecting the grassroots inventor whose idea, without legal protection, will be assimilated and mass-produced by a company that copies it? "Someone else comes up with the same idea"- Prove that you came up with it instead of having stolen it from the person who invented it not 3 weeks ago. Patents exist in part to protect inventors. Without any guarantee by law that your ideas will be protected, there would be no financial reason to invent anything on your own. My $0.02 ================================================================================ From: "Armen Levonian" (alevonian^scea.com) Subject: Re: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 11:39:13 -0700 Message>Patents exist in part to protect inventors. Without any guarantee by law that your ideas will be protected, there would be no financial reason to invent >anything on your own. I guess that's why it took 100,000 years or so to go from stone age to bronze age, huh? :) No money, no inventions... ================================================================================ From: (christer_ericson^playstation.sony.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 11:43:36 -0700 Charles Nicholson wrote: >> Shame on everyone who patents their work! If you want to make money >> from it before you let it be known then don't let it be known until >> you've made you money. If someone else comes up with the same idea, >> you have no right to stop them from using it, it's their very own >> intellectual property to do as they wish with. > > Well that's about the most naive take on the subject i've heard yet. > You're assuming that everyone is perfectly moral and will > respectfully not use someone else's brilliant idea without credit/royalties? How is that naive? That's how Coca Cola treats their formula X, only that they won't ever reveal what formula X is. However, that doesn't stop you from marketing Nicholson Cola with your own formula that by pure chance happens to be identical to formula X. (That Jack N. would probably sue you for use of 'his' name on your softdrink is a different issue.) Of course, this approach doesn't really apply unless you can keep something secret to stop others from just cloning your product immediately. You can probably also argue that it only makes sense if it takes at least 17(?) years for someone to come up with a viable clone. Christer Ericson Sony Computer Entertainment, Santa Monica ================================================================================ From: "Ville Miettinen" (wili^hybrid.fi) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 21:57:27 +0300 This is one of the most unenlightened views I've ever seen on this list. Or, as I suspect, it's one of the first successful trolls =) Patents aren't inherently good or evil. They are just a mechanism for _spreading ideas_ with a (arguably non-perfect) safety net for the original inventors. Although I am quite vehemently opposed to software patents in general, I haven't lost any sleep when we have applied for patents on hardware designs. It's pretty much the only way to make money when selling just IP. I agree that (software) patents can be a PITA: most of my work nowadays is rendering software on mobile/embedded devices. Because our customers are mostly cell phone manufactures (read: big targets) we have to be extremely thorough when ensuring that we are not infringing other peoples' patents. This means that I really have to go see if the concept of Z-buffering has been patented and whether it still holds.... cheers, -wili -- o Ville Miettinen, Head of Visual Research o Hybrid Graphics, Ltd. o Email: (wili^hybrid.fi) o Web: www.hybrid.fi ================================================================================ From: "Tom Forsyth" (tom.forsyth^blueyonder.co.uk) Subject: RE: patents (was Re: [Algorithms] Animation Interpolation) Date: Fri, 11 Apr 2003 20:19:12 +0100 I have the 20th anniversary DVD of Tron, so I'd say it was more than 17 years, yep :-) Though bear in mind that Tron didn't have animation interpolators, because pretty much the only thing that animated (as opposed to just moving) were the blue-screened actors. Nuts... The "cure" to patenting is of course to publish everything you can. There are a growing number of "hints and tips" journals such as the "Gems" series and others, where you don't have to come up with original ideas to write an article - interesting applications or just "how to" and "overview" guides are perfectly acceptable. Or you can just self-publish on a website. It may be true that in the current climate, someone will still be able to patent that idea (because the USPTO doesn't seem to do prior art searches these days), but whether they can uphold it against someone who _has_ done a prior art search and found your page is a very different question. TomF. ================================================================================ From: "Tony Cox" (tonycox^microsoft.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 12:35:00 -0700 That would be a 'trade secret', which is different to a patent. The point about patents is that you publish the invention. You want patent protection because you're going to market something which is replicable by others once they see 'the idea'. For example, if I invent a way to make toasters more efficient and market toasters containing my invention, I might want patent protection lest competitors copy my invention without paying me a royalty. My favourite example is James Dyson, who invented the 'cyclone' vacuum cleaner. He would have been instantly put out of business by the established vacuum cleaner manufacturers, had it not been for patent protection on his invention. He was able to be successful because of the protection afford by patent. This is, to my mind, the canonical example of a patent working. In the case of a trade secret, it has to be something I intend to keep secret. Perhaps it's a process involved in the manufacture, but which is non-obvious from looking at the end product. The Coca-Cola formula is almost the canonical example. They don't need to patent their formula, because they can keep it secret. - Tony ================================================================================ From: (christer_ericson^playstation.sony.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 12:59:15 -0700 > That would be a 'trade secret', which is different to a patent. Obviously, as I was saying as much. I was just pointing out that there are, in some cases, more logical choices than patenting, all depending on your product. Christer Ericson Sony Computer Entertainment, Santa Monica ================================================================================ From: "Tony Cox" (tonycox^microsoft.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 13:14:52 -0700 Actually, I think the Coca-Cola secret formula is more to do with marketing that protecting their process. After all, if you could manufacture an exact clone of Coke, what good would it do you without the associated brand? Hmm...aren't we digressing a little... - Tony ================================================================================ From: "Charles Nicholson" (cnicholson^sammystudios.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 13:09:41 -0700 The meat of my point was simply that patent law exists for a reason. Yes, there are serious problems. Yes, it's in need of re-examination. But calling the idea _terrorism_ got my goat a little. And i'll never EVER tell you the secret ingredient to Nicholson Cola. Ever. You can license it for a modest fee, though.... ;-) ================================================================================ From: George McBay (gfm^yahoo.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 13:11:46 -0700 (PDT) I support the general idea of patents, and I wouldn't even mind software patents if they tended to cover truly unique inventions. However, the vast majority that are granted are both way too vague (and thus all-encompassing) and are also attached to inventions that are extremely obvious to anyone involved in the field (IMO). o Auctions...on the Internet! o Storing user data for a website...in a cookie! o Etc.. I've yet to see a similar story to the James Dyson one when it comes to software patents. All too often, patents in our field serve the opposite purpose -- companies with lots of money patent every possible permutation of an idea and then use them to smack smaller players around*. Or worse, the companies like RAMBUS that file a submarine patent, champion their technology for standardization and then pop in and try to shake everyone down later. * Since I'm replying to Mr Cox, let me state up front that for all the grief they get, I would not label Microsoft as one of these companies.. despite being such a huge player they've been pretty harmless on the questionable patent front. ================================================================================ From: Lucas Ackerman (ackerman7^llnl.gov) Subject: Re: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 13:13:31 -0700 While we're so wildly off-topic here, I have to recommend a conspiracy/espionage movie called "The Spanish Prisoner." It's about a guy who has invented a 'process' that everyone and their dog is trying to steal from him, and his own company is trying to secure the rights to. Great flick. -Lucas ================================================================================ From: (phil_wilkins^playstation.sony.com) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Fri, 11 Apr 2003 17:22:00 -0700 > And i'll never EVER tell you the secret ingredient to Nicholson Cola. Psssst, it's nutmeg...;) ================================================================================ From: "Ivan-Assen Ivanov" (assen^haemimont.bg) Subject: RE: [Algorithms] Patents (was Animation Interpolation) Date: Sat, 12 Apr 2003 09:39:28 +0300 > And i'll never EVER tell you the secret ingredient to Nicholson Cola. ================================================================================ From: "Madoc Evans" (tmadoc^tin.it) Subject: Re: [Algorithms] Patents (was Animation Interpolation) Date: Sat, 12 Apr 2003 08:58:46 +0200 Message I know that was a bit of a silly post (in form at least). Some software patents really get on my nerves and after a stressful day of work I just had a little rant. I've had many arguments about patents before, I've always agreed that there are obviously products that can't be protected by being kept secret and so some patents make sense, I'm still not sure I condone them though. I actually know someone who lives off the royalties for a bolt he invented. He should be inventing other things. I am much more keen on protecting those who might think of the same thing (how unlikely is it, in this day and age?) than those who might get their idea "stolen". My philosophy is to use your idea in one product, after that, let everyone know about it (publish it - if you intention was that with a patent - was it now?). I see patent "abuse" as a bigger problem than secrets dying with people. Software patents just hinder progress and potentially harm innocent people = evil. I used the word "terrorism" 'cos I found someone's joke on it rather funny. I just like to exaggerate, I was actually laughing about my post. ================================================================================ From: "Brock, Kelly" (KBrock^maxis.com) Subject: RE: [Algorithms] Animation Interpolation Date: Sat, 12 Apr 2003 00:19:33 -0700 Hi All, I hate to have thrown any logs on the fire but I just have to reply to this one.. I don't have all the answers here but I do believe some points can be made that are worth adding to the pot before the moderators go ballistic and kill this thread.. (Entirely justifiable in my opinion, I'm breaking the rules intentionally here by replying, kick me if you think it's a huge offense.) > Just playing devils advocate here, but patents were invented > to protect inventions, aiding the flow of information was a > secondary benifit. Probably, the real reason is the patent > office was tring to reduce their workload, by opening the > patents to the public and requiring applicants to do research > and list prior art in their submission. Funny, but a > consideration would be a closed patent office; surely to be > overflowed by all the requests, because one could not know > how it had been previously patented. Your first point is entirely too true, the second is rediculous though. The second point is just an extension of exactly *why* a "do not read patents" policy comes about, just made even worse. *Why* a policy comes about is because every e-mail that a company makes internally can be called as evidance, so if even one person at the company mentions patent "such and such" over the time that the infringment was supposed to have taken place, there is a valid argument for "intentional infringment", hench 3 times the penalty. EA's reaction to this is, in my opinion 100% valid, because we are under constant attack from people saying we infringed on their patents in some way, we don't expect our programmers to worry about such things, let them do their jobs the way they do them and the legal department deals with all issues beyond that. I.e. they want us to be programmers doing what we're good at and not worrying about infringing on things because that is the *lawyer's* job later. EA simply realized a basic fact, programmers can not read *all* patents and be lawyers in terms of knowing what is/isn't going to violate some pattent. So, they turned around and said we don't want you to keep up on patents at all, we want you to program things however you will and we'll deal with the legal issues later with professionals. A small company can't do this of course but I bet that the rate that small companies get sued for infringment is probably higher than that of EA on a per-game basis. It's company policy (or at least the only answer I've seen) to fight EVERY infringment suit, obviously EA doesn't advertise how many times a year they are hit with patent infringment suits, but the thing is that they will not, do not, can not, simply pay off on things given the scale of their buisness. > Honestly, for a company like ___ to fire you for reading > patents just shows how lame they are. Its like saying, "Were > using patented technology (not by us) so lets just pretend we > dont know about the patents. Grow up. And I believe this shows a very severe lack of understanding as to how/why such a pollicy could evolve. The legal costs of defending against a single "willfull infringment" court case can/has/will put most independent developers out of buisness because of simple defense costs. The bigger company can/will throw more money at it and drag things out beyond the smaller companies means. When patents dealt with individuals, the current system made sense to a degree, it does *NOT*, in my oppinion, make sense for software engineering or large companies building patent "profolios". Big companies gaining patents is totally against the intent of protecting the "little guy". Patent "profolios" is *against* the little guy for all intents and purposes. It's also against us as programmers, I have little to no interrest in if a way to do something is patented, I don't believe (and EA seems to agree) that dealing with that is why they hired me. I'm supposed to (Picture Brude W about "thinking stuff up") come up with ways to solve problems, I'm NOT payed to make them legal against millions of patents. They have a legal department to do that and as such I'm more than happy to leave it up to them to determine if I reinvented someones pattent. Now, just how lame is that? They "can" fire you if you read a patent and use it's content, that's the intent of the rule. They have to make it a bit more stringent given the size of the company, and show an active interrest in upholding it or courts will not be willing to believe the "non-willful" argument. Given that EA is sued probably once a week for something or other, why leave any issues up to the programmer who is actually paying those bills. Let them do their thing and pay a very good legal department to deal with the aftermath. I just don't see where lame is involved. Large companies have to defend themselves because they are prime targets, small companies need to defend against the most obious so they sneek under the radar of potential lawsuits. So, as a small company you better make sure you avoid the patents on obvious stuff because getting sued will put you out of buisness. For EA, they let their programmers do what they want as much as possible so long as they do not give courts a *reason* to slam EA. Seems like a reasonable balance to me. KB