圧縮アルゴリズムとフリーソフトと特許の話

奥村晴彦松阪大学

オープンソースのつどい 2002 in 名大

2002-06-08 14:30-15:30

 

 

はじめに

なぜ圧縮?

いつの時代も CPU は I/O より速い

圧縮の種類

一番簡単な圧縮

Run-length coding(連長符号化)

あああああいいい → あ53

ZeoSync事件

[2002-01-07] ZeoSync Corporation が 1/100 に可逆圧縮する技術を発明したと発表

[2002-03-07] 特許公開

任意の n ビットのファイルを n - 1 ビット以下に可逆に圧縮するアルゴリズムは存在しない。

[証明] n ビットのファイルは 2n 通り存在するが,n - 1 ビット以下のファイルは

1 + 2 + 22 + 23 + …… + 2n-1 = 2n - 1
通りしか存在しない。

もっとちゃんとした圧縮限界はエントロピー

- Σ pi log2 pi
で与えられる(→ Shannon)。

歴史

 JapanOther
1948-Shannon: A Mathematical Theory of Communication
1951-Huffman: A method for the construction of minimum-redundancy codes
1977 - Ziv-Lempel paper (LZ77)
1978 - Ziv-Lempel paper (LZ78)
1979--
1980--
1981--
1982 - Storer-Szymanski paper (LZSS)
1983 - [06-20] USP4,558,302 (Welch) [1985-12-10 granted]
1984 - Welch paper (LZW)
compress (Spencer W. Thomas et al)
1985 - ARC (Thom Henderson)
1986 - [03-03] USP4,701,745 (Waterworth) [1987-10-20 granted]
PKWARE founded
1987--
1988 [05-01] lzss.c (Okumura)
[06-??] LArc (Miki)
[08-27] lzari.c (Okumura)
[11-??] lzhuf.c (Yoshizaki)
[12-??] LHarc (Yoshizaki)
[04-29] USP4,906,991 (Fiala and Greene) [1990-03-06 granted]
[05-10] USP4,744,028 (Karmarkar) granted [1985-04-19 filed]
ARC vs PKARC
1989 [07-02] LHA algorithm proposal (Okumura)
[07-10] "LHa" name proposal (Masuyama)
Fiala-Greene paper (LZFG)
[08-??] PKZIP 1.0
[10-06] USP5,003,307 (Whiting) [1991-03-26 granted]
1990 [11-??] LH 2.0 (Yoshizaki) -
1991 [02-??] LHa (later LHA) 2.10 (Yoshizaki) [09-21] Zip 1.0
1992 - [10-31] gzip 0.1
[12-28] PKZIP 2.04C (1st 2.0 series)
1993 - [01-??] Stac sues Microsoft (MS-DOS 6.0 compression)
[02-04] gzip 1.0
1994 - [02-23] Microsoft Loses Patent Suit ($120,000,000)
1995--
1996--
1997--
1998--
1999-[10-11] David Huffman died
2000-[04-14] Phil Katz died at the age of 37
2001-[02-26] Claude Shannon died

LZ77の仲間

LZ77
Jacob Ziv and Abraham Lempel, A universal algorithm for sequential data compression. IEEE Transactions on Information Theory, IT-23(3), 337-343, 1977.
LZSS
James A. Storer and Thomas G. Szymanski, Data compression via textual substitution, Journal of the Association for Computing Machinery, 29(4), 928-951, 1982.

LZSSでは「マハリクマハリタ」を次のように符号化する(文字を8ビットと仮定)
フラグ
(1ビット)
文字
(8ビット)
戻り距離
(〜12ビット)
長さ
(〜4ビット)
0  
0  
0  
0  
1 43
0  

[1987] 雑誌に頼まれてデータ圧縮の原稿を書くが,廃刊に

[1988-05-01] 原稿用に書いた lzss.c を PC-VAN に流す

[1988-06-??] これに基づき三木氏が LArc

LZARI/LZHUF/LHarc/LHA/Zip/gzip/zlib/PNG

[1988-08-27] LZARI 奥村晴彦 (LZSS+算術符号化)
フラグ
(1ビット)
文字
(8ビット)
長さ
(8ビット)
戻り距離
(≧12ビット)
0  
0  
0  
0  
1 34
0  
9ビット

算術符号化 or ハフマン符号化

算術符号化 or
ハフマン符号化

[1988-11-??] LZHUF 吉崎栄泰 (LZSS+動的Huffman符号化)

→ [1988-12-??] LHarc

[1989-07-02] 奥村「LZSS+ブロックごとのHuffman符号化」提案

[1990-11-??] LH 2.0 (吉崎)

[1991-02-??] LHa (→ LHA) 2.10 (吉崎)

日本発:テレビ,車,次はアーカイバか!

[1988] LHarc

[1991] LHA

[1991] LHA won the October 1991 PC Magazine Editor's Choice award as the best data compression utility.

[1992] オンラインソフトウェア大賞/フリーソフトウェア大賞
FSP'92LHA
FSP'93WTERM
FSP'94JW_CAD
FSP'95-
FSP'96AL-Mail
OSP'97-
OSP'98-99Becky! Internet Mail
OSP2000午後のこ〜だ
OSP2001-

著作権・商標権の争い

[1978] Ziv and Lempel (LZ78)

[1984] Welch paper (LZW)

[1984] compress (Spencer W. Thomas et al)

[1985] ARC (Thom Henderson, SEA)

[1986] PKARC (Phil Katz, PKWARE)

