圧縮・復元 相談室

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
アルゴリズムは別スレで
2006/05/05(金) 00:07:25
>>523
圧縮につかうモデルでのエントロピーでないとまともな数字が出ない。
ある程度でも結局圧縮するのと同じになってしまうのであまりいけてない。
まあ、とりあえずモデルを特定しないでHuffman,算術符号,RangeEncoderなどの
エントロピーを出しておけば最低保証値だけは出せるかな。
2006/05/05(金) 00:21:23
> 最低保証値
=元のファイルサイズ
2006/05/05(金) 14:18:48
ただ、圧縮アルゴリズムと対象データによってはサイズが増えることもありうる希ガス
もちろんその場合は圧縮しなければ元のサイズなんで圧縮しなければいいんだけど
「元のサイズ分あれば十分だろー」ってメモリ確保してやってみらたオーバーフローとか
かっこわるいことになることがあるかもしれない…?
2006/05/05(金) 15:17:36
>>526
そういうときは、1回の処理で増えうる容量分だけ余分に確保しておけばよい

その見積もりができないとか、1回で無限増殖しうるとか、そういうのはしらね
アルゴリズムを見直すか、出力方法を考え直すべきだがな
2006/05/05(金) 21:42:11
UDPのパケット(1K〜3K)を圧縮して転送、
受信して展開して、通信をやりたいと思ってます。
流すデータは未圧縮の画像データを分断して送受信します。
LZOのような、圧縮・展開の速いプログラムってないでしょうか?
2006/05/06(土) 00:10:44
>>528
LZOではだめなのかい?
Huffmanあたりをまず試してみて、圧縮率・速度の検討をしてみてはどうか
2006/05/06(土) 09:04:06
>>529
GPLなので困ってます・・・
>Huffman
なるほど、試してみます。
531デフォルトの名無しさん
垢版 |
2006/05/10(水) 20:46:46
LZMA SDKを落としてJavaのソースを動かしてみたところ、
コンパイルは何とか通ったのですが実行できません。

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

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

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

てか、やっぱりこういう用途でJavaって邪道なんですかね。
扱ってるサイトも見ません。
2006/05/13(土) 00:35:47
>>531
こういう用途ってどんな用途だよ
2006/05/13(土) 09:31:01
>>532
その辺からサンプルソースを落として
とりあえずコンパイルすれば何もせずに
目的のものが手に入ると思ってる用途

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

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

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

>>533
適切な分析をどうもありがとう。
とりあえず、パッケージの設定と配置されてる階層が明らかに違うものがあったのですよ。
ちゃんと動かしたら治ったけどね。
サイトのミスかこっちのミスか気になったんだけど
自己解決と言うか自己完結。どうでもよくなっちまった。
2006/05/16(火) 23:40:15
>>534
それを作者にフィードバックしてこそ、ネットの意義じゃないか・・・
536デフォルトの名無しさん
垢版 |
2006/05/17(水) 03:08:09
商用配布フリーな圧縮解凍ライブラリを探しています。
おすすめなどありますか?
2006/05/17(水) 05:35:14
>>536
zlib
538531
垢版 |
2006/05/17(水) 08:10:47
>>535
それはそうなんだけどね。私チキンだから…。
それに、いまだに誰もフィードバックしていないという点が
用途に関する疑問につながってるわけで…
まあ、そんな御託というか言い訳はどうでもいいか。

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

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

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

使ってる間は保存形式なんて気にもしてなかったんですけどね…
使う側から弄る側に来て、自分の無能っぷりを痛感しております。ハイ。
2006/05/17(水) 16:35:50
統合アーカイバプロジェクトのいろんなヤツを落とせば
開発用のヘッダとかに書いてあるんじゃねーの、そんなもん。
540531
垢版 |
2006/05/17(水) 18:31:07
>>539
統合アーカイバプロジェクトとは何ぞや…っと。

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

情報提供ありがとうございます。
理解できるか怪しげですが…やるだけやってみます。
541531
垢版 |
2006/05/18(木) 10:28:18
>7-zip32.dll は基本的に本家 7-Zip の 7za.exe のソースの
>main() を呼び出しているだけに過ぎません。
>理由は 7-Zip は現在進行形で日々進歩しているのでフォーマットを解析して
>独自に作成すると新しい形式にすぐに対応する事が出来ないためです。

