2003-11-19[n年前へ]
■初等ロリータ指向(嗜好)プログラミング
マクロを使って事務的で「非創造的」なプログラムを「創造的」プログラムに変えてしまうというロリータ指向プログラミング・メソッド。まずは、初級編を読んで、そして中級編の付録「フリルの構造とエンコーディング」まで読むと面白い。静止画像フォーマットERIはロリータ指向(嗜好)プログラミングで作成されているのかしらん。
■桜雷さんの特許申請の話
今日「サクライ・オプティカル・ラボの桜雷」さんからメールが届きました。題名が付けられていないメールは通常読まないのですが、幸か不幸か読みました。メールでももちろん別途書きますが、この話題に関して興味がある人もいるでしょうし、このメールに対してどう対応するかの判断材料を求める上でも、ここでも書いてみます。
(2003.11.22追記)
「私信として送ったメールなので、公開するのは止めて欲しい」と桜雷さんから要望を頂きました。とりあえず、文脈を保持しつつメールの元の文章は削除しておこうと思います。なお、削除作業前の以前の文章も記録として別途保存してあります。
メールの概略http://www.hirax.net/dekirukana5/bokeboke1/index.htmlhttp://www.hirax.net/dekirukana6/rin/index.htmlは当方の出願中の特許特願2000−100042(P2000−100042)application number09/77253201/28/01Publication NoUS-2001-0016082-A1に重なるものです。これらの特許に抵触しないと確信された上でソフトの公開をしているのか考えを聞かせて下さい。当方としましては、これにあたるものだと判断してるので、ソフトの公開を停止、回収されない場合には、ライセンス料の請求や法的な措置に出る考えでいる。また、これらの記事を見て私の出願を知らずにこのアルゴリズムでソフトを作っている人もでてきていますので、もしアルゴリズムに関する記事を公開される場合には、当方が特許を申請中であることを明記してください。以前、この桜雷さんからは
画像処理ソフトで、自然対数を使う数式を使ってピンボケを作り出すソフトまたはそのアルゴリズムが存在しただろうかというような内容の問い合わせメールを頂いたことがあります。
で、その後数通の返事のメールを書いたわけですが、そのメールで返答した内容をもう一度ここに書いておきます。
さて、特開2001−216513をざっと眺めてみました。処理の流れは、画像データに対して、1.コンボリューションを行う(ただし限られたコンボリューションカーネルを用いる)2.その際特許内で示された非線形変換を行うという感じでしょうか。 以下、桜雷さんの参考になるかどうか判りませんが、私の感想をつらつらと書いてみます。 特許という観点で見ると、1、2ともに公知の技術であって、その組み合わせ自体もおそらく画像処理関連の学会誌・レポートなどを探れば、通常の写真・レンズの研究の一環で既に発表されていそうなので、公知資料があるのではないか、と思います。 ただし、公開された特許に対して、審査が通り、また、どこからか異議申し立てが無ければ、特許は通るかもしれません。 ただし、「画像処理ソフトで、自然対数を使う数式を使ってピンボケを作り出すソフトまたはそのアルゴリズムが存在しただろうか」という件は調べてみたり、じっくり記憶をたどらないとと判りません。 計算上は上記、1,2の組み合わせのソフトは結構ありそうですが、特許に書いてある式ずばりそのものを使ったものは無いかもしれません。 ただし、それは同時に特許の請求範囲が狭い(請求項に書かれている式に限定されているので)ということも意味します。この特許の式を使わなければ良いわけで、特許が成立しても特許から逃げやすいかもしれません。このメール、及び、そのあとの補足メールで書いたように、「非線形処理+畳み込み処理」の公知資料など、公知資料があるだろうと考えています。また、公開しているソフトはJPのクレーム(請求項)の計算式は使っておらず、そもそもクレームの範囲ではありません。
また、「当方が特許を申請中であることを明記してください」という件については、桜雷さんがその後に自身で確認したように、記事を書いた最初の時点からそもそも記載してあります。
ところで、以前に質問を受けた際に私が逆に桜雷さんにお尋ねした
> それで、少し知りたいのですが、私は自分で作ったプラグインなども> いつもそうしているように何かの話のネタを作って、ソフト自体は> フリーで配布すると思います。で、私以外にも自分で画像処理や> プログラミングをしている人は多いので、そんなこともあるだろう、> と思いますが、そういうときに桜雷さんはどうされるつもりでしょうか?という問い合わせに対して桜雷さんから頂いたメールの返答の内容「メーカーに採用してもらって広く使ってもらうことが目的」「もしAEなどに採用されることになったら、細かいことは気にしない」「個人で作っている物に文句をつけても仕方ない」からすると、今回は実に残念な対応を桜雷さんはされているように私は思います。以前にお返事を頂いた頃とはずいぶんと考え方がお変わりになられたのでしょうか。実に残念です。 さて、画像処理を業務とされている多くの方達、あるいは画像処理を趣味とされている方達、はたまた特許業務に一言言わせろというような方などの意見などを広く求めたいと思います。何かご意見などありましたら、jun@hirax.netまでよろしくお願いします。また、特許庁への情報提供などを行うことについての意見も強く募集させて頂きます。
ちなみに関連情報としてはUnderconstruction by Taiyo@hatenaも非常に参考になると思います。また、おととひのだいありにも書かれていますね。少し、補足をしておくと、畳込みを周波数領域で行っているのは当たり前の話になってしまいますが、単に計算量がN^2からNlogNのオーダーに落とせるという理由が一般的だと思います。
2003-11-20[n年前へ]
■続々・桜雷さんの特許申請の話 - 二通目のメール -
人に書くメールというものはやはり丁寧に書きたいので、桜雷さんへの返事は日曜日にでも書くつもりですが、先に今朝届いた二通目のメールで述べられていた内容の概略を紹介しておきます。
(2003.11.22追記)
「私信として送ったメールなので、公開するのは止めて欲しい」と桜雷さんからの要望を頂きました。とりあえず、できるだけ文脈を保持しつつメールの元の文章は削除しておこうと思います。なお、削除作業以前の以前の文章も記録として別途保存してあります。
二通目のメールの概略現在、該当する特許申請については申請中であるため、公開停止を求める通知を取り消す。もし特許の申請が通れば、申請日までさかのぼり問題となる。別のアルゴリズムによる同機能のソフトを開発する場合には問題はない。
とりあえず、特許の仕組みに対する認識が前回のメールからは変わられたようで何よりです。ところで、以前に質問メールを頂いたときに、
> hirax.netに「ご理解いただけましたら、私が同じ原理で特許を出している旨を> 掲示していただけたらと思います」ということを目立つように書いた場合には、> 異議申し立てをする会社や人が現れる可能性が高くなると思います。> なので、それは必ずしも桜雷さんに対して良い方向に向かうとは限らない> です。これは桜雷さんの好きな選択を尊重したいと思います。と書いて、桜雷さんにとって望ましい選択を尊重したいと考えました。そして、「面倒なことになるのは避けたい」「そのままにしておいて欲しい」という希望に添いたいと考えました。
それに加えて、「広くソフトが人に渡って安価で標準的に使えるようにしたい」「個人で作っている物には文句をつけない」という言葉があったことで、「桜雷さんの好きな選択を尊重したい」とお返事を書きました。請求項が狭いので特にその特許が何かの妨げにはならない、と判断したこともあります。
とはいえ、前回のメールのような対応はあまり歓迎できるものではないので、とりあえず今回は公知資料を集めて特許庁への資料提供を行うつもりでいます。そんなわけで、公知資料提供を引き続き募集しております。また、あまりこの手の話を書くのもつまらないことですから、この記事を書くのもこれで終了したいと思っています。もちろん経過の報告は逐次させて頂きますが、「IrisFilterの特許とは? 」なんていうスレッドもできているようですし、この場では何か他のもっと楽しい話題でも書いていきたいと思います。
個人的には、桜雷さんが今回のような対応をせずにこれからもただ良い製品を作っていかれることを期待しています。
(2003.11.21補足) 下記のメールを桜雷さんに返事として出させて頂いたことを報告しておきます。
(前記の理由により、なるべく文脈を保持しつつ桜雷さんからのメールの元文章は削除してあります)
お久しぶりです。平林@hirax.netです。お問い合わせを頂いた件からまず先に回答させて頂きます。また、以前メールを頂いたときの記録が桜雷さんの手元に残っていないということなので、以前の返事と重なる部分はそのメールをなるべく引用しながらお答えさせて頂きます。> http://www.hirax.net/dekirukana5/bokeboke1/index.html> http://www.hirax.net/dekirukana6/rin/index.html> > は当方の出願中の特許に重なるもだと思います。> 日本とアメリカで申請中(アメリカは現在審査中)です。> アメリカの方は日本の申請のものを基本に、範囲を広げて申請しています。(中略)> これらの特許に抵触しないと確信された上でソフトの公開をされているのでし> ょうか、お考えをお聞かせください。 JP(日本特許)に関しては請求項に規定されているような対数変換の式は使っておらず、(仮に特許が成立したとしても)特許には抵触しないように配慮してあります。そのため、> 当方としましては、これにあたるものだと判断していますので、という判断の具体的な理由を参考までにお聞かせ頂ければ幸いです。> また、これらの記事を見て私の出願を知らずにこのアルゴリズムでソフトを作> っている人もでてきていますので、もしアルゴリズムに関する記事を公開され> る場合には、当方が特許を申請中であることを明記してください。 桜雷さんが特許を申請中であるということは、以前桜雷さんが「同じ原理で特許を出している旨を掲示して欲しい」という同様の要望を書かれてきた際に、その後「よくページを読むと特許の記述も書いてあった」とご自身でご確認されているようにこの記事を書いた時点から記載しておりますので、この点については再度よく確認頂きたいと思います。 さて、ここから先は以前メールでお知らせした事項と重なる部分も多いですが、桜雷さんの参考にもなると思いますので、若干書かせて頂きます。 最初に桜雷さんから頂いたメールは「画像処理ソフトで、自然対数を使う数式を使ってピンボケを作り出すソフトやアルゴリズムが存在したか教えて欲しい」というという内容のお問い合わせでした。それに対して、> さて、特開2001−216513をざっと眺めてみました。> 処理の流れは、画像データに対して、>1.コンボリューションを行う(ただし限られたコンボリューションカーネルを用いる)> 2.その際特許内で示された非線形変換を行う> という感じでしょうか。> 特許という観点で見ると、> 1、2ともに公知の技術であって、その組み合わせ自体もおそらく画像処理関連の> 学会誌・レポートなどを探れば、通常の写真・レンズの研究の一環で既に発表されて> いそうなので、公知資料があるのではないか、と思います。> > ただし、公開された特許に対して、審査が通り、また、どこからか異議申し立て>が無ければ、特許は通るかもしれません。> > 計算上は上記、1,2の組み合わせのソフトは結構ありそうですが、特許に書いてある> 式ずばりそのものを使ったものは無いかもしれません。> ただし、それは同時に特許の請求範囲が狭い(請求項に書かれている式に限定されて> いるので)ということも意味します。この特許の式を使わなければ良いわけで、特許が> 成立しても特許から逃げやすいかもしれません。と簡単に書きました。公知資料の方は例えば特開平8-241407 「画像処理システムの特許」SIGGRAPH97 Recovering High Dynamic Range Radience Maps from Photographなどの一例を挙げるに留めますが、このような画像をぼんやりさせる効果のために「非線形ガンマ変換→畳み込み→ガンマ逆変換」を行ったり、あるいは種々のボケ画像形成のために「フィルム特性を再現する変換カーブ→畳み込み→フィルム特性逆変換カーブ」を行う例を挙げている公知資料が見つかります。そのため、特許の新規性という点において、このような公知資料などと比較した上で、特許審査を通過するかどうかは若干の疑問があります。 また、上に書いたようにJPの請求項はそもそも規定範囲が非常に狭く特許回避は容易で、現実には他社技術の抑止力にはなりえないと思います。当然、請求項からすると「アルゴリズム」というような上位概念による抽象化は欠けており、そもそもアルゴリズムを規定する特許にはなりえていないように思えます。 この感想に対しては、前回桜雷さんも「請求項に式を書いてしまっているのは気になっている」「日本のは細かすぎたかもしれない」というような感想を書かれていましたから、同じご理解はされていたことと思います。また、同様の機能を有するソフトの作者の方々もおそらく「請求項に規定されている式は使っていない」と答える方が多いだろう、と思います。それだけ、規定範囲が非常に狭い特許申請になってしまっています。 また、USPの方ももし仮に通過したにせよ、現在のClaimであれば特許回避は非常に容易で、具体的な話は省きますが、他の類似のソフトも現状ですらほとんどがそのClaimを回避しているだろう、と考えます。 そのように、以前お話を伺ったときには、特許審査通過の可能性およびその実抑止力には疑問を感じましたが、とりあえずの感想としては> ところで、私自身は特許はあまり好きではないです。といっても、「個人としては」ですけど。> それに、特許を申請する桜雷さんの考えも良く理解できます。> > で、例えば実はワタシの手元にはIrisFilterと同様の機能を持つ自作Photoshop用のプラグインが> あります。こちらは従来からあるアルゴリズム組み合わせたものですが、私がどうしても> 欲しかった16bitモード対応、距離チャンネル対応(最新のバージョンではIrisFilterでも> 対応されたようですが)、そしてAdobeの通常のプラグインインターフェース、という> ものを備えたものです。あくまで、趣味で作成しているものですが自分で好きなようにできるので> 自分用にはなかなか良いです。で、こうした個人作成のソフトはインターネットに満ちあふれています。> そんな個人で作成してインターネットにあふれているソフトがさまざまな特許などで、出しづらい> 雰囲気を近年ひしひしと感じます。そんな雰囲気がそれほど好きでないのもまた確かです。 > それで、少し知りたいのですが、私は自分で作ったプラグインなどもいつもそうしているように>何かの話のネタを作って、ソフト自体はフリーで配布すると思います。で、私以外にも>自分で画像処理やプログラミングをしている人は多いので、そんなこともあるだろう、と>思いますが、そういうときに桜雷さんはどうされるつもりでしょうか?> とはいえ、繰り返し書きますが、IrisFilterを拝見して、非常に面白く要望の高そうな> ソフトだなぁ、うれしく思いました。これからも、楽しみにさせて頂きます。 とメールで書かせて頂きました。それに対して桜雷さんの「特許を出したのは自分の研究が報われる部分が欲しいから」「自分や一部企業が独占して人が使えないような状態は望まない」「広く人に渡って安価で標準的に使えるように活動していきたい」「個人で作っている物に文句をつけても仕方ない」というような内容のお答えを頂き、「自分や一部企業が独占して人が使えないような状態は望んでいない」というお言葉と「いちいち個人で作っている物に文句をつけても仕方ない」というご判断を聞かせて頂き、納得しておりました。ですから、hirax.netで桜雷さんの特許申請についてさらに詳しく言及するかなどについては> > 目立つように書いた場合には、異議申し立てをする会社や人が現れる可能性が> > 高くなると思います。なので、それは必ずしも桜雷さんに対して良い方向に向かう> > とは限らないです。これは桜雷さんの好きな選択を尊重したいと思います。と、桜雷さんの希望を尊重することにし、「ややこしくなるのは避けたいのでそのままにしておいてほしい」という桜雷さんの判断をもとに、それ以降申請特許件には触れず、またなんのアクションもとらずにいました。 そういう桜雷さんからのご相談に乗っていた経緯で私自身は納得していたため、前回のメールのような> ソフトの公開を停止、回収されない場合には、ライセンス料の請求や法的な措置に出る考え> でおります。という対応には実に困惑を感じざるをえません。このようなことをされる予定であるならば、そもそも指摘の請求項には抵触していないので無関係である特許申請だと考えてはおりますが、そのような行為が私自身に及ぶことを防ぐために、特許庁への第三者による資料提供の制度に基づいて、公知資料の特許庁へ情報提供を行わせて頂こうと考えています。本当に、以前の桜雷さんのメールで書かれていた内容と今回の対応の違いは誠に残念でなりません。 また、多くの技術者は自らの特許申請・他社技術調査及び特許回避・あるいは異議申し立てなどを日常的に行っており、特許にいやでも慣れ親しんでいることが多い、ということはここに書き加えておきたいと思います。ですから、おそらく技術者以外の方が想像するよりも一般的に技術者は他者の特許を意識・尊重していることが多い、ということはぜひ理解しておいて頂きたいと思います。 最後になりますが、桜雷さんの特許申請というものは、後から他社から訴えられることを防止し、自分の技術の使用を保証するために、単に公開目的で使用するには有効であると思いますので、そのように活用されることを望んでいます。また、個人的には桜雷さんが良い製品をこれからも提供されていくことを願っております。 それでは、長文になりましたが、失礼させて頂ます。jun hirabayashi jun@hirax.net
2004-02-06[n年前へ]
■PDLSバージョンアップ
PhotoshopのプラグインをC言語などで簡単に作成することのできる環境のPDLSをバージョンアップしてみました。今回の変更点は、
(1) 「作業過程を記録したマクロ」内で変数(定数)宣言を使うことができるようにし、マクロを関数(DLL作成関数と同様にパラメータを外部から指定することができる)として使うことができるようにした
(2) マクロからマクロ(関数化されたものも、あるいは、されていないものも)を呼び出せるようにした
(3) 関数化されたマクロをGUIから実行時する際にはパラメータ選択ダイアログを出して、マクロ内で定義された変数の値を実行時に自由に変えられるようにした。すなわち、DLLとして作成した機能拡張と同様にマクロで作成した機能拡張関数においてもユーザーインタフェースが使えるようになった
というところです。
Photoshopを使いつつ、画像処理のプログラミングを簡単にやってみたい方は使ってみるのも面白いかもしれません。また、比較的大きなサイズの二次元データ(画像)を扱う機会が多い方でしたら、とりあえず鳥瞰図プラグインやセル表示プラグインを使うためだけに使ってみても、意外に便利で重宝するんじゃないかと思います。
また、FilterFactoryなどとは違って、16bitのCMYKモードやLabモードでも使うことができるので、そういったモードで数式処理プラグインでも使って、FilterFactoryっぽく使ってみるのも意外に面白いかもしれません。
ちなみに、動作環境はPhotoshop6.0以降で、CS(8.0)でも動作確認済みです。
2004-02-09[n年前へ]
■ビジュアルプログラミング
AutoMouseの元になっている「ビットマップに基づくビジュアル言語に関する研究」とか「ビットマップに基づくビジュアル言語」なんてとても面白い論文集。