売り上げを伸ばすことを考えると、以下のようないろいろな方法が考えられます。他にもあるでしょうが。

企画
アルゴリズムを他の分野に応用
減色
複数画像の256環境での高画質表示
256testとの統合、複数のビットマップを表示、上層に移動コマンド
256testをそのままのアルゴリズムでCに変換して高速化
256testをDelphiで書き換え
digtal8のアルゴリズムによるプリンタードライバー
ベクトル量子化圧縮
グラデーション近似
画像のオブジェクト化
大きく分けて圧縮のためのオブジェクト化と画像検索のためのオブジェクト化を考えています。MPEG-4は構造としては対応しているものの実際には画像を1枚の矩形オブジェクトとして扱うだけみたいです。
手書きの輪郭を与えて細かいパラメーターを学習する。
輝度変化から、面の向きを推定するフィルター
セル画風変換
画像分類
複雑さの増えない画像合成
隣接数/min(2色のドット数)/2色の距離
フラクタル圧縮の圧縮率を上げる
音声のベクトル量子化圧縮
映像のベクトル量子化圧縮
究極の映像圧縮ソフト
画像理解
TSP
AIC最適化
グラフ作成ツール
AIChist
人口などに応じて地図を変形するアニメーションを作成するソフト
正方形の日本地図
濃度を水玉グラフで表現
学習エンジン
MilkyWayAstrology
遺伝子情報処理
協調するソフトウェアを増やす
Photoshopへのプラグイン
Netscapeのブラウザのソースが公開されたらしいので組み込む
減色ソフトの他のソフトハウスへの供給
 

現在は、C,C++,VB+ImageKnifeからしか使えないが、VB単体からも使えるようにインタフェイスを拡張する
DOSから、pag1min.dllを呼ぶ
current2の付加

OCX化
pag1min.dllをVBから直接呼べるようにする。

様々な環境に対応する
Win95版
Mac版
java版
32bitDOS版
第4項 市場拡大
OS/2版
トークン発行の効率化
EasyWin版のpag1tetoを、VBからバッチ的にコントロールする
NTのコンソール版
用途別に機能を特化させる
壁紙の軽量化
WebのGIF画像
WebのアニメーションGIF画像
マルチメディアCD-ROM
ゲーム
8bitの映像
3D-CGのテクスチャーマッピング
ベクトル化の前処理
技術
機能を充実させる
第1項 複数画像の表示、共通パレット
そのまま
パレットの平均
パレットの重み付き平均
複数のビットマップファイルに共通のパレットを作る
固定パレット、与えられたパレットでの表示
固定パレットWinG
固定パレットWinG+残りの20色を最適化
固定パレットWinGの4倍の画質
共通パレットを使って表示するタイミングについて
複数画像表示の特許出願番号をヘルプとオープニングに追加する
第2項 代表色を、点ではなく線にする
第3項 固定パレット+ディザー
固定パレットモードの追加WinGの4倍の画質を目指す
体心固定パレット256色の場合、{格子点、面心、体心(ケルビン配置、ウィア配置}の中では、これが好都合だった。
第4項 与えられたパレット
最適化パレットと疑似階調表示機能の分離
一部分だけの固定パレット(ゲーム向き)
30色(5*3*2)の固定パレット+215最適化パレット
HSV(17:3:5)について量子化したパレット
百科事典の色見本
PhotoCDのパレットを調べる
第5項 疑似階調表示
ランダムディザーも選択可能にする
第6項 少ないパレット数
n(<=256)点を指定して、それらが別々の色になるまで
98用の4096色中16色画像
98用の4096色中16色2画面パラパラ画像
24bit色中256だけではなく、18(15,12)bit色中256色などにも対応
使っていないパレット分サイズを小さくする
第7項 パレットの整列
黒から白への最短経路問題を解く 反転したときに、出来るだけ遠い色になるパレット
第8項 複数画像を1枚のbitmapと複数のパレットにまとめる
複数のモノクロ画像を1枚のパレット画像にまとめる
色セロファン用の立体視画像を作る
回転する立方体をパレットアニメで実現する
16bit,15bit化 3D写真用の画像
3d-maxという製品では、v-syncで左右の目を切り替えていると思ったら、実際は、h-syncごとの切り替えだったので、pag1tetoはあまり関係がなかった。
第9項 赤緑色盲のエミュレート エルグレコがそうだったらしい
第1,第2主成分へ射影
第10項 明度毎に分割、彩度などは、平均の値 ほぼ、モノクロ画像
第11項 パレットファイルの出力
microsoft multi media viewerや、directorで使うらしい
第12項 小領域毎に2色に減色する
第13項 16分割16色のgifファイルを作ることで、ファイルサイズを減らす。
第14項 forceパレット
小さいパレット 最適化部分を半分に減らし、残りを固定パレットにしたもの。

ImageKnifeの機能をすべて使う

全画面表示
アイコン作成、サムネイル、アンチエイリアス縮小
印刷物と、画面を比較することによるγ補正
バックカラーを、指定、ランダム、範囲内ランダム、近傍ランダム、無しから選ぶ
選択した色の範囲を変更する
選択範囲とファイルとの間のやりとり
印刷レイアウト
印刷プレビュー
座標表示、選択範囲、マウスポインター
複数の画像を指定したときに、自動的にレイアウトする機能
画面をキャプチャーする
選択範囲へのレタッチ、非選択範囲へのレタッチ
透明度のバッファー付きで切り貼りなど
円での選択
HSVでの色の選択
一括処理の時にレタッチ機能を使うマクロ
不定形切り張り
不定形をフォーカスをぼかして、貼り付ける機能
繰り返しパターンの境目が見えないようにする機能
ImageKnifeのフィルターのままでは縁の部分の処理がまずいので、縁を付けてからフィルターをかけ、縁を無くする処理。
RGB別々に編集する機能(分離、合成)
テキストの切り張り
テキスト部分だけずれた位置の画像を使う
第6節 ImageKnifeにもある機能を高品位にする
第1項 平滑化
減色された画像を最適に平滑化しつつ、24bit化する
エッジ保存平滑化
rgbの差のmaxが一定値以下なら平均化する
アンシャープフィルター
σ2指定の低域通過フィルター
周波数成分(除去・抽出)フィルター
第2項 エッジ検出フィルター
いろいろあるのを一応全部実現する。
AICを使って一次元でエッジ検出を行なう
エッジを黒にして縁取りする
第3項 カスタムフィルター
5*5のlongフィルター
第4項 RGB値毎にノイズ除去
第5項 組織的ディザー画像をフルカラーに戻すフィルター
第6項 YIQ毎にカットオフ周波数の違う平滑化フィルター
第7項 色相だけの平均
第8項 疑似階調表示を平均化した上で、ヒストグラムを作り、また疑似階調表示を行う(1画面でも画質の向上になる)
第9項 与えられたパレットからボロノイ細分を作り、ドローネ四面体だけを平均化
第10項 する
第11項 リサイズ
超解像による拡大
ベクトルフォントの縮小と同様に、形を保存する縮小
第12項 [10][00]をどう補完すべきかを与えて任意の補間パターンを選べるようにする
第13項 モノクロ化
20色を含むモノクロ化
モノクロN階調に変換する。
適応的な敷居値による二値化
色成分の除去
第14項 セピア、全体の第一主成分によるモノトーン化
第15項 コントラスト
第16項 軸毎に、輝度、コントラスト、ネガティブ、入れ換え、合成など
第17項 コントラストの代りに分散の増減
第18項 色空間での任意の点、線、面を基準にしたズーム
第19項 箱から箱への指定方法
第20項 古くなって黄ばんだ画像対策
第21項 ハイライトを増強する
第22項 若くてつやのある皮膚の質感にする
第23項 回転もcubicciに含めて、内挿法を(共一次内挿法、三次畳み込み内挿法)を選択可能にする
第24項 アフィン変換、二次関数による変換(例:全身写真の足を長くする)
第25項 Mask付きPutのためにWinG対応する
第26項 透明を含めてWinGのプット
第27項 ブレ
サインカーブでの振動を表現する。
第28項 16MB以上の画像を扱えるようにする
第7節 ImageKnifeには無いオリジナルなレタッチ機能
第1項 4連の領域分割
ベクトル化前処理として
第2項 変形
ゆらぎ機能
魚眼レンズ]
水滴を通した画像
目を大きくする
領域毎のボロノイ分割によって、セル毎のレンズ効果
砕けた鏡風の効果
普通のカレードスコープ
円筒のカレードスコープ
盲点の作成
第3項 フィルター
孤立点除去フィルター
繰り返し回数の指定
AICを使ったノイズ除去
領域内での色の平均からの差が最大の点が、領域中央の点であるなら、平均に置き換える
平均からの差が大きい点を検出する
彩度の平均化
最小値、最大値、(最大+最小)/2フィルター
最大値、最小値フィルターの形をセット可能にする
全域に渡るFFTで、特定の図形をカットする機能
多数決フィルター
平均-多数決フィルター
メタリック化
第4項 画像の合成
選択範囲にグラデーションを重ねる
画像間の和、差、反転
一方を細切れにして、再配置によって他方を近似
近似の仕方に、平均だけでなくさまざまなバリエーション
市松模様
マッピング
水面の光のテクスチャー
モノクロパターンに、グラデーションマスクで色付けする
mix用画像の生成
近傍との差の二乗和の大きい点だけを
R,G,B,Y
三次畳み込みの11,01のグラフを元に2画面の演算を行う
MIN,MAX,平均,差の絶対値
第5項 領域立体化
細線化の応用
一方向だけの曲率を一定にする
放物線近似で反復計算を行う
まじめに反復計算
三次畳み込みの応用
第6項 位置による分割
色の誤差を最少にするように色空間を分割したように、色の誤差を最少にするように画面を直線で分割する
第7項 色空間での変換
色相環だけにノイズを重ねる
彩度を上げる
ヒューを回転させる
ヒューを2倍にする
HSV座標系での色の座標変換
輝度を色相に変換して、サーモグラフ風の画像を作る
色度平面と、白、黒のディザー
中心を通る3平面とデジタル8色
12線
第二主成分までの色平面に射影する
輝度だけを二値化する
色空間のトリミング 主題と関係無い色を無視する。
色相に応じて、位置をずらすフィルター、サイケデリックな効果を狙う。
色空間内の1点からの距離で透明度を求める
色の分布のフラクタル次元を求める
網点を形成するディザーパタン
第8項 その他
近傍の第一主成分を求め2値化するフィルター
小さい領域を少ない色で表現することによるノイズ除去
キャプテン風のブロック単位2色
逆行列を求めることによる画像の復元
MacPaintにあった微分
細線化
領域ボロノイ←→色空間ボロノイ
ボロノイ分割して、ランダムモザイク
TSPもDLLにして追加
影付き文字
ヒストグラム平坦化
3D空間でのヒストグラム平坦化
小空間毎に、第一主成分を求め、それについて、二元二次の回帰式を決定し、それをエッジとする。
n色ずりの作成
第3項 フォーマットコンバーター機能
トランスペアレント、インターレースGIF
プログレッシブJPEG
Susieのpluginに対応←要望1件
SunRasterfileformat
PhotoCD←要望複数(PhotoCDDeveloper'sKitは19万円もするそうです。ライセンスだけなら、500ドル)
MAG、PICその他各種国内フォーマット←要望1件
TWAINスキャナー
WinNTの16bit(565)ビットマップに対応する
rgbが逆順になっているビットマップに対応する(存在する?)
DJG規格ローダーに対応するDOSなのでバックグラウンドで動作させる
Word付属のgraphicfiter(CGM,EPS,TIF,WPG,PCD,PCX,PICT,JSH)に対応できないか調べる←要望1件
WinGに対応するトップダウンDIBへの対応
LViewが使っているJPEGライブラリは使えない?
LZH圧縮ファイルのセーブロード
Macバイナリーのjpeg
Photoshopのフォーマット←要望1件
第4項 ドロー機能
各オブジェクトに画像を張り付けることを可能にする
不定形のrleを前提にする
第5項 ペイントツール機能
投げ縄ツール
多面体へのマッピング
遺伝的アルゴリズムによる画像生成
繰返しパターン作成支援
6角形3つの組合せパタンの繰返し
うずまきスタンプ(ハンズで作ったシールのデザイン)
複数の点からスタートするペイント機能
サイクリックペイント
スキャンした画像の文字などの部分を削除するツール
線を指定して、断面を延長
スポイトツール
ランダムな位置で筆の形で、元画像の平均の色をプットする
順次1/4の領域に分割していく。誤差の少ない1/4の範囲は1(2)つの色で塗ってしまう。色数の違う領域のモザイク
マスク機能
テキストの貼り付け     
第6項 ビューアー機能の高機能化
大きなビットマップをスクロールバーを付けて表示
全画面表示
256色から、236色への変換
ファイラーでのプレビュー機能
ビューアーを独立させる
操作方法
ダブルクリックで----------------------------pag1tetoを起動
フォームに
shift+ドラッグ&ドロップで複数のファイルを--すべて追加
ドラッグ&ドロップで複数のファイルを--------順次表示
shift+ドラッグ&ドロップで1つのファイルを--古い画像をそのまま、新しい画像を落した位置に追加
ドラッグ&ドロップで1つのファイルを--------古い画像を削除、新しい画像を落した位置に追加
画像に
shift+ドラッグ&ドロップで複数のファイルを--過去のファイルと、選択したファイルを縮小一覧表示
ドラッグ&ドロップで複数のファイルを--------選択したファイルを縮小一覧表示
shift+ドラッグ&ドロップで1つのファイルを--落した位置を見て、接続
ドラッグ&ドロップで1つのファイルを--------落した位置の画像を削除、新しい画像を追加      
第7項 一括変換機能
マクロを付けて、環境と呼べる程にする
回転もバッチ処理可能にする特に90度回転
8項 カタログ機能
複数のサムネールを表示する時に、固定パレットではなく、統合パレットを使って表示する
{メモリー上の画像、クリップボード、ファイル}の一覧
データベース機能は、Delphiを使うと良いかも.
第9項 スライドショー機能
画像データベース機能
複数のビットマップを縮小して一覧表示
16色のサムネイル
disp_icoのユーザーインタフェイスを流用する
ビデオエディット機能
118色パレットによるAVIファイル
モルフィング
HD上でビデオを表示してみることが出来れば、サイズが大きくできる
圧縮ツール
rgbxyでボロノイ分割を行なう
ドローツール
ベクトル化によって、ズームしてもジャギーがでないようにする
水平または垂直な面を仮定する
重なりの認識
壁紙交換
第11項 独自機能の追加
ビットマップの右端の余りに暗号を記入出来るようにする
パレット付きフルカラービットマップを作る
パレットとビットマップの隙間に暗号を入れる
第12項 アニメーション機能
ダンシングガールというVBでアニメーションを行なうソフトがありますが、これと同様のソフトを作成するためのツールとして、pag1tetoの共通パレットを使った減色が使えます。さらに進んで、複数画像を順次表示するツールも作れば、良いなと思っています。普通は、FLCとかいうファイルを使う場面だと思いますが、とりあえず、個々をRLE圧縮しただけのものの方が簡単です。
第13項 パレットアニメツール
2画面を1bitmap+2paletteに変換
カラーシミュレーションソフト
シュードカラー
色射影で、2倍サイズのデスティネーション
第14項 スキャナ
紙の皺対策
300dpiでスキャンした画像を200dpiにする時に、線を消さないようにする。
雑誌の湾曲対策
第15項 壁紙ツール
2枚の画像を市松配置にする
回転繰り返しパタンの作成
第16項 二値画像処理
12角形に太らせる機能
細線化
第17項 ホームページのパーツ用ツール
矢印、ボール、ライン、壁紙
第18項 図形の関数近似を行う
卵の写真から関数を求める
ハートから関数を求める
様々のハートを少数のパラメータで表現可能にする
第19項 突然変異を利用したアート作成
第20項 ビデオ編集
部分的に時間を変化させる機能
第21項 モルフィング
バグを無くする
メモリー不足などのエラーがでても異常終了せずに、できるだけ正常に復帰する
クリップボードから新画像に貼り付けた後、ツールモードの変更ができない。
モノクロJPEGを表示しようとすると、一般保護違反
*.jpeもJPEGファイルとして扱う。
Windows95でダイアログが、フォアグランドに来ない問題を何とかする。アクティブページにならないとパレットが狂ったまま。
ImageKnifeのフィルターにbugがあるので、自分で作る。
ヒストリーを忘れてしまうバグ
最適化パレット数がオーバーフローするとエラーで止まる場合がある。
ImageKnifeの代入の場面ででる可能性のあるエラーをすべて検出する。エラー時メモリ残量の表示
レタッチ後、フォームに合わない場合がある?
色を知る機能が使えないバグを避ける
pag1minの256色以下の画像に対するバグ取り
新しい画像をロードする時に、セーブするかどうかを聞く
24bit環境で、ファイル渡し減色は可能?
 
速度を上げる
第1項 全体の高速化
C++版の方をWin32sに対応する
VB版の方をWin32に対応させるVB4.0が出てから
call32を使って、DLLだけ32bitに対応する
DirectXに対応する
変更したオプションに応じて、必要部分だけ再実行
パレット作り、疑似階調表示を分離
最も原始的な、ビットを削減することで256色以下にするアルゴリズム
インライン展開を指定することによる高速化
ユーザーインタフェイス部分をVBからCに変更する←要望2件
第2項 メモリを節約して、高速化する
DLLを1つにまとめてファイルサイズを減らす
第3項 ヒストグラム
int精度のサンプリングによる高速化
512色オプションを可能にする
HASH_CRASHの状態毎の、速度を比較
16bit色のビットマップの高速化(乱数の利用を試す)
ハッシュテーブルのどこまで埋まった状態がもっとも効率的か?
hashの改善で、3秒は速くなる
色テーブルの書き換え時に方向を変更することで、メモリを半分にする
ヒストグラム初期化ルーチンを別にすることで、16MB以上の共通パレットを可能にする
サンプリングを全数調査で無くすることによる高速化
第4項 色空間分割の高速化
直方体のセルに分けて、その頂点を代表点にする。疑似階調表示重視
分散最大のセルを探す時に、TSPのプログラムのアルゴリズムを流用する。
分割バイナリーサーチ
第5項 ボロノイ分割前処理
64分割や27分割を試す
ボロノイ分割時の前処理で、ソートを行なうことによる高速化
第6項 疑似階調表示
中間画像をメモリーに保持する(ランレングス圧縮で保持した方が速い?)
距離をユークリッド距離L2(x*x+y*y)ではなくマンハッタン距離L1(|X|+|Y|)にする
無意味だけれどチェス距離L∞も
if(hist_count[]=0L)をいつまでも使うのを止めてjun[]にする
shift命令と、ビットフィールドとを比較
スタティックカラー用のcolor_mapを最初から配列に持つ
第7項 pag1min
tetora_flag=0を前提にサイズを減らす          
第8節 レタッチ機能の高速化
koントラスト調整γ補正などは、パレットアニメーション操作で行なう。
ミラー処理など、パレットの変化しない処理で、減色を避ける
共一次内挿法で、DCIに対応する
画質を上げる
第1項 前処理
平滑化
スキャナーのモアレ除去
JPEGのブロックノイズ除去
第2項 ヒストグラム
γ補正 ハイライト部分でのマッハバンドが出る場合に対処する
平滑化した画像に対するパレットを使う
指定の矩形領域のパレットの密度を増やす
肌色の密度を上げる
下位ビットの統計
ヒストグラムの精度を上げる
面心立方のヒストグラム
hashの有無の他に、自動選択を追加
・サイズに応じて、どちらかを自動で選択する。
・両方実行して、画質の良い方を選ぶ          
第3項 色空間分割
低域強調
512分割後、自己相関の高いセルを併合する
rgbxyを分割。位置に関連して色が変わっている所を重視する
空間の自己相関から、色の間の距離を決める
境界線が短くなるように分割する
円錐で分離
終っても、近いセルをつないで、さらに分割を続ける
long版でも、ボロノイ反復を可能にする
3点を選んで回転させる
rgbかつ、第1,2,3主成分での分割
他のソフトの様に、誤差最大で分割するとどうなるかを示すオプション
第一主成分の時に3軸の誤差を調べる。            
第4項 ボロノイ細分
4次のボロノイ細分オプションの実現
ヒストグラムと独立の精度、2種類のヒストグラム            
第5項 疑似階調表示
誤差拡散法
疑似階調表示を抑制しないオプションを追加
疑似階調表示時の高画質化(すべてのセルではなく、パレットについて)
疑似階調表示部分を、別の独自アルゴリズムに
MASHを検討する(MASHは特許らしい)
下位ビットの疑似階調表示
高域強調疑似階調表示を試す
線型補間で、カラーマップの精度を24bitにする
疑似階調表示の誤差の範囲は、カラーマップの誤差の分増えることを考慮すべき
γカーブ対応疑似階調表示
rgb値での擬似階調表示の時に、パレットの密度に応じて誤差の抑制
第6項 256test
パレットに画面の面積の重みを付ける            
第7項 減色の画質評価
24->8に限定しないqualitst jpeg対応
256色画像から、画質の推定(パレット画像から、減色画質を推定する。頻度は分かるので、誤差については、近いパレットから推定する。)
pag1tetoへの統合ver1.4までのDLLと、ver1.5のDLL
qualitstの低域強調カットオフ特性変化VER1.5
Windows版
γ関数
EasyWin版qualitst
キャプチャーして、フォーム中の画像の位置を自動認識して画質評価する
面積単位で画質を表現する
面積が広くなるとどれだけ画質が落ちるかについて、相関を調べる。
面積が広くなると、どれだけ使われている色が増えるかを調べる。
ビット切り捨ての画像の変わりに組織的ディザー画像を使うと?
画像のエッジ部分の誤差は軽視するような重みつけ  
画質評価ソフト
ユーザー層を広げる
第1項 便利に
pag1teto.iniへの読み書きの回数が無駄に多くなっている
メイン画面
ヒストリーを20個保存する。表示個数だけを、可変にする。
アクセスできなかったファイルをヒストリーから外す
ファイルマネージャーでのダブルクリックで1つのpag1tetoへ読み込む
キーボードで切り貼り操作
切り貼りの用語切出し、切り貼り、張り付け、確定
タイトルバーの表示内容を選択する、進捗状況
パレットアニメによるコントラスト
メニューバーで、レタッチの下位に、{色の変換、フィルター処理}を作る
選択範囲の数値入力
ビットマップ内スクロール
中心無しの平面の3点
オプション
速度優先を4K236ではなく、32K120にする
変換予想時間、予想画質
関数毎の平均時間を記録
画質のコントロールをスクロールバーで連続的にする
オプションの全ての組合せについて実行時間を測定 パレート最適解だけを選択可能にする
パレット、先頭パレット、サイクリックに変化、スクロールバーでコントロール
ラベルで表示
レタッチ時、セーブ前、複数bmp用をそれぞれ設定できるようにする
JPEG圧縮オプションを毎回聞く?
8bit化表示と、減色を別のオプションにする。
専用ファイラー
デフォルトを、コモンダイアログにする。
フルカラービットマップだけをリストに表示する。
一括変換
一括処理の途中ででるダイアログのマウスポインターの形
コモンダイアログに変更するボタンを付ける
全般
tabindexの前回の値を記憶する
バックグラウンド実行を可能にする
インストール
インストールプログラムを作る
モニターの調整用のプログラム
一覧画面から、オペレーションを可能にする
第2項 見かけの改善
進捗状況のゲージを細かくする
ゲージをBC++から呼ぶことで、進捗状況表示を細かくする
3Dボタンなどで見かけを改良する
第3項 ヘルプ
ヘルプにエラーメッセージ一覧を書く
画質についての書き込みを1個所にまとめる
256固定パレットで、GIFファイルにしても、ファイルサイズが大して減らない.
できないことについては、他のソフトを使うように書く
PSP3についての評価結果を書く
BIMagの評価
Oh!PCへの収録
日本文芸社のCD-ROMへの収録
サポートのメールを反映する
第5項 ファイルをドロップすると、クリップボードに減色したファイルを入れる。
pag1twacのクリップボード対応
 
販売
知名度を上げる
送金比率を上げる
機能制限の強化
印刷されたフロッピーラベルを送る(NIFTYのSW送金代行サービスの制約にひっかかるかも)
ユーザー名をオープニングに出す
開発者向けのpag1min.dllでは、名前をコード中に入れる
登録ダイアログ
名前に様を付けても良いように変更する
試用ユーザー向けの出力頻度を5,3,1に変更する
1本のコピーで、複数のユーザーが使う場合の複数のトークン、複数の設定保存について考える
ユーザー名のデフォルトをWindowsに登録してあるものにする
pag1teto.ini
license.iniとpag1teto.iniを一つにまとめる
販路を広げる
料金を上げる
企業向け1マシン、ユーザー無制限で値上げしたバージョンを作る

 

 (C)MATSUOKA , Hajime

[HOME][計画]