1991年

#3024/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/11   5:46  ( 69)
makeindx, TeXマクロ集, 圧縮特許詳報/奥村
★内容
……略……
 ROM男さんからいただいたものは,Fialaたちの圧縮アルゴリズムの特許
です.
United States Patent No. 4906991
Date of Patent: Mar. 6. 1990
Textual Substitution Data Compression with Finite Length Search Windows.
Inventors: Edward R. Fiala and Daniel H. Greene
Assignee: Xerox Corporation
Filed: Apr. 29, 1988.
 審査にちょうど2年かかっているんですね.
 まずこれは著者たちが出願した三つの特許のうちの一つだと書いてあります.
あとの二つは次のものです(特許がおりたかどうかは不明).
Start, Step, Stop Unary Encoding for Data Compression,
  Application Ser. No. 07/187697.
Search Tree Data Structure Encoding for Textual Substitution Data
  Compression Systems.
  Application Ser. No. 07/187699.
 肝心の内容ですが,Comm.ACMに載った論文と同じです.例なども同じで,
たぶん同時に用意したのだと思います.ただ,論文のほうが理論的な説明が詳しい
のに対して,この出願文のほうが具体的で,アルゴリズムを非常に詳しく記述して
あります.ただし,ここで具体的に記したアルゴリズムに限るのではなく,
  ...the aim is to cover all modifications, alternatives and equivalents
  falling with the spirit and scope of the invention as defined by the
  appended claims.
ということで,類似品はすべてこの特許でカバーしたいというのが著者の考えです.
 ちなみに,圧縮関係のこれ以前の特許では次のものがあるそうです.
    Eastman et al.  4464650   8/1984
    Welch           4558302  12/1985
興味のあるかたはぜひ取り寄せてください.
 新LHは,このFialaたちのアイデアを使っているのですが,その他に新し
い考え方をたくさん含んでいるので,問題はないのでしょうか.それとも,考え方
が一部同じなので特許侵害になるんでしょうか.もし後者なら,もし仮にたとえば
ZivとLempelがテキスト置換方式圧縮というものに特許をとっていたら,
もしPATRICIA木に特許がとられていたら,……と考えると,もうどんなプ
ログラムも,いろんな人と契約を結ばなければ作れなくなってしまいます.
Welchも特許をとっているということですから,UNIXのcompress
やSEAのarc,PKの昔のPKarcやPKPAKなどはWelchのアルゴ
リズムそのままですからすべて特許侵害となってしまうはずです.どうもおかしい
ことです.でも,Welchの特許がおりたのが1985年ということですが,
AT&TやSEAやPK社が特許侵害で訴えられたという話は聞いたことがありま
せん.この謎をどう理解したらいいんでしょうか.
 特許をとった人はみな産業界の人のようです.WelchはUNISYS,
FialaたちはXeroxのPARCです.おそらく,産業界に身を置く人は,
自分のした仕事をとにかく特許出願しないと地位の確保や昇級に結びつかないので
そうするのだけれども,実際にそれでもって他を押さえつけることは全く考えてい
ない,そもそも係争になったら,本来数学の公式や計算機の算法に特許がおりるこ
とが間違っているのだから勝つ見込みもない−−というふうには考えられないでし
ょうか.下手な特許も数うてば通るもので,既存の特許のなかにも永久機関まがい
のおかしなものもけっこうあるということを聞いたことがあります.
……略……

ここでROM男さんから Ziv-Lempel も特許があることを教えていただきます。 米国特許 4,464,650 の APPARATUS AND METHOD FOR COMPRESSING DATA SIGNALS AND RESTORING THE COMPRESSED DATA SIGNALS というもので,Sperry Corporation の Willard L. Eastman, Abraham Lempel, Jacob Zib の連名で,Filed Aug. 10, 1981 となっています。

