圧縮・復元 相談室at TECH
圧縮・復元 相談室 - 暇つぶし2ch331:デフォルトの名無しさん
05/01/14 01:57:08
ん?LZWはもう使って大丈夫なんですか?

332:デフォルトの名無しさん
05/01/14 02:02:40
解禁です。
あの子のへあーも

333:デフォルトの名無しさん
05/01/14 23:08:40
>>331
>>275-276,>>281

334:デフォルトの名無しさん
05/01/14 23:09:44
× >>281
>>282

335:デフォルトの名無しさん
05/01/16 06:08:40
rarて何使ってるの?
最近の圧縮アルゴリズムはさっぱりわからん

336:デフォルトの名無しさん
05/01/25 16:00:11
自己解凍書庫ってのは『解凍Exe』+『圧縮データ』って形になってると思うんですが
『解凍Exe』はどのようにして『圧縮データ』の位置を取得してるんでしょう?

337:デフォルトの名無しさん
05/01/25 16:46:35
自分のサイズがわかってればいいんじゃない?

338:デフォルトの名無しさん
05/01/25 19:10:43
ここに詳しい人がいる
スレリンク(tech板)


339:デフォルトの名無しさん
05/01/25 20:59:47
>>335
とりあえず

 r a r は 最 近 で き た 圧 縮 形 式 で は な い w

340:デフォルトの名無しさん
05/01/25 21:03:48
>自分のサイズがわかってればいいんじゃない?
ふむ...
『解凍Exe』内部にハードコードで書込んでおく。ってのも有りか...しかしなんかイヤな感じが

統合アーカイバとかの自己解凍書庫てどーゆー作りになってんだろ?

341:デフォルトの名無しさん
05/01/25 21:10:29
>>340
良くわからんけどID3みたいにファイル末尾に前のブロックの末尾位置だの
最終ブロックないのデータの先頭位置だののテーブル持ってるんじゃない?

342:デフォルトの名無しさん
05/01/25 21:49:39
>>341
おいおい憶測で物言うのもいい加減にしろよ。
ストリームでもなければ末尾にヘッダを置く意味がない。
自己解凍書庫の作成はあらかじめ用意した解凍ロジック付きexeの
PEヘッダに適当なデータセクションを追加修正すれば終わり。
解凍ロジックはデータセクションで定めた決めうちベースアドレスから
データを読み取るだけでOK。
PEの仕組みとローダの知識が多少あればできる。

343:sage
05/01/28 01:13:21
ソースコードが移植可能なライセンス携帯で、3kbぐらいのオブジェクトサイズの
圧縮ライブラリ知りませんか?ちょっとSymbianに乗せるアプリに実装したい
と考えています。

344:デフォルトの名無しさん
05/01/28 01:17:54
>>343
Huffman自作しなされ。以上

345:デフォルトの名無しさん
05/01/28 03:00:24
344の意訳

知りません。でも知らないって言うの恥ずかしいから煽ります。

346:デフォルトの名無しさん
05/01/28 10:44:41
MPGかWAVからAFSファイルを作りたいんだけど、ツールないですか?

347:デフォルトの名無しさん
05/01/28 11:11:10
>>346
板違い

ソフトウェア
URLリンク(pc5.2ch.net)

348:デフォルトの名無しさん
05/01/29 21:18:14
Lhaplusの作者のWebページどこへいっちゃたんだろ?
Lhaplusってあれだね、ファイル数が多いといつまで待っても
圧縮が始まらんねw

349:デフォルトの名無しさん
05/01/29 23:00:14
> Lhaplusの作者のWebページどこへいっちゃたんだろ?
URLリンク(park14.wakwak.com)

350:348
05/01/30 17:00:43
>>349
サンクス。
lhaplusをver1.50β11にしたらサクッとスタートしてくれました。

351:デフォルトの名無しさん
05/02/03 18:05:41
LZ77の圧縮にハッシュも木も使ったらまずいってどうすりゃいいんだ?
LZ77を少し改造してLZ77じゃありませんよ~とかいったらOKなんだろうか。

352:デフォルトの名無しさん
05/02/04 03:39:17
>>351
2-3文字をインデクスするリストを使えばいい
木とほぼ同程度の速度で動く

・・・ぶっちゃけ、2-3文字のハッシュと同じなんだがなw

353:デフォルトの名無しさん
05/02/11 10:42:32
なんか圧縮のことよくわからなくてはじめてここに来たんだけど、
とりあえず3バイト連続する同じデータがあれば2バイトに圧縮したらOKなんですね。
あと連続するパターン見つけるんだろうけど、俺がプログラム書いたらそんなの
時間かかってぐっちゃぐちゃでめっちゃめちゃでアウトだ

354:デフォルトの名無しさん
05/02/11 20:20:42
>>353
専門書も扱っている本屋へ行って、圧縮とかアルゴリズムとか、の本を買うと良い。

パターン検索は >>351-352 のキーワードを参考に。

355:デフォルトの名無しさん
05/02/12 17:46:17
>>352
それだとハッシュ使う特許に引っかかる可能性が残ると思われ。

356:デフォルトの名無しさん
05/02/12 18:02:28
圧縮率上げる工夫よりも特許を回避する方に労力を費やしてる矛盾

357:デフォルトの名無しさん
05/02/12 18:12:25
>>353
unsigned char c = in[i];
int count = 0;
while (c == in[++i]) count++;
out[j++] = c;
out[j++] = count;

こんな感じのルーチンで出来る。

358:デフォルトの名無しさん
05/02/13 08:34:10
>>355
ハッシュとは別の論文で発表されていたから、大丈夫だとは思うがどうだろう。
Bell and Kurp, 1991. だったかな?

359:デフォルトの名無しさん
05/02/13 11:50:47
>>358
ハッシュの特許に触れるか、だけが問題で
ハッシュと同じ論文で発表されたかは問題にはならないと思われ。

ちなみに、その論文の方法が特許化されてないのは確認済み?

360:デフォルトの名無しさん
05/02/15 22:29:54
とりあえず何も考えずに zlib 使っとくのが一番現実的なのかね。
仮に問題があったとしても、みんな闘ってくれるはず。きっと。多分。

361:デフォルトの名無しさん
05/02/16 02:46:58
>>360
zlibに採用されているハッシュ法って、まんま>>352 >>358 だよね
3文字でインデックスしたチェインリストを順に読むわけだから…

362:デフォルトの名無しさん
05/02/18 12:41:14
installshield の cab 形式への圧縮が出来るツールってないですか?
既存のcabを展開して、パッチを当てて、また再圧縮したいんですけど・・

363:デフォルトの名無しさん
05/02/18 13:08:11
>>340
UpdateResource()を使うのもありかもね。

364:デフォルトの名無しさん
05/02/18 16:38:46
>>361
zlibとかのは先頭3文字を加工して使ってるからなぁ。
ハッシュでないというのは通らんと思うぞ。

加工せず使うなら、なんとかなるかもしれんが
3文字だとテーブルだけで16M*sizeof(テーブルの要素)バイトかかる。

365:デフォルトの名無しさん
05/02/18 18:26:13
デコードするだけなら引っかからないんでしょ?
普通のアプリなら解凍できれば十分だし

366:みゆき
05/02/23 21:19:47
100個くらいあるファイルを、それぞれ違うパスワード(予めエクセル等でファイル名とパスワードの対応は作成しておきます)でzip圧縮したいのですが、やり方がわかりません。
エクセルのVBAで、UNZIP32.DLLを使えば良い、というのは想像出来るのですが、記述方法がわかりません。

お知恵をお貸しください。よろしくお願いいたします。

367:デフォルトの名無しさん
05/02/23 21:45:51
普通にコマンドライン呼び出せばいいんちゃう・・・?

368:366
05/02/23 22:55:32
解決しました!!

369:デフォルトの名無しさん
05/02/24 09:52:03
どうやって解決したのか書けよ

370:みゆき
05/02/24 11:56:21
誰か366を語って書き込みしたようです。まだ解決してません。
よろしくお願いいたします。

371:デフォルトの名無しさん
05/02/24 11:59:46
zipファイルにパスワード付けるのは安全ですか?

372:デフォルトの名無しさん
05/02/24 12:33:40
>>371
はい

373:デフォルトの名無しさん
05/02/24 12:35:58
>>371
危険です
なぜなら371はパスワード掛けてみたはいいもののそのパスワードを忘れてしまうでしょう

374:デフォルトの名無しさん
05/02/24 12:54:42
>>371
zipパスワード検出プログラムが出回ってるから気休めにしかならない
本気で保護を考えてるなら止めといた方がいい

375:デフォルトの名無しさん
05/02/24 12:56:00
そういうときのために、ファイル名をパスワードにしておくとよいよね。

376:デフォルトの名無しさん
05/02/24 13:31:00
zipそのものを暗号化してしまえ

377:デフォルトの名無しさん
05/03/04 20:56:00
zlibでzip圧縮されたデータ(ファイルにはなってない)を受け取って
解凍しようとしてるんですが、失敗するときがあります。
で、データが正しいかバイナリデータを出力してみてみたのですが
先頭からみると↓こんな感じになってます。
---------------------
78 9C EC 5A CB 6F 1C C9 79 AF 67 77 F5 6B 1E 1C
52 5A 91 94 28 52 94 B4 14 F7 41 AD 76 B5 F1 CA
2B 6E E0 83 45 1D 12 84 30 10 60 15 C0 87 24 F0
D9 B0 BD 57 55 F7 F4 3C 49 59 4B 2A 36 10 CA 46
80 2C 95 E4 60 3A 08 90 E5 DE BC 02 F2 4F 24 B9
E4 E0 3D AE 03 04 F0 4A 39 65 F2 7D 55 DD 3D ・・・
---------------------
URLリンク(www.futomi.com)
URLリンク(www.futomi.com)
をみるとzipの先頭データは8かFかってことっぽいので
このデータはzip圧縮されたデータとしてはおかしいと
思っていいのでしょうか?


378:デフォルトの名無しさん
05/03/05 01:04:40
>377
>をみるとzipの先頭データは8かFかってことっぽいので
どうしてそういう結論になる。
先頭バイトが 0x78 なんだから、CM=8, CINFO=7 でウィンドウサイズ 32k の deflate じゃないの?
あと、zlib も zip も deflate を使っているかもしれないが、zip圧縮という言い方は語弊が
あるのではないだろうか。

379:デフォルトの名無しさん
05/03/05 02:35:46
>>378
二桁目がCMなんですね
ドキュメントをよく理解できてませんでした。

>zip圧縮という言い方は語弊が
このへんはよくわかってないです。紛らわしくて申し訳ないです

380:デフォルトの名無しさん
05/03/05 14:07:03
>379
バイトの並びとビットの並びに注意しよう。
リンク先の zlib の資料でも「2.1. 全般的な規約」に書いてあるよね?

>>zip圧縮という言い方は語弊が
>このへんはよくわかってないです。紛らわしくて申し訳ないです
俺もよく分からんが、
・zlib はライブラリおよびフォーマットの名前
・zip はフォーマットの名前
・deflate は圧縮アルゴリズムおよびそのフォーマットの名前
ってことでいいの?教えてエロい人!

381:デフォルトの名無しさん
05/03/05 21:26:07
deflate 圧縮アルゴリズム
zlib 圧縮ファイルフォーマット
zip 圧縮形式の名称及び拡張子

こんな感じか?

382:デフォルトの名無しさん
05/03/05 22:59:22
zlibは圧縮ライブラリの名前でいいと思うけど

