Fractal image compression

Fractal image compression はフラクタル理論のエキサイティングな応用です。 特に画像圧縮では

説明

このアプリケーションでは、下記の操作が可能です。

  • 画像をこのフラクタル方式で圧縮する
  • 以前の圧縮された画像を別のフォーマットに圧縮する

以下の特徴を含むプラットフォームライブラリを使用する.

  • 多言語
  • 設定可能なマルチリゾリューションのズーム
  • ダークモードのオプション
  • 新しいバージョン通知


プロズ:

  • 正しくプログラムされた場合は、画像解像度とは独立して機能します。
  • 特殊な圧縮方式です
  • You can real you to go (あなたが行くように学習できるようにする)


定数:

  • 圧縮プロセスが非常に遅いです
  • あなたは、非常に高い圧縮比を達成していません (少なくとも私が使用したパラメータで)

コードの説明

(2017年3月25日). http://www.nikkansports.co.jp/news/news/news/2017/2017/ 2018年9月23日閲覧. ^ "".fractal image compression アルゴリズム(2018年3月18日). http://www.nikkansports.com/articles/news/article/article/news/article/article/article/article/article/articles/article/article/article/article/article/article/news/article/article/article/article/article/article/article/article/article/article/article/article/article/article/article/article/art/article/art/art/article/article/article/article/article/artics/arts/art/artico/artics/artics/artics/artics/artics/artics/artics/arts/arts/arts/arts/arts/arts/arts/arts/art"art"art"art"art"art"art"art"art"art"art"art".""".".".".".""."""""""""""""""""""""""""""""""""""""""""""""""""""""""""."."""""""""""""."""""""""."."."""""."""""""""""""""".""""""""""""""""""""""""""."""""".""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

このアプリケーションは、Delaunay 追加三角関数ライブラリを使用しています。これはまた、アプリケーションのフィンガープリント


ハイレベルアルゴリズム:

  • 圧縮:
    • ピクセル値ではなく 画像領域間の関係の保存に集中します この場合の三角形は特に重要です
    • 画像は、複数の三角形から成る三角形のグリッドに分割され、三角ベクトルのドメインを形成します。
    • この画像は,コードブックに指定された大きな三角形を構成する新しい三角式に分割されます.
    • 三角線は動的で、分割とマージアルゴリズムは三角形のピクセルの分散に基づいて適用されます。
    • コードブックの三角測量が確定すると、最も代表的な 2 ^ n の三角形がコードブックを作成するために選択されます。N の値は圧縮速度と品質に影響を及ぼします。
    • ドメインの三角形ごとに、コードブックの三角形を持つ最適なマッピングは、最小値の二乗誤差 (MSE) 基準を使って検索されます。
    • 三角形間の最適な地図は、次の組み合わせによって発見されます:
      • 頂点の振幅 (6 個の可能性)
      • 係数のオフセットを決定します。
      • 0 から 1 までの倍率を検出します。このスケールファクターは 0 から 1 の間に保持し、減数分裂を防止します。
      加え て, これら の パラメータ は 一定 の 数 の ビット を 用い て 計算 し, 圧縮 時間 と 比率 が 道理 に かなっ て おり, 望み の 質 と 一致 し て いる よう に し なけれ ば なり ませ ん。
  • 各チャンネルの圧縮ファイルに保存された情報:
    • 2つの三角測量を再現する情報:
      • ループごとに分割する三角形
      • マージの結果に削除された準線 (分割繰り返しを完了した後)
    • コードブックの 2 ^ n 三角形の選択
    • 各ドメインの三角形の最適なマッピング:
      • マップに使用するコードブックの三角形 (ビットなし)
      • 最適な頂点順列 (6 つの組み合わせ, 3 ビット)
      • オフセット (作成者は,オフセットを効果的に 6 ビットで表現していることを示しています)
      • 縮尺 (作者 たち は, 縮尺 が 効果 的 に 6 ビット で 表わさ れ て いる こと を 示し て いる )
  • 減圧 (チャンネルごとに):
    • 三角線の三角線(三角線)が取得されます。
    • コードブックの三角形が取得されます。
    • このプロセスは、結合が完了するまで繰り返します。
      • すべてのドメインの三角形を、コードブックの三角形との最適な交点にマッピングします。


