圧縮・復元 相談室

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
アルゴリズムは別スレで
113デフォルトの名無しさん
垢版 |
NGNG
lzopはディレクトリ情報もてないの?
114デフォルトの名無しさん
垢版 |
NGNG
外人さんは凄いな。
どう圧縮したらLet It Be(レットイットビー)がレルピーになるのか小一時間・・・。
聞いた奴もレルピーと聞いてLet It Beと復元する能力に小一時間・・・。
NGNG
>114

おまえはいいことにきがついた。
それが人間のもってる辞書圧縮機能というやつだよ
NGNG
>>115
熟達すると、文脈だけで次に言いたいことがわかってしまう。
これを阿吽とか、ツーカーの仲とかいう。アイコンタクトもそれに入るかな。

あとは、反射神経、夢、なども人間に組み込まれた圧縮機能といえよう!
NGNG
プッ
NGNG
>117

ちんこ
NGNG
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□■■□□□□□□□□□□□□□□□□□■■□□□□□
□□□■■■■■■■■■■■■■□□□□□□□□□□□■■■■□□□
□□■■■□□□□□□□□□□□□□□□□□□□□□□■■□□□□□
□□■□■■■■■■■■□□■□□□□■□□□■■■■■■■■■■■
□□■□□□□■■□■■□■■□□□□■□□■■■□■□□□□□■■
□□■□■■■■□□□■■□□■□□■■■□■□□□■□□□□□□□
□□■□□■■□□□□□■■■■□□□■□□■□■■■■■■■■□□
□□■□■■■■■■■■■■■□□□□■■■■□□□■□□□□□□□
□□■■■□□■■□■□□□■■□■■■□□■□□□■■□□□■■□
□□■■■■■■■■■■■■■■■□■□□□■□□□□■■■■■□□
□□■□□□□■■□■□□□□□□□□□□□■□■□■■□■■□■□
□■■□□□□■■□■■□□□□□□□□□■□□■□■■□■■□■□
□■□□□□■■□□□■■□□■■□□□■■□□■■■■□■■■■□
■■□□□■■□□□□■■■■■■□□□■□□□□□■■□■■□□□
□□□■■■□□□□□□□■■■□□□□□□□■■■■■■■■■■■
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
120デフォルトの名無しさん
垢版 |
NGNG
ttp://www.geocities.co.jp/Playtown-Denei/1184/satoimo/

他のスレにこんなのあったぞ
NGNG
>>120
どーせなら4/1になってから披露すれば良かったのに。
NGNG
>>121
どっかのスレに作者らしき奴が居たような気がする。
123デフォルトの名無しさん
垢版 |
NGNG
zipとgzip(zlib)ってアルゴリズムの組み合わせは一緒なんですか?
それでZipのアルゴリズムは”lz77->ハフマン”で正しいの?
するとどこらへんがzipとlhaは違うの?
NGNG
タフマソ
NGNG
>>123
gzip, lha のアルゴリズム的な違いはほとんどないです。
したがって、圧縮率もほぼ同等です。
ツールとしては、単体で圧縮しかできない(gzip)のか、
書庫化できる(LHA)のか、で大きく違うわけで。
126山崎渉
垢版 |
NGNG
(^^)
127山崎渉
垢版 |
NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
128デフォルトの名無しさん
垢版 |
NGNG
RARの圧縮アルゴリズムって
何使ってるんでしょう?
NGNG
ここで聞かずに作者に聞け
130山崎渉
垢版 |
NGNG
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
131山崎渉
垢版 |
NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
NGNG
ホォーシュ!
NGNG
それよりGIFはタダで使えるようになったのか?
NGNG
日本では来年の6/19に特許が切れるらしいが。
NGNG
「GIFの特許切れでPNGあぼーん」なんてほざいてるヤシ、ほんっと何もわかってないよな。
136山崎 渉
垢版 |
NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
137山崎 渉
垢版 |
NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
138山崎 渉
垢版 |
NGNG
(^^)
139山崎 渉
垢版 |
NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
140 
垢版 |
NGNG

みなさん、統合アーカイバプロジェクトのライブラリを使ってますか?
141140
垢版 |
NGNG
誰もいらっしゃいませんか?
142140
垢版 |
NGNG
各APIの関数名が統一されていないので、ダイナミックリンクが大変ですよね。
何故こんな仕様になっているんでしょうか?
    unlha32.dll は Unlha、UnlhaOpenArchive、UnlhaCloseArchive、etc
    unzip32.dll は UnZip、UnZipOpenArchive、UnZipCloseArchive、etc
    ungca32.dll は UnGCA、UnGCAOpenArchive、UnGCACloseArchive、etc
    tar32.dll は Tar、TarOpenArchive、TarCloseArchive、etc
    (他にも色々)