383:デフォルトの名無しさん
05/03/08 08:24:49
deflate アルゴリズム
zlib バイトストリームを圧縮するライブラリ。ファイルの概念は無い。
zip 複数のファイルを圧縮したアーカイブファイルのフォーマット。

じゃないの?

384:デフォルトの名無しさん
05/03/08 11:58:14
>>383
それが正解

385:デフォルトの名無しさん
05/03/09 12:30:08
>>383
意味なんて人それぞれ。
zipを圧縮フォーマット(たぶんdeflate)の意味で使う奴もいる。

俺は deflate はフォーマットだと思うけど、アルゴリズムだと言う奴もいるしね。
deflate がアルゴリズムなら、zlib の deflate と 7zip の deflate は
同じアルゴリズムを使用してる事になるけど、俺は別のアルゴリズムだと思ってるから。

386:デフォルトの名無しさん
05/03/09 13:18:54
↑こういう意識のやつはこの業界に必要ない

387:デフォルトの名無しさん
05/03/09 13:40:23
↑オレ用語が否定されてムキになってる人?

388:デフォルトの名無しさん
05/03/09 21:12:40
deflateはRFCで記述された通りでいいんじゃないか?

389:デフォルトの名無しさん
05/03/10 00:35:45
どっちでもいい。

390:デフォルトの名無しさん
05/05/17 22:42:40
今、圧縮解凍ツール作ってるんですけど、
unlha32で、既にある書庫にファイルを新規に圧縮して追加したいんですけど
コマンドがわかりません。どなたか教えていただけないでしょうか?

・既存の書庫ファイル(c:\work\abcd.lzh)
a/aaaa.txt
a/b/bbbb.txt
a/b/c/cccc.txt

a/b/c/d/dddd.txt を追加したい

・圧縮前のファイル
c:\temp\dddd.txt

391:デフォルトの名無しさん
05/05/18 00:17:41
a

392:デフォルトの名無しさん
05/05/18 00:45:04
>>391
追加圧縮はできるんですけど、書庫内のディレクトリ指定がうまくいかなくて困っています。(;_;)


393:デフォルトの名無しさん
05/05/18 15:48:52
Unixで暗号化ZIPファイルをプロンプトを出さずにCプログラムから作成する方法を教えてください 

394:デフォルトの名無しさん
05/05/18 23:32:38
キーをテキストに書き出す
テキストを読む
以下略

395:デフォルトの名無しさん
05/05/22 15:43:51
30 30 30 30 30 30 30 30 30 30 を圧縮すると(16進表記)
30 30 30 30 30 30 30 30 30 30 のままで

30(ASCIIで'0')を20個つなげたやつを圧縮すると
05 30 EE FF 30 となった圧縮形式があったんだが、これなんだっけ?

ヘッダとかついてないのかね。

396:デフォルトの名無しさん
05/05/22 15:57:49
あげ

397:デフォルトの名無しさん
05/05/25 11:34:46
UNZIP32.DLLやUnGCA32.dllでパスワードがかけられてるファイルかどうか見る方法をおしえて

398:デフォルトの名無しさん
05/05/25 21:53:48
書庫のヘッダに書いてあるよ

399:デフォルトの名無しさん
05/05/26 14:24:32
パスワード付きZIPをパスワードWindowを開かずに作成する方法を教えてください

400:デフォルトの名無しさん
05/05/26 19:18:10
コマンドラインで入れる

401:デフォルトの名無しさん
05/05/27 02:50:42
もう少し詳しく教えてください

402:デフォルトの名無しさん
05/05/27 07:48:48
ソフトウェア板かwindows板の話題だと思うんだそれは。

実装でもアルゴリズム概念を聞いている訳でもなし。

403:デフォルトの名無しさん
05/05/28 02:00:36
>>402
ま、巷じゃ「圧縮がわかる本」とかいって圧縮ツールの使い方だけ教えてるのが何百冊も出てるしな…

404:デフォルトの名無しさん
05/05/28 02:22:08
漏れもいっちょ書いてみるか!

405:デフォルトの名無しさん
05/05/29 11:44:42
>>399 無理

406:デフォルトの名無しさん
05/06/25 07:17:01
統合アーカイバのDLLを使ってプログラミングをしているのですが、静的インポートの場合、付属のインポートライブラリを使用しますよね?
これってVC++(MS-LINK)用COFFのようですが、BCC++(ILINK32)でうまく使えないみたいなんですが・・・?(UNZIP32.DLL)
BC++付属のCOFF2OMFで変換するも、デフォルトでは利用できず、-lib:stスイッチで変換しました。
しかし名前インポートができず、オーディナルになってしまいます。
BCC++で名前インポートするにはどうしたらよいでしょうか?


407:406
05/06/25 08:55:05
って、しまった!全然間違えた!

MASM + MS-LINKでそのままリンクすると序数インポートになってしまうんだった。

<<X.ASM>>
        .386
        .model  flat,stdcall
        .code
start:
        call    UnZipGetVersion
        ret
        end     start

<<ビルド法>>
ml /c /coff x.asm
link /subsytem:console x unzip32.lib

私はVC++を持ってないのではっきりとはわかりませんが、リンカが同じなのでVC++でも名前インポートにはならないですよね・・・?
名前インポートにするにはどうしたら・・・?

408:デフォルトの名無しさん
05/06/25 09:32:50
>407
各処理系のスレで聞いた方がいいと思う。

409:デフォルトの名無しさん
05/06/25 09:34:51
implib

410:デフォルトの名無しさん
05/06/25 09:58:18
名前でのインポートにこだわる訳は?

411:407
05/06/25 22:28:30
>>409
IMPLIBなら確かに付属のインポートライブラリはいらないですが・・・MS-LINKはOBJ型ライブラリが使えないようなんですが・・・?

>>410
オーディナルのインポートって信用できないんですよね・・・
DLLのバージョンが上がると変わらない保証ってないじゃないですか・・・?

412:デフォルトの名無しさん
05/06/25 22:50:29
>>411
BCCで使うのになんでMS-LINKが出てくるんだ? わけ分からん
MS-LINKなら付属のLIB使えば済む話だろ

413:411
05/06/25 23:01:26
>>412
ですから間違えました。BCCじゃなくてMASMです。

414:デフォルトの名無しさん
05/06/25 23:07:26
ヒント: /coffオプション

415:デフォルトの名無しさん
05/06/26 01:30:55
完全に特許に引っかからない技術を教えてクレイ

416:デフォルトの名無しさん
05/06/26 03:21:54
>>415
特許の期限が切れたもの

417:デフォルトの名無しさん
05/06/26 07:12:59
>>415
bzip2,gzip

418:デフォルトの名無しさん
05/06/26 07:29:29
完全と言い切れるものは多分ないんじゃないかな。
知られてないだけで、所謂サブマリン特許の類のパテントが存在するかも知れないし。
bzip2のBWTも発案者が特許を取らないといっているだけだし。

圧縮ソフト作るのって床から刃の出ている廊下を歩くような感じだよ。
時々踏むと刃のでる罠が仕掛けてあったりして。
最初にアルゴリズムに特許を与えたバカは誰なんだろう。


419:デフォルトの名無しさん
05/06/26 10:33:39
>418
アルゴリズム特許は暗号が初めてじゃないっけ
それならこれもそれならこれもとずるずる範囲が広がっていった。

暗号の場合は納得できるんだけどねー

420:デフォルトの名無しさん
05/06/26 15:19:36
フラクタル圧縮もダメなんでしたっけ

421:デフォルトの名無しさん
05/06/26 17:41:04
>418 >419
線形計画法のカーマーカー法じゃないの?
>カーマーカー特許とソフトウェア―数学は特許になるか 中公新書
>URLリンク(www.amazon.co.jp)
元々の圧縮アルゴリズムはともかく、○○+ハッシュとかいうのになってくるとどんどん納得できなく
なっていくんだが。

422:419
05/06/26 20:43:13
>421
すまんこった、カーマーカー法が最初の特許アルゴリズムだった。
ほら吹いてしまいました。ごめんさない。

423:デフォルトの名無しさん
05/07/01 09:17:37
Info-ZIP社のZIP32.DLLって商用で使用するにはライセンスがいるのでしょうか?
UNZIP32はいるみたいなのですが。HP読んでもわからない・・・

424:デフォルトの名無しさん
05/07/02 03:14:07
zip32.dllは知らんが、zlibならいらないはず。

425:413
05/07/02 07:57:25
>>414
どの/coffですか?
mlなら/coffつけてますが?>>407

426:デフォルトの名無しさん
05/10/12 02:59:27
hosyu


427:デフォルトの名無しさん
05/10/25 10:46:17
質問です。
DEFLATE圧縮では元データはバイトごとに圧縮されるのですか?
それとも6ビットや5ビットなどビット単位ですか?
RFCと一緒にzlibやgzipのソースを読んでいるのですが
自分の読解力ではわかりません。

428:デフォルトの名無しさん
05/10/25 11:33:32
バイト単位

429:427
05/10/25 11:37:52
>>428
バイト単位ですか。ありがとうございます。
その線で読んでみます。

430:デフォルトの名無しさん
05/10/25 11:44:07
ソース読んで理解できないなら>>298

431:427
05/10/25 12:56:37
>>430
やっぱりその本を買った方がよさそうですね。
今から買ってきます。

432:デフォルトの名無しさん
05/10/30 11:38:36
書庫が1バイト足りずに破損している場合、末尾に00を付加するという話を聞いたんですがどうやって付加するんでしょうか?
調べようと思ったんですが検索ワードが思いつかない…

433:デフォルトの名無しさん
05/10/30 14:54:09
>432
君が何を聞きたいかが理解できない。
とりあえず付加するのは誰?
特定のソフトの話か、特定のファイル形式の話?

434:デフォルトの名無しさん
05/10/30 18:22:37
>>433
漏れの予想では、ファイルの末尾に00を付加させるのに、
どんな関数orAPIをコールすれば良いか判らない

そういうレベルの質問だと思う

435:デフォルトの名無しさん
05/11/01 00:17:17
板違いの予感。まさかnarがどうとかって話じゃないだろうな。

1 バイトのファイルを作っておいて copy /b とか cat とか、
そんなスキルもないならバイナリエディタ。

ってところだったりして。

436:デフォルトの名無しさん
05/11/01 02:01:51
narってなにさ?

437:デフォルトの名無しさん
05/11/04 11:05:22
もしかして null ?


438:デフォルトの名無しさん
05/11/04 11:16:46
ナルほど

439:デフォルトの名無しさん
05/11/04 20:13:26
>>438
誰がうま(ry

>>432, >>435
出てきて釈明しる!

440:435
05/11/04 22:15:29
済まん、あっさりスルーされると思ってた。
「伺か」が使うアーカイブ(実態はzip)の拡張子。
公開終了したアーカイブをWebArchiveから拾ってくるって話。
まあ、オタネタだ。

441:435
05/11/04 22:26:30
補足。
WevArchiveにはファイル末尾の0を切り捨ててしまうというバグ(?)がある。
そのためせっかく昔のアーカイブを見つけてもzipが解凍できないことがある。
末尾に0を付加してやると正常に解凍できるようになる。
というのがこちらで想定した問題のバックグラウンド。

442:432
05/11/04 22:31:07
自己解決したから書き込まなかったんだけど、WebArchiveのzipファイルで~て事が聞きたかった。
narは良く分からなかったけど、435が書いてくれたからまぁ良いかと思ってた
オレのせいで微妙な話が続いて悪かったです

443:デフォルトの名無しさん
05/11/12 12:52:07
zlibの使い方を詳しく丁寧に説明してる日本語サイトを教えてください。
あと、gzip(と可能ならzipも)の中のファイル名を解凍せずに知りたいんですが、できませんか?

444:デフォルトの名無しさん
05/11/12 18:30:27
zlib.hの英語を読むのが一番確実だと思うけど。
別に読みにくくは無いし、そんなに長くもないし。
gzio.cも。

445:デフォルトの名無しさん
05/11/17 22:59:07
>>443
ヘッダにテキストで書いてあるけど。

446:デフォルトの名無しさん
05/11/17 23:36:52
>>445
日本語って言ってるだろうが、馬鹿

447:デフォルトの名無しさん
05/11/18 00:43:37
日本語なかったっけ? どっかでzlib.hのコメント日本語訳みたことがあるんだけどどこだったか…

448:デフォルトの名無しさん
05/11/18 15:11:28
>>446
日本語読めないのに日本語要求してたんですね。
# 単に駄々をこねてみたかっただけかな? :-P

449:443
05/11/18 23:21:09
ありがとうございました。
日本語訳はこれですね。
URLリンク(www.sra.co.jp)

450:デフォルトの名無しさん
05/12/25 22:34:49
zlib の deflate を利用して
自前でzipファイルを作るプログラムを作ろうと思います。
とりあえず、ここの仕様書を見たのですが、
URLリンク(www.pkware.com)

extra fieldの意味がよくわからないです。
私の場合は、この部分は出力しなくて良いのでしょうか?


451:デフォルトの名無しさん
05/12/26 16:51:16
あげます

452:デフォルトの名無しさん
05/12/26 23:35:03
遠慮なく頂きます

453:デフォルトの名無しさん
06/02/09 06:24:45
前スレ

圧縮アルゴリズム考えたんですが
スレリンク(tech板)


テンプレは >>1-3 あたりには無い。


454:デフォルトの名無しさん
06/02/10 23:16:40
乗っ取るの?

455:デフォルトの名無しさん
06/02/26 18:38:09
圧縮アルゴリズム2
スレリンク(tech板)


456:デフォルトの名無しさん
06/02/27 10:56:10
圧縮アルゴリズム考えたんですが

まずデータの中にフラグの立ったビットがいくつか数えます。
そしてデータは0と1を並べ変えたものと考えます。
あとはそれを使って先頭ビットから1なら
(そこから先のビット数)C(そこから先の立ちビット数)
を計算して足していきます。
つまり圧縮するデータを0と1の並べ替えとしたときに、
それらを辞書順に並べて上から何番目かを数えるということをします。

例)8ビット中3ビット立ってるとして
10001100
最初1なので
7C2
を計算。0は読み飛ばし次の1でも
3C1
を計算。これ以上は変わらないので終わり。
で、上の二つを足す
7*6/2*1+3/1=24
あとはこの数と圧縮前のファイルサイズと立ちビットの数だけ出力すれば復元可能。

こいつはすげぇやとオモて作ったら799バイトのデータを50分かけて圧縮して何番目のデータかの数値だけで2972バイト悔いました。
C(コンビネーション)て恐ろしいな

457:デフォルトの名無しさん
06/02/28 00:49:54
俺を圧縮してみろ!!

458:デフォルトの名無しさん
06/02/28 09:12:37
>>456
Lynch-Davisson 符号とか数え上げ符号を調べてみて

459:デフォルトの名無しさん
06/02/28 10:27:28
圧縮にはならないって事か?調べたけどあまり無くて分からなかった

460:デフォルトの名無しさん
06/02/28 16:19:05
10年くらい前、bzip で使われている
ブロックソートが何故圧縮にいいのか証明されていない、
と聞いた気がするんだけど、今はもう証明されているの?

461:蕪木ら某 ◆Googl8RmwA
06/03/01 03:29:22
( >>460 URLリンク(www.google.com) )

462:デフォルトの名無しさん
06/03/01 03:52:31
>>460
有村 とか Effros の論文読んでみて

463:デフォルトの名無しさん
06/03/01 04:02:46
>>456 >>459
Schalkwijk の数え上げ符号

長さ n のバイナリ文字列中に 1 の個数が w 個あるものを考える
このとき、インデクス i

  i = Σj=1,n x[j] n-j C w[j]

を用いて1対1に対応付けすることができる。ただし、w[j] = Σi=j, n x[i]

符号化は、まず、1 の個数 w を ceil(log n) ビットの2進数で出力する
次に、インデクス i を ceil(log k C w) ビットの2進数で出力する
なお、ceil() は切り上げ

この符号化は、1記号あたりエントロピーまで漸近的に圧縮可能


464:デフォルトの名無しさん
06/03/01 14:26:02
>>463ごめん後半からわかんなかった…

ところでJAVAでLZWとLZ77とHUFFMANとDEFLATEを説明サイト見ながら自分なりの解釈で作ったんだけど
76Kbのビットマップをデフレで圧縮したら44Kbになったのね。
で、7zのZIPで圧縮したら37Kbになったのよ。
これって何がいけないの?Lhacaも7zより圧縮率悪いけど
どういう工夫すれば縮むようになるん?

教えてエロい人!

465:デフォルトの名無しさん
06/03/02 18:09:48
AGE

466:デフォルトの名無しさん
06/03/02 23:20:46
ハフマン圧縮について教えてください。

よくあるのは、出現率の低いものを2個取り出して、その和をつくり、さらに残ったなかから一番出現率が小さいものをとりだし、
これと、先ほどの和の結果との和をとり・・・
という説明です。

でもなんか要するに出現数のおおい順にソートして(出現ゼロ回のものは無視する)
A,D,B,C,・・・みたいに配列に入れます。
そして順に、1,10,110,1110,11110・・・
と符号をふればいいだけのように思えてしまいます。
なぜ小さいものを取り出して和を作り、さらに小さいのと和をつくり・・みたいなことをする必要があるのでしょうか?

467:デフォルトの名無しさん
06/03/02 23:35:09
最初俺もそう思ったけど、ちょっと考えたらそれじゃ意味ないことに気づいたんだよ
なんでかって?忘れたなぁ…

468:デフォルトの名無しさん
06/03/03 00:01:40
>>466
それは unary 符号(単進符号、一進符号)というもの

符号が最適になるには条件というものがあって、
unary の場合、記号の出現確率が 1/2, 1/4, 1/8, ... となる場合にのみ最適な符号を構成できる
一方、Huffmanはどんな出現確率の記号群に対してでも最適な符号を構成できる

469:466
06/03/03 00:41:32
なるほど。よくわからないけど間違っていたことだけはわかりましたw
ありがとうございます!!!!!!!!!

470:デフォルトの名無しさん
06/03/04 00:41:35
JAVAでLZWとLZ77とHUFFMANとDEFLATEを説明サイト
教えてくれ俺もみたい

471:デフォルトの名無しさん
06/03/04 10:02:12
データ圧縮法概説
というところ。その名の通り原理や概念を解説しているだけでJAVAどころか
プログラミングにすらふれていない。
でも説明は分かりやすいからJAVAでも作れた。

472:デフォルトの名無しさん
06/03/04 21:26:39
データ圧縮法概説
ないよ
どうすればいいの?

473:デフォルトの名無しさん
06/03/04 21:37:29
Internet Archive

474:デフォルトの名無しさん
06/03/04 21:39:06
つーか、ちょっとリンクを追いかけていけば生きてるサイトにたどり着いたぞ

475:デフォルトの名無しさん
06/03/04 21:54:37
どうやっておいかけるの?

476:デフォルトの名無しさん
06/03/04 23:53:49
我楽多頓陳館で検索。
管理人は一人で何役もこなすアニメ好きの54歳
世露死苦!!

477:デフォルトの名無しさん
06/03/05 14:04:16
見つかった?

478:デフォルトの名無しさん
06/03/05 19:46:29
今zip圧縮のサンプル作ってる

479:デフォルトの名無しさん
06/03/05 20:51:59
それはzlibとか使って?それとも圧縮部も自作?
自作だったら性能を上げる工夫とか教えてほしいです。

480:デフォルトの名無しさん
06/03/06 00:58:20
圧縮部分も自作です。組み込みに乗せるから
パフォーマンスそこそこでだいたい2kから10kいないの
zlibを作成しようとしてます。なので性能よりもマシン語
の吐かせた内容をコンパクトにすることに命をかけています。
私も工夫とかよく解らない部分が多いため、IEEEの論文などをいくつか入手し
勉強をしているところです。アルゴリズム的に速度を上げる方法と
コーディングレベルで最適化する方法2つの視点で最適化について
考えていますがまだ道のりは厳しいです

481:デフォルトの名無しさん
06/03/06 01:23:44
特許まわりはどうなのかしら?


482:デフォルトの名無しさん
06/03/06 13:05:55
現在猿でも分かるC言語講座をみながらJAVAでブロックソートとMTFとレンジコード制作二日目。
Cはよく分からんがブロックソートの符号化とMTFの符号化・復号化が完成
ブロックソートの復号がうまく行かない…

483:デフォルトの名無しさん
06/03/07 01:43:41
Huffman圧縮で質問です。
記号が一回しか登場せず、2分木が1つも作成できないような場合、
その記号にはどんな符号を割り当てるのですか?

484:デフォルトの名無しさん
06/03/07 06:59:12
多分最初に出現する記号の種類の数もカウントしてるんだろ?
俺はその値が1になる場合は2にしてもう一文字あると仮定して
やってる。その文字は何でもいいが大抵は0x0だな

485:デフォルトの名無しさん
06/03/07 08:28:48
>>483
「記号が1種類しかない」フラグを作って、記号を記録しとく。
「記号がいくつ現れたか」も記録しとけば、記号は全部空ビット列に変換で良い。

486:デフォルトの名無しさん
06/03/07 21:31:22
ありがとうございます。
>>484
なるほど。それならアルゴリズムに大幅な変更はいらないですね。
>>485
そうですね。Huffmanにこだわらずにってことですね。

今からどっちにするか迷います。ありがとうございました。


487:デフォルトの名無しさん
06/03/08 00:50:18
動的ハフマンって実装自体は特許事項に
抵触技術内容含まれてないですよね?

488:デフォルトの名無しさん
06/03/08 07:25:58
大丈夫でしょ。やり方にもよるかもしれないけど、まあ普通に作れば無問題

489:デフォルトの名無しさん
06/03/08 22:54:08
動画配信のMPEG4とかH264ってのは適合型ハフマンで送るのですか?
もしそうならパケロスしても大丈夫な理由を教えてください。

490:デフォルトの名無しさん
06/03/14 19:13:07
やっとJAVAでブロックソートとMTFとRLE7とレンジ圧縮(圧縮だけ)
ができた。でもサイトにあるほどの圧縮率が出ないwwwww
なんで…orz

491:デフォルトの名無しさん
06/03/14 19:38:26
>>490
どこのサイトかしらないけど、結果だけ載せている場合は、かなり細かいチューニングや、
アルゴリズム改良が加えられていることが多い。

ソース・実行プログラムもあるなら、圧縮結果をバイナリ比較するとか、
サイトのプログラムによる出力を自作プログラムで展開させてみるとか(あるいはその逆)、
圧縮結果のバイナリそのものの解析をしてみたらどうだろう。