人工知能の修士号を取得した後,K-ミドイドを応用してコードブックに最も重要な三角形を抽出する方法を想像する.

イノベーションがアルゴリズムの改善や妨げになるかは分かりませんが、最初は複雑に思えたプログラムを自分でプログラムする必要がなくなるのです。


画像処理は、一般的に RGB のチャンネルに分割されます。

それ は, 各 チャンネル に 一つ ずつ 糸 を 通す よう に し て, 複数 の 処理 に 用い られ て い ます。


バージョン v1.1 では,画像 ID 規格に適合した読者が追加されました.

したがって,単に行うだけで,アプリケーションの圧縮画像 (.dfc) を開くことができます:

BufferedImage image = ImageIO.read("image.dfc");

ウィンドウ

Fractal image compression v1.0 (2022-2024)

Bideo を参照
ダウンロード

Fractal image compression v1.1 (2026)

ダウンロード

バージョン

image

このアプリケーションは、私の大学時代の IEEE 用紙に記述されている fractal image compression アルゴリズムを実装します。これは、デラナニー三角測量とブロックコードに基づくものです。

私 は 大学 生 の 級友 と 協力 し て, テレコテレビ ( バルセロナ の 概要 64 ページ ) の 最後 の 研修 期間 中 に この アルゴリズム の 最初 の 版 を 開発 し まし た。

インターネット は まだ 初期 の 段階 に あり, どの 進歩 も ほとんど 個人 の 努力 や 物理 文書 に 依存 し て い まし た。

分割とマージの方法の実装に成功しました。これは、最も代表的な三角形を計算し、コーディングプロセス中に最適なマッピングを見つけることでした。しかし、 3 か月の集中的な開発にもかかわらず、アプリケーションは完了しませんでした。

アルゴリズムの新たな実装を紹介します。 2週間のレコード時間内に完全な開発と完成です。

三角形を処理するための追加関数が追加されました。これは すでにインフレーション効果アプリケーションのためにプログラムしました。

今回 は 専門 家 が プログラム し た デラナニー 三角 法 の 図書 を 使い ます。

レンガを自分で作らなくて良いときは,早く壁を築けることは明らかである.


実写ビデオ

image

v1.1 の新機能は,画像IO と互換するアプリケーション内におけるフラクタル圧縮イメージリーダーの追加です.

したがって,以下のようなアプリケーションで圧縮された画像(.dfc)を読むことができます:


BufferedImage image = ImageIO.read("image.dfc");


.jpg フォーマットと,アプリケーションの.dfc フォーマットで画像を比較すると,画質が.jpg より少し悪いことが確認できます.

しかし,結果は全く悪くはない.

と は いえ, 圧縮 に 必要 な 長い 処理 の 時間 が あれ ば, この タイプ の 圧縮 と それ を 適用 する こと は 学問 的 な 関心事 に すぎ ませ ん。


04/05/2026 - 04- 2026年12月4日 をクリックします。 このアプリケーションの進化を回復した後、実画像でテストすることを提案します。そして「4000 x 3000」ピクセルのいずれかで試します。

