タグ

圧縮と*algorithmに関するsh19910711のブックマーク (5)

  • PNGデコーダの調査結果:ESP8266でのデコードは厳しいかも

    ESP8266でJPEGとGIFがデコードできましたので、PNGも…と思い、仕様や既存のライブラリを調査していました。 その結果をここでまとめておきます。 結論としては、ESP8266でのPNG画像のデコードは不可能ではないものの、RAMの消費量や現時点で使えるデコーダライブラリの状況からは、JPEGやGIFに比べると課題が多いと言えます。 まず、PNGの圧縮方法について触れておきます。 PNGは、原理的には「ビットマップ画像をZIPで圧縮した」イメージに近いです。 圧縮アルゴリズムはDeflateと呼ばれているもので、ZIP、gzip等で使われているものと同じです。 Deflate圧縮は、出現頻度の高いビット列に短い符号を割り当てるハフマン符号化と、過去に既出のビットパターンを参照することでデータの繰り返しを圧縮するLZ77を組み合わせたものです。 Image compression D

    PNGデコーダの調査結果:ESP8266でのデコードは厳しいかも
    sh19910711
    sh19910711 2024/02/18
    "Deflate圧縮: 出現頻度の高いビット列に短い符号を割り当てるハフマン符号化 + データの繰り返しを圧縮するLZ77 / 過去に既出のパターンがあったかどうかを調べるための辞書が必要" / 2015
  • Java のデータ圧縮ライブラリを極める #jjug_ccc #ccc_c7

    テキストデータや画像・音声データなどの種類を問わずに適用できる 汎用的なデータ圧縮ライブラリ というと、deflate アルゴリズム の実装である zlib が古くからデファクトスタンダードとして存在しており、実際に広く使われています。ご多分に漏れず、zlib は Java にも組み込まれており、標準クラスライブラリを通じて利用できるようになっています。 一方で 2010 年代に入ってから、snappy, lz4, brotli, zstandard といった、zlib より優れた性能を提供する様々なデータ圧縮ライブラリが新たに開発・公開されており、利用が徐々に広まりつつあります。 このセッションでは、最近開発されたデータ圧縮ライブラリについて、Java で利用できるライブラリの紹介やそれぞれのライブラリの特性、どのライブラリを使うべきかの選定基準、また Java でそれらのライブラリを使

    Java のデータ圧縮ライブラリを極める #jjug_ccc #ccc_c7
    sh19910711
    sh19910711 2022/06/01
    "データ圧縮は得てして CPU-intensive / アルゴリズムとデータの「相性」がありうる > 実際に扱うデータでベンチマークを取ってみる / Snappy: 処理速度の速さに特化 + Zstandard, Brotli: 処理速度と圧縮率のバランスを重視"
  • 1988年

    1988年5月1日,私は PC-VAN の SIG SCIENCE(私が SIGOP をしていたところ) の第1ボード「オムニバス・ボード」(現「科学一般」)に次の書き込みをしました。 #1073/2867 オムニバス・ボード ★タイトル (SCIENCE ) 88/ 5/ 1 15:39 ( 49) LZSS法によるデータ圧縮プログラム/奥村 ★内容 依然ある雑誌にPascalで何かということで書いたのですが、その雑誌が休 刊中なので、TurboCで書き直したものをアップします。 特徴は、圧縮率が非常に良いことと、符号化が非常に遅いことです。2分木など を使えば符号化は1桁速くなりますが、LZSS法そのもののアルゴリズムをはっ きりさせるために、できるだけシンプルに作りました。符号化に時間がかかっても、 アップやダウンの電話代を考えれば、少しでも圧縮率の良いもののほうが良いとい う考え方

    sh19910711
    sh19910711 2022/05/27
    1988 / "PC-VAN のシステムは, 半角と全角を同じ行に混在させると行末部分が失われやすかった / 当時は Borland の Turbo Pascal が人気のコンパイラ / SIG SCIENCE は科学のフォーラムなのに, データ圧縮ばかりで燃えている状態"
  • 整数列圧縮アルゴリズムの最前線 - ny23の日記

    ちょうど二年ぐらい前,機械学習で疎ベクトルの圧縮に情報検索でよく使われる整数列の圧縮技術を使うことを検討したことがあった(オンライン学習でキャッシュを実装してみた - ny23の日記).そのときは,オンラインで圧縮し Disk に保存,圧縮したベクトルは陽にメモリに置かず読む(OS に任せる)という実装で,(Disk IO のオーバーヘッドが大きく)圧縮さえすれば何を使っても大差なしという身も蓋もない結論になった(結局2行で書ける最も単純な Variable byte code を採用). それ以降は整数列圧縮アルゴリズムに関する知識も NewPFD ぐらいで止まっていたのだけど,つい先日,現時点で最速の圧縮アルゴリズムの提案+ここ数年の主な整数列圧縮アルゴリズム(Simple-8b (J. Software Pract. Exper. 2010), VSEncoding (CIKM 20

    整数列圧縮アルゴリズムの最前線 - ny23の日記
  • データ圧縮について

    データ圧縮について by だうぴ 1.なぜデータを圧縮するのか。 データの圧縮を行う理由は、電話網などのネットワークでは使用時間に応じて課金されるので、送受信されるデータの量が少ないほど課金が少なくて済むためで、パソコン通信時代からオンラインでソフトウェア流通させるために必要なものとして発達してきました。 また、オンラインソフトウェアを流通させるためには複数のファイルを一つにまとめる機能がある方が便利なため、以上の2つの機能を持つソフトウェア(=アーカイバ)として有名なのが、「LHA」と「PKZIP」で、それぞれで圧縮したときのファイルの拡張子はlzh(何故lzhになるのかは後述します)、zipになることで知られています。 2.どのようにデータを圧縮しているのか。 (A)ランレングス符号化法 ファイルの圧縮、解凍の操作方法に関しては、lhasa特集などの初心者向けサイトにまかせるこ

  • 1