これ、使いにくいですよね。

私は、こうやって解決(?)したんですが、皆さんはどうなさってますか?
    std::string api = "Unlha";
    unlha     = ( UNLHA      )GetProcAddress( dll, ( api + ""         ).c_str() );
    openarchive = ( OPENARCHIVE )GetProcAddress( dll, ( api + "OpenArchive" ).c_str() );
    ......

(せっかくの統合アーカイバなのですから、スタティックリンクは勿体無いと思います)



更に、Unlha(...)、UnZip(...)、Tar(...)などのコマンドラインオプションの不統一が使いにくいなあと思います
unlha32.dll なら   x filename directory
unzip32.dll なら   -x filename directory
tar32.dll なら    -x filename -o directory

これまた使いにくい。
こちらは解決が面倒で未だに手をつけていません。help me
NGNG
それはもう、どーしようもない。カタチは統合になっただけで結局は別モノって感じ。
それなりに便利なんで感謝してますけど。
一応そこら辺の改善を含み、使いやすいアーカイバ関連のライブラリを作る
プロジェクトが興ったみたいだけど、まだモノは出来てない。どうなるのかな
144140
垢版 |
NGNG
お返事ありがとう
完全に汎用的に使えるラッパクラス/アプリケーションを制作中です

ini ファイルで dll ごとに設定を与えようと考えています。
( 各dll のパス、API接頭語、各コマンドラインオプション、などなど )

クラス構成はこうなる予定です
  CDLL     dll ダイナミック・リンクをラップしたクラス
  CArchiver  CommonArchiverLibraryProject のAPIをラップしたクラス
           Unlha(...)、Tar(...)などの違いを吸収します

CDLLのラッピングは一応完成。
CArchiverはラッピングのみ完成。次はコマンドラインオプション吸収を実装予定。
(その前に、ini ファイル用のクラスを作る予定)

面倒ですね。
Noah に丸投げしたほうが良いかもしれませんね。




> 一応そこら辺の改善を含み、使いやすいアーカイバ関連のライブラリを作る
> プロジェクトが興ったみたいだけど、まだモノは出来てない。どうなるのかな

とても気になります。
メーリングリスト内で興ったのでしょうか?
NGNG
>>144
これかと
ttp://pc2.2ch.net/test/read.cgi/software/1046607695/

あと、解凍のみならともかく圧縮まで扱うなら、iniに設定を持たせるのは
無謀かと。

・SFX作成(書庫→SFX化と直接SFX化の二通りある)
・暗号化、ソリッド、分割などのオプション機能
・tgz/tbzなど、圧縮時に拡張子が変わる時はどうするか
・ファイルリスト仕様の微妙な違い

など、仕様が異なるところがかなりあるので設定がかなり膨れ上がりそう。
146デフォルトの名無しさん
垢版 |
NGNG
ファイルを圧縮するプログラムを作りたいのですが、まずなにからはじめたらいいのでしょうか
NGNG
>>146
まずは、ファイルをコピーするプログラムを作る。
このときに、ファイルの入出力などの取り扱いについて学ぶ。

次に、圧縮のアルゴリズムなどについて学ぶ。
それから、上記のコピープログラムに、圧縮と展開を組み込む。
NGNG
>>146
データ圧縮ハンドブックを買ってくる。
ソースを(コピペじゃなくて自分でキーボード叩いて)全部うつす。
コンパイルして遊ぶ。
149デフォルトの名無しさん
垢版 |
NGNG
SPECintベンチマークにcompressが含まれてて、これはとっても
並列化しにくいんですけれども、gzipなら割と簡単に並列化できるんじゃ
ないかと思いました。

 i)1ブロック読んで、中の部分文字列をハッシュ表に登録
 ii)ブロック内の各位置からの最長一致を求める。
 iii)エントロピー符号化

という順でやれば、各ステップは並列にできるのじゃないでしょうか。
gzipだと、エントロピー符号化もブロックごとの静的ハフマンだし…
ただ、ii)では無駄な位置に対しても投機的に最長一致を探すことになりますが。
並列化できないのは、ビット列の出力ですが、この時間は大きくないでしょうし。
NGNG
>>149
i) と ii) を分ける理由が分からん。
ハッシュ関数換えるってんなら話は別だが。
NGNG
>>150
並列化したら、
後に出てきた部分文字列の方を先に処理することもありえますから、
その際に、前に出てきた文字列が未登録だと
うまく圧縮できません(逐次処理と結果が変わります)。
152デフォルトの名無しさん
垢版 |
NGNG
PPMやべー
PPMに惚れそう
NGNG
その高速性はあたかも弾丸のようだ。
NGNG
>>152
もう惚れ済みですが何か?
7-zip [ ttp://7-zip.org/ ] とか、
ppmd(1) [ ttp://packages.debian.org/unstable/utils/ppmd.html ] とか。
NGNG
zip や lha とかってbitごとに辞書化してるんですか?
それともbyteごとなんでしょうか。
よく見る解説ページでは"aaabcccddddff"とかって
アルファベットだったりと概念的なものばかりでよくわからんのですが…
NGNG
>>155
一般に圧縮ではバイト(あるいはそれ以上の大きさ)が用いられる。
あと、圧縮の説明にアルファベットがよく使われるのは”見える”からだと思われ。
157155
垢版 |
NGNG
なるほどー。
じゃあ何を判断にくぎってるんですか?たとえば
125 124 209 300 125 124 200 111
とかって画像データ があったとすると
125 124 が2つ
209    が1つ
300    が1つ
200 が1つ
111    が1つ

ってのと
125 124 20 が2つ
9 300     が1つ
0 111
158155
垢版 |
NGNG
(失礼しました。続きを)

125 124 20 が2つ
9 300     が1つ
0 111     が1つ
の二通りにできますよね。じっさいのところどうやってるんでしょうか?
NGNG
>>158
その違いが辞書の違い、すなわち、手法の違い。
LZ'77, LZ'78 くらいでよいから、参考書で勉強すべし。
160155
垢版 |
NGNG
なるほど。もちっと本読んで勉強します。
ありがとうございました
161デフォルトの名無しさん
垢版 |
NGNG
LZSSのソース(作者が使用してもよいと言ってる物)欲しいんですがどこにありますか?
へたれなのでアルゴリズムパクリたいのですが。
162デフォルトの名無しさん
垢版 |
NGNG
>>161
おまいは奥村先生の「最新アルゴリズム事典」を枕にして勉強しる。
NGNG
>>161
おまいは奥村先生に足を向けて寝ていはいけない。
http://www.matsusaka-u.ac.jp/%7Eokumura/algo/
NGNG
>>162-163
奥村先生のソースコードは落としましたがあれは本当にLZSSの基本実装みたいな形ですよね?
だもんで速度的にちょっといけてないかなーとへたれ心に思ってみてり。
因みにツリーを使わずハッシュを使うと特許に触れるんでしたっけ?
NGNG
>>164
LHA, gzip はハッシュを使って実装されている。

つーか、へたれを自称する人は基本をおろそかにしてはいけない。
とりあえず、LHA か gzip のソースを読んでみてわからなかったら、
素直に奥村先生を拝むこと。
NGNG
>>161
これはどうだ?
http://www.ingnet.or.jp/~kojif/mu/comp/
167161
垢版 |
NGNG
>>164
へたれだからこそコピペなんだよ!
ハッシュ化するのは問題ないんですね。少し勉強して奥村先生コードに手を加えるか…。

>>166
確か最初に落としたけど研究目的以外はx(メッ)なんすヨ。
NGNG
>>164
LZSS系列だとツリー使っても特許の地雷だらけなのよね。
ハッシュ使っても地雷だらけ、ってのは変わらんけど。
NGNG
>>168
特許の有効期限、いつになったら切れるんだ?
NGNG
特許発効から20年ほど
171デフォルトの名無しさん
垢版 |
NGNG
MACのsit形式の仕様書はいつになったら公開されるんですか
不便でしようがありませんよ!

どこかに解析資料とかないでしょうか
NGNG
>>171
こんなのとか。
ttp://www.stuffit.com/win/sdk/index.html
NGNG
>20年ほど

長いよねぇ
NGNG
>>172
ありがとう

登録制なのか…やだなぁ
NGNG
ttp://www.cmagazine.jp/books/assyuku/index.html

この本とかはどうだろ?
176C+++
垢版 |
NGNG
>>10
 激しくワロタ(笑)。
NGNG
>>171
ttp://www.speakeasy.org/~russotto/arseniccomp.html
NGNG
圧縮といえば、2年くらい前にすげー大ボラ吹いた奴が
海外にいなかったっけ?
NGNG
>>178
1/100に圧縮できるってヤツか?
180デフォルトの名無しさん
垢版 |
NGNG
あげ
181デフォルトの名無しさん
垢版 |
NGNG
おまえらエントロピーくらいわかってるよな?
NGNG
圧縮・燃焼について語れ
NGNG
ロータリーエンジンはすごいって事話す事になったんですか?
NGNG
ロリータエンジン
NGNG
LZ系で小さいやつ
(コードサイズが小さくて、
符号化・復号化だけで余計な機能がなく、
復号が速いやつ)
ない?
アプリにこっそり組み込んで使いたいんだが。
NGNG
>>178-179
ZeoSyncキターw
懐かしいな。
NGNG
>>185
奥村LZSSでもつかっとけ
NGNG
THCompが最強
NGNG
>>185
MS-COMPRESSを呼び出すのが簡単かつ確実
NGNG
>>189
WinでもAIXでも使えるのをおながいします。
191185
垢版 |
NGNG
昔の7行スレのやつ使うことにしました。
ちょっと遅いけどすげー小さいので。
ちなみに190は偽物です。
NGNG
む、7行であったのか
NGNG
>>192
7行のだと、Huffman, rangecoder, LZ77系, RLEなら、
それぞれ2つ以上の実装が出ていたはず。
LZ78とかBPEとかもあった。
NGNG
>>192
これかな?
http://www.isl.cs.gunma-u.ac.jp/~shingo/make/7line/7line.html
NGNG
違う
NGNG
数MのXMLを短時間で圧縮解凍したいんですが、圧縮率とパフォーマンスのバランス
の取れた圧縮アルゴリズムってなんでしょう?

XML → 無駄なコード削除 → ブロックソーティング → MFT → ランレングス

 でやってみたんですが、圧縮率は満足なもののブロックソーティングが遅すぎて
使えませんでした。もちろん、高速化は可能だと思うのですが…
NGNG
>>196
まずbzip2で試してみて、それでも遅ければブロックソートは向いてない、
十分な速度ならブロックソートの高速化が甘いかと。

ブロックソートの高速化についてはこちらなど
M.Hiroi's Home Page ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/
white page ttp://homepage3.nifty.com/wpage/
198じんばん
垢版 |
NGNG
すいません、javaで圧縮・解凍プログラムの作成を試みているのですが、
どこか良いサイトあれば教えてください。
jarでなくてgzipの話です、念のため。
NGNG
そういったアルゴリズム関連の場合、
いきなりJavaソースを探すのではなく、
C/C++をJavaに翻訳することを薦める。
200じんばん
垢版 |
NGNG
>199
javaには、圧縮関連のインタフェースが提供されているはずなのですが。。
圧縮クラスだとか圧縮メソッドのような。。
201デフォルトの名無しさん
垢版 |
NGNG
>>198

> 標準的な ZIP ファイル形式および GZIP ファイル形式を読み取ったり、書き出したりするためのクラスを提供します。

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/zip/package-summary.html
202じんばん
垢版 |
NGNG
そこはおとずれました。サンプルプログラムを教えてください。
203じんばん
垢版 |
NGNG
見つけた。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5688&forum=12
NGNG
マルチメディアのファイルフォーマットを作成中なのですが
ストリーミングに向いた、圧縮方法を教えてください。
NGNG
>>204
うぐっ!
書き損ねた。>>204は携帯電話によく搭載されてるSMAFみたいな
奴を考えてます。
NGNG
ストリーミングと圧縮はあまり関係ないんじゃないのか?
あえて言うなら、ストリーミングにはデータ欠損が付き物なので
データが足りなくても質を下げて再生できるようなフォーマットが必要だろう。
最初の数パケットで数フレーム分を荒く再生できるとか。
NGNG
>>206
すると、圧縮しないほうがいいってことでしょうか?
NGNG
いや、そういう意味ではなくて、ストリーミングに適しているかどうかは
アルゴリズムよりも実装の問題だという事。
圧縮は当然する。
しないと送受信が間に合わないでしょ。

といっても具体的に知っている訳じゃないので一般論でしかないけどね。
とりあえずmpegとか調べてみては如何かな?
NGNG
>>204
「携帯 ムービー フォーマット」でググればそれらしい形式が出てくるんだから
更にそれらのフォーマットを調べれば済むんじゃないかなぁ。
210デフォルトの名無しさん
垢版 |
NGNG
質問です。
backup[1]という名前のフォルダの中に次のようなファイルが入っているとします。
 regcopy.exe
 help.chm
 online.htm
 readme.txt
別のbackup[2]というフォルダの中にもbackup[1]と全く同じファイルが入っているとします。

このbackup[1]とbackup[2]のフォルダをそれぞれLZH形式に圧縮します。
圧縮したこれら2つのファイルのバイナリを比較したところバイナリが一致しません。
上記4つの各ファイルのバイナリは一致しているのに、なぜ圧縮すると圧縮ファイルのバイナリが一致しなくなるのでしょうか?

宜しくお願いします。m(゚д゚)m
NGNG
釣りか?
フォルダごと圧縮してるなら、フォルダの名前が違うから。
212210
垢版 |
NGNG
>>211
いや、最初はそれが原因かと思ったので、フォルダ名を同じにして圧縮してみたんですが、
やはりバイナリが一致しないんですよ。
どうやら、フォルダ名はバイナリに反映されないようですね。

今度はZIP形式に圧縮し直して試してみたんですが、やはりバイナリが一致しません。
うーん、、何故?なぜなんだろう。。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況