トップページ⇒tech
992コメント329KB

【2ch】圧縮アルゴリズム【オリジナル】

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
おい、おまえら圧縮ソフト作ってみませんか?
中途半端に圧縮されて拡張子が.2ch
0002デフォルトの名無しさんNGNG
可哀想に・・・
0003デフォルトの名無しさんNGNG
ベースはブロックソートで.
GPL以外は認めない!
0004デフォルトの名無しさんNGNG
圧縮対象を .dat ファイルに限定した圧縮とか?
0005デフォルトの名無しさんNGNG
何故、「作ります」 ではなく 「作ってみませんか」 なのだろう。
0006デフォルトの名無しさんNGNG
AAの圧縮に特化したものを作りなさい
00071NGNG
>>6
なるほど。ヨサゲ

作ります。じゃなくて作りませんか?にした理由は
プログラムを始めたばかりで一人では無理そうだったからです。
みなさんで協力していけたらいい物ができるのではないかと。
0008デフォルトの名無しさんNGNG
君は何ができるんだい?
00091NGNG
学校でCを習ってはいますが、できると言えるほど教えてもらってないです。
クラスでは出来る方ですけど。

構造体やポインタなんて全然まだで、配列ができる程度です。
0010デフォルトの名無しさんNGNG
AA圧縮かぁ・・・。ランレングスかけてハフマン符号化するくらい?
0011デフォルトの名無しさんNGNG
スペースが多いし、ランレングスでもけっこう圧縮できるかもな。
>>1は習作として作ってみれ。
00121NGNG
時間はかかるかもしれませんが、頑張ってみます。
0013デフォルトの名無しさんNGNG
俺がカオス理論の授業中に発明した圧縮方法を試すときが来たかな。
0014デフォルトの名無しさんNGNG
AAのみを対象として圧縮プログラムのコンテストを開いてみるとか。
未知のAA5個くらいに対して、一番いい圧縮結果を出したソフトが優勝。
0015デフォルトの名無しさんNGNG
AAの分野においては既存の圧縮アルゴリズムに勝てるものを作るの?
0016デフォルトの名無しさんNGNG
おもしろそう
0017デフォルトの名無しさんNGNG
>>15
うん
0018デフォルトの名無しさんNGNG
一般のデータとAAデータの差異ってどんなのがある?
AA固有の特徴が見つかるとナイスってことだよね?
0019デフォルトの名無しさんNGNG
上でもでていたけど、同じ文字が続けて使われやすいとか、
使われやすい文字が限られてるとかじゃないかな。
0020デフォルトの名無しさんNGNG
半角スペースと全角スペースの連続するある程度のパターンをテーブル化しとくと略せそう。
とにかく所有するテーブルが鍵になるのでは?
0021デフォルトの名無しさんNGNG
テーブルを256個くらいつくっとけば大抵のAAいけるんじゃない?
0022デフォルトの名無しさんNGNG
対象AAとの差異がが少ないAAテーブルのなかのAAの番号と、
そのAAと対象AAとの差分を圧縮した結果をつなげる。

0023デフォルトの名無しさんNGNG
dat圧縮るならレスをぶつ切りにして個々に22の圧縮をかけてつなげる。
あるいは差分を圧縮せずにつなげて全体を圧縮。
0024デフォルトの名無しさんNGNG
gzipより効率のいい圧縮になるとは思えないな・・・
0025デフォルトの名無しさんNGNG
>>24
gzip なんか、全然圧縮率良くないじゃないか。
LHAよりも悪いんだぞ。
bzip はそれらよりももっと良いし。
0026デフォルトの名無しさんNGNG
>>24
AA専用だったらさ、MP3みたく多少劣化しても元絵が判別できればOKということに
すれば、かなり圧縮できたりしないかな?
0027デフォルトの名無しさんNGNG
>>26
似た文字は置き換えちゃうとか?
0028デフォルトの名無しさんNGNG
やっぱ 1 と l と | は一緒扱い?
0029デフォルトの名無しさんNGNG
>>28

