--------------------------------------------------- 【ソフト名称】JPEGファイル圧縮プログラム carmine 【著 作 者】矢倉 光洋(yagura@col.hi-ho.ne.jp) 【バージョン】1.06 【転載・配布】どんどんやってください 【区   分】フリーウェア 【完 成 日】2016/02/09 --------------------------------------------------- ●概要 JPEGファイル画像のファイルサイズの圧縮を行います。 デジタルカメラや一般的なソフトウェアは、応答速度を優先するため (やその他の理由で)、JPEGによる画像圧縮の一部について 簡易的な処理を行っています。その部分を処理することによって 情報量が減らない形で、つまり画像劣化が起こらない形でファイルサイズを 減らします。 撮影情報(Exifデータ)の削除のデータ削減もオプションで行うことが出来ます。 圧縮率は2-20%程度が期待できます。(かなりばらつきがあります) ●説明 このソフトウェアでは、以下の2つの方法で画像のファイルサイズを 減らします。 ・ ハフマンテーブルの最適化 JPEGファイルは、ハフマンテーブルというものを用いた ハフマン圧縮を行います。ハフマンテーブルはそのデータごとに 持つことによって最適な圧縮が出来ますが、処理に時間がかかるので ほとんどのデジタルカメラは、(ある程度の効果がある)既定の ハフマンテーブルを利用しています。これを最適化することにより ファイルサイズを減らします。 ・ 撮影情報の削除 デジタルカメラでは、JPEGファイルの中にレンズ絞りやシャッター速度など 撮影情報を記録しています(これをいわゆるexifデータといいます)。 この撮影情報は、実際の画像表示には基本的に影響しません。 ですので、これを削除し、ファイルサイズを減らします。 設定により、この方法を利用するかどうかを指定できます。 もちろん両方とも利用すれば、もっともファイルサイズを減らすことができますし、 両方とも指定しなければ、ほとんど減ることはありません。 画像劣化の確認手段としては、 【画像ファイルをペイントブラシで開く→ビットマップファイルで保存】 という処理を処理前・処理後の画像ファイルに対して行い、 ビットマップファイルのバイナリ比較によって行いました。 # 比較すると、同一であるというのが判ります。 ●インストールとアンインストール  このソフトウェアはインストールの作業を行う必要がありません。 carmine.exeをダブルクリックするとすぐに利用することが出来ます。  アンインストールはファイルを消してしまえば終了です。 また、レジストリを利用しています。不要な場合は regeditにて"carmine"をキーワードにして検索し、削除してください。 ●使用方法 基本的に、二つのステップで処理が完了します。 1.ファイルの選択 メニューより、「ファイルを開く」か「フォルダを開く」を選択するか、 または処理対象のファイルまたはフォルダをドロップします。 2.処理の実行 メニューより、「圧縮処理の実行」を選択すると、「1」にて選択したファイルが すべて最適化されます。 また、処理途中で「圧縮処理の中止」を選択すると、処理を中止します。 また、画面に表示されているリストをダブルクリックすると、 ・処理前には元の画像が ・処理後には処理後の画像が それぞれ表示されますので、正しく処理できたかを確認できます。 [オプションについて] メニューよりオプション画面を呼び出すことによって、 処理方法などを選択することが出来ます。 <処理方法について> 「圧縮用情報を最適化する」 「●説明」にある「ハフマンテーブルの最適化」を利用し、 ファイルサイズを減らします。 こちらの処理では、情報はまったくなくなりません。 「撮影情報(exifヘッダ)を取り除く」 「●説明」にある「撮影情報の削除」を利用し、 ファイルサイズを減らします。 撮影情報は消去されます。ただし、一般的な画像の表示では 表示には、撮影情報は影響しません。 <保存場所について> 処理を行った画像ファイルをどこに保存するかを設定します。 ここで指定した場所に"result_carmine"という名前のフォルダを作成し、 その中に処理した画像ファイルを保存します。 以下のオプションが指定できます。 [処理対象ファイルが一つの場合、「名前をつけて保存」ダイアログを使って保存する] 処理するファイルが一つだけ登録されている場合、ここのオプションで指定した 場所に保存せず、処理ごとに場所を確認します。 <ファイルの日付情報について> このオプションを設定すると、処理した画像ファイルに対して、元の画像ファイルの 日付情報をコピーします。 <エラーになった際に、処理を停止せずにオリジナルデータをコピー> このチェックボックスをチェックした場合、ヘッダエラーなどで 正常に処理が出来ない場合に、メッセージを表示せず、 オリジナルのデータをコピーすることにより処理を続行します。 大量データを一括で処理する場合に利用できます。 <フォルダを開く場合に、サブフォルダまで画像を検索する。> このチェックボックスをチェックした場合、ファイルのドロップ時に そのフォルダに含まれるサブフォルダをすべて検索します。 <ファイルをドロップすると、すぐに処理を開始する> このチェックボックスをチェックした場合、ファイルのドロップ時に ファイルを処理対象に登録するだけでなく、実際に処理をすぐに行います。 ●開発環境 このソフトウェアは、BorlandのDelphi 6.0 Professional版で作成しました。 Microsoft VisualBasicのように手軽に作成できるのに、大変高速に動作するソフトを 作成できるこのDelphiには大変感謝しています。 ●使用上の注意 JPEGの画像フォーマットはさまざまなバリエーションがあります。 想定していないバリエーションのファイルだった場合、 正しく処理できない場合がありますので、確認の上、処理を行ってください。 なお、なるべく多くのパターンに対応したいので 正しく処理できないファイルがありましたらご連絡いただければ幸いです。 ●掲示板を開設しています。 Webページを開いています。 中に掲示板がありますので、質問などがありましたらご利用ください。 [windmaker webpage] http://www.geocities.co.jp/SiliconValley/1367/ ●謝辞 このソフトウェアを作るにあたって、さまざまな方のご協力をいただきました。 感謝の意味を込め、ここに挙げさせていただきます。  ■ 「くまぞう」さま 絵心のない私にとってアイコンのデザインはもっとも苦手な部分なのですが、 くまぞうさまのアイコンを使わせていただける 今回アプリケーションに使わせていただきましたアイコンの著作権は 「くまぞう」さまが所有しています。ホームページは以下のURLに なっています。手書き風の楽しいアイコンがいっぱいありますよ。 http://homepage1.nifty.com/KUMAZO/ アイコンの使用を快諾していただき、ありがとうございました。 ●履歴 2016/02/07 Ver. 1.06 ・ハフマンテーブルの作成方法を見直しました。      ハフマンテーブルを最適化しても、データの出現順序によってJPEGサイズが一定しないため      何度も実行するとファイルサイズが微妙に変化してしまします。これをなくすためにルールを変更しました。 2006/04/29 Ver. 1.05 ・プログラムにメモリリークチェックを行い、メモリの無駄使いを極力少なくしました。      一度に大量に処理する場合、エラーが出るのを抑える効果があります。 ・(デバック情報が残っていましたので削除して再度作成しました(2006/6/20) 2003/11/23 Ver. 1.04 ・色情報がある出現率になると正しく処理できなる不具合を修正しました。 USARA-Netさま。ありがとうございました。 2003/10/29 Ver. 1.03 ・ハフマンテーブルの生成部分をVer.1.02の際に安全目に  作っていたのを修正、安全且つ圧縮効果を高めました。 ご提言ありがとうございました。 > shiroさま。 2003/10/18 Ver. 1.02 大量処理のためのいくつかの機能を追加しました。 様々な方からご意見をいただきました。ありがとうございます。 特に藤井さま、みやさま。ありがとうございます。 ・サブフォルダの検索オプションを追加 ・元ファイルを上書きするオプションを追加 ・サイズが大きくなってしまった場合、元ファイルをコピーします。 ・ハフマンテーブルの生成部分が不備があったのを修正 2003/04/13 Ver. 1.01 エラー時にオリジナルデータをコピーするオプションを追加 ご提言ありがとうございました。 > 藤井さま。 2003/03/23 Ver. 1.00 一般公開。 ●お約束やカンパのお願いなど このソフトはフリーウェアです。著作権は主張しますが、使用は自由です。 このソフトを用いる事で起こった、すべての現象に対しての責任を、 作者(矢倉 光洋)は負いません。個人の責任で使用してください。 ただ、バグがありましたら報告いただければ幸いです。 感想は随時お待ちしています。 こういうものを作るときに、感想は一番の参考意見&報酬ですから。 またあつかましいお願いですが、もしよかったらカンパもお待ちしています。 現金はもちろん嬉しいのですが、プログラムの資料なんかも不足していますんで、 プログラム関連の書籍&雑誌なんかも嬉しいです。 もし、奇特な方がおられましたら、メールにてご連絡ください。 さて、連絡先ですが、電子メール(yagura@col.hi-ho.ne.jp)にお願いします。 多忙なときには、少し返事が遅れますが、絶対に返しますので気長にまってやってくださいまし