492:デフォルトの名無しさん
06/03/14 21:50:38
猿でも分かるプログラミング講座とかいうとこだったはず
Cのソースがあったから移植してみたブロックソートは間違いないからなぁ…
まあいろいろ結果を調べてみる

493:デフォルトの名無しさん
06/03/15 12:29:54
>>492
Cのソースプログラムが公開されているので、
1ステップずつ動作を追っていけばいいのではないか

途中の変数の状態を確認したり、演算結果に差異がないかを調べたり

494:デフォルトの名無しさん
06/03/15 19:31:53
いい忘れてたけどCのコンパイラとか持ってないんだ。
落とさなきゃだめかな?

495:デフォルトの名無しさん
06/03/15 22:51:59
今や、GCCコンパイラだけでなくMSコンパイラも無料。
「資金がない」で逃げる行為はもはや言い訳にならなくなった。

496:デフォルトの名無しさん
06/03/16 07:09:38
重いの入れたくない。はあり?

497:デフォルトの名無しさん
06/03/16 15:00:59
なし、軽いの入れればいい

498:デフォルトの名無しさん
06/03/16 16:44:24
sumという38000byte位のファイルを圧縮した結果250byte位劣って13Kb程になった。
実はヘッダなどの付加のしかたが微妙に違うのだがそれだけで
こんなに差が出るもんかな?ちなみに
BlockSort->MTF->ZLE+RLE7->RCA
って感じで4段階で圧縮してます。ヘッダ情報はどれもこっちの方が少ないのに…

499:デフォルトの名無しさん
06/03/16 19:09:09
>>498
アルゴリズムや定数も同じで、各段階でのヘッダも小さいのに
出来上がりファイルが大きいのなら何かバグってるんでしょうね。

500:デフォルトの名無しさん
06/03/16 21:24:35
>>499え!?マジで?℃チクショウーーーーーーーーー!!!!!

501:デフォルトの名無しさん
06/03/18 08:49:04
困憊羅が雨後かねぇwwwwwwwww!!!!!!

502:デフォルトの名無しさん
06/03/18 11:09:59
2chの圧縮ダットを解凍するにあたって資料が欲しいのですが、どこか頼みます。

503:http://www.vector.co.jp/soft/win95/util/se072729.html
06/03/18 18:35:48
TextSS の64bit化おながいします

もしくは64bitにネイティブ対応した置換ソフトないですか?


504:デフォルトの名無しさん
06/03/19 19:48:35
新しい圧縮アルゴリズム考えようぜ!!

505:デフォルトの名無しさん
06/03/19 20:22:48
>>504>>1も読めないのか

506:デフォルトの名無しさん
06/03/19 20:51:34
だってアルゴリズムスレ無いしここの再利用で十分だろ?
2chの無駄も減って一石二鳥だね

507:デフォルトの名無しさん
06/03/19 23:20:14
昨日、カミさんに怒られてrar圧縮されたさ
めっちゃ苦しかった

508:デフォルトの名無しさん
06/03/20 08:55:07
KWSK!!!!

509:デフォルトの名無しさん
06/03/20 22:28:21
へいっ!!!ついにやったぜ
JAVAにブロックソートとMTFとZLE7と適応型RANGEを移植完了!!ながかった~
圧縮率は7z>BZIP2≒俺の>ZIPという感じ
これからは圧縮されたデータをさらに圧縮できるようにする変換でも考えるノシ

510:デフォルトの名無しさん
06/03/28 22:15:14
ZIP圧縮について質問です。

zip32.dllに圧縮したいフォルダパスを-rオプションで渡した場合
zip内に格納されたファイルがドライブTOPからのフルパスで格納されてしまいます。

指定したフォルダ以下のみを格納するにはどうすれば、よいのでしょうか?

511:デフォルトの名無しさん
06/03/29 01:03:46
SetCurrentDirectoryしてから、相対パスで指定すればいいんじゃね?

512:510
06/03/29 02:44:16
511>