AA職人が泣くぞ。
003024NGNG
>>29
そう。それが一番のネックなんですが
0031デフォルトの名無しさんNGNG
>>26
ピクセル単位で命懸けてるAA職人に失礼かと。
003226NGNG
わ。30の24は26の間違いです......鬱氏
>>31
やっぱダメっスか......
0033デフォルトの名無しさんNGNG
31っす。
>>32
うん。俺職人じゃないけど、モナ板住人なんで。
0034デフォルトの名無しさんNGNG
それこそ各 AA に UID ふって、AA サーバに登録・参照できるようにするとか。
0035デフォルトの名無しさんNGNG
>>34
それは圧縮とは言わない。
0036デフォルトの名無しさんNGNG
>>35
お馬 さん
0037デフォルトの名無しさんNGNG
このスレの全文をたった48バイトに圧縮してみますた。

http://pc3.2ch.net/test/read.cgi/tech/1028570486
0038デフォルトの名無しさんNGNG
2ch/tech/1028570486
まで圧縮できないか?
0039デフォルトの名無しさんNGNG
pc3/tech/1028570486かな。
tech/1028570486までは逝ける。
1028570486はlong intで表現できるからtech(4byte)。
tech等はテーブルを持ってindexは1byteで表現しちまおう。
よって、このスレは5byteで表現できる。
0040デフォルトの名無しさんNGNG
某板には英文字のスレがあるのだが。
0041デフォルトの名無しさんNGNG
じゃあ、16進でスレ番号は5byteで
0042デフォルトの名無しさんNGNG
あとはレス番号が 1-1000 なので 10bit で扱える。
これで、少なくとも 2ch に存在するAAなら7byteで表現化農家
0043デフォルトの名無しさんNGNG
昔のスレには、10000レスとかあるが。無視かえ?
0044デフォルトの名無しさんNGNG
板1byte:スレ:5byte:レス:2byteで8byte。
0045デフォルトの名無しさんNGNG
マジな質問で悪いんだけど、結構最近のモノも含めた圧縮理論を勉強する上でわかりやすい本ってないかな?
オススメあったら教えて。

馬鹿でもなんとなくわかる本希望で
0046デフォルトの名無しさんNGNG
>45
Cマガの先月(7月)号
0047デフォルトの名無しさんNGNG
圧縮扱ってる本て少ないしな。
素直にデータ圧縮ハンドブック読んでおくのがいいかと。
0048デフォルトの名無しさんNGNG
>>45
英語でも良いなら
Kluwer Academic Publishers "Compression and coding algorithms"
がおすすめ。

日本語は参考になる本が少ないからな〜
データ圧縮ハンドブック と C MAGAZINE 以外には、
文書データ圧縮アルゴリズム入門くらいしかないが、絶版だし。