#3026/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/12   6:14  (  9)
特許>そうですか/奥村
★内容
Eastman et alというのはZiv−Lempelだったのですか!
こんなに圧縮関係のアルゴリズム(?)で特許がとられているとは驚きです.
そもそもアルゴリズムや数学の公式などは特許がとられないものとばかり思って
いたのですが,認識が甘かったかな.たしかNotices of the AMS
かなんかにそう書いて会ったと思ったのでまたさがしておきます.
アルゴリズムは特許がとれないので特許があっても問題ないとか書いてあった
ような気がします.
特許があっても関連特許で抑えられるのでしょうか.
LHも特許をとっておいbルうがいいのかな,吉崎さん?
#3034/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/13   5: 3  (  7)
圧縮ソフトNOAH,HYPER/奥村
★内容
 西も東もなくなったドイツから手紙とディスケットが来ました.
 NOAHというシェアウェアの圧縮プログラムを送って下さり,それがまったく
私の昔のLZARIをコンパイルしただけのものだというのです.NOAHを販売
しているのはニューヨークの人です.何か打つべき手はあるでしょうか.
 その人はもう一つ,HYPERというシェアウェアを送って下さいましたが,こ
れがけっこうコンパクトで,圧縮比もLHarcより良いことがあります.ここの
PDSに入れておきますので,興味があったら見てください.

LH という名前を Microsoft がシェル組込みのコマンド名にしてしまいました。

#3037/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/13   8:47  (  9)
LHの名称は使用しないほうが……/奥村
★内容
 MicrosoftのDOS5.0のベータテスターをしている米国の人から連
絡が入りました.LHarcの新版をLHという名前には絶対しないでくれという
ことです.
 というのも,DOS5.0ではLH(LOADHIGH)という内部コマンドが
あって,コマンドラインからLHと打ち込んだらLH.EXEがロードされるので
はなく,パラメータがないと怒られるだけだというのです.マイクロソフトにコマ
ンド名の再考を促すのは難しいだろうとのことです.
 その人はLHarcでいいじゃないかと言っていますが,まあとにかくLHだけ
はよしたほうがいいということです.吉崎さんにも連絡しておきました.
#3046/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/14  23:26  ( 20)
米国は甘くない/奥村
★内容
 LHがMS(PC)DOS5.0の内部コマンドになるので改名しなければなら
ないんですが,吉崎さんもLHAくらいしか思いつかないので困ったと言っておら
れました.
 CompuServeの圧縮関係のボード(IBMPROのDataCompr
essionボード)に圧縮アルゴリズムarの類を掲載して議論を呼びかけたの
ですが日本と違って何も反響がないので変だなと思っていましたら,どうもああい
うことは米国の習慣でない旨,ある米国の友人から忠告されてしまいました.ああ
いうことをしても米国ではARJとかNOAHのように他人に金儲けに利用される
だけであるから,ちゃんと金を取ったほうがよいというのです.なるほどと思いま
した(金は取りませんが).私はStallmanが無料のプログラムを配布する
のにあんなに法的な言葉を並べ立てることに対して怪訝に思っていました.「ご自
由にお使いください」だけでいいではないかと思っていたんですが,考えてみると
米国はそんなに甘いところではないのかもしれません.
 この前圧縮特許について考えたことをここに書いたところ,そんなに甘いものじ
ゃないということをメールで言われたのですが,米国という社会を考えるとやはり
私の考えは甘すぎたのではないかと反省しています.

 岡本さんどうも,HYPERは私はまだ2つほどしか試していませんでしたが,
そのうち1つはたまたまLHarcより小さくなったのでなかなかやるなと思っ
てたんですがそうでもないですか.
#3071/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/19   5:20  ( 36)
DDJ圧縮コンテスト/奥村
★内容
米国のインフォーマントから連絡があり,DDJ圧縮コンテストの詳細がCompu
ServeのDDJFORUMのLib0にCONTST.ARCというファイルに
収められているということだったので,さっそくダウンロードしてきました.吉崎さ
んのB+ツール(BP.EXE)があったのでCompuServeで初めて試して
みましたがうまくいきました.ところがファイルサイズがちと大きくて,30分以上
かかり,破産しないかと冷汗をかきました.以下にコンテスト参加要領を挙げます.
これを読むとまだ他にもグラフィックスデータやDDJの原稿が圧縮すべきデータに
含まれているようですが,どういうわけか私がダウンロードしたものの中には入って
いませんでした.よくフォーラムを読めばいいんですがもう$$$$$がちらついて
また入っていく勇気はありませんでした.ところでひとつ大変なことを発見しました.
このコンテストで圧縮すべきファイルの中にICE.EXEというのがあり,参加規
定に「最新のLHarc」と解説されているんです! ICEというのはLHarc
の偽物なんですが…….必要ならこのICE.EXEを含む私がダウンロードした全
ファイルを掲載しますがどうしましょうか.130kバイトほどです.
……略……
#3125/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/27   2: 0  ( 40)
データ圧縮の特許さらに2件/奥村
★内容
このボードの少し前にFialaたちの特許のことを書きましたが,さらに2件.

Eastman et al. U.S.Pat. 4,464,650 (Aug. 7, 1984): Apparatus and Method
for Compressing Data Signals and Restoring the Compressed Data Signals.
「発明者」にはZiv,Lempelも名前を連ねています.図を見るとあたかも
装置であるような書き方をしています(たとえば「Hashing Circui
t」)が,FORTRAN Vのプログラムがついていることになっていて(入手
したものには付いていませんでしたが),
  It is appreciated that the programmed computer version of the invention
  comprises one embodiment of the invention, other embodiments being
  realizable by microprogrammed or hard wired electronic devices.
となっており,このとおりだとすればプログラムを食わせたコンピュータも特許の
枠内だということです.クレームの数が多くて244個もあります.なるほど特許
というものはこういうふうに申請するのかと感嘆しました.

Welch. U.S.Pat. 4,558,302 (Dec. 10, 1985): High Speed Data Compression and
Decompression Apparatus and Method.
おなじみLZW法の特許です.こちらも図を見ればこういう回路を備えた装置であ
るかのごとく書いてありますが,FORTRANのプログラムが付いており,
  FIG. 5 is a listing of a Fortran subroutine for implementing in software
  a data compressor similar to that of FIG. 2.
のような控えめの書き方をしてあります.

両者ともソフトウェアそのものが特許だとは言っていないようですが,どうでしょ
う? また,後者は前者を引用しており,「これは遅いのでこういうふうにした」
とちゃんと書いてあります.こういうふうにして既存の特許から逃げられるのでし
ょうか.
いや,どちらもAssigneeがSperry Corporationとなっ
ていました!

ところで前回私が「アルゴリズムに特許はおりないはず」と書いた根拠は次の記事
です.これにはアルゴリズムに特許がおりた例を挙げてありますが実際は無効であ
ろうというような書き方がしてあります.
     Edward N. Zalta.
     Are algorithms patentable?
     Notices of the American Mathematical Society,
     35(6):796--799, 1988.

追伸:これを書いたあとでROM男さんの書き込みを見ました.そうですか,I/O
さっそく立ち読みしてきます(長沢の本屋にあったかな?).

最後に書いてあるのは I/O という雑誌の最新号に League for Programming Freedom の人が DDJ に寄稿した記事が紹介されているというものです。

#3131/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/28  22:16  ( 34)
算法特許/奥村
★内容
ROM男さんの指摘してくださった『I/O』2月号を立ち読みしたら,DDJの
記事のようなので,もとの記事を探してみました.
    The League for Programming Freedom.
    "Software patents: Is this the future of programming?"
    Dr. Dobb's Journal, Nov. 1990, 56--73.