私 は 多く の 問題 に 直面 し て い ます。

  • (最大 40 万 三角形の広域三角の三角の補間により、分割条件チェックは、各繰り返しの すべての三角形に繰り返しされました。
  • 私のシステムにあった23GBの限界に達した後、メモリが切れてしまった。
    • 分割とマージの繰り返しの結果は、ブール値のリストに格納されます。(16 回の繰り返し x 2 タイプの三角測光 x 3 チャンネル x 40 個の要素!!!) によって合計で約4000 万個の要素が使用できます。これはまだ使用できます。
    • (2020年4月25日). http://www.oricon.co.jp/articles/news/article/news/article/article/article/article/article/article/articles/article/article/article/article/article/article/article/article/article/article/article/article/news/art/article/art/article/article/articles/art/article/art/article/article/article/art/article/art/art/article/art/article/art/art/article/article/art/art/art/art/art/arts/article/article/articles/arts/arts/articles/arts/arts/arts/arts/arts/arts/arts/arts/arts/arts/art-art-art-new/-new/art-art-art-art-art-art-art-art-art/art/art/art/art/newにしますがあたたたたたたたたたたたたたるるるるるるにしますにしますにしますにしますにしますにしますませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんませんません""".""."""""".".""."."."."".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".".
    • そして、さらにINRIのために,この計算は3つのチャンネル(rgb)と平行して行われた!
  • これら の 問題 が いったん 解決 さ れる と, 私 は なんとか 4000 x 3000 の 画像 を 圧縮 し ます が, 作業 を 完了 する の に 6 時間 から 8 時間 かかる こと が 分かり ます。

2020年3月5日閲覧. ^ """. 講談社.

  • 分割の永遠化のため 解決策:
    • 三角形の最小サイズを画像内のピクセル数に比例して縮小します。 3 つの三角形の数を減衰させます。使用された画像 (4000 x 3000) の場合は、三角形の数を 4 つ超えます (約 40 万個の三角形から約 10 万個の三角形に分かれました)。
    • さらに、各繰り返しで繰り返しないように、分割基準に適合しない三角形 (ピクセルの値の分散に比例する) をセットします。今、飛べ!
  • システムのメモリが不足しています。 解決策:
    • ブールリストに保存された分割およびマージの結果。解決:
      • 分割された三角形の数が極端に小さくなりますが、使用されたメモリは、セットで分割された三角形の立方体を保存することで保存されます。
    • K-modys のメモリ (おそらく O(n2) でしょう)。解決:
      • 三角形の数を4で割ると 三角形の減少は16分の1で メモリを分割することになります
      • 3 K ミドロイドを平行に (各チャンネルに1つずつ)。解決:
        • 三角測量の計算と,コードブック(K-mididys)の最も代表的な三角形の選択(K-modysによる.
      • K-ミドロイド48のメモリを分割しました!
  • “real” 画像処理にかかる時間 (例の画像の圧縮には 6 時間から 8 時間、各チャンネルごとに 1 ~ 3 つのスレッドを使用します)。解決:
    • スレッドの数を設定可能にします。(私のシステムでは24個のコアがあります)。処理時間は 3 時間半に短縮されます。
  • 解決 策 の 効果:
    • 三角形の数を4で割る効果は,明らかに圧縮された画像の質を著しく損なう.
    • また, 三角形 の 数 を 4 で 割る と, 圧縮 さ れ た ファイル の 大きさ も 4 の 順 に なる と 考え られ て い ます。

また, 圧縮 さ れ た ファイル の 大きさ を 最小限 に し て, 保管 す べき 情報 を 再 組織 する こと を 目標 に し て い ます。

ループごとに分割した三角形の インデックスリストに示すことです その最初のコードは 1つの三角形を 1つずつ使うことでした

各インデックスセットを保存するために必要なサイズを 最小化するアルゴリズムを設計します

それは無駄ではないと思います... もし興味があれば このウェブサイトでは、私が信頼してきた重要な点を伝えています。

おそらくZIPや7zのような一般的可逆圧縮器を捜索し,圧縮ファイル全体のグローバル化に応用することは,おそらくもっと価値があったであろう.


送付の最終バージョンでは,コマンドインタフェースが含められており,このアプリケーションは,コンパイラがあまり最適化されていないバージョンで作成されたアーカイブを,コードの最新バージョンに翻訳し,おそらくスペースが少なくなるでしょう.

(143x143 と 4000x3000) オリジナルのエンコーディングを有するファイル上のこの小さな新しいアプリケーションを使用すると,圧縮ファイルのサイズが約4%減少します.

動画

ダウンロード