ウボァー(゚Д゚)
2006/05/18(木) 15:01:52
>>531
本家は最初に見たんだよね?

>>541
統合アーカイバは、
基本的にこの手のものはライブラリで済ますか、
引数の統一を行うインタフェースであることが多い。
543531
垢版 |
2006/05/18(木) 15:50:56
>>542
7-zipの日本語サイトは見ました。
…もしかして、ここで言う本家って、英語ページのことだったりします?
やっぱり見なきゃダメかな…。

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

フォーマットの解析からするしかないのかな…。
2006/05/18(木) 17:44:01
>>543
7zFormat.txtというそのまんまな文書がLZMA SDKに入っているように思うのですが、気のせいでしょうか。
2006/05/18(木) 21:09:23
英語のドキュメント読む練習しておくと絶対に役立つよ。
546531
垢版 |
2006/05/18(木) 22:59:37
>>544
…。
('A`)ウボァー
しかもなんか、このテクスト見覚えがある気がするぞ('A`)ウボァー。
ご指摘ありがとうございます。明日にでも中身見てみます。

やっぱり英語は大事ですね…。
でもノバとか行く気無いしなー。
2006/05/18(木) 23:50:12
>>546
日本語の読み書き・会話がフツーにできても日本語の難しい技術資料を読むのは大変。
それと同じで、どんなに英語ができるようになっても技術系の情報はどうしても読み辛さがつきまとう。
だからもう英語の技術情報の読み辛さは開き直って受け入れるしかないよ。
ちなみに逆にある程度、英語になれちゃうと日本語と違ってあいまいさが少なく直接的な表現が
多いから下手な日本語の技術資料よりもよっぽど読み易いこともある。
2006/05/19(金) 01:57:46
>>547
それって逆だろ

英会話はからっきしできなくて英語の小説もさっぱりワカンネ
英語は専門書ぐらいしか読めないやって理系は多いと思うぞ
2006/05/19(金) 08:13:35
>>548
>英会話はからっきしできなくて英語の小説もさっぱりワカンネ
>英語は専門書ぐらいしか読めないやって理系は多いと思うぞ

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

一方で、できる奴がやたら必死に「努力すれば誰でもできる」
ことにしたがるのも外国語という分野。
2006/05/19(金) 08:57:03
>一方で、できる奴がやたら必死に「努力すれば誰でもできる」
>ことにしたがるのも外国語という分野。

それはその他の多くの分野でもそうだろ。
俺も、中学生の頃ぐらいまではプログラミングを「努力すれば誰でもできる」ものだと吹いていた。
いまじゃ、ほとんど逆のこと言ってるけどねw
2006/05/19(金) 14:16:14
仕事になればかなりのアフォでもアフォなりにプログラムは書けるようになるよ。
仕事じゃないなら、プログラミング自体が趣味だとか、
興味の対象とすることに応用できるとか(音楽家が演奏PG作るとか)何か理由がないと
向いてる人以外はそもそも学習意欲がわかないだろうね。
2006/05/20(土) 01:10:51
俺みたいに、才能ないけど、好きで趣味でやってるやつもいますよ。お忘れなく。
2006/05/20(土) 04:33:37
野暮な突込みで恐縮ですが
>>552にも「プログラミング自体が趣味だとか」と書かれておりますし
忘れたわけではないと思いますよ。
2006/05/21(日) 17:34:54
仕事で、多少リアルタイム性が必要な不定長バイナリの通信データを圧縮
しろって言われてしまいました。データ自体のパターンは限定せず、場合に
よっては1バイトから即時送信できないといけないようです。もちろん、最初の
方のデータが増えるのは構わないのですが、「データ送信を継続しているうち
にだんだん圧縮が効いてくる」ようにしたいのです。
一応売り物に組み込むものなので、自分で作るのは信頼性&手間&特許絡み
でめんどいので、できればzlibあたりを使いたいのですが、こういう場合にも
使えるものなのでしょうか ? おそらく、任意のタイミングで出力バッファを
flushしてデータを送信してしまっても、蓄積した圧縮に必要な情報がそのまま
残って以降のデータに適用できれば使えるとは思うのですが。
2006/05/21(日) 19:23:27
仕事
しろ



まで読んだ
2006/05/22(月) 22:32:53
俺は

仕事
しろ


まで読んだ
2006/05/23(火) 04:51:04
>      バイト
>        が増えるのは
>
>
>  めんどいので、
>                   おそらく
>                                          そのまま
> 残って                     ると 思う
559解凍されたい
垢版 |
2006/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解凍されたい
垢版 |
2006/07/03(月) 18:09:51
上のプログラムではあらかじめ作成してある C:\testdir.zip という
zipファイルを指定して、unzip32.dllのAPIであるWiz_SingleEntryUnzip
を上記のように呼び出して解凍を試みています。
マニュアルによると、圧縮ファイル内のすべてのファイルを解凍する場合、
第1引数と第2引数は上のように出来るはずなのですが、どこが間違ってい
るのかわからなくなってしまいました。
どなたかよいサンプルプログラム(動くもの)等をご存知の方がいらっし
ゃいましたら教えてはいただけないでしょうか?
2006/07/04(火) 00:58:13
zlibとかってストリーム形式でデータ扱えるけど、あれ内部的には小さなブロックサイズになって処理されてるの?

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

ちなみにこの前方依存は有限文脈とかマルコフモデルとか呼ばれる。
BWT(ブロックソート)は少し違う。
2006/07/04(火) 03:46:50
すみません。どこで質問していいのか、わからないのでここで質問させてください。

ウィルス検索について質問です。
ウィスル検索ソフトで圧縮ファイルを検査した場合、ウィルスを検索するのはファイルを一度解凍してから検索しているのでしょうか?
それとも、圧縮されたまま検索されているのでしょうか?
また、どのようにして、検索ソフトはウィルスを発見しているのでしょうか?
回答、お願いいたします。
2006/07/04(火) 04:19:43
本当にスレ違いなのだが一応。

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

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

あとは他で聞いとくれ。
2006/07/04(火) 16:25:05
>>564
大抵は解凍するんじゃない?
以前にどっかのウィルス保護ソフトが日本中の大量のPCを麻痺させた原因が、
圧縮ファイルの展開のバグでCPU100%使い続けてしまうって奴だった。
2006/07/05(水) 20:37:14
初歩的過ぎる質問でわるいのですけど、
Zlib.dll を使った場合のファイル解凍を行うとき、
使うソフトはなにを使えばよいのでしょうか?
Explzh 等のDLLを組み込んで使うタイプのソフトを探しています。
2006/07/06(木) 08:33:30
板違いだろ
568解凍されたい
垢版 |
2006/07/07(金) 17:16:51
ネットワーク等のストリームを介してアーカイビング、圧縮/解凍、暗号化
にまで対応した商用ライブラリってありますか?
2006/07/07(金) 21:39:16
あるよ。
2006/07/19(水) 16:31:39
商用可能な圧縮・解凍ライブラリを探してるんだけど
zlibだと、ちょっとソースが大きすぎ
このliblzf位の規模で、もう少し圧縮効率が良いのは無いかな?
http://www.goof.com/pcg/marc/liblzf.html
2006/09/04(月) 22:07:30
保守
572デフォルトの名無しさん
垢版 |
2006/09/07(木) 18:48:02
>>570
奥村先生のアルゴリズム本なんかどうよ
http://oku.edu.mie-u.ac.jp/~okumura/algo/

あと、英語が読めるならここも参考になるかも
http://oku.edu.mie-u.ac.jp/~okumura/compression.html

573デフォルトの名無しさん
垢版 |
2006/09/07(木) 20:20:01
鯖からzipのストリームを貰ってきて
オンザフライでデコードして手に入ったプレインデータから順次描画とかしたいのですが
近道を教示して下さい。
2006/09/07(木) 20:51:32
http://www.google.com/search?hl=ja&q=%E8%BF%91%E9%81%93+zip+%E3%82%AA%E3%83%B3%E3%82%B6%E3%83%95%E3%83%A9%E3%82%A4+%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89
2006/09/08(金) 12:17:10
>>570
普通のlz77(lzss)のがコード量同規模で数割程度圧縮率高いけど圧縮速度が
576デフォルトの名無しさん
垢版 |
2006/09/08(金) 13:43:27
>>573
zlib のソース・アーカイブの examples/ ディレクトリをまず見たら。
zpipe.c ってのもあるし。

そうそう、ソース とか 英文ドキュメントなら
http://zlib.net/ から辿れるよん。
2006/09/08(金) 16:23:59
ヨンサマを呼び捨てにするな
2006/09/11(月) 08:24:10
>>492
今更だけどもう公開してないのね
2006/09/15(金) 13:48:07
どうしちゃったのかねえ。
消す事ないだろうに。
2006/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 を使って確認しようと思ったら、
ことごとく値が違うからハマってしまった。
2006/09/27(水) 22:54:40
>580
CRC16 って言っても色々あるわけだし。
ttp://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRCs_in_common_use_.28in_ITU-IEEE_syntax.29
0x8005 の方が ANSI(↑だと IBM になってる)、0x1021 の方が CCITT っすね。
582デフォルトの名無しさん
垢版 |
2006/10/10(火) 10:43:26
http://www.fileup.org/fup112424.zip.html
BIPという圧縮データが展開できなくて困っています。
同じ名前のbinファイルに出来れば良いのですが……

ググってみると、頭4バイトが展開後のサイズ〜
などの解説ページも見つかりますが、よく分かりません
どんな圧縮になっているのか、知っている方いませんか?(展開方法)
2006/10/10(火) 11:17:38
>>582
「bip 頭4バイト」でググって、多分同じページにたどり着いた・・・
正直、胡散臭い用途にしか思えんのでマジレスしたくないんだがw

軽く読んだ感じ、ちょっと変わったLZ77ってだけのよーな
そこに書いてる情報で充分だろ。何が足りない?
2006/10/10(火) 11:53:25
胡散臭い用途ですみません……

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

・展開位置からの12bit負のオフセットにして、その位置から長さ+3バイトのデータをコピー
とか
2006/10/10(火) 12:21:40
はいはいDTM板の犯罪スレに帰ろうな
2006/10/10(火) 12:24:43
>>584
LZSSを勉強してきて・・・イヤマジで

「lzss」は一般的な方式だし、説明ページも豊富だから
2006/10/10(火) 12:49:17
>>584
12ビットの単純なスライディング辞書方式の簡易な説明に読めるが・・・
何がわからんのか解らない。
引用部以外に意味不明な部分があるのか?
2006/10/11(水) 00:13:02
LZSSをよく勉強してきます、レスありがとうございました
スレ汚し失礼しました
2006/10/11(水) 07:15:22
>>579
どうやらインターフェース誌で連載してる模様。
ちら見だけどWebとほぼ同じ内容ぽい。
2006/10/12(木) 08:41:03
>>589
本当だw
教えてくれてありがとー
番外編もやってくれれば最高!
2006/11/03(金) 05:22:58
質問です
拾って来たZIPなんですが
中国語文字コードでファイル名・パス指定されているらしく
解凍レンジとかだと
win9x上で解凍できませんw

いいソフトありますか?
592591
垢版 |
2006/11/03(金) 05:57:50
ありゃ、ここム板だったじゃんw
VB6使いだったがw

特別に
とりあえず、こういう場合に簡単に取り出せるソフト教えてw
2006/11/03(金) 08:01:13
それはソフトウェア板ネタだろ
2006/11/06(月) 18:01:41
Cのソースコード発見
http://nog0709.hp.infoseek.co.jp/reports.html
2006/11/10(金) 16:16:05
>>594
これは参考になるな
596デフォルトの名無しさん
垢版 |
2006/11/19(日) 08:50:56
すみません。質問させてください。

bz2形式の圧縮ファイルの元のファイルサイズを
実際に展開せずに知る方法はないでしょうか?
597デフォルトの名無しさん
垢版 |
2006/11/19(日) 11:16:30
>>596
ないっちゃね
598596
垢版 |
2006/11/19(日) 11:31:59
>>597
やっぱりそうですか。地道にカウントします・・・。
2006/11/21(火) 00:23:19
パスワード付きrarを解凍できる、rarアーカイバを作りたいんですが、オープンソースなのはどれがあるのでしょうか?
UnRAR Sourcecode 3.4.3とうのしかなさそうなんですが、これでいいんでしょうか?
2006/11/21(火) 15:24:40
clamav のソースに libalamav/unrar/ に rar 展開ソースは入っているが
パスワード展開には対応していないな。。。
601599
垢版 |
2006/11/24(金) 00:17:06
>>600
どうも。
人いないんですかねこのスレ。
winrarのサイトでもうちょっ新しいunrarsrc-3.6.8.tar.gzがありました。
MacOSXのソフトでもunrarを使っているようなので、これで良いのかもしれません。
2006/11/28(火) 00:16:52
ttp://www.uploda.org/uporg596558.bin.html

何の画像形式が、ご存知の方いらっしゃいませんか?
2006/11/28(火) 01:51:24
>>602
fileさんによると
> uporg596558.bin: Hitachi SH big-endian COFF object, not stripped
だってよ? 画像じゃなくて実行ファイルじゃ

と思ったが中身見てみると確かに32bitの色情報くさい感じはするな。
適当に作画させてみたらどうか?
604603
垢版 |
2006/11/28(火) 03:00:22
なんやよくわからんが顔色の悪いおなごが出てきたぞ
ttp://www.uploda.org/uporg596801.png.html

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

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




ところで画像の詳細を教えてもらおうか
2006/11/28(火) 23:38:27
>>603
ありがとうございます
参考にします
2006/12/15(金) 18:02:11
遅レス気味だけと >>599
http://p7zip.sf.net のソース読んでいたら、
7zip/Crypto/ 以下に rar やら zip でパスワード付けた時の処理があった。
各圧縮ファイル形式のファイルヘッダや通常の解凍などは
7zip/Archive/ 以下だったりするけど。
2007/01/06(土) 23:01:26
Deflateの展開ルーチンを自前で実装しようとしてるんだけど、
これってひょっとして全部リトルエンディアンなの?
しかもハフマンは右(LSB)から1bitずつ読むわけ?
なんか統一感が無くて判り辛いよ。
なんでこれが普及したんだろ。
2007/01/11(木) 19:32:55
てすと
2007/04/06(金) 10:41:33
unzip32.dll はAES暗号化されたファイルに対応しているんでしょうか。
詰まってしまいました。
未対応なら他の方法を考えるんですが。
610デフォルトの名無しさん
垢版 |
2007/04/09(月) 15:13:03
age
611デフォルトの名無しさん
垢版 |
2007/04/20(金) 01:57:42
動画圧縮に関してはここでいいのかな?

H.264の詳細は、一般人でも入手出来ますか?
何をやってるかは大体は情報が手に入るんだけど、実装できるレベルの資料がない・・・。
2007/04/21(土) 00:52:25
>>611
http://www.itu.int/rec/T-REC-H.264/en
http://www.itu.int/rec/T-REC-H.264.2/en
http://www.compression-links.info/MPEG-4_AVC_H264
http://www.mpegla.com/avc
etc.
613599
垢版 |
2007/04/28(土) 23:41:12
>>606
ありがとうございます。
ソースを読むにはまずc++を勉強しないといけないのかな。cしかやった事ない√|○
2007/04/29(日) 07:49:00
>>613
クラスとSTLの勉強だけだ、おれなんてC++からはじめたし
2007/05/19(土) 14:37:33
英単語辞書を圧縮された状態で検索に使いたいのですけど、
辞書順にソートされた文字列のリストを、検索可能なままで
高圧縮できるアルゴリズムってありますか?

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

別に弱くは無いよ。
原理的にはPPMと同じ。
2007/05/20(日) 02:58:38
>>615
FM-index とかどうよ?
2007/05/20(日) 10:49:08
>原理的にはPPMと同じ。
んなこたーない。
620617
垢版 |
2007/05/21(月) 10:17:01
>>619
その辺のことはDO++が説明してたよ。
アルゴリズムとしては違うけど、結局圧縮しているものが同じってこと。
2007/05/21(月) 19:58:43
abcdeという文字に対して
abcdからeを符号化するのがPPM
bcdeからaを符号化するのがBWT
という意味では同じかもしれんけど
BWTは決められたブロック内の情報のみ
PPMはそれまでに出現した情報のみである点が違う。
つまり任意のシンボルが参照できる情報の範囲と質が大分違う。
622617
垢版 |
2007/05/22(火) 10:03:19
>>621
>BWTは決められたブロック内の情報のみ
>PPMはそれまでに出現した情報のみである点が違う。
>つまり任意のシンボルが参照できる情報の範囲と質が大分違う。

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

違いは、
BWTはPPMでは未来の出現に相当する部分の情報も使う。
PPMは、それまでに出現した過去のみの情報を使う。
ってぐらい。
ただ、未来の出現といっても、時系列情報を失うので、BWTが特に優位というわけでもない。
2007/05/22(火) 13:09:12
結局何が言いたいのかよく分からん。
やっぱりPPMとブロックソートは違うものだって結論に変わりはなさそう。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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