DDJを購読しておりながらこれを見過ごしていたとは恥ずかしい限りです.たい
へん重要な内容ですので,以下,ROM男さんの書いてくださったものと一部重複
しますが,要約しておきます.なお,CACMの1990年8月号にも関連したこ
とが載っているということです.
●もともと特許は物質の変換の過程に対してしか認められず,データの変換のよう
 なことは特許の枠外とされていた.ところが1981年のDiamond vs.
 Deihrというケースで,これは物質の製造過程でコンピュータプログラムを
 使うという理由により特許から除外されるべきかというのが争点であったが,最
 高裁は特許の枠内であると判定した.これを拡大解釈して,特許局はソフトウェ
 ア技法にも特許が認められると捉えるようになった.それ以来,ソフトウェア関
 連の特許がどんどん受理されるようになり,現在約2000件あり,1989年
 だけで700件下りた.
●誰が見ても明らかな手法にまで特許が下りている.たとえばカーソルを画面に描
 くときにXORを使うことは常識だが,この特許はCadtrakという会社が
 持っており,これで何百万ドルも稼いでいる.
●Unisysはcompressのアルゴリズムの特許を持ち,ロイヤルティを
 要求している.compressは今はPDSだが,これを使うと訴えられるよ
 うになるかもしれない.
●特許を買って他社を訴えるだけの会社もある.Refacという会社はプログラ
 マを一人も雇っていないが,スプレッドシートプログラムの再計算のアルゴリズ
 ムの特許を持っており,売上の5%を払えと脅しをかけている.
●既存特許に対処するには,関連特許を固めて交換条件にするとか,あるいはその
 特許内容がそれ以前に使われていた(prior art)という証拠をつかむ
 ことである.しかしそれはpublishされていなければならず,常識のよう
 なことはpublishされていないので立証は困難である.League f
 or Programming Freedomはこういう証拠を集めているの
 で協力してほしい.
●あなたにできることは,Leagueに参加すること,代議士に手紙を書くこと
 である.

ROM男さんから, 一つの特許のライフサイクルで必要な金額は100万円ほどと教えていただきました。

#3139/3337 計算機と算法
★タイトル (SCIENCE )  91/ 1/30   5:44  ( 27)
TeXバグ,特許/奥村
★内容
……略……
 アルゴリズムの特許については,CACMの記事も読んでみましたがいろいろ
矛盾した判例があり,混乱しているようです.いくつか言えることは,特許局に
はあまりもののわかる人はいない,結局儲けるのは特許弁護士だ,弁護士にふり
まわされているアメリカという国の将来は明るくない,ということでしょうか.
 ちょっとしたことでも書き方次第で特許になるようですから,LHAでもいく
つか特許がとれたと思います.しかし,100万円ですか,そんな金はありませ
んね.やはり企業でないと無理か.Unisysの特許というのはWelchの
です.compressがもとのLZWを若干改良していてもやはり特許にひっ
かかるのでしょうね.
#3196/3337 計算機と算法
★タイトル (SCIENCE )  91/ 2/ 9   6: 1  ( 22)
LHA差分,DIET常駐版掲載/奥村
★内容
 LHA205Aは環境変数名LHをLHAにかえたり若干のバグフィックスをし
たものです.
 LHA205が大久保先生たちの手により英語化され輸出されたので,ふだんあ
まりにぎやかでないCompuServeの圧縮ボードもかなり騒いでいます.圧
縮比はPKZIPより確かに良いが,いろいろ好みもあるようです.一方,ずっと
前にCompuServeに渡っている私のarシリーズ(アルゴリズムはLHa
と同じはず)もいろいろ話題になっており,ぜひこれをツールキット化して売れ,
そしたら儲かるぞとしつこく言う人もあり,たとえ機能が優れていてもフリーソフ
トウェアなんか採用する企業はない(事実はそうでもないのですが^_^)という
声もあったので,誰か助けてくれれば儲けは半額やるよと言ってやりましたが…….
ARJ020というのもあり,それがどうもar002のひょうせつだという話が
ありますが,よくわかりません.古いARJはグローバルビレッジ(GV)で話題
になったことがありましたので,ARJ020もGVにもう入っているかもしれま
せん.
 吉崎さんのBPというソフトでコンピューサーブにいくつかファイルを送ったの
ですが,みんなファイルが壊れていると言われて困っています.NIFTYのB+
とCompuServeのそれとは細かい仕様が違うのでしょうか.

追伸:ROM男さん,CISの圧縮関係はGO IBMPROでメッセージボード
の10番です.ライブラリの10番には圧縮関係のプログラムが入っています.
あそこはスクロール(古いメッセージが読めなくなること)がわりと速いので,
あまり古いメッセージは読めません.

1991年2月24日,PC-VAN に吉崎さんが待望の LHa 2.10 公式版を持ってきてくださいました(LHa は後に LHA としました)。 DDJ のデータ圧縮コンテストについては,参加はかまわないが 「改竄チェックルーチンなどの関係から全ソースは公開できません」 と書いておられます(#3264)。

1991年3月1日, 拙著『C言語による最新アルゴリズム事典』が刷り上がりました。

#3319/3337 計算機と算法
★タイトル (SCIENCE )  91/ 3/ 4   6:25  ( 50)
いろいろ/奥村
★内容
 吉崎さん,5時前にNIFTYにいって2.11をダウンロードしてきました。
5時になったのでこっちに来たらもうちゃんと登録してありました。どうもありが
とうございます。ところで,NIFTYでソースのダウンロード名が
LHA211_D.LZHになっていましたよ(^^)。
 シロさん,dietも入れてくださり,ありがとうございました。ROM男さん
公開どうも。
 Robert K Jungという人からCompuServeにメールがあり
ました。どこかで聞いた名前だなと思って調べてみたら,ARJの作者でした(こ
のARJはたしかここのPDSにも入っていましたっけ? 少し前,GVで帝国の
逆襲とかいって誉められていたことがありましたが,じつはARにユーザインター
フェースを付けたものという噂です。ただしユーザインターフェースといえどもト
リビアルではないので意義は認めます)。そのメールの内容は,ARJについては
全く触れず,初期のLHAはハングしたそうだが同じバグでAR002もハングす
る可能性があるかという問い合わせでした。うんとバグがあるのでアルゴリズムを
理解してから使ってくれと言っておきましょうか。いや,そのうちちゃんと答えて
おきます。初期のLHAのハングのバグはAR002に共通したものではなかった
ですよね?>吉崎さん。
……略……
#3335/3337 計算機と算法
★タイトル (SCIENCE )  91/ 3/ 8   5: 3  ( 23)
ARJ, フリーソフト, 自宅にスパコン/奥村
★内容
●ARJ の作者から email
  Robert K. Jung から email で AR002 にバグがあるかどうか
問い合わせてきたということは前にも書いたかもしれません。初
期の LHA がハングしたので同じアルゴリズムを使っている ARJ
が心配になったのでしょう。一応アルゴリズム自身にはバグはな
いと言っておきました。
 その返信が来ました。彼は現在求職中で,ARJ 2.0 はスライド
辞書をやめて彼自身が考えたアルゴリズムを使うとのことです。
大きいファイルではそのアルゴリズムの方が圧縮が良いとか。で
も具体的なことは書いてありません。
……略……
#4170/4172 計算機と算法
★タイトル (SCIENCE )  91/ 6/15  21: 3  ( 16)
ARJ の作者からメッセージ/奥村
★内容
 米国で人気のシェアウェア圧縮ソフト ARJ の作者 Jung 氏の算譜
が解凍部分だけ公開されているのですが,事実上 AR002 と全く同じ
であると CompuServe に書いたところ,次のような回答がありました。

Thank you for your work in AR002.  In ARJ210, I try to give you the full credit
for your pioneering work.  ARJ does use a much larger sliding dictionary than
LHA to get the better compression.
……
ARJ uses a 32 bit CRC for more data reliability. The header structure allows
for multiple volumes and other options. The header design allows recovery of
files from damaged archives. ARJ supports C text mode and cross platform
pathnames. The ARJ archiver is not experimental in any sense. The ARJ sliding
window compression algorithm is completely different from that in AR002.  It
uses a new approach that allows fast speed and a larger window size.

肝心のアルゴリズムについては教えてくれないようです。
#4193/4193 計算機と算法
★タイトル (SCIENCE )  91/ 6/18   4:17  ( 64)
吉崎さんどうも/奥村
★内容
  LHA の C 版ですが,UNIX にしなくても MS-DOS
用のしっかりした C 版を作っておけば,あとは
UNIX の世界の人が移植してくれると思います。す
でに米国から2件ほど C ソースの引き合いがあり,
しかたがないので LHXC か LHAOS2 でも送ろうと
思っています。

 ちなみに UNIX ではワイルドカード(これは DOS
の用語ですが)を展開するのはシェルの仕事なので
lha a foo *.tex と打ち込めば実際に lha に送られ
る時点では lha a foo ex1.tex ex2.tex ex3.tex の
ようになっています。書庫内ファイルの指定には引
用符をつけてこの機能を殺す必要があると思います。

  Jung からまた来ました。

The algorithm I use in ARJ 2.00 is based upon an invention of mine. It is NOT
the Brent algorithm.  I tried building that one.  It has a lot of interesting
theoretical twists, but it does have recency as one of its attributes, so a
secondary compressor does not work well with it.  My algorithm works like the
old brute force methods but with several speed ups.  At a later time, I will go
into more details.

 というわけで,力任せの方法を改善したようなも
のだということです。どういうものかわかりません
が,二十何Kの辞書サイズをうまくこなすのですか
ら,たいしたものです。われわれももっと研究する
必要がありますね。簡単な方法の改良でうまくいく
という可能性もあります。じつは LHA の trie (not
trei!) は特許がらみで灰色なので,別の方法を見つ
けたいと考えているのですが……。吉崎さん,この
部分も含めて研究し,論文でも書きませんか?
……略……
#4254/4254 計算機と算法
★タイトル (SCIENCE )  91/ 6/22   3: 6  ( 46)
plain2.exp, LHXC など/奥村
★内容
  EastWind さん plain2.exp どうも。公開しておきました。

  FORT77 さん,ソースの差分,よろしければライブラリに
ついでの折にでも入れておいていただければ……。

 吉崎さん,LHXC は何かバグが残っていたと聞いていたの
ですが,f コマンドのバグですか。もしパッチがありまし
たら公開していただけませんか。すでに米国の希望者には
LHXC と LHAOS2 を送ってしまいました。お一人は WIN3 に
移植するとのことです。

 圧縮のスライド辞書部ですが,なんとか Brent の方法を
改良して最新のものが見つかるようにできないものでしょ
うか。

 ちなみに ARJ210 には次のような謝辞が含まれているとか。

    I wish to express my gratitude to Haruyasu Yoshizaki (Yoshi) for
    developing LHARC and distributing its source code.  LHARC gave me
    the impetus to start studying data compression.  I also wish to
    thank Haruhiko Okumura for providing additional ideas.  His AR001
    and AR002 program provided the basic design for the early versions
    of ARJ.  Much has happened to the ARJ design since then.  In fact,
    only a small percentage of ARJ is derived from AR source code.  The
    most important part of ARJ, the LZ77 compression routine, is new
    and original.

 謝辞はどうでもいいからアルゴリズムを教えてくれれば
いいのですが金になることは米国人からは聞き出せません。

……略……
#4271/4275 計算機と算法
★タイトル (SCIENCE )  91/ 6/23   4:43  ( 44)
plain2, 特許など/奥村
★内容
……略……

 吉崎さん,Brent のは特許になっているという話
は聞きません。Fiala and Greene はあれだけのもの
から三つも特許を申請しているんです。ARJ の Jung
も自分のスライド辞書圧縮法の特許を取りたいとか
書いていたようです。

……略……

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

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp

Last modified: Wed Dec 23 15:14:35 1998