そもそも、圧縮自体が研究が進みすぎて下火になっているという罠。
画像圧縮の方は盛んだけどな。
何か画期的な圧縮法を>>45が発明することを期待する。
0049デフォルトの名無しさんNGNG
textだけど二次元的なつながりで考えて圧縮、ってのは面白いかもね。 でも圧縮関係の思いつきはほとんどが特許とられてる気もするが。
0050デフォルトの名無しさんNGNG
線画に変換してから圧縮。解凍時にオートトレース。とかは駄目?
0051デフォルトの名無しさんNGNG
>>50
その方が、圧縮率が悪くなりそうだよ。
基本パターンやカッコなどの対応をあらかじめ学習しておくのがAA向きか。
0052デフォルトの名無しさんNGNG
オートトレースで済むなら職人はイラン。
0053デフォルトの名無しさんNGNG
>>52
小さいサイズのAAなら職人技が光るけど、
大きいサイズだとツールを使ったものも多いよね。
0054開発者 ◆GODLHAg2 NGNG
LZHアルゴリズム開発者ですが何か?
0055デフォルトの名無しさんNGNG
というか、AAが対象というか、可読文字のみが圧縮対象となるから
0056デフォルトの名無しさんNGNG
>>54
ああ特許の件で何も影響力が無かったカスか、まあいらっしゃい
0057デフォルトの名無しさんNGNG
>1
いっそのことマイナーな圧縮アルゴリズム使ってみないか?
おれはBPEぐらいしか知らんが。
0058デフォルトの名無しさんNGNG
JPEGの圧縮ってどうやってるんですか?
0059デフォルトの名無しさんNGNG
逆手に持って絞ります。
0060デフォルトの名無しさんNGNG
モナー系に限定すれば、( ´∀`)とか( ・∀・)が大量に出てくるから、
かなり圧縮できそう。
006158NGNG
くっ、この糞スレを利用して
JPEG圧縮プルグラムを作ろうとしたがやはり無理か。
0062開発者 ◆GODLHAg2 NGNG
>>61
そんなことは俺が許さん!!!!(嘘
006358NGNG
>>62
何で?
006458NGNG
ネタをネタと見抜ける物でないと(略

鬱出汁脳。
0065デフォルトの名無しさんNGNG
ネット上にある、違法でない巨大ファイル(RedHatのISOなど)を利用して圧縮←遅いのでHDに一回DWN
([ISOと圧縮対象ファイル]の[同じデータ]を探してISOのデータアドレスをアーカイブに書く)
回答時はネットに接続して、ISO参照の部分だけISOから抜き取って解凍。
DQNだと思われなら無視なされて結構です。
0066デフォルトの名無しさんNGNG
>>65
なに言ってんだかさっぱりだけど
恒常性の無いデータなんか
使いモンにならんぞなモシ
0067デフォルトの名無しさんNGNG
>>65
DQN
どうせなら辞書鯖用意して巨大共通辞書ファイル置くってのはどうか。
0068デフォルトの名無しさんNGNG
>65
そのISOファイルへのポインタが消費するバイト数 >
ISOファイルを利用することによって節約できるバイト数

になる予感。
006967NGNG
用意するもの
・巨大鯖
・クライアント
・高速回線
ユーザがファイル圧縮を選択するとファイル内容が巨大鯖に転送されます。
……書いてて面倒くさくなってきたので続きはTHComp参照。
案外実現できそうな気がしない?
0070デフォルトの名無しさんNGNG
思い出した・・・この流れ・・・
昔導き出された結論はこうだ・・・
「インデックスのサイズが圧縮元のサイズと同じになる」
0071デフォルトの名無しさんNGNG
10年ほど前のある論文で、文字化された全世界の文章全てを圧縮すると
18GBに収まるってのがあった
この辞書を各クライアントが持つってのはどうかな?

当時は夢の容量だったから、だからどうしたレベルだったけど今ならいけそうだね
0072デフォルトの名無しさんNGNG
「文章」圧縮だけなら、それでもいいけどね。
0073デフォルトの名無しさんNGNG
>>57
BPEって特許からむのかな。
Cマガの記事は読んでないのでよく知らないけど、
セクションサイズを可変にするのはダメ?
255種類のByteが出現するまで読み込んで、
その中で最も多いペアを出現していない残りの1種類のByteに置き換える。
セクションのデリミタとしてもう1Byte予約しておかないとダメか。
007457NGNG
>73
俺もCマガの記事は読んだこと無いけどBPEの作者は特許取らない
ような事を言ってたらしいよ。

たしかBPEでは200種のByteが出てくるまで読みこんで(これを1ブロックとする)
その中から最多頻度のペアから順次残りの56種に割り当てて
圧縮していって圧縮が効かなくなるか256種使いきるまでやって
ペア表(軽く圧縮)・ブロックサイズ・圧縮データの組を順次出力してたと思う。

BPEが実際に使われた例は1しか知らないな。(除自作プログラム)
■ このスレッドは過去ログ倉庫に格納されています