[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 07/03 06:07 / Filesize : 160 KB / Number-of Response : 715
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

圧縮・復元 相談室



1 名前:デフォルトの名無しさん [02/12/25 01:57]
アルゴリズムは別スレで

152 名前:デフォルトの名無しさん [03/09/26 19:01]
PPMやべー
PPMに惚れそう

153 名前:デフォルトの名無しさん mailto:sage [03/09/26 19:42]
その高速性はあたかも弾丸のようだ。

154 名前:デフォルトの名無しさん mailto:sage [03/09/26 20:47]
>>152
もう惚れ済みですが何か?
7-zip [ ttp://7-zip.org/ ] とか、
ppmd(1) [ ttp://packages.debian.org/unstable/utils/ppmd.html ] とか。

155 名前:デフォルトの名無しさん mailto:sage [03/09/29 15:59]
zip や lha とかってbitごとに辞書化してるんですか?
それともbyteごとなんでしょうか。
よく見る解説ページでは"aaabcccddddff"とかって
アルファベットだったりと概念的なものばかりでよくわからんのですが…

156 名前:デフォルトの名無しさん mailto:sage [03/09/29 16:48]
>>155
一般に圧縮ではバイト(あるいはそれ以上の大きさ)が用いられる。
あと、圧縮の説明にアルファベットがよく使われるのは”見える”からだと思われ。


157 名前:155 mailto:sage [03/09/29 18:52]
なるほどー。
じゃあ何を判断にくぎってるんですか?たとえば
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

158 名前:155 mailto:sage [03/09/29 18:53]
(失礼しました。続きを)

125 124 20 が2つ
9 300     が1つ
0 111     が1つ
の二通りにできますよね。じっさいのところどうやってるんでしょうか?

159 名前:デフォルトの名無しさん mailto:sage [03/09/30 00:32]
>>158
その違いが辞書の違い、すなわち、手法の違い。
LZ'77, LZ'78 くらいでよいから、参考書で勉強すべし。

160 名前:155 mailto:sage [03/09/30 09:34]
なるほど。もちっと本読んで勉強します。
ありがとうございました



161 名前:デフォルトの名無しさん [03/10/01 03:23]
LZSSのソース(作者が使用してもよいと言ってる物)欲しいんですがどこにありますか?
へたれなのでアルゴリズムパクリたいのですが。

162 名前:デフォルトの名無しさん [03/10/01 09:05]
>>161
おまいは奥村先生の「最新アルゴリズム事典」を枕にして勉強しる。

163 名前:デフォルトの名無しさん mailto:sage [03/10/01 11:55]
>>161
おまいは奥村先生に足を向けて寝ていはいけない。
www.matsusaka-u.ac.jp/%7Eokumura/algo/

164 名前:デフォルトの名無しさん mailto:sage [03/10/01 12:38]
>>162-163
奥村先生のソースコードは落としましたがあれは本当にLZSSの基本実装みたいな形ですよね?
だもんで速度的にちょっといけてないかなーとへたれ心に思ってみてり。
因みにツリーを使わずハッシュを使うと特許に触れるんでしたっけ?

165 名前:デフォルトの名無しさん mailto:sage [03/10/01 12:42]
>>164
LHA, gzip はハッシュを使って実装されている。

つーか、へたれを自称する人は基本をおろそかにしてはいけない。
とりあえず、LHA か gzip のソースを読んでみてわからなかったら、
素直に奥村先生を拝むこと。

166 名前:デフォルトの名無しさん mailto:sage [03/10/01 16:20]
>>161
これはどうだ?
www.ingnet.or.jp/~kojif/mu/comp/

167 名前:161 mailto:sage [03/10/01 18:31]
>>164
へたれだからこそコピペなんだよ!
ハッシュ化するのは問題ないんですね。少し勉強して奥村先生コードに手を加えるか…。

>>166
確か最初に落としたけど研究目的以外はx(メッ)なんすヨ。

168 名前:デフォルトの名無しさん mailto:sage [03/10/03 19:24]
>>164
LZSS系列だとツリー使っても特許の地雷だらけなのよね。
ハッシュ使っても地雷だらけ、ってのは変わらんけど。

169 名前:デフォルトの名無しさん mailto:sage [03/10/30 00:40]
>>168
特許の有効期限、いつになったら切れるんだ?

170 名前:デフォルトの名無しさん mailto:sage [03/10/31 19:29]
特許発効から20年ほど



171 名前:デフォルトの名無しさん [03/12/10 17:03]
MACのsit形式の仕様書はいつになったら公開されるんですか
不便でしようがありませんよ!

どこかに解析資料とかないでしょうか


172 名前:デフォルトの名無しさん mailto:sage [03/12/10 18:27]
>>171
こんなのとか。
ttp://www.stuffit.com/win/sdk/index.html

173 名前:デフォルトの名無しさん mailto:sage [03/12/10 20:54]
>20年ほど

長いよねぇ

174 名前:デフォルトの名無しさん mailto:sage [03/12/11 09:10]
>>172
ありがとう

登録制なのか…やだなぁ


175 名前:デフォルトの名無しさん mailto:sage [03/12/12 18:03]
ttp://www.cmagazine.jp/books/assyuku/index.html

この本とかはどうだろ?

176 名前:C+++ [03/12/21 01:28]
>>10
 激しくワロタ(笑)。

177 名前:デフォルトの名無しさん mailto:sage [03/12/29 14:16]
>>171
ttp://www.speakeasy.org/~russotto/arseniccomp.html


178 名前:デフォルトの名無しさん mailto:sage [03/12/31 05:25]
圧縮といえば、2年くらい前にすげー大ボラ吹いた奴が
海外にいなかったっけ?

179 名前:デフォルトの名無しさん mailto:sage [04/01/04 19:53]
>>178
1/100に圧縮できるってヤツか?

180 名前:デフォルトの名無しさん [04/02/03 08:06]
あげ



181 名前:デフォルトの名無しさん [04/02/03 13:15]
おまえらエントロピーくらいわかってるよな?

182 名前:デフォルトの名無しさん mailto:sage [04/02/03 13:17]
圧縮・燃焼について語れ

183 名前:デフォルトの名無しさん mailto:sage [04/02/03 13:23]
ロータリーエンジンはすごいって事話す事になったんですか?

184 名前:デフォルトの名無しさん mailto:sage [04/02/03 13:27]
ロリータエンジン

185 名前:デフォルトの名無しさん mailto:sage [04/02/03 13:32]
LZ系で小さいやつ
(コードサイズが小さくて、
符号化・復号化だけで余計な機能がなく、
復号が速いやつ)
ない?
アプリにこっそり組み込んで使いたいんだが。

186 名前:デフォルトの名無しさん mailto:sage [04/02/03 13:40]
>>178-179
ZeoSyncキターw
懐かしいな。

187 名前:デフォルトの名無しさん mailto:sage [04/02/03 14:24]
>>185
奥村LZSSでもつかっとけ

188 名前:デフォルトの名無しさん mailto:sage [04/02/03 14:27]
THCompが最強

189 名前:デフォルトの名無しさん mailto:sage [04/02/03 15:16]
>>185
MS-COMPRESSを呼び出すのが簡単かつ確実

190 名前:デフォルトの名無しさん mailto:sage [04/02/04 16:08]
>>189
WinでもAIXでも使えるのをおながいします。



191 名前:185 mailto:sage [04/02/04 17:25]
昔の7行スレのやつ使うことにしました。
ちょっと遅いけどすげー小さいので。
ちなみに190は偽物です。

192 名前:デフォルトの名無しさん mailto:sage [04/02/05 14:15]
む、7行であったのか

193 名前:デフォルトの名無しさん mailto:sage [04/02/06 03:04]
>>192
7行のだと、Huffman, rangecoder, LZ77系, RLEなら、
それぞれ2つ以上の実装が出ていたはず。
LZ78とかBPEとかもあった。

194 名前:デフォルトの名無しさん mailto:sage [04/02/15 14:20]
>>192
これかな?
www.isl.cs.gunma-u.ac.jp/~shingo/make/7line/7line.html


195 名前:デフォルトの名無しさん mailto:sage [04/02/16 06:46]
違う

196 名前:デフォルトの名無しさん mailto:sage [04/04/04 02:30]
数MのXMLを短時間で圧縮解凍したいんですが、圧縮率とパフォーマンスのバランス
の取れた圧縮アルゴリズムってなんでしょう?

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

 でやってみたんですが、圧縮率は満足なもののブロックソーティングが遅すぎて
使えませんでした。もちろん、高速化は可能だと思うのですが…

197 名前:デフォルトの名無しさん mailto:sage [04/04/04 10:23]
>>196
まずbzip2で試してみて、それでも遅ければブロックソートは向いてない、
十分な速度ならブロックソートの高速化が甘いかと。

ブロックソートの高速化についてはこちらなど
M.Hiroi's Home Page ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/
white page ttp://homepage3.nifty.com/wpage/

198 名前:じんばん [04/04/19 20:46]
すいません、javaで圧縮・解凍プログラムの作成を試みているのですが、
どこか良いサイトあれば教えてください。
jarでなくてgzipの話です、念のため。

199 名前:デフォルトの名無しさん mailto:sage [04/04/19 21:13]
そういったアルゴリズム関連の場合、
いきなりJavaソースを探すのではなく、
C/C++をJavaに翻訳することを薦める。

200 名前:じんばん [04/04/19 21:16]
>199
javaには、圧縮関連のインタフェースが提供されているはずなのですが。。
圧縮クラスだとか圧縮メソッドのような。。



201 名前:デフォルトの名無しさん [04/04/20 00:11]
>>198

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

java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/zip/package-summary.html


202 名前:じんばん [04/04/20 00:34]
そこはおとずれました。サンプルプログラムを教えてください。

203 名前:じんばん [04/04/20 00:55]
見つけた。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5688&forum=12


204 名前:デフォルトの名無しさん mailto:age [04/04/20 06:49]
マルチメディアのファイルフォーマットを作成中なのですが
ストリーミングに向いた、圧縮方法を教えてください。

205 名前:デフォルトの名無しさん mailto:sage [04/04/20 06:51]
>>204
うぐっ!
書き損ねた。>>204は携帯電話によく搭載されてるSMAFみたいな
奴を考えてます。

206 名前:デフォルトの名無しさん mailto:sage [04/04/20 06:57]
ストリーミングと圧縮はあまり関係ないんじゃないのか?
あえて言うなら、ストリーミングにはデータ欠損が付き物なので
データが足りなくても質を下げて再生できるようなフォーマットが必要だろう。
最初の数パケットで数フレーム分を荒く再生できるとか。

207 名前:デフォルトの名無しさん mailto:sage [04/04/20 07:24]
>>206
すると、圧縮しないほうがいいってことでしょうか?

208 名前:デフォルトの名無しさん mailto:sage [04/04/20 07:35]
いや、そういう意味ではなくて、ストリーミングに適しているかどうかは
アルゴリズムよりも実装の問題だという事。
圧縮は当然する。
しないと送受信が間に合わないでしょ。

といっても具体的に知っている訳じゃないので一般論でしかないけどね。
とりあえずmpegとか調べてみては如何かな?

209 名前:デフォルトの名無しさん mailto:sage [04/04/20 10:06]
>>204
「携帯 ムービー フォーマット」でググればそれらしい形式が出てくるんだから
更にそれらのフォーマットを調べれば済むんじゃないかなぁ。

210 名前:デフォルトの名無しさん [04/05/17 18:53]
質問です。
backup[1]という名前のフォルダの中に次のようなファイルが入っているとします。
 regcopy.exe
 help.chm
 online.htm
 readme.txt
別のbackup[2]というフォルダの中にもbackup[1]と全く同じファイルが入っているとします。

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

宜しくお願いします。m(゚д゚)m



211 名前:デフォルトの名無しさん mailto:sage [04/05/17 18:55]
釣りか?
フォルダごと圧縮してるなら、フォルダの名前が違うから。

212 名前:210 mailto:sage [04/05/17 19:13]
>>211
いや、最初はそれが原因かと思ったので、フォルダ名を同じにして圧縮してみたんですが、
やはりバイナリが一致しないんですよ。
どうやら、フォルダ名はバイナリに反映されないようですね。

今度はZIP形式に圧縮し直して試してみたんですが、やはりバイナリが一致しません。
うーん、、何故?なぜなんだろう。。

213 名前:デフォルトの名無しさん mailto:sage [04/05/17 20:50]
フォルダのタイムスタンプが違うんだろ。たぶん。
タイムスタンプも統一(偽造)してやってみて。

214 名前:210 mailto:sage [04/05/17 21:30]
>>213
レスありがとうございます。
タイムスタンプは一致させているんですが、やはりバイナリが一致しません。
どうやら、ファイルの圧縮順が違ってみたいです。

例えば、backup[1]では、
regcopy.exe→help.chm→online.htm→readme.txt
のような順で圧縮処理しているのに対し、backup[2]では、
help.chm→online.htm→readme.txt→regcopy.exe
のような順で圧縮処理しているようなのです。

つまり、圧縮書庫内に格納されているファイル順が異なるため、バイナリが一致しないようなのです。
そこで、フォルダ内のファイルを名前順で並べかえてから圧縮したのですが、圧縮順は変わらないままです。

何か良い方法はないものでしょうか?
OS:WinME
アーカイバ:Easy圧縮

215 名前:デフォルトの名無しさん mailto:sage [04/05/17 22:19]
ファイルの列挙順はファイルシステムに依存するから、
それを制御するのはWindowsでは難しいだろうな。

ところで個人的には「どうしてそうしたいのか」が不明なんだが。

216 名前:210 mailto:sage [04/05/17 22:35]
>>215
なるほど、やはりファイルシステム依存でしたか。
アーカイバ側の設定で名前順でソートしたらバイナリ一致確認できました。

>ところで個人的には「どうしてそうしたいのか」が不明なんだが。
書庫内の格納順が名前順になってないと、解凍後に名前順に並べ替えないといけないんですよ。
これって気になりませんか?

217 名前:デフォルトの名無しさん mailto:sage [04/05/18 02:51]
いや別に並び順なんてのは表示の問題であって
内部処理がどうなってようが気にならんがね。
実際FATだかNTFSだかがどんな順番で格納してるかなんか
気にしてないだろ? もちろんファイラで一覧表示するときは
なんかの基準でソートされてないと見づらいけどね。

アーカイブも同じだと思う。実際にどの順で格納されてようが
別に気にならないな。中に何が入ってるか表示するときに
ソートすればいいだけの話だから。

218 名前:デフォルトの名無しさん mailto:sage [04/05/21 20:25]
>>216
勝手に並べ替えされると「あぁ、名前順に格納されてるのか」とか考えるバカが出るような気もするが。

219 名前:デフォルトの名無しさん [04/05/25 02:38]
ファイルを圧縮するんじゃなくてメモリ内のデータをファイル名を指定して直接
LZH圧縮ファイルに出力したいんだけどやっぱハフマン法とか勉強しなきゃできないん?


220 名前:デフォルトの名無しさん mailto:sage [04/05/25 02:45]
>>219
zlibならそういう使い方もできるんだが、LHAでは聞いたことないな。
LHAという縛りがあるなら勉強してクローン作るしかないかもしらん。
LHAじゃなくても良くて単に圧縮したいだけならzlibが使えると思う。



221 名前:デフォルトの名無しさん [04/05/25 02:55]
>>220
レスサンクス
LZH圧縮しる!っていわれてるんで参考書でも買ってきて勉強しマフ


222 名前:デフォルトの名無しさん mailto:sage [04/05/25 09:58]
>>219
unlha32.dll で UnlhaCompressMem とか使えばできなかったっけ?

223 名前:デフォルトの名無しさん [04/05/25 11:26]
>>222
情報サンクス
ちょっと試してみますた
メモリ圧縮は可能だけど解凍ソフトで解凍してもファイルが出来ないよ・・orz
やはり自作しるしかないのか・・はぁ・・

224 名前:223 [04/05/25 13:18]
出来ないと思ってたのは自分のミスですた・・・
これでデータ長がDWORDの設定範囲を超えるデータを
1ファイルにまとめることが可能なら・・・これで十分いけそうでつ
>>220さん
>>222さん
ありがたう!

225 名前:デフォルトの名無しさん [04/06/05 19:13]
自動解凍のプログラムを作るのに参考になるページはありませんか?
解凍後にいろいろ処理をしたいのですが、既存のをそのまま使うのは
無理そうなんです。
解凍後に指定のEXEファイルを実行、というのでは解凍中のエラー時の
処理などがカスタマイズできないので使えないんです。

226 名前:login:Penguin mailto:sage [04/06/05 23:20]
>>225
makeとかantとかを強制させるとか

227 名前:デフォルトの名無しさん mailto:sage [04/06/06 03:31]
>>225
installshield(?)を参考にしる

228 名前:デフォルトの名無しさん mailto:sage [04/06/07 18:21]
>>225
プログラムの参考にはならないだろうが、
DGCAが、自動解凍後に任意のプログラムを実行する機能を持っている。

229 名前:デフォルトの名無しさん mailto:sage [04/06/09 06:11]
>>228
そんなんlhaだって持ってるぞ。
っつーか普通は持ってるんじゃないか?

230 名前:デフォルトの名無しさん mailto:sage [04/06/09 16:25]
>>229
% lha --version
lha for unix version 1.14g
% lha
...
LHa for UNIX V 1.14i Modified 2000 Tsugio Okamoto

ごめん。よくわかんない。
DOS版にはそういう機能があるの???



231 名前:デフォルトの名無しさん mailto:sage [04/06/10 02:40]
>>230
そもそもunix版では自己解凍書庫つくれんだろーが。

232 名前:デフォルトの名無しさん mailto:sage [04/06/10 12:26]
>>230-231
sharの仕組みを導入して何でも自己解凍化してしまえばok

233 名前:デフォルトの名無しさん [04/06/16 19:54]
 

234 名前:デフォルトの名無しさん [04/06/20 20:35]


235 名前:デフォルトの名無しさん mailto:sage [04/06/20 20:53]
既存圧縮アルゴリズムを上回る圧縮率を開発できれば食いっパくれないんだろうなぁ

236 名前:デフォルトの名無しさん mailto:sage [04/06/20 21:00]
たかだか 1%程度改善できても誰もよろこばんと思われ。

237 名前:デフォルトの名無しさん mailto:sage [04/06/20 21:04]
開発しただけではどうだかな。その後のマーケティング次第でなんとでも。
それに圧縮率だけなら既存のでもシャノン限界に肉薄しているのがあるし、
圧縮速度やメモリ効率や使い勝手も優れてないとこれから普及するのは難しい。

238 名前:デフォルトの名無しさん [04/06/29 10:52]
いま,バッファにあるデータを
圧縮したり,展開したりする必要があるんだが,
統合アーカイバプロジェクトにあるような
圧縮展開ライブラリは「ことごとく」,
ファイルから入れて,ファイルに出すような,
API しか用意していない.

バッファで使えるようなライブラリ知らない?


239 名前:デフォルトの名無しさん mailto:sage [04/06/29 11:02]
>>238
少なくとも unlha32.dll と unzip32.dll はメモリから圧縮、解凍できるが。
っつか、>>222 で既出。

240 名前:デフォルトの名無しさん [04/06/29 13:33]
>>239

lnlha32.dll では圧縮したデータを直接バッファに
出すことはできない

unzip32.dll では圧縮そのものができない



241 名前:デフォルトの名無しさん mailto:sage [04/06/29 13:39]
だとすると素直にzlib使う感じかなぁ。

242 名前:デフォルトの名無しさん mailto:sage [04/06/29 18:29]
すいません。馬鹿な質問かも知れませんが圧縮ってどうやってやるんですか?
例えばバイナリは1バイトで必ず0〜255の値しか取らないじゃないですか。
それを圧縮したら戻らなくなっちゃう気がするんですけど…

243 名前:デフォルトの名無しさん mailto:sage [04/06/29 19:01]
>>242
まずはこの辺読めば?
ttp://homepage1.nifty.com/snap/room03/c02/comp/comp.html

244 名前:デフォルトの名無しさん mailto:sage [04/06/29 19:15]
>>240
それなら、バッファにあるデータをバッファに圧縮、展開と書かないと分からないよ。

展開はともかく、圧縮データをバッファに吐くのは
圧縮できなくてデータが増える事も考慮すると、ちと面倒くさいね。

245 名前:デフォルトの名無しさん mailto:sage [04/06/29 22:07]
要するに可逆圧縮は連続データがなければ圧縮というよりファイルサイズが増えるってことですかね…
なんとなくわかりました。ありがとうございます。

246 名前:デフォルトの名無しさん mailto:sage [04/06/29 22:31]
>>245
ほとんどわかってないぞお前。

247 名前:デフォルトの名無しさん mailto:sage [04/06/30 07:19]
>>243
そこはLZ78符号 ≒ LZ77符号 >> 算術符号 > ハフマン符号 >> 連長符号
みたいな比較をしていて解説としてはちょっとおかしいぞ。
LZ符号と算術・ハフマン符号を比較するのは無理がある。

248 名前:デフォルトの名無しさん [04/06/30 08:59]
>>244
> 展開はともかく、圧縮データをバッファに吐くのは
> 圧縮できなくてデータが増える事も考慮すると、ちと面倒くさいね

ん? 意味わからん
ちぢまない最悪のケースを考慮して,
バッファを用意させればいいだけの話じゃないか

249 名前:デフォルトの名無しさん mailto:sage [04/06/30 09:29]
>>248
最悪のケースを調べるのが面倒くさいって事。

deflate でやるなら deflate のフォーマットを調べないと最悪のケースはわからん。
適当にやると不具合が出たときに泣きを見ることになる。

250 名前:デフォルトの名無しさん mailto:sage [04/06/30 09:36]
GCAってのはどれだけ優秀なの?
解凍速度優先型らしいけど、ホントにゲームに使ってる方いらっしゃる?



251 名前:デフォルトの名無しさん mailto:sage [04/07/03 03:22]
たとえばランレングス法とかのように("aaabbc" => "a3b2")
日本語を含む文字列(char型の配列)を圧縮して、
出力がバイナリでない圧縮方法はないですか?
ランレングス法は通常のテキストだとあんまり意味がないもんで。

252 名前:デフォルトの名無しさん mailto:sage [04/07/03 04:36]
>>251
そんな特異な圧縮方法はありそうにない。
ってか、ほとんど仕様が決まってるじゃん。自前で用意しる!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<160KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef