Draft Update on Patent Status

This is a draft of an update of the Kuro5hin MPEG patent status paper

US Patent Basics
Patents provide the owner of the patent with the right to exclude others from using, making and selling the patented invention (that is, if someone else makes, uses or sells the invention without permission, the patent owner can sue them). The goal of the patent system is to provide inventors an incentive to invent and publish their inventions. Whether and how well this works for software is subject to debate. There is debate if software in the US is patentable or not, but those are discussed elsewhere. Patents must be filed by no later than one year after the publication of a description of the invention (and putting implementing source code on a public website or ftp site counts as publication), otherwise they are invalid. Other restrictions on patents exist as well. After a certain period of time, the patents expire. Patents filed after June 8, 1995 last 20 years from the earliest date of filing. Patents filed before June 8, 1995 last the longer of 20 years from the filing date or 17 years from the grant date. If the patent has mistakes, it can be reissued, and in that case the patent will expire based on the date of the original patent. Patents can expire early if the renewal fees are not payed, and the can last longer if the Patent office is slow in granting the patent. (Sources: http://www.uspto.gov/go/pac/doc/general/#novelty, http://www.law.cornell.edu/uscode/35/154(a)(2).html, http://www.law.cornell.edu/uscode/35/154(c).html

http://www.uspto.gov/web/offices/pac/mpep/documents/2700_2701.htm#sect2701

http://www.uspto.gov/web/offices/pac/mpep/documents/2100_2128.htm

http://www.uspto.gov/web/offices/pac/mpep/documents/1400_1401.htm)

The patent status of a particular standard can vary. For example, the Fortran 66 standard can almost certainly be implemented without infringing any patents, since the standard is so old that any essential patents have long since expired (improperly issued patents could exist so there is a low but non-zero probability of getting sued). On the other hand, MPEG-2 has many essential patents (according to MPEG-LA) so it cannot be implemented and used without either licensing the patents or infringing on them. For some standards, the patent owners have released their patent rights and allow anyone to implement the standard using the patents without infringement. An example of this is the Theora video compression standard where On2 has licensed their patents.

However, just because a specification can be implemented without infringing patents doesn't mean that a particular implementation doesn't infringe patents. To invent an example, say you make a Fortran 66 compiler that will take a MPEG-2 video, decode it and look for fortran code and compile that code. Despite the fact that you could make a Fortran 66 compiler without infringing any valid and unexpired patents, this bizarre implementation would infringe on any MPEG-2 patents.

Searching for US Patent and Trademark Office's patent database will produce large numbers of patents for many queries. For example, searching for Class 375/240.16, which is Subject matter wherein a signal is produced which represents the spacial change of an image portion, produced 1066 patents. That is many more patents than I want to look at. Smarter searches could reduce this number based on other criteria such as filing date, but still most searches for patents will quickly return more patents than anyone can handle. Instead, I used the ITU's and ISO's patent databases and the companies own claims for patents on the standard. The ISO's patent database misses patents that have successfully been sued over so it should not be relied upon. On the other hand, companies that claim that their patents cover a standard and then ask for licensing fees have a bias to try and claim that they own as many essential patents as possible. In my spot checks, it looks like some of the patents that companies are claiming cover the standard are essential, and some look like they only cover possible implementations of the standard. Because of this method of search, two types of errors exist, errors of including patents that are not required for implementing the standard and missing patents that are required for implementing the standard.