[1988] SEA 勝訴

MS-DOS 6.0圧縮ドライブ

[1985-03-06] GB patent filed (Waterworth, Ferranti PLC GB)

[1986-03-03] US Patent filed

[1987-10-20] granted USP4,701,745

---> Stac

[1993-01] Stac sues Microsoft

[1994-02-23] Microsoft Loses Patent Suit ($120,000,000)

Stac Electronics → Stac Software → Previo (2000-04-25改名)

LZW特許

[1978] Jacob Ziv and Abraham Lempel, Compression of individual sequences via variable-rate coding, IEEE Transactions on Information Theory, IT-24(5): 530-536, 1978.

[1983-06-20] Welch (Sperry Research Center) 特許を出願

[1984] Terry A. Welch, A Technique for High-Performance Data Compression, IEEE Computer, 17(6): 8-19, 1984.

[1984] compress (Spencer W. Thomas et al)

[1985] ARC (Thom Henderson, SEA)

[1985-12-10] 成立 USP4,558,302

[1986] PKARC (Phil Katz, PKWARE)

[1987] CompuServe GIF

[1994-12] Unisys が警告開始

[1999] UnisysがLZW特許で再警告, フリーソフトなどライセンス違反のソフトで作ったGIFを使うサイトは5000ドル払え。 GIFを扱う多数のフリーソフトが消える。 Burn All GIFs などの抗議運動が起こる

[2003-06-20] 切れるはず (日本では1年後)
Unisysは関連特許でLZWの権利を維持し続けるという

代替技術: PNG

著作権と特許権

著作権特許権
文化庁特許庁
表現を保護アイデアを保護
自動発生出願・審査・登録
創作〜死後50年登録〜出願後20年
独立に作れば侵害にならない偶然同じでも侵害になる

LHA・gzip等と特許

初期のLHAはUSP4,906,991(Fiala and Greene,Xerox,日本特許なし)が心配

Patricia木を圧縮に用いている

その後,LHA,gzip,Zip,zlib,PNG等は同じアルゴリズムになる

ハッシュを圧縮に用いている
Stac USP4,701,745等もハッシュを用いているが,辛く逃げている

万一LHA,gzip,Zip,zlib,PNGを誰か(Previo?)が訴えたら……

標的は? Microsoft? Sun?
代替 → bzip2

MP3特許

MP3 = MPEG-1 Audio Layer-3

午後のサイトにある配布側の論点:

代替技術: Ogg Vorbis

ソフトウェア特許

以前は装置または方法として特許

[1997-02] 審査基準改訂,ソフトウェアの「媒体」も特許

[2000-12] 審査基準改訂,ネット上のプログラムも「物」として特許

[2002-04-17] 特許法改正,「物」にプログラムが含まれること,ネット経由の提供も含まれることが明記された

特許がフリーソフト攻撃の道具になる

LZW,MP3,RSA,……

Microsoft patents shut out open source (Bruce Perens, ZDNet)

特許を取らせないためには

先行技術(prior art)

発表してしまえば特許は取れない(自分でも)

[1999-12-10] インターネット等の情報の先行技術としての取り扱い運用指針

会場で「バージョン管理システムを使えば日時は確定できるのではないか」とご指摘を受けました。 ごもっともでした。 検索する立場からはアルゴリズムのドキュメント(ソース中のコメントでもいいのですが)が見やすいところにあれば便利です。

自衛のための特許

A公開 → A特許は不可能になるが,A'特許は可能

A特許を取っておけばA'特許を取られてもクロスライセンスに持ち込める

特許侵害を指摘された場合

手持ちの特許が多ければ相手の特許侵害を見つけクロスライセンス
しかし単に特許を買い集めて訴訟を起こすだけの会社からの脅威は避けられない

フリーソフト作者:特許取得は困難

日本特許だけでも20年維持するには全部自分でやっても約100万円〜

フリーソフト作者:特許調査も困難

次のサイトで検索可能。 しかし素人が漏れなく調べるのは困難

Karmarkar特許

アルゴリズム特許として有名

Knuthと特許

Knuth: アルゴリズムの神様,TeX/METAFONTの作者

Knuthも特許を?

Red Hat と特許

Cygnus Support → Cygnus Solutions → Red Hat に買収

LWN: Red Hat and software patents

Statement of Position and Our Promise on Software Patents:

BSD,LGPL を入れると誰でも使えてしまう

他の例:

大学でも特許の波

論文書く前に特許取れ

独立行政法人化
TLO (技術移転機関)

遺伝子特許

ヒト遺伝子特許が急増

ヒトゲノム計画 (Human Genome Project): 遺伝情報を公開することによって対抗

[2000-03-14] ClintonとBlairがヒト遺伝子情報を公開するよう科学者に呼び掛け

We applaud the decisions by scientists working on the Human Genome Project to release raw fundamental information about the human DNA sequence and its variants rapidly into the public domain, and we commend other scientists around the world to adopt this policy. (*)

その日のうちに Celera Genomics の株は19%, Incyte Genomics (Incyte Pharmaceuticals) の株は27%落ちた。

たくさんのサイトが遺伝子特許に反対

結論

ソフトウェア特許に反対しよう

反対意見が W3C の Patent Policy を変えた

オープンソースつぶしに特許を使う企業に抗議しよう

UnisysFraunhofer, ……

特許がある以上,企業は特許武装せざるを得ない

参考リンク


リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp
Last modified: Sat Jun 8 18:27:08 JST 2002