無事にできました(^-^;
ありがとう

513:デフォルトの名無しさん
06/04/22 06:43:41
正確には圧縮アーカイブではないですが、ISOイメージファイルのフォーマットが書いてある場所を探しているのですが、いいのはないですか? とりあえず日本語のは見つかりませんでした。イメージファイルでないISO-9660自体の解説はあるのですが・・・

514:デフォルトの名無しさん
06/04/23 19:25:43
商用フリーな圧縮解凍ライブラリってありません?
利用はWindowsです。

515:デフォルトの名無しさん
06/04/23 21:59:31
URLリンク(cise.edu.mie-u.ac.jp)
ここのサンプルcomptest.cで解凍しようとしても、エラー起こして解凍できないんだが、できます?

516:515
06/04/24 11:44:22
これで圧縮したのはこれで解凍できるな。
しかし、他で圧縮したのはこれで解凍できないし、これで圧縮したのは他で解凍できない。
ヘッダー? ヘッダーの処理はzlibはしてくれないんですか? 初期化時にヘッダー付きを渡すとポインターとカウンターが変わるかもしれないと説明には書いてあるが、実際変わらない。 

517:デフォルトの名無しさん
06/04/25 00:08:09
zlibはdeflate処理をしてくれるだけでZIPファイルフォーマットの解釈はやりませんよ。
その辺は自作汁。

この辺の本を読んでみるとよし…と思う
URLリンク(www.amazon.co.jp)

518:デフォルトの名無しさん
06/04/27 18:33:29
zlibを使ってデータの伸張をやろうとしてて

byte *src // 圧縮されたデータ
int len // src の長さ
byte *dst // 解凍されたデータの格納先

dst = malloc(5 * len * sizeof(src));
decompress(dst, src, len); // src を展開して dst に格納
// 適当な処理
free(dst);

みたいなことをやろうかなと考えているんですが、dstで確保したメモリが足りなかったときのことを
考えるとこれじゃあマズいでしょうし、あらかじめ必要なメモリの計算は解凍処理をしないと
分からないようだしでちょっと困っています。
皆さんならどうしますか?

519:デフォルトの名無しさん
06/04/27 21:25:40
圧縮も自前なら圧縮データとは別に(先頭につけるとかして)、
圧縮前のデータのサイズも持っておく。

520:デフォルトの名無しさん
06/04/27 22:28:48
ちなみにsizeof(src)は4バイトだろ。

521:デフォルトの名無しさん
06/04/29 06:05:34
CABについてお願いします。

CABファイル内のデータが欠けている場合にファイルを取り出せる可能性についてですが・・・

<CFFOLDER数=1>
CFFOLDER[0]
CFFILE[0]
CFFILE[1]
CFDATA[0]
CFDATA[1]

このような構造になっていて、CFFILE[1]が指すデータオフセットがCFDATA[1]内を指しているものとします。

この時にCFDATA[0]がまるまる欠けている場合、CFDATA[0]に適当なダミーデータを押し込むことによってCFILE[1]のファイルを取り出すことはできるでしょうか?

MSのツールEXTRACT.EXE等で調べたところ、どうもCFDATA[0]が完全でないとCFFILE[1]のファイルは取り出せないみたいなのですが・・・

圧縮法はLZXです。

後ろの方(例えばCFDATA[2])が欠けている場合はそれがファイル内容にかかっていても途中までですがデコードできるようです。

522:デフォルトの名無しさん
06/05/04 15:17:36
>513
普通の ISO イメージファイルだったら ISO-9660 に書かれている内容がそのまま直列で入っているだけだと思うが。

523:デフォルトの名無しさん
06/05/04 22:41:50
圧縮する前に圧縮後のファイルサイズのおおよその見当をつけるプログラムを
書こうと思ったんだけど、(ファイルサイズ) x (情報エントロピー) で計算すると
全然いけてないですか?

524:デフォルトの名無しさん
06/05/05 00:07:25
>>523
圧縮につかうモデルでのエントロピーでないとまともな数字が出ない。
ある程度でも結局圧縮するのと同じになってしまうのであまりいけてない。
まあ、とりあえずモデルを特定しないでHuffman,算術符号,RangeEncoderなどの
エントロピーを出しておけば最低保証値だけは出せるかな。

525:デフォルトの名無しさん
06/05/05 00:21:23
> 最低保証値
=元のファイルサイズ

526:デフォルトの名無しさん
06/05/05 14:18:48
ただ、圧縮アルゴリズムと対象データによってはサイズが増えることもありうる希ガス
もちろんその場合は圧縮しなければ元のサイズなんで圧縮しなければいいんだけど
「元のサイズ分あれば十分だろー」ってメモリ確保してやってみらたオーバーフローとか
かっこわるいことになることがあるかもしれない…?

527:デフォルトの名無しさん
06/05/05 15:17:36
>>526
そういうときは、1回の処理で増えうる容量分だけ余分に確保しておけばよい

その見積もりができないとか、1回で無限増殖しうるとか、そういうのはしらね
アルゴリズムを見直すか、出力方法を考え直すべきだがな

528:デフォルトの名無しさん
06/05/05 21:42:11
UDPのパケット(1K~3K)を圧縮して転送、
受信して展開して、通信をやりたいと思ってます。
流すデータは未圧縮の画像データを分断して送受信します。
LZOのような、圧縮・展開の速いプログラムってないでしょうか?


529:デフォルトの名無しさん
06/05/06 00:10:44
>>528
LZOではだめなのかい?
Huffmanあたりをまず試してみて、圧縮率・速度の検討をしてみてはどうか

530:デフォルトの名無しさん
06/05/06 09:04:06
>>529
GPLなので困ってます・・・
>Huffman
なるほど、試してみます。

531:デフォルトの名無しさん
06/05/10 20:46:46
LZMA SDKを落としてJavaのソースを動かしてみたところ、
コンパイルは何とか通ったのですが実行できません。

ファイルの初期配置も何だか変な気がするのですが…。

これ、何か不具合でしょうか?
それとも私が何かの設定間違ったのでしょうか?

誰かわかる人いたら教えてください。

てか、やっぱりこういう用途でJavaって邪道なんですかね。
扱ってるサイトも見ません。

532:デフォルトの名無しさん
06/05/13 00:35:47
>>531
こういう用途ってどんな用途だよ

533:デフォルトの名無しさん
06/05/13 09:31:01
>>532
その辺からサンプルソースを落として
とりあえずコンパイルすれば何もせずに
目的のものが手に入ると思ってる用途

だろ?

534:531
06/05/16 19:41:24
スルーされたと諦めて見てなかったり。
気まぐれで覗いてみたら回答というか煽り文句がついてて
嬉しいんだか悲しいんだか。
亀レスになるけど、せっかく返事もらったし。

>>532
ツールを作る用途のつもりで書きました。
ゲーム制作だとかは(使えねぇと言いつつ)結構あるんだけど…
ツールの例がちょっと見つからなかったので。

調査不足ですか。ごめんなさい…。

>>533
適切な分析をどうもありがとう。
とりあえず、パッケージの設定と配置されてる階層が明らかに違うものがあったのですよ。
ちゃんと動かしたら治ったけどね。
サイトのミスかこっちのミスか気になったんだけど
自己解決と言うか自己完結。どうでもよくなっちまった。

535:デフォルトの名無しさん
06/05/16 23:40:15
>>534
それを作者にフィードバックしてこそ、ネットの意義じゃないか・・・

536:デフォルトの名無しさん
06/05/17 03:08:09
商用配布フリーな圧縮解凍ライブラリを探しています。
おすすめなどありますか?

537:デフォルトの名無しさん
06/05/17 05:35:14
>>536
zlib

538:531
06/05/17 08:10:47
>>535
それはそうなんだけどね。私チキンだから…。
それに、いまだに誰もフィードバックしていないという点が
用途に関する疑問につながってるわけで…
まあ、そんな御託というか言い訳はどうでもいいか。

それより改めて聞きたいことができてしまいました。
7z形式のデータ書式がどんな構造してるかわかる人いませんか?
バイナリで開いてみたりしたところ

7z~(たぶんヘッダ)圧縮したファイルのデータ… ファイル名らしきもの(たぶんフッタ)

って構造になってたのですが、これの細かい仕様がわからないのですよ。

使ってる間は保存形式なんて気にもしてなかったんですけどね…
使う側から弄る側に来て、自分の無能っぷりを痛感しております。ハイ。

539:デフォルトの名無しさん
06/05/17 16:35:50
統合アーカイバプロジェクトのいろんなヤツを落とせば
開発用のヘッダとかに書いてあるんじゃねーの、そんなもん。

540:531
06/05/17 18:31:07
>>539
統合アーカイバプロジェクトとは何ぞや…っと。

googleで検索→(゚∀゚;)アハハハ…orz

情報提供ありがとうございます。
理解できるか怪しげですが…やるだけやってみます。

541:531
06/05/18 10:28:18
>7-zip32.dll は基本的に本家 7-Zip の 7za.exe のソースの
>main() を呼び出しているだけに過ぎません。
>理由は 7-Zip は現在進行形で日々進歩しているのでフォーマットを解析して
>独自に作成すると新しい形式にすぐに対応する事が出来ないためです。

ウボァー(゚Д゚)

542:デフォルトの名無しさん
06/05/18 15:01:52
>>531
本家は最初に見たんだよね?

>>541
統合アーカイバは、
基本的にこの手のものはライブラリで済ますか、
引数の統一を行うインタフェースであることが多い。


543:531
06/05/18 15:50:56
>>542
7-zipの日本語サイトは見ました。
…もしかして、ここで言う本家って、英語ページのことだったりします?
やっぱり見なきゃダメかな…。

byteで取り出してあとはループで解読していけばいいかなーとか考えてたら
解読部分のソースjavaで置いてないし。
7z書庫のフォーマットもわからないし。

フォーマットの解析からするしかないのかな…。

544: ◆rK6fgwCWsM
06/05/18 17:44:01
>>543
7zFormat.txtというそのまんまな文書がLZMA SDKに入っているように思うのですが、気のせいでしょうか。

545:デフォルトの名無しさん
06/05/18 21:09:23
英語のドキュメント読む練習しておくと絶対に役立つよ。

546:531
06/05/18 22:59:37
>>544
…。
('A`)ウボァー
しかもなんか、このテクスト見覚えがある気がするぞ('A`)ウボァー。
ご指摘ありがとうございます。明日にでも中身見てみます。

やっぱり英語は大事ですね…。
でもノバとか行く気無いしなー。

547:デフォルトの名無しさん
06/05/18 23:50:12
>>546
日本語の読み書き・会話がフツーにできても日本語の難しい技術資料を読むのは大変。
それと同じで、どんなに英語ができるようになっても技術系の情報はどうしても読み辛さがつきまとう。
だからもう英語の技術情報の読み辛さは開き直って受け入れるしかないよ。
ちなみに逆にある程度、英語になれちゃうと日本語と違ってあいまいさが少なく直接的な表現が
多いから下手な日本語の技術資料よりもよっぽど読み易いこともある。

548:デフォルトの名無しさん
06/05/19 01:57:46
>>547
それって逆だろ

英会話はからっきしできなくて英語の小説もさっぱりワカンネ
英語は専門書ぐらいしか読めないやって理系は多いと思うぞ

549:デフォルトの名無しさん
06/05/19 08:13:35
>>548
>英会話はからっきしできなくて英語の小説もさっぱりワカンネ
>英語は専門書ぐらいしか読めないやって理系は多いと思うぞ

俺の経験からすると全く逆だ。俺も英語は技術資料を読むためだけにしか使ってなくて
自分の英語力の低さを嘆いたんだけど、こんなことじゃいかんと英語圏のメーリングリスト
に参加してみたらそこでやりとりされてる会話が思いの外スラスラ読めてビックリした。
それで俺は、あー、やっぱり英会話って中学生の英語レベルで十分意思疎通は可能
なんだなぁと思ったもんだけど。

550:デフォルトの名無しさん
06/05/19 08:39:30
ぶっちゃけ、外国語は才能。
才能の無い奴はいくら勉強しても無駄。

一方で、できる奴がやたら必死に「努力すれば誰でもできる」
ことにしたがるのも外国語という分野。

551:デフォルトの名無しさん
06/05/19 08:57:03
>一方で、できる奴がやたら必死に「努力すれば誰でもできる」
>ことにしたがるのも外国語という分野。

それはその他の多くの分野でもそうだろ。
俺も、中学生の頃ぐらいまではプログラミングを「努力すれば誰でもできる」ものだと吹いていた。
いまじゃ、ほとんど逆のこと言ってるけどねw

552:デフォルトの名無しさん
06/05/19 14:16:14
仕事になればかなりのアフォでもアフォなりにプログラムは書けるようになるよ。
仕事じゃないなら、プログラミング自体が趣味だとか、
興味の対象とすることに応用できるとか(音楽家が演奏PG作るとか)何か理由がないと
向いてる人以外はそもそも学習意欲がわかないだろうね。

553:デフォルトの名無しさん
06/05/20 01:10:51
俺みたいに、才能ないけど、好きで趣味でやってるやつもいますよ。お忘れなく。

554:デフォルトの名無しさん
06/05/20 04:33:37
野暮な突込みで恐縮ですが
>>552にも「プログラミング自体が趣味だとか」と書かれておりますし
忘れたわけではないと思いますよ。

555:デフォルトの名無しさん
06/05/21 17:34:54
仕事で、多少リアルタイム性が必要な不定長バイナリの通信データを圧縮
しろって言われてしまいました。データ自体のパターンは限定せず、場合に
よっては1バイトから即時送信できないといけないようです。もちろん、最初の
方のデータが増えるのは構わないのですが、「データ送信を継続しているうち
にだんだん圧縮が効いてくる」ようにしたいのです。
一応売り物に組み込むものなので、自分で作るのは信頼性&手間&特許絡み
でめんどいので、できればzlibあたりを使いたいのですが、こういう場合にも
使えるものなのでしょうか ? おそらく、任意のタイミングで出力バッファを
flushしてデータを送信してしまっても、蓄積した圧縮に必要な情報がそのまま
残って以降のデータに適用できれば使えるとは思うのですが。

556:デフォルトの名無しさん
06/05/21 19:23:27
仕事
しろ



まで読んだ

557:デフォルトの名無しさん
06/05/22 22:32:53
俺は

仕事
しろ


まで読んだ

558:デフォルトの名無しさん
06/05/23 04:51:04
>      バイト
>        が増えるのは
>
>
>  めんどいので、
>                   おそらく
>                                          そのまま
> 残って                     ると 思う


559:解凍されたい
06/07/03 18:08:33
Info-ZipのUnzip32.dllのAPIを用いて解凍を行うプログラムを作って
いるのですが、サンプルを参考にして下記のようにしてみても、解凍
後のファイルが作成されません。

  m_hUnzipDll = LoadLibrary( "unzip32.dll" );
  if( m_hUnzipDll != NULL ){
  m_pWiz_SingleEntryUnzip = (_DLL_UNZIP)GetProcAddress( m_hUnzipDll, "Wiz_SingleEntryUnzip" );}
  else{ MessageBox( 0, _TEXT("ERROR on LoadLibrary"), 0 ); return;
  }
  m_lpUnzipUserFunctions.password = Password;
  m_lpUnzipUserFunctions.print = DisplayBuf;
  m_lpUnzipUserFunctions.sound = NULL;
  m_lpUnzipUserFunctions.replace = GetReplaceDlgRetVal;
  m_lpUnzipUserFunctions.SendApplicationMessage = ReceiveDllMessage;
  m_lpUnzipUserFunctions.ServCallBk = ServerCallback;
  LPSTR acArchiveName = "C:\\testdir.zip";
  m_lpDcl.ncflag = 1;
  m_lpDcl.fQuiet = 2;
  m_lpDcl.ntflag = 0;
  m_lpDcl.nvflag = 0;
  m_lpDcl.nzflag = 0;
  m_lpDcl.ndflag = 1;
  m_lpDcl.naflag = 0;
  m_lpDcl.nfflag = 0;
  m_lpDcl.noflag = 1;
  m_lpDcl.ExtractOnlyNewer = 0;
  m_lpDcl.PromptToOverwrite = 0;
  m_lpDcl.lpszZipFN = acArchiveName;
  m_lpDcl.lpszExtractDir = NULL;
  (*m_pWiz_SingleEntryUnzip)( 0, NULL, 0, NULL, &m_lpDcl, &m_lpUnzipUserFunctions );
  FreeLibrary( m_hUnzipDll );

560:解凍されたい
06/07/03 18:09:51
上のプログラムではあらかじめ作成してある C:\testdir.zip という
zipファイルを指定して、unzip32.dllのAPIであるWiz_SingleEntryUnzip
を上記のように呼び出して解凍を試みています。
マニュアルによると、圧縮ファイル内のすべてのファイルを解凍する場合、
第1引数と第2引数は上のように出来るはずなのですが、どこが間違ってい
るのかわからなくなってしまいました。
どなたかよいサンプルプログラム(動くもの)等をご存知の方がいらっし
ゃいましたら教えてはいただけないでしょうか?

561:デフォルトの名無しさん
06/07/04 00:58:13
zlibとかってストリーム形式でデータ扱えるけど、あれ内部的には小さなブロックサイズになって処理されてるの?

もしそうなら、前後の依存関係が問題になって、なかなかいい圧縮率を出せないような・・・

562:デフォルトの名無しさん
06/07/04 03:19:56
zlibはdeflate、deflateはlz77。
lz77は出力したビットへのポインタを符号化する。
なので、後方の依存関係はなくて、常に前方依存。
だからストリームに出来る。
といっても32KBのバッファは必要。
圧縮率の問題は依存とかじゃなくてアルゴリズムの問題。
PPMも前方依存でストリーム可能だけど多くの場合で圧縮率はlzよりもずっと高い。
こっちはメモリ沢山使うし遅いから少し使いにくい。

ちなみにこの前方依存は有限文脈とかマルコフモデルとか呼ばれる。
BWT(ブロックソート)は少し違う。

563:デフォルトの名無しさん
06/07/04 03:46:50
すみません。どこで質問していいのか、わからないのでここで質問させてください。

ウィルス検索について質問です。
ウィスル検索ソフトで圧縮ファイルを検査した場合、ウィルスを検索するのはファイルを一度解凍してから検索しているのでしょうか?
それとも、圧縮されたまま検索されているのでしょうか?
また、どのようにして、検索ソフトはウィルスを発見しているのでしょうか?
回答、お願いいたします。

564:デフォルトの名無しさん
06/07/04 04:19:43
本当にスレ違いなのだが一応。

ソフトによるとしか言いようがない。
圧縮されたものは解凍しなきゃならんわけだから
ファイルが圧縮されているのかどうか調べなきゃならん。
数ある圧縮形式全てを調べるのは不可能だから
普通に考えれば解凍はしないだろう。
ただしOSが扱える形式(WinXPならzip, cab等)は解凍して調べてるかもしれん。

ウィルスは大概怪しげなコードが入っているから、
既知のウィルスに共通している部分をハッシュ化して比較するんじゃないかと予想。
自己参照して実行可能アドレスにロードするとか。

あとは他で聞いとくれ。

565:デフォルトの名無しさん
06/07/04 16:25:05
>>564
大抵は解凍するんじゃない?
以前にどっかのウィルス保護ソフトが日本中の大量のPCを麻痺させた原因が、
圧縮ファイルの展開のバグでCPU100%使い続けてしまうって奴だった。

566:デフォルトの名無しさん
06/07/05 20:37:14
初歩的過ぎる質問でわるいのですけど、
Zlib.dll を使った場合のファイル解凍を行うとき、
使うソフトはなにを使えばよいのでしょうか?
Explzh 等のDLLを組み込んで使うタイプのソフトを探しています。

567:デフォルトの名無しさん
06/07/06 08:33:30
板違いだろ

568:解凍されたい
06/07/07 17:16:51
ネットワーク等のストリームを介してアーカイビング、圧縮/解凍、暗号化
にまで対応した商用ライブラリってありますか?

569:デフォルトの名無しさん
06/07/07 21:39:16
あるよ。

570:デフォルトの名無しさん
06/07/19 16:31:39
商用可能な圧縮・解凍ライブラリを探してるんだけど
zlibだと、ちょっとソースが大きすぎ
このliblzf位の規模で、もう少し圧縮効率が良いのは無いかな?
URLリンク(www.goof.com)

571:デフォルトの名無しさん
06/09/04 22:07:30
保守

572:デフォルトの名無しさん
06/09/07 18:48:02
>>570
奥村先生のアルゴリズム本なんかどうよ
URLリンク(oku.edu.mie-u.ac.jp)

あと、英語が読めるならここも参考になるかも
URLリンク(oku.edu.mie-u.ac.jp)



573:デフォルトの名無しさん
06/09/07 20:20:01
鯖からzipのストリームを貰ってきて
オンザフライでデコードして手に入ったプレインデータから順次描画とかしたいのですが
近道を教示して下さい。

574:デフォルトの名無しさん
06/09/07 20:51:32
URLリンク(www.google.com)

575:デフォルトの名無しさん
06/09/08 12:17:10
>>570
普通のlz77(lzss)のがコード量同規模で数割程度圧縮率高いけど圧縮速度が

576:デフォルトの名無しさん
06/09/08 13:43:27
>>573
zlib のソース・アーカイブの examples/ ディレクトリをまず見たら。
zpipe.c ってのもあるし。

そうそう、ソース とか 英文ドキュメントなら
URLリンク(zlib.net) から辿れるよん。


577:デフォルトの名無しさん
06/09/08 16:23:59
ヨンサマを呼び捨てにするな

578:デフォルトの名無しさん
06/09/11 08:24:10
>>492
今更だけどもう公開してないのね

579:デフォルトの名無しさん
06/09/15 13:48:07
どうしちゃったのかねえ。
消す事ないだろうに。

580:デフォルトの名無しさん
06/09/25 20:29:29
lha書庫のCRCって、
poly: 0x8005, width: 16, init: 0x0000, revin: yes, revout: yes, xorout: no
なんだな。
ファイルのチェックによく使われるCRC16が、
poly: 0x1021, width: 16, init: 0xFFFF, revin: yes, revout: yes, xorout: no
だから、 poly と init が違う。
unlha32.dll で展開したファイルが正常かどうか FastHash.dll を使って確認しようと思ったら、
ことごとく値が違うからハマってしまった。

581:デフォルトの名無しさん
06/09/27 22:54:40
>580
CRC16 って言っても色々あるわけだし。
URLリンク(en.wikipedia.org)
0x8005 の方が ANSI(↑だと IBM になってる)、0x1021 の方が CCITT っすね。

582:デフォルトの名無しさん
06/10/10 10:43:26
URLリンク(www.fileup.org)
BIPという圧縮データが展開できなくて困っています。
同じ名前のbinファイルに出来れば良いのですが……

ググってみると、頭4バイトが展開後のサイズ~
などの解説ページも見つかりますが、よく分かりません
どんな圧縮になっているのか、知っている方いませんか?(展開方法)

583:デフォルトの名無しさん
06/10/10 11:17:38
>>582
「bip 頭4バイト」でググって、多分同じページにたどり着いた・・・
正直、胡散臭い用途にしか思えんのでマジレスしたくないんだがw

軽く読んだ感じ、ちょっと変わったLZ77ってだけのよーな
そこに書いてる情報で充分だろ。何が足りない?

584:デフォルトの名無しさん
06/10/10 11:53:25
胡散臭い用途ですみません……

LZ77っぽいのは分かったのですが
自分の知識不足で、そこに書いてあることが完全に理解できていません

・展開位置からの12bit負のオフセットにして、その位置から長さ+3バイトのデータをコピー
とか

585:デフォルトの名無しさん
06/10/10 12:21:40
はいはいDTM板の犯罪スレに帰ろうな

586:デフォルトの名無しさん
06/10/10 12:24:43
>>584
LZSSを勉強してきて・・・イヤマジで

「lzss」は一般的な方式だし、説明ページも豊富だから

587:デフォルトの名無しさん
06/10/10 12:49:17
>>584
12ビットの単純なスライディング辞書方式の簡易な説明に読めるが・・・
何がわからんのか解らない。
引用部以外に意味不明な部分があるのか?

588:デフォルトの名無しさん
06/10/11 00:13:02
LZSSをよく勉強してきます、レスありがとうございました
スレ汚し失礼しました

589:デフォルトの名無しさん
06/10/11 07:15:22
>>579
どうやらインターフェース誌で連載してる模様。
ちら見だけどWebとほぼ同じ内容ぽい。


590:デフォルトの名無しさん
06/10/12 08:41:03
>>589
本当だw
教えてくれてありがとー
番外編もやってくれれば最高!

591:デフォルトの名無しさん
06/11/03 05:22:58
質問です
拾って来たZIPなんですが
中国語文字コードでファイル名・パス指定されているらしく
解凍レンジとかだと
win9x上で解凍できませんw

いいソフトありますか?


592:591
06/11/03 05:57:50
ありゃ、ここム板だったじゃんw
VB6使いだったがw

特別に
とりあえず、こういう場合に簡単に取り出せるソフト教えてw

593:デフォルトの名無しさん
06/11/03 08:01:13
それはソフトウェア板ネタだろ

594:デフォルトの名無しさん
06/11/06 18:01:41
Cのソースコード発見
URLリンク(nog0709.hp.infoseek.co.jp)

595:デフォルトの名無しさん
06/11/10 16:16:05
>>594
これは参考になるな

596:デフォルトの名無しさん
06/11/19 08:50:56
すみません。質問させてください。

bz2形式の圧縮ファイルの元のファイルサイズを
実際に展開せずに知る方法はないでしょうか?


597:デフォルトの名無しさん
06/11/19 11:16:30
>>596
ないっちゃね

598:596
06/11/19 11:31:59
>>597
やっぱりそうですか。地道にカウントします・・・。

599:デフォルトの名無しさん
06/11/21 00:23:19
パスワード付きrarを解凍できる、rarアーカイバを作りたいんですが、オープンソースなのはどれがあるのでしょうか?
UnRAR Sourcecode 3.4.3とうのしかなさそうなんですが、これでいいんでしょうか?

600:デフォルトの名無しさん
06/11/21 15:24:40
clamav のソースに libalamav/unrar/ に rar 展開ソースは入っているが
パスワード展開には対応していないな。。。


601:599
06/11/24 00:17:06
>>600
どうも。
人いないんですかねこのスレ。
winrarのサイトでもうちょっ新しいunrarsrc-3.6.8.tar.gzがありました。
MacOSXのソフトでもunrarを使っているようなので、これで良いのかもしれません。

602:デフォルトの名無しさん
06/11/28 00:16:52
URLリンク(www.uploda.org)

何の画像形式が、ご存知の方いらっしゃいませんか?

603:デフォルトの名無しさん
06/11/28 01:51:24
>>602
fileさんによると
> uporg596558.bin: Hitachi SH big-endian COFF object, not stripped
だってよ? 画像じゃなくて実行ファイルじゃ

と思ったが中身見てみると確かに32bitの色情報くさい感じはするな。
適当に作画させてみたらどうか?

604:603
06/11/28 03:00:22
なんやよくわからんが顔色の悪いおなごが出てきたぞ
URLリンク(www.uploda.org)

640x480の32bit生データなんだがどうも縦16でblock化(?)されているらしく、
そのままbmpのヘッダ付けただけだとだめっぽい。
とりあえず↑のは512x608にして、mspaint使って手動で再構成してみたが、
横512なあたり考えると3D作画エンジン用のテクスチャかなんかかの。
こんなバカなことせんでもなんかのツールにぶちこんだら普通に表示されるような気がするようなしないような。
詳しい人フォロー頼む。3D関係は全然ワカラン。

っか、圧縮なんかされてねーからぶっちゃけスレ違いな気ガス




ところで画像の詳細を教えてもらおうか

605:デフォルトの名無しさん
06/11/28 23:38:27
>>603
ありがとうございます
参考にします

606:デフォルトの名無しさん
06/12/15 18:02:11
遅レス気味だけと >>599
URLリンク(p7zip.sf.net) のソース読んでいたら、
7zip/Crypto/ 以下に rar やら zip でパスワード付けた時の処理があった。
各圧縮ファイル形式のファイルヘッダや通常の解凍などは
7zip/Archive/ 以下だったりするけど。


607:デフォルトの名無しさん
07/01/06 23:01:26
Deflateの展開ルーチンを自前で実装しようとしてるんだけど、
これってひょっとして全部リトルエンディアンなの?
しかもハフマンは右(LSB)から1bitずつ読むわけ?
なんか統一感が無くて判り辛いよ。
なんでこれが普及したんだろ。

608:デフォルトの名無しさん
07/01/11 19:32:55
てすと

609:デフォルトの名無しさん
07/04/06 10:41:33
unzip32.dll はAES暗号化されたファイルに対応しているんでしょうか。
詰まってしまいました。
未対応なら他の方法を考えるんですが。

610:デフォルトの名無しさん
07/04/09 15:13:03
age

611:デフォルトの名無しさん
07/04/20 01:57:42
動画圧縮に関してはここでいいのかな?

H.264の詳細は、一般人でも入手出来ますか?
何をやってるかは大体は情報が手に入るんだけど、実装できるレベルの資料がない・・・。


612:蕪木ら某 ◆Googl8RmwA
07/04/21 00:52:25
>>611
URLリンク(www.itu.int)
URLリンク(www.itu.int)
URLリンク(www.compression-links.info)
URLリンク(www.mpegla.com)
etc.

613:599
07/04/28 23:41:12
>>606
ありがとうございます。
ソースを読むにはまずc++を勉強しないといけないのかな。cしかやった事ない√|○

614:デフォルトの名無しさん
07/04/29 07:49:00
>>613
クラスとSTLの勉強だけだ、おれなんてC++からはじめたし

615:デフォルトの名無しさん
07/05/19 14:37:33
英単語辞書を圧縮された状態で検索に使いたいのですけど、
辞書順にソートされた文字列のリストを、検索可能なままで
高圧縮できるアルゴリズムってありますか?

BPEしてcommon prefixを削除すれば、1/3までは小さくは
できたのですが、もっと効率いいのがあれば


616:デフォルトの名無しさん
07/05/20 00:10:18
ランダムアクセス可能な圧縮方式は局所性を利用できないから
必然的に圧縮率が落ちるよ。
ブロックソートなんかはソート済みデータには弱いから多分ダメ。
PPMは遅い。
今のままで十分かと。
もうやってるかもしれんがprefix毎にブロックにすると圧縮率が良くなる。
prefixでソートされてるんだから辞書全体に対してsuffixを登録して
prefix単位でブロックを作るのがいいかも。

617:デフォルトの名無しさん
07/05/20 00:19:10
>>616
>ブロックソートなんかはソート済みデータには弱いから多分ダメ。

別に弱くは無いよ。
原理的にはPPMと同じ。

618:デフォルトの名無しさん
07/05/20 02:58:38
>>615
FM-index とかどうよ?

619:デフォルトの名無しさん
07/05/20 10:49:08
>原理的にはPPMと同じ。
んなこたーない。

620:617
07/05/21 10:17:01
>>619
その辺のことはDO++が説明してたよ。
アルゴリズムとしては違うけど、結局圧縮しているものが同じってこと。

621:デフォルトの名無しさん
07/05/21 19:58:43
abcdeという文字に対して
abcdからeを符号化するのがPPM
bcdeからaを符号化するのがBWT
という意味では同じかもしれんけど
BWTは決められたブロック内の情報のみ
PPMはそれまでに出現した情報のみである点が違う。
つまり任意のシンボルが参照できる情報の範囲と質が大分違う。

622:617
07/05/22 10:03:19
>>621
>BWTは決められたブロック内の情報のみ
>PPMはそれまでに出現した情報のみである点が違う。
>つまり任意のシンボルが参照できる情報の範囲と質が大分違う。

範囲なんて調整次第。
PPMだって現実に実装するときはブロックに分けることになるから。

違いは、
BWTはPPMでは未来の出現に相当する部分の情報も使う。
PPMは、それまでに出現した過去のみの情報を使う。
ってぐらい。
ただ、未来の出現といっても、時系列情報を失うので、BWTが特に優位というわけでもない。


623:デフォルトの名無しさん
07/05/22 13:09:12
結局何が言いたいのかよく分からん。
やっぱりPPMとブロックソートは違うものだって結論に変わりはなさそう。

624:617
07/05/22 13:14:26
>>623
616の指摘はおかしいということ

625:デフォルトの名無しさん
07/05/22 15:13:05
ソート済みデータのベンチマーク
URLリンク(www.maximumcompression.com)


626:デフォルトの名無しさん
07/05/22 15:15:13
BZIP2がPKZIPに負けてる。

627:デフォルトの名無しさん
07/05/25 18:23:12
大量の単語がソートされているならLZ77が強いんじゃね?

628:デフォルトの名無しさん
07/05/28 20:23:27
可逆圧縮で、圧縮率より高速性を重視したアルゴリズムでいいのありませんか?
特許に抵触しないフリーなやつでお願いします。

629:デフォルトの名無しさん
07/05/28 20:41:10
>>628
最近のCPUはめっちゃ速いから、ファイルアクセスやってる間に
だいたい圧縮処理が終わっちまうんじゃね?

630:デフォルトの名無しさん
07/05/28 22:26:53
lzo とか?

631:デフォルトの名無しさん
07/05/28 22:44:08
zlibって特許まみれ?

632:デフォルトの名無しさん
07/05/28 23:58:41
探せばなんかに引っ掛かったりするかもな。

633:デフォルトの名無しさん
07/07/08 12:59:07
圧縮
        ______
      / //    /|
      | ̄/  ̄ ̄,:|//!
      |/_,,..,,,,_ ./ .!/|
      | ./ ,' 3/`ヽ::|っ.!
      | l /⊃ ⌒.|つ|
      |/ー---‐'''''"|/
        ̄ ̄ ̄ ̄ ̄
解凍
        、ゞヾ'""''ソ;μ,
       ヾ  ,'3     彡
       ミ         ミ
       彡        ミ
       /ソ,, , ,; ,;;:、ヾ`

エラー
      _,,..,,,,,,..,,,,,..,,,,,,..,,..,,,,,,..,,,,,,,,..,,,,_
     / ,' 3,' 3,' 3,' 3,' 3,' 3' 3,' 3,  `ヽーっ
     l   ⊃⊃⊃⊃⊃⊃⊃⊃⊃. ⌒_つ
      `'ー---‐---‐---‐---‐---‐'''''"

深刻なエラー
    _,,..,,,,_
   ./ 。  `ヽーっ
   l o 3  ⌒_つ
    `'ー---‐'''''"


634:デフォルトの名無しさん
07/07/25 08:05:28
圧縮アルゴリズムの性能の評価ってどうやるの?

c_i が元の符号(符号長 n で固定)で d_i をその圧縮後の符号として
Σ len(d_i)/Σ len(c_i)
とか計算したら大体どんな圧縮法でも大体1より
ちょっと大きくなるくらいになるよね?

635:デフォルトの名無しさん
07/08/10 18:57:30
現行ツールだと大抵、自己展開CAB(exe)を実行せずに強制展開出来る、
あるいは拡張子を.CABに変えると出来たりするんだが…

それでも展開しにくいファイル、というのはあって、
ツールによって展開出来たり出来なかったりする。

で、そういうファイルを調べてみたら、ヘッダ("MSCF~")らしきものが複数あって、
最初のヘッダは不正で、3番目のヘッダが正解だった。
単にファイルの先頭からヘッダらしきものまで読み飛ばすだけだと、
こういうのに対応出来ないわけだ。

これ、確実な調べ方あるんだろうか?
それともヘッダらしきものを総当りで調べるんだろか?

636:デフォルトの名無しさん
07/10/15 02:36:44
ここでの質問でいいのかわからないのですが、

フォルダ(ディレクトリ)をアーカイブファイルで保存・管理することを考えています。
そのとき、アーカイブのデータを使って元のフォルダの差異が知りたいのですが、
なにかうまい方法(「展開して差分」以外で)はあるでしょうか。

例えばフォルダAとフォルダBの内容が等しいかどうか(具体的には再帰的にファイル
内容の差分(Unix なら diff -r)をとって差があるかどうか)を、対応するアーカイブAと
アーカイブBの差から知りたいのです。
フォルダAとフォルダBの内容が等しい <=> アーカイブデータが等しい
となるようなアーカイブができるとうれしいのですが。

一般的なアーカイブフォーマットにはメタデータ(タイムスタンプ等)が含まれたりして、
アーカイブの単純な差分では駄目なようです。上記の目的のためにはタイムスタンプ等
はいりません。

よろしくお願いします。

637:デフォルトの名無しさん
07/10/15 03:34:02
アーカイブファイル内のディレクトリ情報から、サイズとCRCを
比較するだけでいいと思うが。

で、ここがプログラム板だということは分かっているんだろうか?

638:デフォルトの名無しさん
07/10/15 10:11:49
11
12
1121
122111
112213

639:デフォルトの名無しさん
07/10/15 11:53:08
昨日の平成教育委員会にやってた google入社試験からの問題か

640:デフォルトの名無しさん
07/10/15 12:29:08
連長圧縮?

641:デフォルトの名無しさん
07/10/15 12:33:29
連長っちゃ連長だけど、ぜんぜん圧縮できてない

642:デフォルトの名無しさん
07/10/15 20:06:04
>>639
いつのまにそんなの取り上げるようになったんだww

643:デフォルトの名無しさん
07/10/17 04:34:09
俺時間内に解けなかった
どうしようorz

644:デフォルトの名無しさん
07/10/18 02:32:30
12221131
1123123111
12213111213113
11221131132111311231
なんか3が出てきた時点で急速に発散

645:デフォルトの名無しさん
07/10/31 03:22:23
だれかgzipを解凍する簡単なコードを見せてくれませんか?

646:デフォルトの名無しさん
07/10/31 04:27:38
DLLつかえ

647:デフォルトの名無しさん
07/10/31 08:53:09
どるるるるるるるるるるうるるるうう

648:デフォルトの名無しさん
07/10/31 16:23:27
自前でやりたい。

649:デフォルトの名無しさん
07/11/09 12:30:47
zlib を見よ!

650:デフォルトの名無しさん
08/02/21 20:27:21
ラプラスで画像ファイル(ビデオ)を圧縮しても容量が小さくならないのは、
どうしてですか?

651:デフォルトの名無しさん
08/02/21 20:29:39
むしろ大きくなってるだろ

652:デフォルトの名無しさん
08/02/21 23:07:20
はたして、容量が小さくなってないものを「圧縮した」と言うのだろうか。

653:デフォルトの名無しさん
08/02/22 03:07:19
可逆で圧縮率と解凍速度に優れたフォーマットって何になりますか?

654:デフォルトの名無しさん
08/02/22 08:45:44
>>650
ラプラスって、ラプラス変換? あれは圧縮とは別次元だぞ。
例えば、CR(コンデンサー+抵抗)の回路などで作った
フィルターの特性を一次式に変換するとかそういう奴でしょう。

確かに、フィルターかましたり、
わざと見えないくらいのノイズを載せたりして
圧縮効率を上げる技はあるけど、
常に圧縮率が良くなるという話でもなかったりします。


655:デフォルトの名無しさん
08/02/22 08:58:12
GB単位で圧縮かまさなければ速度なんて今は殆ど問題にならんような
BWTとかPPM系でもそこそこの速度で動くでしょ

それよりマルチコアが一般的になったからマルチスレッド動作可能なのを考えたい
まあデータを分割して既存のアルゴリズム適用すればいいだけの話だけど

656:デフォルトの名無しさん
08/02/29 03:42:53
C#でzip32j.dllを使用して以下のような構成の圧縮を行いたい場合は
どうすれば良いでしょうか?
c:\aaa\bbb\ccc\ddd\file.txt
とある場合に、cccフォルダ以下を圧縮したいのですができません。

オプションで-rを指定するとaaaフォルダから圧縮され、
-rjを指定するとccc以下のテキストが指定した作成したzipファイル
直下に格納されます。
ちなみに、コマンドラインの圧縮対象には「c:\aaa\bbb\ccc」を
指定しています。

657:デフォルトの名無しさん
08/10/10 08:59:48
10万ファイル格納されているZIPファイルのファイル一覧を、待ち時間無しで取得する方法ありますか。
定番のUNZIP32.DLLでは書庫をOPENするのにとても時間掛かります。
最近出たINFO-ZIP最新版だと軽いですか?

658:デフォルトの名無しさん
08/10/10 09:08:16
ZIPフォーマット調べて、自分で読んでみりゃいいじゃん

ファイルの一覧取るくらいなら、圧縮とか気にしなくていいし

659:デフォルトの名無しさん
08/10/10 09:12:02
>>685
すみません。ひとつひとつファイル名を取得して、あと個々に(メモリ上へ) 解凍もしたいんです。
速度が出ていいやつありませんか? UNZIP32.DLLはオープンに時間掛かるのでは除外します。

660:デフォルトの名無しさん
08/10/10 09:14:45
Zipフォーマットは複数合ってすべてに対応するのは、自作では厳しいです。

661:657
08/10/10 10:36:48
自己解決しました
UNZIP32では、1分待っても反応無しのが
7-zipにしたところ30秒で済み
XacRettではなんと0.3秒でopenデキマシタ。

662:657
08/10/10 10:45:38
XacRettはopen速いですが、個々のファイルの取得が超掛かります。使い物になりませんでした。

663:デフォルトの名無しさん
08/10/10 13:51:38
だから世にあるフォーマットの仕様を確認すれば違いが判るじゃん。
得手不得手ってのがあるんだしさ。

664:657
08/10/10 16:22:18
使えねえやつらだな。

665:デフォルトの名無しさん
08/10/10 16:26:37
使う側だからね。

666:デフォルトの名無しさん
08/11/04 10:09:01
UN○○32.DLLってOSが64bitでも動くの?

667:デフォルトの名無しさん
08/11/04 17:11:11
x64のOSをまず使ってみてから、その愚かな質問についてあらためて考えるんだな

668:667
08/11/05 00:20:40
(…ふー、うまくごまかせた)

669:デフォルトの名無しさん
08/11/05 19:45:49
>>666
OSが64ビットLinuxだったら動かない。
……と言うボケは置いておいて。

XPは知らんがVistaではとりあえず動く。
動くけどそのDLLを使うソフトも32ビットじゃなくちゃダメ。
もっともそのDLL使うと明言していて64ビットで作ってる馬鹿はいないはずだが。



670:デフォルトの名無しさん
08/11/11 16:36:21
結局のところ、lzwは使っても特許的に問題ないですか?

671:デフォルトの名無しさん
08/11/12 08:43:01
パテントの有効期限切れて、更新ははしなかったらすいが > うにしす
ただ前も言うことをコロコロと変えているので、安心とは言えない気がする


672:デフォルトの名無しさん
08/11/12 19:40:18
サブマリン特許ですね!

673:デフォルトの名無しさん
09/01/08 08:17:56
>>634普通は1よりべらぼうに大きくなるだろエントロピー的に考えて・・・
1よりちょっと大きいだけって、ほとんど圧縮出来てないんじゃね?

674:デフォルトの名無しさん
09/01/10 17:54:00
URLリンク(www.highcelight.com)
上のように、復元したものの文字列を直すフリーソフトってありませんか?
メモ帳のものを復元できたと思ったら、文字化けしていました。


675:デフォルトの名無しさん
09/01/10 21:09:51
それは復元できてないだけです

676:デフォルトの名無しさん
09/01/16 15:05:14
スレチかも知れませんが
.ewaという拡張子で暗号化・圧縮・分割・結合する
海外のソフトウェアを知りませんか?
1990年代後半に使われた物らしいですが
ソフト名がわからず困っています

677:デフォルトの名無しさん
09/01/16 20:15:40
イタチなのでソフトウェア板に行って下さい

678:デフォルトの名無しさん
09/01/28 22:44:59
Windows上で動作するゲームを作っているのですが
そのゲームで使う画像・音声ファイルを、どうやって1つのファイルに格納しようか迷っています

最初は自分でフォーマット決めて、各ファイルを順々に詰めていけばいいかと思ってたんですが
よく考えたらtarや無圧縮zipなどを使った方が
既存のライブラリを使える分、もっと楽だということに気づきました

こうした用途に向いているのは、どの圧縮形式でしょうか?

679:デフォルトの名無しさん
09/01/28 23:10:42
自分が一番扱いやすいフォーマットでいいんじゃね?

680:デフォルトの名無しさん
09/01/29 01:49:37
圧縮せずに、ただまとめるだけなら、自分でやったほうがいいと思う。

681:デフォルトの名無しさん
09/01/29 07:53:37
tar一択だろフォーマット的に考えて・・・まさにその為のフォーマットなんだし。
ただ、自分でやった方が高速軽量になると思う。
単にまとめるだけにしては高機能杉るんだよtarは。

682:デフォルトの名無しさん
09/01/29 08:23:15
ゲームでところどころ取り出すのにはtar向かないフォーマットだった気がするが?
tarはソリッド圧縮的な扱いでそういうの苦手だった気がするが
最近はその辺を改良したtarがあるのか?

そういう意味では個別抜き出しできそうなフォーマットで無圧縮使えばいい。
ライセンス的にLGPLで問題ないなら7-zipが明確。Zipはライセンス料発生するかもしれない。

683:デフォルトの名無しさん
09/01/29 14:29:22
ここの>>570にのってるliblzfが個人的にお勧め。
BSDライセンスでコードも短い。圧縮は64k毎のデータの圧縮を連結している感じ。
ライセンスがある程度自由だと、自作のファイルフォーマットに組み込みやすい。

684:678
09/01/30 09:53:21
ご意見ありがとうございます!
まとめると

1. 自分で詰め込む
2. 7-zipやliblzfを用いる

の2種類が適切なようですね。調べつつ考えてみます

685:デフォルトの名無しさん
09/01/30 10:29:49
>>684
osaskのsar

686:デフォルトの名無しさん
09/01/30 12:41:08
>>685
仕様やライブラリが公開されていないようなのですが
どこかに置いてあるのでしょうか?

687:デフォルトの名無しさん
09/03/09 12:54:48
どうでもいいメモ。NTFSの圧縮形式はLZNT1であり、既にリバエンされている。
URLリンク(cs.fit.edu)
…ロシア語読めなさ杉ワロタ

688:デフォルトの名無しさん
09/03/15 10:42:47
ははは

689:デフォルトの名無しさん
09/09/14 14:40:40
独自でサバクラを作成ししています。
サーバからクライアントにZip圧縮したバイナリデータを送信して、クライアントのメモリ上で解凍する必要があります。
(ファイルにはしないで、ストリームデータです。)
このときに使用できるdllやライブラリを探しているのですがご存知の方はいないでしょうか?
unzip32.dllでは無理ですよね。

環境はWindwsXpです。

690:デフォルトの名無しさん
09/09/14 16:47:04
unzip32でもできると思う

691:デフォルトの名無しさん
09/11/08 01:21:00
rarにzlibみたいなライブラリ無いの?
rar3形式かどうか判定出来るだけでも機能が欲しい。
hexdumpしてみたけど、RAR3みたいなバージョン文字列は無い様なので、同じバイトコード列かどうか判定するしかない?
眺めた感じだと、1バイト目から16バイト目までのバイト列と、45バイト目から48バイト目までのバイト列で判定すればいいの仮名?

692: ◆rK6fgwCWsM
09/11/08 10:20:25
>>691
unrar.dllでReadHeader(Ex)を使い、RARHeaderData::UnpVerの値を読んでやると分かるかもしれません。

693:デフォルトの名無しさん
09/12/05 01:34:53
可変長の符号をファイルに出力したいのですが
どのようにすればいいでしょうか?

例.値(10進)「3 3 6 3 6 2」

3・・・00
6・・・01
2・・・100

出力後のファイル(2進)「0000010001100」

最低1バイト単位でファイルに出力したいのですがググっても分かりません・・・
因みにVS C++ です。
スレチを承知ですが、宜しくお願いします。

694:デフォルトの名無しさん
09/12/05 02:04:27
c++スレへどうそ

695:デフォルトの名無しさん
09/12/05 02:33:55
スレリンク(tech板)
C/C++の宿題片付けます 132代目

696:デフォルトの名無しさん
09/12/11 03:16:25
一般的なソフトで
250kb程度のJPG画像の可逆圧縮で圧縮したら一般的にどの程度なんだろ?
原本JPG->204704byte
rar->204697byte
zip->203342byte
作ったやつ->152822byte

俺最高wwww

697:デフォルトの名無しさん
09/12/11 13:43:46
どんなjpgかによる。
単色なら数バイトに出来るんじゃね。

698:デフォルトの名無しさん
09/12/11 13:48:09
>>1
zlibのソースを見るといいですよ。

699:デフォルトの名無しさん
09/12/11 23:34:00
>>697
お前は単色の白や黒が一般的なのか(笑)


700:デフォルトの名無しさん
09/12/11 23:43:32
>>699
うるさーい。

701:デフォルトの名無しさん
09/12/12 03:57:21
256色減色アプリでも作ったほうがいいだろ。モノクロ256階調アプリでもいいけど。

702:デフォルトの名無しさん
09/12/12 04:19:52
実際に画像ファイルの統計を取ったら単色の白や黒の比率はかなり高そうだな。
某人気漫画家の作品のような状態で放置されたファイルもたくさんあるだろうし。

703:デフォルトの名無しさん
09/12/12 20:47:38
個人のストレージ節約には使えても
配布のためには用を為さないな

704:デフォルトの名無しさん
09/12/12 21:22:54
配布なら尚更サイズ小さく出来たほうがメリット大きい。

705:デフォルトの名無しさん
09/12/12 21:52:21
圧縮解凍プログラム作った時の疑問点なんですが、最初unzip32.dllを使用していて解凍したのですが、
必ず解凍確認ダイアログが表示されてしまうので、7zip.dllに乗り換えました。
解凍確認ダイアログ消す方法ってあるんですかね?

706:デフォルトの名無しさん
09/12/12 22:26:14
>>704
や、単なるモノクロ絵を配布はあまりしないだろうという話

707: ◆rK6fgwCWsM
09/12/13 10:02:01
>>705
「解凍確認ダイアログ」というのがよく分からないので、間違っていたらすみません。
展開時の上書き確認ダイアログのことであれば、(統合アーカイバの)unzip32.dllでは-oスイッチで自動上書きにできるかと思います。
展開時の進捗状況を表示するダイアログのことであれば、(統合アーカイバの)unzip32.dllでは--iスイッチで消せるかと思います。

7zip.dllが7-zip32.dllなのか7z.dllなのか、あるいは他のdllなのかも分かりませんが、
7-zip32.dllであれば、それぞれ-aoスイッチと-hideスイッチが該当するかと思います。
info-zipのunzip32.dllや7z.dllについてもおそらくその類のダイアログを表示しない方法はあると思います。
的外れな回答をしていたらすみません。

708:デフォルトの名無しさん
09/12/15 23:33:39
>>707
的外れではなく、合っていますw
「解凍確認ダイアログ」というのは、解凍終了しました等、解凍した(何か動作した)と分かるようなPOPUP画面の事です。
自動上書き、進行状況非表示を引数で指定したのですが、進行状況を表示するための空のPOPUP画面がどうしても消えませんでした。(進行状況自体は消えましたが)
readmeを見たのですが、
それらしきオプションもなく断念しました。


709: ◆rK6fgwCWsM
09/12/16 20:27:47
>>708
すみません。開発者用sdkのUNZIP32S.txtに次のように書かれていました。
> また、標準で結果窓が表示されるようになってます。これを禁止するには以下のレジストリに ShowResult と言う DWORD 値を作成し、0に設定してください。0 のかわりに 0xFFFFFFFF とすると、エラーがあったときだけ結果窓が表示されます。
> HKEY_CURRENT_USER\Software\ArchiverDll\UNZIP32\Settings\
UNZIP32.APIに記されている内容によれば、この設定は初期値でoffになっているようですが、何かの拍子に設定が変えられてしまっていませんでしょうか。

710:デフォルトの名無しさん
10/01/09 05:12:02
データ復活/完全削除 【無料版】

これもうダウンロードできないけど

持っている人いないかな?

711:デフォルトの名無しさん
10/01/09 17:32:12
ソフトウェア板で聞けよ
ここは作る方の板だ

712:デフォルトの名無しさん
10/01/09 19:02:46
資料にするんだろ

713:デフォルトの名無しさん
10/01/09 21:17:11
それならそれでスレ違いだな

714:デフォルトの名無しさん
10/01/09 21:32:01
わざわざスレチ教えるなんてやさしい奴ら

でも「データ復活/完全削除」超えるフリー無いな


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch