【2ch】圧縮アルゴリズム【オリジナル】
レス数が950を超えています。1000を超えると書き込みができなくなります。
00011
NGNG中途半端に圧縮されて拡張子が.2ch
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGGPL以外は認めない!
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG00071
NGNGなるほど。ヨサゲ
作ります。じゃなくて作りませんか?にした理由は
プログラムを始めたばかりで一人では無理そうだったからです。
みなさんで協力していけたらいい物ができるのではないかと。
0008デフォルトの名無しさん
NGNG00091
NGNGクラスでは出来る方ですけど。
構造体やポインタなんて全然まだで、配列ができる程度です。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG>>1は習作として作ってみれ。
00121
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG未知のAA5個くらいに対して、一番いい圧縮結果を出したソフトが優勝。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGうん
0018デフォルトの名無しさん
NGNGAA固有の特徴が見つかるとナイスってことだよね?
0019デフォルトの名無しさん
NGNG使われやすい文字が限られてるとかじゃないかな。
0020デフォルトの名無しさん
NGNGとにかく所有するテーブルが鍵になるのでは?
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGそのAAと対象AAとの差分を圧縮した結果をつなげる。
0023デフォルトの名無しさん
NGNGあるいは差分を圧縮せずにつなげて全体を圧縮。
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGgzip なんか、全然圧縮率良くないじゃないか。
LHAよりも悪いんだぞ。
bzip はそれらよりももっと良いし。
0026デフォルトの名無しさん
NGNGAA専用だったらさ、MP3みたく多少劣化しても元絵が判別できればOKということに
すれば、かなり圧縮できたりしないかな?
0027デフォルトの名無しさん
NGNG似た文字は置き換えちゃうとか?
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGAA職人が泣くぞ。
0031デフォルトの名無しさん
NGNGピクセル単位で命懸けてるAA職人に失礼かと。
0033デフォルトの名無しさん
NGNG>>32
うん。俺職人じゃないけど、モナ板住人なんで。
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGそれは圧縮とは言わない。
0036デフォルトの名無しさん
NGNGお馬 さん
0037デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1028570486
0038デフォルトの名無しさん
NGNGまで圧縮できないか?
0039デフォルトの名無しさん
NGNGtech/1028570486までは逝ける。
1028570486はlong intで表現できるからtech(4byte)。
tech等はテーブルを持ってindexは1byteで表現しちまおう。
よって、このスレは5byteで表現できる。
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGこれで、少なくとも 2ch に存在するAAなら7byteで表現化農家
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGオススメあったら教えて。
馬鹿でもなんとなくわかる本希望で
0046デフォルトの名無しさん
NGNGCマガの先月(7月)号
0047デフォルトの名無しさん
NGNG素直にデータ圧縮ハンドブック読んでおくのがいいかと。
0048デフォルトの名無しさん
NGNG英語でも良いなら
Kluwer Academic Publishers "Compression and coding algorithms"
がおすすめ。
日本語は参考になる本が少ないからな〜
データ圧縮ハンドブック と C MAGAZINE 以外には、
文書データ圧縮アルゴリズム入門くらいしかないが、絶版だし。
そもそも、圧縮自体が研究が進みすぎて下火になっているという罠。
画像圧縮の方は盛んだけどな。
何か画期的な圧縮法を>>45が発明することを期待する。
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGその方が、圧縮率が悪くなりそうだよ。
基本パターンやカッコなどの対応をあらかじめ学習しておくのがAA向きか。
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG小さいサイズのAAなら職人技が光るけど、
大きいサイズだとツールを使ったものも多いよね。
0054開発者 ◆GODLHAg2
NGNG0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNGああ特許の件で何も影響力が無かったカスか、まあいらっしゃい
0057デフォルトの名無しさん
NGNGいっそのことマイナーな圧縮アルゴリズム使ってみないか?
おれはBPEぐらいしか知らんが。
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNGかなり圧縮できそう。
006158
NGNGJPEG圧縮プルグラムを作ろうとしたがやはり無理か。
006458
NGNG鬱出汁脳。
0065デフォルトの名無しさん
NGNG([ISOと圧縮対象ファイル]の[同じデータ]を探してISOのデータアドレスをアーカイブに書く)
回答時はネットに接続して、ISO参照の部分だけISOから抜き取って解凍。
DQNだと思われなら無視なされて結構です。
0066デフォルトの名無しさん
NGNGなに言ってんだかさっぱりだけど
恒常性の無いデータなんか
使いモンにならんぞなモシ
0067デフォルトの名無しさん
NGNGDQN
どうせなら辞書鯖用意して巨大共通辞書ファイル置くってのはどうか。
0068デフォルトの名無しさん
NGNGそのISOファイルへのポインタが消費するバイト数 >
ISOファイルを利用することによって節約できるバイト数
になる予感。
006967
NGNG・巨大鯖
・クライアント
・高速回線
ユーザがファイル圧縮を選択するとファイル内容が巨大鯖に転送されます。
……書いてて面倒くさくなってきたので続きはTHComp参照。
案外実現できそうな気がしない?
0070デフォルトの名無しさん
NGNG昔導き出された結論はこうだ・・・
「インデックスのサイズが圧縮元のサイズと同じになる」
0071デフォルトの名無しさん
NGNG18GBに収まるってのがあった
この辞書を各クライアントが持つってのはどうかな?
当時は夢の容量だったから、だからどうしたレベルだったけど今ならいけそうだね
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGBPEって特許からむのかな。
Cマガの記事は読んでないのでよく知らないけど、
セクションサイズを可変にするのはダメ?
255種類のByteが出現するまで読み込んで、
その中で最も多いペアを出現していない残りの1種類のByteに置き換える。
セクションのデリミタとしてもう1Byte予約しておかないとダメか。
007457
NGNG俺もCマガの記事は読んだこと無いけどBPEの作者は特許取らない
ような事を言ってたらしいよ。
たしかBPEでは200種のByteが出てくるまで読みこんで(これを1ブロックとする)
その中から最多頻度のペアから順次残りの56種に割り当てて
圧縮していって圧縮が効かなくなるか256種使いきるまでやって
ペア表(軽く圧縮)・ブロックサイズ・圧縮データの組を順次出力してたと思う。
BPEが実際に使われた例は1しか知らないな。(除自作プログラム)
0075デフォルトの名無しさん
NGNGなるほど。そもそもブロックサイズは固定じゃなかったのか。
適当に前処理すれば圧縮率上がりそうな感じするね。
007657
NGNGブロックソーティング→ランレングス圧縮→BPE(Byte Pair Encoding)
※ランレングス圧縮を間にはさむのは、ブロックソートすると同値の連続が多くなり、
それをそのままBPEするとその連続の個所で無駄にペアが消費されるから。
でも本当に圧縮率が上がるかどうかは不明(汗
0077デフォルトの名無しさん
NGNGそれをやるなら普通に BWT→MTF→BPE なのかな。
BPEってもっと効率の良いブロックサイズを決定する方法がある気がする。
007857
NGNG>RLE→BPE は太るよね。
あ、RLEでビット単位の操作が入るようなのだとBPEは効きにくくなるな。
テキスト専用の圧縮にするなら0x00を長さ表示の開始コードに割り当てれば
実際の圧縮の場合は問題無いかも。
#それとも、まだ勘違いしてる?
>それをやるなら普通に BWT→MTF→BPE なのかな。
あと、ここ↓の2.14.15をみるとBWT→MTFよりMTF→BWTの方がいいみたい。
http://www.ingnet.or.jp/~kojif/mu/comp/bwt.htm
>BPEってもっと効率の良いブロックサイズを決定する方法がある気がする。
このへんは良い方法思いつかないな。
以前自分で作った(拾ったコードを改変した)やつではデフォルトのパラメータ使ってたし。
0079デフォルトの名無しさん
NGNGBWT→RLEの時点で、前後のByte同士の関連は無くなってると思っただけです。
> あと、ここ↓の2.14.15をみるとBWT→MTFよりMTF→BWTの方がいいみたい。
「2.14.5 メモ」のこと?
そこに書いてある“MWT”ってのは何なのかわかんないけど、
BWT→MTFよりMTF→BWTの方がいいという意味では無いと思いますよ。
そこに書いてあるのは、BWT後のデータを効率よく圧縮する方法として、
まずMTFで0(ゼロ)を増やしてからZero-Runをかけると良いってな意味かと。
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG現在、世界中のサーバに格納されているテキスト文書を
URIの形をインデックスの表現とすると考える。
このURIリストを圧縮することで、世界中の文書を圧縮できたと仮定する
これは、実際は間違いだが、下限値を記述することにはなる。
4億のサーバがあると仮定。各サーバが10文書持つと仮定。
URIの長さがIPアドレスの長さ4byteの2倍程度に圧縮できると仮定。
4億×10×8 = 29.8 GByte
結論: 18GBではとても無理だ!
0082デフォルトの名無しさん
NGNGまあ10年前なら18GBを楽に割りそう
ネット環境の発達が文書量のインフレを加速してますな
0083デフォルトの名無しさん
NGNGMTFかけただけならサイズは増えないだろ。
0084デフォルトの名無しさん
NGNGBWT->MTF->... よりも MTF->BWT->... の方が大きくなる場合が多いってことでは?
008557
NGNGおれはMWTってのをBWTの誤植って解釈してた。
多分MTFのMとBWTのWTが混ざったんじゃないかな。
>84
Cで簡単なコード書いて試してみた。
Cのコード自身にそれぞれの変換をした結果をLZH(lh5)で圧縮して圧縮率を見たら
無変換 41.1%
BWT->MTF 14.1%
MTF->BWT 19.2%
になった。
使い方
a.exe option input output
option
b BWT->MTF
m MTF->BWT
制限
入力ファイルは65536Byte以下
動作確認
CYGWIN_98-4.10 名無し 1.3.12(0.54/3/2) 2002-07-06 02:16 i686 unknown
gcc version 2.95.3-5 (cygwin special)
コンパイル
gcc bwt_mtf.c -o bwt_mtf -Wall -O6
※30分で書いたコードだから間違いあるかも。
↓ソースをLZH圧縮&uuencodeしたもの。
begin-base64 644 bwt_mtf.lzh
RQAtbGg1LU4CAACbBQAA1hRpPSAC4ApNCwABQnd0TXRmLmMbAEGgjeqRXkzC
AQBPDntdTMIBAJhjFUhMwgEFAAALyAAAAe5ju9Gmo75yQ9/7tJtbThwBMeDB
SR8CyMi+dkITS23rjql7ht6hlYfG7//u60AIrFY+Bi5gNG0271oTJrrlPmqX
KhXp1Z7tzr4IqUJ8vsjl1ojYju3DproD63bgB7/V8IQyd/fjyGu3N+UliErB
Evn41I+lvePcvxko2PSKTUsNqkShBEYOXaN9ojSdddKQoPQTgLJGawOfEP3k
JSaoqYCFHi4hBULEJKLEdwK1O8hMp/PQMSaSe3Jo65iRQYtLEbIvZFIMNdnz
eFhBnxgEaYLZei68xLzXEwTKpeRDgygjMxOPC9edCRFJQajTCHYUBoaf72vT
pjha7kh+VSqVtkI1hcP6qZk6wPmsqt0PQ/h9Uw6sgTQTBfDDzgR1fKulaKFz
f6tC4o9Z9GLvycaomCfhXKT8xCLf0iBoMyJOUKf+VpIWSzlb1JsnY2TuIZ+L
WMNzPNJp9MMISPhHSeL4ufN/KlE7kguM/oERfK/1Ctp3uxoDg0mB3LCPKd/L
ykbAIFJ/atlSWiJCXi4RU+UhnZawD02ujL2e33esIEJ2GCBVa/vmJwrg7DZ2
JkzxCOYMb9hvhdYIQuEaS7DpJi26MQx11Ux9TY9IFFcNE5SzmMGExbxlfbY1
hmk1qqO87uxz3IXJqeZGw0JswYiqOHbR2+AdzMQb+ccrQg7m0jLFJg/w1cBm
6H4SW2faIxtERa7+cQW0R/T5+ya0RlPNFXrX4NTiKyqBKl6h8ftovxp9bcob
E86h4yqHusqHNupQs9tPm7ci5c6fu78cGMFmDAAA
====
0086デフォルトの名無しさん
NGNG> おれはMWTってのをBWTの誤植って解釈してた。
大丈夫、大抵の奴はそう思うから。
MTF->BWTの逆にするとサイズが大きくなるのは有名な話だとおもてた。
少なくとも圧縮に関する研究や職業ならMTFがどういうものか知てるので。
0087デフォルトの名無しさん
NGNG有名な話だと思ってたってことはどっかに解説でもある?
検索してもBWT->MTFしかでてこない。
むしろ↑これが有効なことの方が有名な気がする。
MTFがどういうものかってのは…まんまの認識じゃあまいってことなのか
MTF程度にどうもこうもないと思うんだが(煽りとちゃいますよ)
0088デフォルトの名無しさん
NGNGttp://www.hn.is.uec.ac.jp/~arimura/compression_papers.html
にリストアップされてるような論文が理解できないとだめだよね。
ttp://www.ingnet.or.jp/~kojif/mu/comp/bwt.htm
あたりの入門用の解説を読んでもたいしたことは書いてない。
0089デフォルトの名無しさん
NGNG本体はでかくなるが。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG登録すれば宜しいか。
0094デフォルトの名無しさん
NGNGそれが本当なら今すぐ特許を取れ。
0095デフォルトの名無しさん
NGNG実際そんなに使われていない罠
009657
NGNGそれを初期状態とした動的ハフマン使ったら結構圧縮きくかも。
# 眠い頭で考えたからツッコミ歓迎。
0097デフォルトの名無しさん
NGNG全てのファイルを1バイト以下にできるということだな?
0098デフォルトの名無しさん
NGNGすべてのファイルを1ビット未満にできると!?
0099デフォルトの名無しさん
NGNG1ビット未満ってことは0だな?
それはさておき,少し前にランダムデータに対して圧縮できるって話出てたけど
あれはどうなったんだろう。
0100デフォルトの名無しさん
NGNG1ビット未満は即0ではないのだが・・・まぁいいや。
再帰的に繰り返せば同じことだから。
>それはさておき,少し前にランダムデータに対して圧縮できるって話出てたけど
消えたのではなかろうか。
http://www.zeosync.com/ が404エラーになる。
0101デフォルトの名無しさん
NGNG無知で申し訳無いんだが,今のコンピュータでビットより高い分解能の単位は表現できるの?
(日本語おかしいかも知れんが許してくれ)
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGあ,要するに
7ビット中に10個のファイルの内容を格納する
という意味でつね?納得しますた。
0104デフォルトの名無しさん
NGNGまぁ算術符号なんかは実直にその概念を実装したものなわけだ。小数ビットの。
一方、ZLなんかも見た目は違うけど、実態は同じ。
0105デフォルトの名無しさん
NGNG誤解してるのかもしれないが、何故動的ハフマンを使う必要が・・。
別にストリームで圧縮するわけじゃないでしょ?
0106デフォルトの名無しさん
NGNGもの凄く処理時間がかかって現段階では実用にならない
アルゴリズムってあるの?
0107デフォルトの名無しさん
NGNG全てのファイルが1〜十数バイトになるってのが昔あったよ(w
0108デフォルトの名無しさん
NGNG円周率圧縮
0110デフォルトの名無しさん
NGNGこの宇宙で存在しうる全てのデータにインデックスを付けるとしても、せいぜい256bitもあれば十分です
は真でも、全てのデータを256bitに圧縮出来るというのは別の話です。
よく勘違いする人がいるので気をつけましょう
0111デフォルトの名無しさん
NGNG円周率の数列から目的のデータを検索して
その出現位置でデータを表すってこと?
0112デフォルトの名無しさん
NGNGそれとの差分のみを圧縮すればいいだろ?
シャノンの情報理論に基づきデータの偏りを均一化するんだ。
0113105
NGNG0114デフォルトの名無しさん
NGNG初期状態のハフマンコード表を作るって言ってるんで、それは違うんじゃない?
あくまで推測ですが、動的ハフマンなら出現頻度の偏りの変化に追従できるから
高圧縮になると考えているのではないかと思われ。
0115デフォルトの名無しさん
NGNGMTF程度にどうもこうもないと思うんだが(煽りとちゃいますよ)
0116デフォルトの名無しさん
NGNGあと復号方法も考慮に入れてません(アカシックレコードが必要)
0117デフォルトの名無しさん
NGNGMTFは情報源の特性(無記憶とか定常とか)によって左右されるから気をつける。
最近、EffrosらによってBWTの冗長度が理論的に証明されたけど、
そこではMTFについてかなり細かく(実はそうでもないが)分析がされてたよ。
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGif (assyukuPattern == 0) {
int i;
while(searchPI(i++))
;
} else {
int j;
long sosuu;
while((long = getSosuu(j++)) != 0)
int i;
while(searchExp(i++, Sosuu)
;
}
put("ok");
}
private: getSosuu() {
//preaseWrite
}
private: searchPI() {
//preaseWrite
}
private: searchExp() {
//preaseWrite
}
0122デフォルトの名無しさん
NGNG圧縮可能だったら、圧縮するんだよ。無理ならやらなければいい。
それにたとえ確立が低くても、LZHやZIPが圧縮できたら神だろ?
0123デフォルトの名無しさん
NGNG素数は http://pc3.2ch.net/test/read.cgi/tech/1018657457/ に頼め
0124デフォルトの名無しさん
NGNGlong searchBit(bit* data, long assyukuPattern)
//とにかく探す
int i;
if (assyukuPattern == 0) {
searchPI(i++);
} else {
searchExpSosuu(&data, i++, assyukuPattern)
}
return i;
}
long searchPI(bit* data, long offset) {
//PIを検索する
}
long searchExpSosuu(bit* data, long offset, long sosuuno) {
//expSosuuを検索する
}
long expSosuu(long n) {
//getSosuuで取得した素数を(1/2)乗し、PIと同じく無限小数化する
}
long getSosuu(long n) {
//n番目の素数を返す(もちろんテーブルを引く)
}
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG> それにたとえ確率が低くても、LZHやZIPが圧縮できたら神だろ?
限りなく低いので却下
0127デフォルトの名無しさん
NGNGいや、だから初期状態のテーブルはプログラム側でもって、圧縮したファイルには
入れないんでしょう。
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGPPMZとかで再圧縮した方がはるかに縮みそうだ。
>>128
URR って「万能数値表現法」のこと?
ちょっと資料読んでみたけど、算術符号や、(二分)木による数値圧縮法、
などが近い考えなのではないかとふとおもた。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG圧縮可能ならと言ってるが、その情報を付加するんだから情報量は基本的に増える
ことになるんだよ。円周率やら素数やら増やせば増やすほどな
それらのパターンを増やし、全ての情報パターンを表せるようになったときに
圧縮前のデータとおなじビット数が必要になることに気がつくんだよ(藁
くだらんこと言ってないで確率統計でもやってろ痴呆
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGネタにマジレスするなよ…
0135デフォルトの名無しさん
NGNGオマエモナー
0136デフォルトの名無しさん
NGNGあとがんばっても5%も減らないだろ
0137デフォルトの名無しさん
NGNGでも、BWTはアレを無視した手法強引にエントロピーを低下させてるんでしょ?
0138デフォルトの名無しさん
NGNG圧縮くわしくないけどさ
とくに2chのログなんてかなり省略できると思う
↑を圧縮
非可逆圧縮でよくない?
圧縮シラネーヨ
特に2chのログナンテカナリ省略デキルサ
0139デフォルトの名無しさん
NGNG下のやつを展開するとどうなるんですか?
0140デフォルトの名無しさん
NGNG人工無能を搭載してありがちな反応を数パターン予測して、
その中から一致するパターンがあればそのパターン番号を出力、
失敗したら通常の圧縮って手もあるな。
つまり、擬似コードで書くとこんな感じな。
void 圧縮(前レス, レス) {
array= 人工無能(前レス);
for(i=0; i< array.size; i++) {
if(レス== array[i]) {
出力(i);
(・∀・)カエレ!;
}
}
出力(予測シパーイ);
出力(通常圧縮(レス));
(・∀・)カエレ!;
}
0141デフォルトの名無しさん
NGNGこの場合,圧縮率の高いスレは内容の少ない糞スレである確率が高い.
0142デフォルトの名無しさん
NGNG原文と一緒に圧縮して何%圧縮出来たかで 作者が同一か判定するというのがあったけど
圧縮率でクソスレ率を出すのも面白いかもね。
0143デフォルトの名無しさん
NGNGワラタ。むちゃくちゃ言うなよ。
エントロピーとエントロピーレートは似て非なるもの。
0144思いつきおとこ
NGNGを
「とてつちたそせすしさこけくきかおえういあ」
の反対と見るようなロジックってありました?
0145デフォルトの名無しさん
NGNGつーかlzhでいいです。
0146デフォルトの名無しさん
NGNGよくないです・・・・・lzhが拡張子だと、デフォルトではunlhaの方に渡されちゃうよ。
0147デフォルトの名無しさん
NGNGそりゃ環境依存だ。うちではlzhには何の関連付けもしていない。
unixだと関係ないしな〜
0148デフォルトの名無しさん
NGNGまぁ結局そうなんですが、やはり.lzhは避けた方がいいのでは。
負荷がかかりまくるでしょうが。
単純にhttp://をEsc文字 <a href= を \
アラーム文字 とかでいいと思うんだけどなー
0150デフォルトの名無しさん
NGNGあふぉだな
そんなくだらんことしないでgzipしたほうが圧縮率あがるんだよヴォケ
殆どgzipで転送してんだからくだらん加工してサーバーに余計な負荷かけるな史ね
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNGうわー、おっかなーい。藁
0153デフォルトの名無しさん
NGNGはいはい。怖い怖い。
ぶるぶる〜
藁
0154
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG151と152と153を同一フレーズに圧縮したら非可逆になっちまうだろうが。
まあ展開結果は「クソレス3件」だけでも構わんがな。
0157デフォルトの名無しさん
NGNG真面目に考えんなYO。
つーか思いついた。
2ch語を特定の数字に置き換えんの。
1,オマエモナー 2,YO 3,逝ってよし 4,1よ 5,藁・・・・・(2ch語続く)
だれか作ってくださいお願いします。,5,
0158デフォルトの名無しさん
NGNG>>95
0159デフォルトの名無しさん
NGNG特定の文字を数字にしたら
今度は数字を符号化しないといけなくなるじゃん。
0160不マジレス
NGNGそれ以外は原文字のままで1バイトずつ。
で、それら8個集めて別のフラグバイトにどっちかを示すビットを立てていく。
0161デフォルトの名無しさん
NGNG全部 9bits にするぐらいなら予約語を escape した方が縮むんじゃ…
よっぽど頻繁に出てくればともかく、平文が 9/8 に膨らむと大きそう。
0162デフォルトの名無しさん
NGNGお前は自作自演を見破れないのか?
0163がいしゅつだったらスマソ
NGNGただし、ファイルの先頭より前の部分に2chで頻出する文脈を詰めておき、
そこを初期のスライド窓の位置とする。
圧縮・展開ソフトが固定データを持ってなきゃいけないのが重大な欠点か。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG. |(・∀・)|
. | ̄ ̄ ̄ ジサクジエン共和国
△
△l |
__△|_.田 |△_____
|__|__門_|__|_____|_____
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG圧縮時はその時点での 2ch から頻度表作って詰めて、
展開時には初期の辞書で置き換えられた部分は無視するの。
…無視するなら、圧縮前に削除しちゃった方がいいか…
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG圧縮アルゴリズムを発見(発明)した時、
特許とかの申請はどういう風になるんですか?
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG「情報処理」にソフトウェアやアルゴリズムの特許についての話が連載中。読め。
0174デフォルトの名無しさん
NGNG0175
NGNGそんなことも知らない奴には発明なんて無理
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGとりあえず2chにアルゴリズムをUP汁。そして各所からリンクを張られろ。
どこかの香具師が勝手に特許とっても申請前に既に一般に知られていれば
特許を無効にできると思われ。
0178デフォルトの名無しさん
NGNG. |(・∀・)|
. | ̄ ̄ ̄ ジサクジエン民主主義人民共和国
△
△l |
__△|_.田 |△_____
|__|__門_|__|_____|_____
0179デフォルトの名無しさん
NGNG>>とりあえず2chにアルゴリズムをUP汁。
これが一番危険と思うんですよね
2chに書き込んだのはすべて2chのものってことになってますから。
まずどっかのサーバーにウプした時点で著作権だけは保持できるはずなんですので
そのあとここに書き込むかもしれません。(まぁ無理かな、いちをおテスト中です)
0180177
NGNG>2chに書き込んだのはすべて2chのものってことになってますから。
そうなのか、知らなかったよ。
じゃあジオとかを避けて適当にUPしてそのURLを2chに晒すのがいい鴨な。
以前、会社でPGやってる香具師が、退職時に自分の作ったコードを
自由に使えるようにする為に、会社で使う前に自分のHPにUPしてた
という話を聞いたことがあるよ。
0181デフォルトの名無しさん
NGNGんなわけねーだろ。というわけで晒しあげ。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGそれに今話してるのは特許の話しだろ。小学生からやりなおして来い。
0185デフォルトの名無しさん
NGNG圧縮アルゴリズムが違うものでの圧縮は一回は効果ありますよね?
たとえばlzh形式をbzip2で圧縮できたりとか、、。
0186デフォルトの名無しさん
NGNG圧縮に関するすべての勉強をやり直せ。話はそれからだ。
0187デフォルトの名無しさん
NGNGあほばっか
指摘されてるほうねw
0188デフォルトの名無しさん
NGNGタモンって誰よ?
0189EXE系の人
NGNG確かに効果あるが
その効果はバイト単位(一部を除き)でしか確認できないと思う
逆に増えることもある思う
0190デフォルトの名無しさん
NGNGオマエも勉強を…
0191デフォルトの名無しさん
NGNG9ca53116f068eed6de59ac6540f1a036 xyzzy-0.2.2.230.lzh
$ bzip2 xyzzy-0.2.2.230.lzh
$ ls -l xyzzy-0.2.2.230.lzh.bz2
-rw-r--r-- 1540494 xyzzy-0.2.2.2lzh.bz2
$ bunzip2 xyzzy-0.2.2.230.lzh.bz2
$ md5sum.exe xyzzy-0.2.2.230.lzh
9ca53116f068eed6de59ac6540f1a036 xyzzy-0.2.2.230.lzh
$ ls -l xyzzy-0.2.2.230.lzh
-rw-r--r-- 1544223 xyzzy-0.2.2.230.lzh
>>190
んじゃこれをわかりやすいように馬鹿に説明してみてください。
0192デフォルトの名無しさん
NGNGKB単位で効果があるように見受けられるが?
ってゆーか何でわざわざMD5?
0193デフォルトの名無しさん
NGNGそのため、SOLID圧縮が有効であることからわかるように、
bzip2などで再圧縮すると、そのヘッダ部分でわずかながら圧縮される。
しかし圧縮部分自体は、LZSS+Huffmanという構成で、
特にHuffmanがエントロピー符号であることから、再圧縮効果は期待できない。
0195デフォルトの名無しさん
NGNGサンクスです。理論的に意味がないというわけですね
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG記憶容量と処理能力は別物だと思われ。
もし、しなぷすの結合のオンオフが1ビットに等価ならば、
2^140億の組み合わせがあるわけで・・・
0201デフォルトの名無しさん
NGNGimidas2002のパソコンカテゴリに答えが書いてあったはず
0202デフォルトの名無しさん
NGNGAAの圧縮なら、その絵のキャラクタインデックスとポーズを符号化するのはどう?
意味が通じればいいので、非可逆でよいわけだし、
キャラクタインデックスに20ビット、ポーズに12ビットもあれば十分。
セリフ部分やその他の特殊効果に費やすビット数を除けば、
32ビットから48ビットもあれば、AAを表現できそうだ。
例:
(ギコ猫、左向き、セリフ「逝ってよし」)
とか、
(モナー、上半身と下半身分離、ポインタ>>1)+(斬鉄剣モナー、左右、擬音「ザシュッ」)
とか。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGエントロピー符号という用語は初めて知ったよ。
ちょっとぐぐってみたんだけど定義が良く分からないので
もしよければ教えて下さい。
0205デフォルトの名無しさん
NGNGエントロピーを達成するような符号を、エントロピー符号という。
エントロピーとは、理論的に達成可能な圧縮限界のこと。
確率 p[i] が与えられているときに H(P) = -Σp[i] log p[i] がエントロピー。
エントロピーレートを漸近的に達成する符号で、
a priori な知識なしに達成するものを、ユニバーサル符号という。
エントロピーレートとは、1記号当たりの漸近的なエントロピー。
Shannon情報理論を扱った本なら、一番最初に書いてあるから読むべし。
つーか、圧縮を知りたいなら、まずエントロピーありきだから、
エントロピーを知らないと、「1/100圧縮」や「何でも圧縮」といった、
とんでも圧縮法を提案してたたかれることになる。
0206知ったか厨
NGNG0207デフォルトの名無しさん
NGNGそれは物理学の方だね!
局所的にエントロピーを減らすことは出来ても、
系全体では必ず単調非現象にあるんだね!
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGサンクスコ
でもハフマン法の平均符号長(L)ってエントロピー(H)に対して
H≦L<H+1
だからエントロピーを達成できない場合もあるのでは?
0210デフォルトの名無しさん
NGNG対象が無限長なら大丈夫。
0211デフォルトの名無しさん
NGNG対象が無限長、という条件だけでは不十分と思われ。
例えばAとBという二つの記号からなる情報源を符号化すると
0と1になって圧縮しようがない罠。
0212デフォルトの名無しさん
NGNGそんときは -p*log_2 p は情報量みたいな言い方してた.
まだ,勉強してないからあれだけど
「エントロピーとは、理論的に達成可能な圧縮限界のこと。」
なんていわれると激しく違和感を感じる.
0213デフォルトの名無しさん
NGNGをあと一週間で発表します、今デコーダーの作成中です
期待してください。
0214デフォルトの名無しさん
NGNGHuffman符号は整数長の符号しか構成できないので、
メール欄にある通り、アルファベット拡大が必要ですな。こりゃまた失礼。
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG>>213
0217デフォルトの名無しさん
NGNG単語に分割して重み付けによって符号化する手法ですか?
それって、LZ77とLZ78まぜた方法LZFG,LZYGとは違うのですか?
(LZ77の一致位置を、単語の区切りにしか設定できない制限を置くというやつ?)
0218デフォルトの名無しさん
NGNG0219学生
NGNG天才をはるかに超えた存在だ
0220デフォルトの名無しさん
NGNGしかし、後18ヶ月もするとさらに18エクサバイト増えるらしい。
>>219
「天才をはるかに超えた存在」・・・つまり馬鹿ってことだな
0221デフォルトの名無しさん
NGNG但し、復元できません……ですか?
0222デフォルトの名無しさん
NGNG「あらゆるデータをまるで乱数のように復号しますので、
必要なデータを見つけるまで復号しつづけてください」
って感じだろ・・・
0223デフォルトの名無しさん
NGNGRangeEncoderってなんじゃらほい
0224デフォルトの名無しさん
NGNGマイクロ波で加熱する圧縮方法
0225デフォルトの名無しさん
NGNGなるほど、GCAってすごいですね。
だから糞重いのか
0226213 ◆2m/csy02kQ
NGNGむちゃくちゃ圧縮とかいう話ではありません。
むしろ圧縮率は極端にわるいです。
ただハフマンかブロックソーティングと組み合わせれば
使いものになるかもしれません。
私は科学畑の人間でないので
既出の概念かどうかをここで確認させてもらおうという話です。
0227デフォルトの名無しさん
NGNG圧縮の基礎だけでも勉強しておいた方が良い。
圧縮は、「圧縮 = モデル化 + 確率統計(確率推定) + 符号化」で構成される。
算術符号やHuffman符号は、(それ単体が「圧縮」を構成するものだが)符号化。
モデルはn次マルコフ連鎖とか、実装で言えばPPMやMTF、ブロックソーティングも該当する。
確率推定はモデル化や符号化に統合されていることが多いが、
次に a の出る確率は 1/2 である、と計算すること。
>>226の何かを X としよう。>>226が考えているのは、
「X + 符号化」あるいは「モデル化 + X」となる。
上記の「圧縮」の概念図に照らし合わせると、Xは確率推定を含む部分に相当する、
と推測される。
・・・で、>>226のアイデアって何?
0228デフォルトの名無しさん
NGNGrangecoder は算術符号の一種で、
Jonesの考案した整数による算術符号を改善したものに相当する・・・のか?
参考にしたところ:
ttp://www.compressconsult.com/rangecoder/
ttp://www.tomozo.ne.jp/yamazaki/download/doc_basic_compression.htm#RangeCoder
ttp://www.isl.cs.gunma-u.ac.jp/~shingo/labo/algo.html
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG暗記しておくってのはダメですか?
0231デフォルトの名無しさん
NGNG意見、賛成、反対、AA、get、煽り、荒らし、長文、吉野家
くらいに圧縮できるな。
例:
1 名前:デフォルトの名無しさん 投稿日:01/01/01 01:01
意見
2 名前:デフォルトの名無しさん 投稿日:01/01/01 01:02
2get
3 名前:デフォルトの名無しさん 投稿日:01/01/01 01:03
>>1 反対
意見
4 名前:デフォルトの名無しさん 投稿日:01/01/01 01:04
>>3 荒らし
こんな感じじゃだめか?
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGまぁ、アフォを社会から隔離しておくにはちょうど良いシステムかもな。
おまいら、もっと学習しる!!データ圧縮に関してあまりにも無知すぎる。
まずは、ぐぐれ!
0234デフォルトの名無しさん
NGNG↓
使用頻度の高い単語を文字コードで使われていないコードに置換
※例. 逝って→0x7743(コードは適当)
↓
2chのスレを解析して作った頻度表を初期状態として
動的レンジコーダで圧縮。
↓
(゜Д゜)ウー
0235デフォルトの名無しさん
NGNGそれはLZ77+78から派生するアルゴリズムとか、
7bit-ASCII(0-127)の単語を(128-255)に割り当てる手法などで、
すでに提案されている。
0236デフォルトの名無しさん
NGNG言葉遣いが滅茶苦茶なので、形態素解析が満足に出来ない罠。
「うつだしのう」ひとつとっても、変換がばらばらなので統計情報も偏らない・・・
0237デフォルトの名無しさん
NGNG>まだ,勉強してないからあれだけど
>「エントロピーとは、理論的に達成可能な圧縮限界のこと。」
>なんていわれると激しく違和感を感じる.
なぜ? まさかお前はエントロピー以上に圧縮できるとでも主張する気か?
0238デフォルトの名無しさん
NGNG言ってる理論を覆すのは無理と思われ。
0239デフォルトの名無しさん
NGNGエントロピーは無記憶情報源モデルとして求めた値なので
それ以外のモデルを使って圧縮すればエントロピー以上に圧縮できる。
0240しぃ豆 ◆hGFTP/i/.A
NGNGランレングスも効きそうな気がする。
0241デフォルトの名無しさん
NGNGお前もうちょっと勉強してから発言しろよな。
無記憶情報源以外のモデルを使ったら、そのモデルの上での
エントロピーがあるだろうが。
0242デフォルトの名無しさん
NGNGttp://isweb43.infoseek.co.jp/art/dempzone/up/2002101123025890.pdf
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGここでそのスレタイを聞くとは
0245デフォルトの名無しさん
NGNGうまく言えないんだが, 212 は例えば 205 の
>エントロピーを達成するような符号を
のような言葉の使い方に違和感を覚えてるんだと思う.
俺も知りたいんだけど, こういう言い方ってするんだっけ ?
0246デフォルトの名無しさん
NGNGするよ。
0247デフォルトの名無しさん
NGNG俺の周辺だけ?と思ったのでぐぐってみた。「エントロピー 達成する 符号」
あ、大丈夫そうだ。
誤り率とか、冗長度についても「〜を達成する符号」ということが確認できた。
0248デフォルトの名無しさん
NGNG究極のモデルを使えばどんなデータも0bitに圧縮できるな。
0249デフォルトの名無しさん
NGNGいうだけいって、何も説明できない
アホの大将
こいつ以上のアホは、そうは居ない
0250デフォルトの名無しさん
NGNGまぁ、アフォを社会から隔離しておくにはちょうど良いシステムかもなっ…!
おまいら、もっと…!もっと…!学習しる!!データ圧縮に関してあまりにも無知すぎるっ…!
まずは、ぐぐれ!
0251デフォルトの名無しさん
NGNGち ゃ ん と 元 に 戻 せ る か ど う か
だということに気づけ。そうすれば、元に戻せるためには
もともと持っていた情報量(エントロピー)より小さくできない
こともわかるだろ。
0252213 ◆2m/csy02kQ
NGNG手元のエンコーダー、デコーダーでデータの整合性がとれたので公開します。
わからないところがあれば説明します。
http://www61.tok2.com/home/jnc/
サンプルのjnc.plはまだ4Kバイトを越えたファイルを処理できません。
使い方は、
jnc.pl -e filename エンコード->*.jncファイル生成
jnc.pl -d *.jnc デコード ->D*ファイル生成
エラー吐きまくりますが処理に問題はないはずです。
0253213 ◆2m/csy02kQ
NGNG8バイト(64bit)のかたまりを、
65bit/59bit/52bit/45bit/38bit/31bit/24bit/17bit
にしてしまおう、ということです。
0254デフォルトの名無しさん
NGNGついでにこのスレを圧縮した場合の圧縮率を教えて please
0255デフォルトの名無しさん
NGNG8byte分取り出して、各bitの0/1が全8byteで一致した列を省く
というところまでは分かったが、その後が分からん
あああ今分かった。イメージ図と説明のところのデータって違うのか...
0256213 ◆2m/csy02kQ
NGNGそうです、説明のところは
#!/usr/b (64bit)をどのように59bitに圧縮してるかの説明です。
ちょっとWEBぺージはいいかげんなのでそのうち書き直します。
0257デフォルトの名無しさん
NGNGASCII文字列かUTF16文字列かのっぺりとした画像ぐらいしか思いつかない
0258213 ◆2m/csy02kQ
NGNGただ8バイトのうち縦2列のビット[16bit]がそろえば圧縮はできるんですが。
圧縮できる8バイトブロックと、圧縮できない8バイトブロック
にバッファを分けて、それぞれにハフマンなりなんなりをかける、、、
とかまぁいろいろ考えているのですが。
0259デフォルトの名無しさん
NGNG>これまでのバイト(単語)レベルでの圧縮と違いビットレベルでの圧縮
ほとんどの圧縮手法がバイト入力にしているのは、
別に手法としてバイト入力でなくちゃいかん、というわけではなく、
単にプログラム上の処理の面倒さや、動作速度の向上が理由といえる。
論理的な理由としては、アルファベット拡大を行うと最適になるからということもある。
事実、論文ではバイナリ入力で説明し、実装ではバイト入力というのが普通。
0260213 ◆2m/csy02kQ
NGNG1010Byteを越えたファイルでは処理が失敗します。
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG最初からうまくいくわけないYO!
みなさんがんば
0263デフォルトの名無しさん
NGNG1) 圧縮率が既存のものより格段に優れている 例)PPM
2) 理論的に面白い 例)CTW
3) 新しい概念に基づいている 例)ブロックソート法、文法による圧縮
のどれかが成立しないと、評価されないよ。
たとえば、○○法を改良して圧縮率を向上させました、というのは認められないことが多い。
これから圧縮を考える人は注意してね。
0264オレは天才だと分かりました
NGNG1バイトは、256通りのデータ表現が限度だから、
どっかに256通りのデータを記録しておけば、
1バイトの圧縮結果のデータサイズは、
256通りあるデータの、どれかを示すだけでよいから、
サイズは、1ビットから8ビットになる。
よって、
4Gバイトのデータを圧縮する場合は、
4Gバイトは、2の8×4G乗 通りのデータ表現が限度だから、
どっかに 2の8×4G乗 通りのデータを記録しておけば、
4Gバイトの圧縮結果のデータサイズは、
2の8×4G乗 通りあるデータの、どれかを示すだけでよいから、
サイズは、1ビットから 2の8×4G乗バイト になる。
0265デフォルトの名無しさん
NGNGで、4G+1バイトのデータはどうやって圧縮すんの?
0266オレは天才だと分かりました
NGNG圧縮結果は、1ビットになる可能性がある。
この素晴らしさは、たとえようがなく、
DQNには分かりようが無いのが残念だが、
我等が国王は、大いに喜び給うであろうことは、断言して誤りがないのである。
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNGちょっと俺にはわからんが。
みなさんは圧縮するテストファイルってのは何つかってます?
圧縮してないファイルってBMPかWAVかTXTぐらいしか思い浮かびませんが。
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNGどれぐらいになるんだ?
0272デフォルトの名無しさん
NGNG普通は Calgary とか Canterbury のコーパスを使う。
画像や音声の場合は、別のセットを使うこともある。
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNGファイルの先頭に非圧縮であることを示すフラグ「0x00」を付加する圧縮?法。
もし完全復号可能であることを求めるなら、もう少し工夫が必要だが。
0275デフォルトの名無しさん
NGNGそれって正しいの?だとしたら、ノーベル賞ものだよ。
0276オレは天才だと分かりました
NGNGだいたい785億Gバイトぐらいである。
現在の日本のHD出荷量を、年間4000万台として、
平均記憶容量を、30Gとすれば、
4000万×30G=12億G
だから、現在のペースでHDを出荷していけば、
785÷12で、66年後には、私の手法を実験する環境が日本に整う。
が、既に外国の政府から、投資を受ける手はずになっておる。
よって、研究はそこの機関で行なう。
日本は、いくら催促しても反応がなく、取り合ってもらえそうにない。
0277デフォルトの名無しさん
NGNG>30Gとすれば・・・
一昔前ですね。
0278オレは天才だと分かりました
NGNGそうである。
0279デフォルトの名無しさん
NGNGそれはURI表現と何が違うのか、どういう利点があるのかと、小一時間…
>>276
データそのものが指数関数的に増え、今後1年間で、
今までの50年分のデータに匹敵する量のデータが生成されそうです。
したがって、実験に供給可能なHDD容量はそんなにありません。
つーか、「〜億GB」は気持ち悪い表現だと思う…
0280デフォルトの名無しさん
NGNG情報理論では、ノーベル賞が与えられることはありません。
あるとしたらチューリング賞。
0281オレは天才だと分かりました
NGNG>今までの50年分のデータに匹敵する量のデータが生成されそうです。
>したがって、実験に供給可能なHDD容量はそんなにありません。
日本はこれだから困る。
可能性を追求しようとするというのは、そういった無理な実験設置も惜しみなく
建設することなのだ。
この辺が諸国の精神と異なる。
この精神は、お国柄の違いというものではなく、理論的解釈能力レベルでの問題である。
そして、日本にその能力が欠けているのは、ざっと見たところ
精神未熟国家政府であるとしか言えない。
0282デフォルトの名無しさん
NGNGだが本人のたっての希望とあらば止める必要もないだろう。
幸い281を国外に輸送するのに妨げとなる条約はない。今日にでも梱包すべきだろう。
0283デフォルトの名無しさん
NGNG首相にメール送れ
0284デフォルトの名無しさん
NGNG日本はデータ作ってなんぼの国ですから、
データの生成を停めると、国が滅びます。
ちなみに>>279のはなしは、全世界規模の話だと思う。
0285デフォルトの名無しさん
NGNG4GBのインデックスで記録できるデータの種類は、(2^8)*4Gではなく2^(8*4G)通りである。
そしてもし、(2^8)*4G だとしても、必要容量は 2^((2^8)*4G) bits だ。
これは、66年後でも実現不可能な容量だ。
それどころか、宇宙の全粒子を使っても不可能だろう。
そもそもこれもおかしい。
>256通りあるデータの、どれかを示すだけでよいから、
>サイズは、1ビットから8ビットになる。
256通りのパターンを明示するのに必要なビット数は、
256という前提知識があっても1ビットから8ビットは不可能。
特に上限を8ビットにする場合は、256通りのどれひとつも8ビット未満のビット数で符号化することは不可能。
0286デフォルトの名無しさん
NGNG0287オレは天才だと分かりました
NGNG>根本的に間違っている部分に誰も突っ込まないのは、ねたに遠慮してるから?
>4GBのインデックスで記録できるデータの種類は、(2^8)*4Gではなく2^(8*4G)通りである。
そうである。
私の書いた
>4Gバイトは、2の8×4G乗 通りのデータ表現が限度だから、
これは、2^(8*4G)の意味である。
>そしてもし、(2^8)*4G だとしても、必要容量は 2^((2^8)*4G) bits だ。
よって、これは意味の無い文である。
>これは、66年後でも実現不可能な容量だ。
否、実現可能である。
>それどころか、宇宙の全粒子を使っても不可能だろう。
その見解は、誤りである。
>そもそもこれもおかしい。
>>256通りあるデータの、どれかを示すだけでよいから、
>>サイズは、1ビットから8ビットになる。
>256通りのパターンを明示するのに必要なビット数は、
>256という前提知識があっても1ビットから8ビットは不可能。
この見解は、誤りである。最少は、1ビットで可能ある。
>特に上限を8ビットにする場合は、256通りのどれひとつも8ビット未満のビット数で符号化することは不可能。
私の論文を、読んでいないとしか解釈できない、見解である。
が、勘違いを予想すると、
285よ、では私の論じた圧縮方法で、8バイトのデータを圧縮する場合、
最も圧縮できた場合は何ビットのデータに圧縮できるか、
また、最も圧縮できない場合は、何ビットのデータになるか。
これを、答えてみなさい。
0288デフォルトの名無しさん
NGNGそれはURIとはどう違うんだ?
0289デフォルトの名無しさん
NGNG(; ,_ノ`)
0290デフォルトの名無しさん
NGNG1の後ろに0が400000個くらいつきそう
参考:無料大数 = 1の後ろに0が64個
0291デフォルトの名無しさん
NGNG>>特に上限を8ビットにする場合は、256通りのどれひとつも8ビット未満の
>ビット数で符号化することは不可能。
>私の論文を、読んでいないとしか解釈できない、見解である。
285じゃないんですが、論文ってどれでしょうか。
ぜひ読んでみたいのですが。
0292291
NGNGもう一つ教えて下さい。
785億GB というのはどうやって算出された値なのでしょうか。
2^(8*4G)通りの全てのデータを表現するためには、2^(2^(8*4G))ビットの容量が必要です。
しかしここから 2^(2^(8*4G))/8 をどう考えても785億GBにできません。
それとも上の前提が間違っているのでしょうか。
正しい数式を教えて下さい。お願いします。
0293デフォルトの名無しさん
NGNG自称天才の主張する圧縮は確かに可能だよ
16進数を2進数で表して、上位桁の0を消せば
0x01 = 1
0x02 = 10
0x80 = 10000000
1ビット〜8ビットに圧縮できる。
0294デフォルトの名無しさん
NGNGんでそれは可逆じゃないよな
0295デフォルトの名無しさん
NGNG元のデータサイズが”初めからわかっていれば”可逆
2バイトデータなら
0x0001 = 1 = 1バイトの 0x01 の圧縮結果と同じ
0x0002 = 10
0x0080 = 10000000
0x8000 = 1000000000000000
だから自称天才の圧縮技術は 4G バイトぴったりのデータは(ごくわずかに)圧縮できるけど、
4G+1バイトのデータは圧縮できない。
しかも自称天才はこれを圧縮にではなく識別子の生成に利用しようと言うとんでもなくばかげたことを言っているらしい。
0296291
NGNGprefix-freeじゃないコードを生成するんですね。
それなら>>293も知ってました。
インデックスが2つ並んだ場合でも復号するものだとばかり思っていました。
0297オレは天才だと分かりました
NGNG>ぜひ読んでみたいのですが。
264である。
0298オレは天才だと分かりました
NGNG>785億GB というのはどうやって算出された値なのでしょうか。
その場で、適当に概算である。
そのときの、思考はこうである。
「データサイズは、ビット数に比例して増えると見て、
そのデータを2進数で全て紙に記述すると、
0と1で産め尽くした直角三角形ができる。
この直角三角形は、感覚的に正方形の1/2の面積である。
よって、正方形の面積が分かれば、直角三角形の面積は分かる。
正方形の面積は、(2^(8*4G))×4Gであるから、
本題となる答えは、(2^(8*4G))×4G/2で求まる。」
まず、2の32G乗を求めた。
2の32G乗を行なった場合、0は幾つつくかを考えた。
2を乗算する場合、
1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,6556,10万
となる。この数列を見ると、ケタ数が上がるに要する乗算回数は、
4、3、3、4、3,3
となってるので、平均値としては、(4+3+3)/2=5で、
5回の乗算を行なうと、1ケタ上がる、つまり0が1個増えるとなる。
ということは、2の32G乗で、0が幾つ付くかというと、
32G/5=27487790694.4個
次に、数値は幾になるかというと、小数点以下が4なので、
0があと一つ付くには、0.6必要となるから、
これは10進数とみていいと判断し、
先頭の数値は、4と予測する。
ということで、指数表示を用いて表すと、
4×10^27487790694
とする。
785億は、適当に暗算しただけであり、正確ではないのである。
0300オレは天才だと分かりました
NGNG実際には、異なる。
0301デフォルトの名無しさん
NGNGttp://www.crt.or.jp/~kokochi/hen_semi.htm
0302デフォルトの名無しさん
NGNG0303オレは天才だと分かりました
NGNGこの定理は知らない。
そして、
>2^(8*4G) ≒ 10^(10.7 * 10^9) = 10^107000000000
どうして、こうなるのかも知らない。
>仏教でよくでてくるデカい値っていくつだっけ
なゆたであるが、本題の方が大きい。
0304オレは天才だと分かりました
NGNG2^(8*4G)通りの全てのデータを記録するのに必要な容量は、以下の式と文で求まる。
「2^a × (a+1)
このうち、aは、0から32Gまで変化し、それは加算してく。」
答えの単位は、ビットである。
0305デフォルトの名無しさん
NGNG無量大数(10^68)が日本で知られる値だが
マイナーなものだと非不可説不可説(10^121)なんてのもある。
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310291
NGNG8ビットで圧縮(索引付け)できる256通りのデータって、何ですか?????
それこそインデックスに等しい00からffの256パターンではないですか????
たとえば、3ビットで圧縮できる8通りのデータって、
000 001 010 011 100 101 110 111
の8種類ですが、これを3ビットの索引で表現しても、
全く圧縮されたことにはなりませんよね。
まあ始めからわかっていたことですがw
ちなみに8ビットで表現可能なデータが n>8 ビットであると主張するつもりなら、
そのnビットのデータの種類は2^nで、明らかに256より大きいため、
8ビットではすべてを表現できませんので、あしからず。
>>2^10 ≒ 10^3 を使うと簡単に概算できますよ。
>この定理は知らない。
定理じゃなくて、2^10 = 1024, 10^3 = 1000 という事実ですが。
しかも 10^3 の方が小さくなるため、4×10^27487790694
よりもはるかに小さく概算されるのですが、
それでも、
>4×10^27487790694
は、
765億GB どころか、765億GBの52×10^1616928864倍よりも大きく、
66年で765億GB増えると仮定しても、この宇宙が生まれてから今日経ったとしても達成できず、
1秒間に765億GB増えるとしても、7×10^1616928855年以上かかります。
0311291
NGNG52×10^1616928864, 7×10^1616928855
は、それぞれビットなので、/8 して比較してください。影響ないですが。
0312オレは天才だと分かりました
NGNG>だから自称天才の圧縮技術は 4G バイトぴったりのデータは(ごくわずかに)圧縮できるけど、
>4G+1バイトのデータは圧縮できない。
否。誤りである。
宇宙大のデータであろうとも、1ビットに圧縮できる可能性を持つと既に説いてるではないか。
0313デフォルトの名無しさん
NGNGたとえば、10個データがあったとして、1ビットでどうやって
選び出すのよ?
0314デフォルトの名無しさん
NGNGできるぞ。
0315オレは天才だと分かりました
NGNG10個のデータのうち、そのときに必要となるデータを0。
それ以外のものは1から始まる多少長いビットとする。
同様に宇宙大のデータでも任意のデータを1ビットに圧縮できる。
どうだ、みごとな圧縮だろう。
0316オレは天才だと分かりました
NGNG>全く圧縮されたことにはなりませんよね。
>まあ始めからわかっていたことですがw
293を見なさい
>ちなみに8ビットで表現可能なデータが n>8 ビットであると主張するつもりなら、
>そのnビットのデータの種類は2^nで、明らかに256より大きいため、
>8ビットではすべてを表現できませんので、あしからず。
8ビットで表現できるデータの種類は、256個よりも多いと言ってるのか?
>定理じゃなくて、2^10 = 1024, 10^3 = 1000 という事実ですが。
数学的に事実であることは、承知している。
>>4×10^27487790694
>は、
これは、概算をした場合の途中の数値であって、本題の答えではない。
また、概算による答えであっても、
>765億GB どころか、765億GBの52×10^1616928864倍よりも大きく、
この位の見当には、なるであろう。
>66年で765億GB増えると仮定しても、この宇宙が生まれてから今日経ったとしても達成できず、
こういったことを言うのは、やめなさい。
0317オレは天才だと分かりました
NGNG0318デフォルトの名無しさん
NGNGかわいい♪
0319291
NGNG違う違う。
8ビットで表現できるデータは、>>293の方法を用いても、圧縮できないことを言っている。
たとえば、圧縮データ「1」があったとき、
それが「もともと8ビットの索引であった」ことを知らなければ一意に復号できない。
この「もともと8ビット」を圧縮データに追加すると、
「8ビットを超える」ということ。
0320オレは天才だと分かりました
NGNG>それが「もともと8ビットの索引であった」ことを知らなければ一意に復号できない。
>この「もともと8ビット」を圧縮データに追加すると、
>「8ビットを超える」ということ。
私の手法は偉大なので、そんなせせこましいことをしなくても圧縮できるのだ。
>315は、偽者である。
そういうことはやめなさい。
0321291
NGNG理論ができたなら、論文に書いて、
情報処理学会、電子情報通信学会、情報理論とその応用学会、
のどれかに投稿することをお勧めする。
データ圧縮では日本の三大学会だから。
日本では理解されないというなら、IEEE か ACM あたりが圧縮のメジャー。
0322デフォルトの名無しさん
NGNGすべての通りの異なるデータを用意した場合、
あるひとつのデータを指す索引は、ひとつの
データと同じ大きさを持つ。
ってことだな。
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG前に1/100圧縮がこの板で話題になったとき、
「アカシックレコードの索引を圧縮データとする」
というのがあった。
今回の理屈と全く同じ。結論も同じ。
「索引のサイズが圧縮対象と同じサイズで意味が無い」
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGそれ、普通の圧縮。
0327オレは天才だと分かりました
NGNG8ビットのデータを圧縮した場合、
そのデータには、識別子を付ける。
1ビットで表現した0が、00000000
1ビットで表現した1が、00000001
2ビットで表現した01が、00000010
2ビットで表現した10が、00000011
といった具合。
で、一番最後では、
8ビットで表現した11111111が、11111111
となり、識別子が8ビットになってからは、データサイズは減少しない。
平均圧縮効率は、50%になる。
が、言うまでもないがこの圧縮方法(っていうのだろうか)は、
あらかじめ全データパターンの記憶領域を必要とするので、
全然現実的ではなく、バカバカしい。
そして、そんなに多くの記憶領域の確保が可能ならば、
圧縮という技術すら必要なくなり、発想としてでないだろう。
すなわち、これ、「物の追求の空しさ」である。
物を追求しても、結果なる製品に真の価値(マジレスのような価値)は伴わないのである。
ただし、時と場合により、製品は価値を持つ。
0328オレは天才だと分かりました
NGNG全データパターンはプログラムで簡単に生成できるので、非常に有効だ。
だから、私は自分を天才であると言っているのだ。
誰も理解できない(>>293はおしい)このスレには用は無い。
が、結局天才は孤独だったのだ。
0329デフォルトの名無しさん
NGNG>8ビットのデータを圧縮した場合、
>そのデータには、識別子を付ける。
>となり、識別子が8ビットになってからは、データサイズは減少しない。
>平均圧縮効率は、50%になる。
だから、その圧縮されたデータの元のサイズが8ビットだったのはどうやってわかるの?
元サイズが8ビットだった「1」と、32ビット(4GB)だった「1」はどう区別するの?
0330デフォルトの名無しさん
NGNGつーか、ム板に特化した圧縮法ならいいのでは?
プログラミングだの、データだのを変える。
0331オレは天才だと分かりました
NGNG訂正
誤:2ビットで表現した10が、00000011
正:2ビットで表現した11が、00000011
もう、どうでもいいんだろうけど。
0332デフォルトの名無しさん
NGNGやあ、建設的ですな。
とりあえず、AA圧縮法の続きを話しましょうか。
0333デフォルトの名無しさん
NGNGつーか、圧縮して無いじゃん。
要するに、いんたーねっとでhttp://untara.kantara.2ch/tensai.zipって
のをクリックすると、ファイルをダウンロードするよね。
つまり、http〜からの文字列だけ見ると、あたかも、数十バイト
しかないように見える。
ってことでしょ。つーか。サーバ側で圧縮できるようにしてくれ。
0334デフォルトの名無しさん
NGNGそれはすでに>>279で指摘されている。
もうやめましょう。>>291が>>310の・・・欄で言ったとおりだから。
0335オレは天才だと分かりました
NGNG>元サイズが8ビットだった「1」と、32ビット(4GB)だった「1」はどう区別するの?
そうゆう事を言ってたワケ。
私の言ってた圧縮方法は、固定サイズのデータを対象となってるな。
可変サイズのデータを用いた場合、
4G以内で表現できるデータ個数は、、、。格段に増える。
4ビットの場合で、
0
00
000
0000
1
10
100
1000
0 (がいしゅつ)
01
010
0100
1 (がいしゅつ)
11
110
1100
0 (がいしゅつ)
00 (がいしゅつ)
001
0010
とかってなる。
これも、1つごとのデータに識別子を付けるから、圧縮効率は50%より悪化。
0336デフォルトの名無しさん
NGNG理論はわかったから、早く作ってくれ。
0337オレは天才だと分かりました
NGNG作っても意味ない。
0338オレは天才だと分かりました
NGNG0339デフォルトの名無しさん
NGNG国王って・・・そもそも日本じゃないってことかw
0340デフォルトの名無しさん
NGNGある情報を吐き出すプログラムを作った場合
その情報のパターンを記述するのに、パターンと同じ情報量が必要だろヴォケ
8ビットを他の8ビットのインデックスで持つと言ってるのとかわらねぇんだよアフォ
そんなこともわからないのにプログラムなんかするな。邪魔だカス
0341デフォルトの名無しさん
NGNGgoogol=10^100
グーゴルコンプレックス=10^googol
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344オレは天才だと分かりました
NGNGしかし、そのエンジンは自分で作る必要がある。
自分にとって糞スレか否かの判断は、自分にしか分からないからだ。
0345デフォルトの名無しさん
NGNG0346オレは天才だと分かりました
NGNG>ある情報を吐き出すプログラムを作った場合
>その情報のパターンを記述するのに、パターンと同じ情報量が必要だろヴォケ
それは誤りである。
一定の規則で数値が並んだ場合、その規則をコードで表現すれば良いのだ。
従って、
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
最も表現情報の少ない規則 を表すコードを、生成するプログラム
こそが、圧縮サイズにおいては、最適なる圧縮プログラムである。
オレ天 2002 10/16
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
ここにおいて、私が究極の定理を示したことにより、
究極なる圧縮方法も、明らかとなる。私に感謝せよ。
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG>一定の規則で数値が並んだ場合、その規則をコードで表現
だから、それは情報理論の基礎中の基礎でしょう。
>>340の表現がまずいのかもしれないけど、
>その情報のパターンを記述するのに、パターンと同じ情報量が必要
は、無ひずみデータ圧縮では「当然」の記述。
無ひずみ圧縮とは、情報量を変えずに見た目の長さを短くすること、です。
情報量が変化するのは有ひずみ圧縮と呼ばれます。
なお、>プログラムでデータを作るとか言ってる
については、文法による圧縮に代表される手法が該当し、
この「プログラム」に必要な表現の長さが、元のデータよりも短くなる
ような表現が存在するならば、圧縮が行われたことになります。
たとえば、001001100 -> S->AAB, A->C1, B->1C, C->00
という文法(データ生成プログラム)に変換し、その文法を符号化する訳です。
代表的なものにMPMなどがあります。
もしかして>>340の記述は>>328についていったのかもしれないが、
この場合は、数え上げ符号に相当します。
数え上げ符号は Cover らによって考案された手法で、
オレ天圧縮同様、インデックスを得てそれを符号化する手法ですが、
理論的な証明が行われている、何ら問題ない手法です。
復号の際に、インデックス「n番目」をプログラムで記号列に復号します。
0349デフォルトの名無しさん
NGNG>>348さんのように圧縮に詳しい人が出てくると面白みが減る、と言ってみるテスト。
0350オレは天才だと分かりました
NGNG>>一定の規則で数値が並んだ場合、その規則をコードで表現
>だから、それは情報理論の基礎中の基礎でしょう。
否。基礎は、連続データの個数表現と言えよう。
また、データから有効となる規則を見出すのは、
圧縮技法では、中以上の部類と言えよう。
>>>340の表現がまずいのかもしれないけど、
>>その情報のパターンを記述するのに、パターンと同じ情報量が必要
>は、無ひずみデータ圧縮では「当然」の記述。
>無ひずみ圧縮とは、情報量を変えずに見た目の長さを短くすること、です。
情報量が変わらなければ、圧縮とは言わない。
340は、どうなってしまったのか。
>情報量が変化するのは有ひずみ圧縮と呼ばれます。
それは、単なる”圧縮”のことである。
ひずみ がとうかしたのか。
>なお、>プログラムでデータを作るとか言ってる
>については、文法による圧縮に代表される手法が該当し、
文法による圧縮とは、如何なるものか。
>この「プログラム」に必要な表現の長さが、元のデータよりも短くなる
>ような表現が存在するならば、圧縮が行われたことになります。
それは、私が346で既に述べた。
>たとえば、001001100 -> S->AAB, A->C1, B->1C, C->00
これは、何か。
>という文法(データ生成プログラム)に変換し、その文法を符号化する訳です。
>代表的なものにMPMなどがあります。
それが、どうしたのか。
0351350続
NGNG>この場合は、数え上げ符号に相当します。
>数え上げ符号は Cover らによって考案された手法で、
>オレ天圧縮同様、インデックスを得てそれを符号化する手法ですが、
>理論的な証明が行われている、何ら問題ない手法です。
>復号の際に、インデックス「n番目」をプログラムで記号列に復号します。
それが、どうしたのか。
今回のカキコには、意味の無い発言が多々あり、340の動揺が伺えることから、
「340は精神年齢が低い」
と、ここに公言する。
0352オレは天才だと分かりました
NGNG「348は、一般人より、圧縮技法の知識がある ようだ」
とは、言える。
0353348(!=340)
NGNG情報理論や圧縮のほとんどの教科書に、>>348と同じくらいの内容が
書かれているから、1冊でもいいから買うことをお薦めする。
>>この「プログラム」に必要な表現の長さが、元のデータよりも短くなる
>>ような表現が存在するならば、圧縮が行われたことになります。
>それは、私が346で既に述べた。
これは、50年も前に述べられたことですよ。
オレ天さんの圧縮法は、さきほども数え上げ符号に類似するといいましたが、
それに関係するせめて
Shannon,Kolmogorov,Lynch,Davisson,Cover,Rissanen
の論文くらいは読みましょう。
最低でも、Shannon と Rissanen の理論(あるいは圧縮法)を知らないと、
どこへ行って、何を喋っても恥をかきます。
0354デフォルトの名無しさん
NGNG情報量やひずみの有無を「無意味な発言」としているのをみて
オレは天才だと…が単なるDQNであることがわかりました
ありがとう>>348 そして、さようならオレは天才だと…
0355348(!=340)
NGNG0356オレは天才だと分かりました
NGNG彼は、世間から疎まれて、もう2chにしか居場所が無いの。
そして、自分を存分にアピールできるこのスレを見たとき、
彼はそこに第二の人生をみつけた!
だからこれ以上、オレは天才ださんをいじめないで、お願い。
でも、反論を見たときの彼、ちょっと嬉しそうだった。
0357オレは天才だと分かりました
NGNG自身の発言をする前に、私の発言に対する答えを、まずしなさい。
ひとまず、私の返答は以下である。心して読みなさい。
>オレ天は、もう少し圧縮の勉強をしてから書き込んだ方がいいよ。
なぜか。
>情報理論や圧縮のほとんどの教科書に、>>348と同じくらいの内容が
>書かれているから、1冊でもいいから買うことをお薦めする。
それら圧縮技術を知る必要は、どういったものか。
>これは、50年も前に述べられたことですよ。
だから何か。
>オレ天さんの圧縮法は、さきほども数え上げ符号に類似するといいましたが、
>それに関係するせめて
>Shannon,Kolmogorov,Lynch,Davisson,Cover,Rissanen
>の論文くらいは読みましょう。
なぜか。
>最低でも、Shannon と Rissanen の理論(あるいは圧縮法)を知らないと、
>どこへ行って、何を喋っても恥をかきます。
なぜか。
0358オレは天才だと分かりました
NGNG0359デフォルトの名無しさん
NGNG所詮あなたは過去の人。過去の再現をしてるだけ。早く現代に追いつきなさい。
0360オレは天才だと分かりました
NGNGずっと行なわれてきたのは、当然だろう。
オレは、LZHを初めて知り、ZIPやUNIXで使われるのを知ったぐらいだ。
264は、ネタで遊んでただけ。
ただ、オレ天の定理は正しいと思ってる。
が、この定理も、もうがいしゅつであることは、余りにも明らか。
(新規なら、いきなりここに書かないよ)
それに対し、348が知識で迫ったみたいだから、ちょっとからっただけ。わりぃ。<読者
というより、オレ天に対して知識で迫っても意味ないと思うぞ。
次回は、もう少しマジレスに近いことをしようと思う。
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG0363オレは天才だと分かりました
NGNG0364デフォルトの名無しさん
NGNG0365オレは天才だと分かりました
NGNG0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG0368オレは天才だと分かりました
NGNGそれをここで伝えたかったのだが、理論がどうこういう者がいて、
私の考えにけちをつける。
その者たちは、理論よりも大切なことがあるということを理解できない愚か者だ。
概算で66年後にできるといったら、それでは不可能だという。
宇宙が終わっても不可能だという。そんな馬鹿なことはありえない。
大宇宙に匹敵するデータすら1ビットにできる手法もあるのだから、
2^(8*4G)ビット程度のデータを格納できないはずがない。
理論的には不可能でも、66年よりももう少し時間がかかるだろうが、
いつかは可能なのだ。
もう少し発言内容を深く考えてから、反論を述べてほしかった。
0369オレは天才だと分かりました
NGNG0370デフォルトの名無しさん
NGNGすまん、混乱してきた。
>>368は今までのオレ天と同じことを主張しているようだが、
それを偽者という>>369は、では、何が違うと言うつもりだ?
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG理論よりも大切なことってなんだよ(w
妄想か(w
0373デフォルトの名無しさん
NGNG理論が説明できないなら、実装して証明してみせろ。
話はそれからだ
0374デフォルトの名無しさん
NGNGどうやってそれを記録しておくつもりなんだろう・・・
漏れにとって、オレ天の手法で一番のなぞ。
0375デフォルトの名無しさん
NGNG.o0X
を推してみるがどうか?
それにしても>>360は日本語滅茶苦茶すぎ。
0376オレは天才だと分かりました
NGNGが、264で述べていることは、事実である。
350と357の文は、348をからかったものと言ったが、
348に対しては、「からかった」とはならない。
このような文を、「DQN相応の文」と言う。
もし、読者がいた場合、348に対する「DQN相応の文」によって、
それに気ずかずに不快なる思いをした者がいた場合を考慮して、
読者に、
>それに対し、348が知識で迫ったみたいだから、ちょっとからっただけ。わりぃ。<読者
と示したまでである。
>374
>8*4G*(2^(8*4G))は、宇宙に存在する粒子の数よりもけた違いに大きいのだが、
8*4G*(2^(8*4G)) これは何か。
また、
>宇宙に存在する粒子の数よりもけた違いに大きいのだが、
こういったことを言うのは、やめなさい
0377デフォルトの名無しさん
NGNGどうしてですか?
宇宙に存在する原子の数って10^150程度(おそらく、違っていても誤差は少ないはず)
といわれていますよね?
もし、10億倍くらい間違っていたとしても、10^159程度ですし、
1000兆倍くらい間違っていたとしても、10^165程度ですよね??
一方、4GBのデータのすべての組み合わせは、8*4G*(2^(8*4G))ビット必要で、
(>>291さんの主張はここが間違いといえば間違いでしたね。
3ビットの場合 3*2^3=24ビット 000,001,010,011,100,101,110,111)
もし宇宙の全原子がそれぞれ1ビットの記憶が可能で、
それを使ったHDDがあったとしても、
これは上の値より、どうあがいてもはるかに大きいわけですが・・・
0378デフォルトの名無しさん
NGNG大文字小文字を区別しない環境(Windows95など)があるので、
統一したほうがよいかと思われ。
0379オレは天才だと分かりました
NGNGいいかげん、偽者だらけでうんざりしてきた。
が、真実を伝えるために、読者に語りつづけようと思っている。
0380オレは天才だと分かりました
NGNG0381デフォルトの名無しさん
NGNG復元できないのに圧縮と言っているわけか。
0382オレは天才だと分かりました
NGNG>といわれていますよね?
なぜか。
本当に、そういうことを言うのはやめたほうがよい。
>結局おれてんの奴のは圧縮後のデータだけから圧縮前のデータを
>復元できないのに圧縮と言っているわけか。
私ははじめから4GBのデータに固定した話をしていた。
例を8ビットで示したが、これは同じ手法が使えるということで、間違いではない。
もちろん4GB+1バイトのデータも復号できるのである。
0383デフォルトの名無しさん
NGNG> 例を8ビットで示したが、これは同じ手法が使えるということで、間違いではない。
間違い。
> もちろん4GB+1バイトのデータも復号できるのである。
出来ない。
0384デフォルトの名無しさん
NGNGしかし、それが誰にとって役に立つデータになるのか、
そしてその役に立つ確率はどれくらいか、を考えれば、
おのずとオレ天の手法が役に立たないのか、がわかる。
誰かが言っていた数え上げ符号は、その辺をうまく構成するため、役立つのである。
0385オレは天才だと分かりました
NGNG通称「オレ天264」であるが、
以下の要素を提供する場合は、作って与えよう。
公務員/サラリーマン
年収の 1/264の日本銀行券 (最低 1000円)
フリーター
年収の 1/264/2の日本銀行券 (最低 100円)
その他
場合による
学生
自作ソフト(吟味あり)
なお、これは予約制である。
また、「オレ天264」の開発期間は、1週間〜3週間とする。
仕様である
対応OS:Windows95/98 シリーズ
圧縮可能最大ファイルサイズ:4G以上
(ただし、HDに依存する)
必要HD空き容量:圧縮ファイルサイズに依存
注意
・Windows95/98シリーズの最少ファイルサイズは、1バイトなので、
圧縮したファイルのサイズは、最少で1バイトになる。
・なお、この件について興味を持った場合は、
以降のレスの経緯をしっかり読んで、個人で状況を把握せよ。
0386デフォルトの名無しさん
NGNGオレがもう作ったって。圧縮ソフトはな。復号ソフトはまだだが。
ちなみに圧縮して出来たファイルの中身は0xDE。
復号ソフトを作れたら誉めてやるよ。
つーか、そこの仕様に復号できると書いてないのはわざとか(w
0387デフォルトの名無しさん
NGNGビット列を先頭から順に見ていって、0を消していくだけだろ? >オレ天264
0388オレは天才だと分かりました
NGNG>つーか、そこの仕様に復号できると書いてないのはわざとか(w
復号は可能である。
0390オレは天才だと分かりました
NGNG0391オレは天才だと分かりました
NGNGマジレスか。?
>>>388
>オレのを復号してくれないと信用できないね。ウソか(w
間違っているからである。
0392デフォルトの名無しさん
NGNG0393オレは天才だと分かりました
NGNG0394デフォルトの名無しさん
NGNGあるデータ列があるとする。
複雑な数式といくつかの種を検討、
そのデータ列に非常に似通ったものがでる「数式」「種」「差分値」を圧縮データとする。
理論上「差分値」をなくすこともできるが、圧縮に時間がかかりすぎるため現実的ではない。
というかしょっぱなから現実的っぽくはないが、データ列をうまい具合に分割して
いくつかの「数式、種、差分値」でデータ列全体を表現できないだろうか。
0395デフォルトの名無しさん
NGNG>>382が偽者だというなら、宇宙の原子数についての解答ももらいたいものだが
0396デフォルトの名無しさん
NGNGええと、それは数値圧縮法の一種で、すでにあると思います。
文献は今手元にないのですが、IEEEの論文でした。
0397◇急募◇
NGNGデータ圧縮に強い方、また、圧縮なぞわからないが議論やあおりには強い方、
至急オレ天として書き込みを行ってください。
0398◇急募◇
NGNG0399デフォルトの名無しさん
NGNGデータがなだらなかになる音データとかに強そうな圧縮だね、こりゃ
0400デフォルトの名無しさん
NGNG圧縮技術は、かなり研究され尽くされているから、
まったく新しいものを考えるのはなかなか難しい。
今現在は既存のもののすきまを埋めるような研究が圧縮では行われている。
もちろん、近年にも新しい圧縮法はいくつか考えられているし、
今後もその可能性は捨てきれない。
>>394の方法が、既存のもの以上の何かがあればいいわけで。
ちゃんと研究のレベルまで持っていくのも面白いかもしれない。
俺は数値圧縮が専門ではないので、内容にはコメントできないが。
0401デフォルトの名無しさん
NGNGWin95/98でファイルサイズ4G以上という仕様である時点でアウト。
0402漏れも考えた
NGNG有用性を失わないはず。なんで、指し示し、数え上げは URL + 時刻くらいで行えるものとする。
そうすると、なんらかの方法で非可算無限個ある平行宇宙の全てを破壊して世界線を常に一本に
保っておけば、情報理論的にはともかく、物理的にはこの指し示し+タイムマシンだけでもとの
情報が再現できるはず。
どこかに穴あるかな。。。
0403デフォルトの名無しさん
NGNGタイムマシンだけでなく時間の情報も必要。
0404オレは天才だと分かりました
NGNG0405オレは天才だと分かりました
NGNG訂正(385
誤:圧縮可能最大ファイルサイズ:4G以上
正:圧縮可能最大データサイズ:4G以上
理由:Win95/98の制限による
0406オレは天才だと分かりました
NGNG何を言ってるのか分からないが、
402は、幼稚であることを、ここに公言する。
0407デフォルトの名無しさん
NGNG圧縮関数 :
与えられたデータから1引く。
例 : 1011→1010
全ビット0の場合 : 0000→111
解凍関数 : 与えられたデータに1足す。つまり上の逆。
こいつを使えば、n回目に圧縮したサイズ≧n+1回目に圧縮したサイズ、となる。
どんなデータでも最終的に0ビットまで圧縮してくれるという優れもの。藁
当然可逆。こりゃ凄えや!
0408オレは天才だと分かりました
NGNGそれは、すなわち、圧縮対象のデータ全てが、
リトルデンディア、もしくはビッグデンディアによる、数値と見なしているのである。
そして、圧縮したデータは、その数値そのものとなるから、サイズは変わらず圧縮になっていない。
また、データの先頭に0があった場合、復号ができないバグがある。
0409オレは天才だと分かりました
NGNG320×240×60×86400 バイト
この量のデータを出力する、1Mバイト未満のコードがある。
これは、1Mバイト未満のコードが、
320×240×60×86400 バイト
を表現することが可能だということを意味する。これを復号とする。
そして、この復号に24時間かかるとする。
いったい、1Mバイト未満のコード とは、おおよそ どういったものか。
0410デフォルトの名無しさん
NGNGわかんないので答えを書いてください。
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGそのデータは60fpsの動画か?
あのな、コードを情報源と考えれば、
定常有限状態情報源であっても、無限長のデータを生成できるんだよ。
だから、1M未満のコードでも、いいんだ。
だけど、逆は常に成り立つわけじゃないんだ。
ある無限に長いデータを観測しても、情報源を特定することは不可能。
したがって、その問答は、問題設定に意味が無い。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNGデータ依存(Canterburyコーパスの kennedy.xls では非常に有効)。
一般には意味が無い。
ブロックソーティングはMTFの拡張であるから、
その問題はMTFを複数回おこうなう問題に帰着できる。
0415オレは天才だと分かりました
NGNG新しくオレ天に採用されました、俺は天才だと分かりましたです!
以後よろしくお願いします。
ゆんゆん電波に答えていきたいと思います。
まず最初のお便りから。
>8*4G*(2^(8*4G))は、宇宙に存在する粒子の数よりもけた違いに大きいのだが、
>どうやってそれを記録しておくつもりなんだろう・・・
これはですね。原子一個が1ビットしか記録できないという仮定が間違いっすよ。
実はつまようじが8*4G本あれば解決です。
つまようじの端から端の空間を2^(8*4G)個に分割します。
その分割した空間上の1点に原子を1個配置します。
これで8*4Gビットの1つの値が記録できました。
あとは、8*4G本のつまようじに同様に原子を配置していけばOK!
こつは、有限個の原子を使うのではなく、
無限に分割可能な空間を使うことですね。
じゃね!
0416デフォルトの名無しさん
NGNG「オープンソースの圧縮ツール「yz2」」ってのがあるね
DeepFreezerの開発者さんだから結構濃い目の内容かも
まあ、厨房な俺にはたぶん理解できんだろうが・・・鬱
0417デフォルトの名無しさん
NGNGGCAの方が出たのが後の割には結構使われてるよね、1部の人間に。
やっぱ圧縮アプリはユーザーインターフェースが大事なのか、、、
GCAが2001年公開
YZ1.2が1999年公開
なの?そこらへんが分らん。
0418オレは天才だと分かりました
NGNG正直、圧縮技術のことで、そんな真剣にかんがえんでいいだろ。
0419デフォルトの名無しさん
NGNGNoah使ってるからyz1にも対応はしてるが確かに使ってないな。
一度だけざっと使用感をテストしただけ。
で、結局今は7zipとか使ってる。
やっぱ、たとえ個人だけで使ってても知名度とか第一印象が大きいかもね。
Noahみたなフロントエンドとして動作するソフトを除いては。
0420デフォルトの名無しさん
NGNG正直圧縮率よくない
0421デフォルトの名無しさん
NGNG圧縮率の向上自体には積極的興味はないようです。
ttp://www.tomozo.ne.jp/yamazaki/download/doc_basic_compression.htm
こんな文章を書いておられるが、さて、明日のCマガはどうなんだろ。
0422デフォルトの名無しさん
NGNGhttp://compression.ca/
なんかここのテスト結果見ると、
一般的に知られてるものをはるかに超える圧縮率の形式があるのだが…
まぁ、上には上がいるもんなんだろうな。
0423デフォルトの名無しさん
NGNG漏れはunix系OSを渡り歩いているのでgzip,bzip2 (+tar)しか使わん。
0424デフォルトの名無しさん
NGNGん? どの手法のこと?
海外および国内の論文に掲載される内容は、1から2年以上古い内容なので、
実際には論文の実験結果よりも若干高い性能が現在の圧縮性能であることと、
論文などでは圧縮率を稼ぐことだけが主眼ではないので、
圧縮率を売り物にするACTへ登録するツール類は、
圧縮率向上の細かい技を使っているものが多いです。
0425416=419=422
NGNGなるほどなぁ〜
確かに圧縮ツール話の多い掲示板やなんかだと
「実際に使った場合に想定されるファイルに対してどれだけ圧縮率を稼げるか」
みたいな話が多いわな。(俺は内容までは理解できてないけど)
勉強になりますた。
0426デフォルトの名無しさん
NGNGサンクスコ
MTFも単純に先頭に持ってくるんじゃなくて二番目に持ってくる亜種なんてのもあるようですね。
面白いなぁ。
0427オレは天才だと分かりました
NGNG間違いというか、思想的な相違を1つ指摘しよう。
それは。
>この文章を読んで、一人でも多くの日本人が圧縮アルゴリズムに興味を持ってくれたら幸いです。
である。
圧縮アルゴリズムは、
「一人でも多くの日本人が興味を持つ」
ほどの物事ではない。
0428オレは天才だと分かりました
NGNG一人、60FPS(一秒間に60コマ描画する)の動画だと言ったが、
非常に惜しい。
動画は、一般的には、30FPSだからである。
答えは、1Mバイト未満のゲームである。
320×240は、解像度である。
60は、60FPSである。
86400 は、60秒×60分×24で、一日の秒数である。
そして、復号ができても圧縮ができないと言った者があったが、
オレ天定理によれば、可能である。
この、ゲーム動画の圧縮に近いものとして、MPEGがあったろう。
0429デフォルトの名無しさん
NGNG>>MPEG
MPEGより綺麗で高い映像圧縮技術も理論上できるが、
今の石の速度じゃ使い物にならない。
MPEG2を良く睨めっこすれば分かるがブロック単位に分れてるのが分かる。
この垣根を外せば理論上はmpegより高い+綺麗ができる。
0430オレは天才だと分かりました
NGNG>402は、幼稚であることを、ここに公言する。
で、402の反応が無いので、意外と思ったことである。
402の言うことは、こうである。
宇宙が一定時間の間隔(T時間)で生成するデータを、1次元配列にするというものだ。
そして、T時間がたてば、また1次元配列を生成する。これで、2次元配列になる。
そして、2次元配列の要素を選択するのに、タイムマシンを使うと言ってるのだ。
このような思考を展開する、その心意気は非常に感心である。
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG< あなたは意味の無いことをしています!
\_____
⌒ ⌒ ⌒
_⌒ ⌒ ⌒__
/:::::Λ_Λ:::::::::::::::/
/::::::(∩;´Д`)∩ :::::/
/:::::::( /::::/ チャラッチャラッチャーン
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0433デフォルトの名無しさん
NGNGなにせ
光の速度 3*10^8 m/sec
プランク定数 6.6/10^34 joule*sec
陽子質量 1.67/10^27 kg
宇宙寿命 約 4*10^17 sec
宇宙質量 約 3*10^11 Ωh^2M/Mpc^3
これらの定数を積したって 300bitにもみたないのだから
0434デフォルトの名無しさん
NGNGしかしインデックス付けと圧縮は別物だと何度言わせれば気が済むのですか。
0435デフォルトの名無しさん
NGNG0436オレは天才だと分かりました
NGNG>動画は、一般的には、30FPSだからである。
うわー、そんなこと言っちゃっていいの?いいの?
ぷぷーっ
0437デフォルトの名無しさん
NGNG↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
0438デフォルトの名無しさん
NGNG↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
0439デフォルトの名無しさん
NGNGNGワードに追加しますた。
0440オレは天才だと分かりました
NGNG私に感謝しなさい。
そもそも、データ圧縮とは、その形跡を残すシステムを作ることであるのは、
諸君もオレ天定理によって、ようやく分かったところであると思う。
が、形跡を元にしてシステムを作るのは、
非常な困難を伴うのは、諸君も感じてるところであろう。
システムから形跡を生成するのは、容易である。
この例えは、次に当てはまろう。
何も考えずに、生きるのは容易である。
が、与えられた情報から真実を究明するのは、非常な困難である。
すなわち、諸君らが生きるにおいて感知する情報には、
その情報となる原因があり、それは、諸君にとって諸々の疑問ともなっているであろう。
それら疑問を解明すべく、大本のシステムを知るべく生きることは、
丁度、形跡を元に、その形跡を生成する最適なるシステムを模作するのと同様である。
そして、模作することなくして生きることも可能である。
諸君は、今、あるデータを生成する最適なるシステムを、
まさに模作しようかという、思考状態にまで、私に導かれてきた。
が、ここで人生と異なる点がある。いや、過去と異なる点と言えば良いであろうか。
諸君が、最適なるシステムを作ろうとするにおいて、その対象となる形跡は、
一定ではないのである。
それは、そうであろう。圧縮対象のデータは、その都度変化する。
0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG0443オレは天才だと分かりました
NGNG仏教は、正しさの追求である。
が、その正しさとは、何であるか、考えたことがあるであろうか。
正しさとは、誰が決めたのか。
それは、仏陀と言われるが、どうして仏陀の正しさに、
我々が畏怖し、従わねばらならなく、従わないと生きれないのか。
これが、分かるであろうか。
問題を理解してから、瞬間的に分からない場合は、分かっていない。
そして、その回答を、例え私に教えられても、
それは、汝が本当に分かったことにはならない。よって、
私の示した回答を知った時点で、
私の言う創造的思考への成長は無くなるであろう。
が、私は、語り続ける。
0444オレは天才だと分かりました
NGNGそれは、一言で言えば
「謙虚を識れ」
ということだ。
仏陀の教えに従わずして、謙虚さは育まれない。
これは、どうゆうことか分かるであろうか。
それは、
「自分が、自分より高いと分かった存在に対し、
それ相応の、礼儀を尽くさねばならない」
ということだ。
この礼儀が無い者に、何があろうか。
何も無いのである。
例え、この世にある数万の書物から、数億の知識を得たところで、
礼儀が無ければ、その者は、なんら価値を有さない。
また、
例え、この世にある数万の作用を生成するシステムを、作ることができようとも、
礼儀が無ければ、その者は、なんら価値を有さない。
こうしたものだ。
0445オレは天才だと分かりました
NGNG幸福を生じる制度でないことは、明らかであろう。
なぜなら、謙虚や礼儀を知らない者でさえ、
その知識や能力があれば認められ、
その結果、その者は、能力や知識を行使する行為を続けることとなる。
が、既に言ったように、礼儀を知らずして、
いくら知識や能力があり、それを元に、如何なる結果を出そうとも、
それには、なんら価値は無いのである。
なんら価値は無い物事が、大量に出まわればどうなるか。
時を経ずして、それは消えて行くであろう。
そして、それを維持しようとすればするほど、過ちを重ねることとなろう。
そして、過ちを重ねれば重ねるほど、
または、過ちが維持されればされるほど、真実は影をひそめるであろう。
真実が影をひそめれば、ひそめるほど、世の中は暗雲とあろう。
そして、いつしか真実が分からなくなる。
すると、義理が真実として、まかりとおるようになり、
その結果、義理であるから苦しみを生じる。
が、苦しみの原因が分からず、ここにきて「妥協」という精神が生じ、
この苦しみを、まぎらわず為に、人間の感覚を麻痺させるのである。
それは、アルコールから始まり、各種の洗脳であろう。
0446オレは天才だと分かりました
NGNG人が、その人に、苦しみを与えることを創り、
そして、その苦しみを無くそうと、人自体を麻痺させる。
馬鹿な話しである。
苦しみが起きた場合は、その苦しみの原因を究明し、
その原因を是正しなければならない。
それを、人を麻痺させることで回避するのであるから、
余計に人は、真実から遠ざかることになる。
いったい、諸君らは、何をやっているのか。
人よ。汝等が犯せし過ちは、己にとっても自覚できていない。
そうしたところにまで、過ちは重ねられており、精神が麻痺してるのだ。
義理とは、人が作ったものであろう。
そうしたものを、畏怖し、そうしたものに縛られてならない。
0447デフォルトの名無しさん
NGNGオレ天さんは名前欄をfusianasanにしないと一週間以内に
ム板から追い出されます
0448オレは天才だと分かりました
NGNGオレ天定理に基き、その性能を発揮する圧縮システムを考える以前に、
諸君は、「謙虚さ」というものを知らねばならない。
そして、過去の過ちを自覚せねばならない。
それなくして、
オレ天圧縮は、語れない。
まず、「謙虚さ」を知りなさい。
0449デフォルトの名無しさん
NGNG>>447乙。
0450オレは天才だと分かりました
NGNG>そうしたところにまで、過ちは重ねられており、精神が麻痺してるのだ。
その通りである。
よって、人において一番過ちな存在は、
「慢心」である。
そして、この慢心が非常に大きい者は、
私の経験によれば、企業人(役員系)である。
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG0453オレは天才だと分かりました
NGNGついでなので、幾らか話そう。
「謙虚さを知りなさい」と述べたが、
いったい何に対して、謙虚になるかが疑問かもしれない。
謙虚になる対象は、自分より崇高なる者であり、
これは、何も仏陀に限ったことではない。
そして、これ自体は、当然のことであろう。
が、私が述べた、謙虚になる対象とは、
何であるか、分かったであろうか。
分かった者は、見込みありと言えよう。
私が、謙虚になれと言った対象は、
各自の潜在意識が知っているであろう、
「仏法」である「正法」である。
すなわち、因果応報、愚痴の戒め、等である。
私は、諸君らが、その意識のある深さにまで、
仏法が浸透していると思っている。
その、仏法に対して謙虚になれと、言っていたのだ。
その仏法こそ、仏陀から、あるいは神から、
教えられてきた「正しさ」ではないだろうか。
0455デフォルトの名無しさん
NGNG漏れ頭悪いのかサパーリ。誰か解説キボン。
0456デフォルトの名無しさん
NGNGひんろーださんのページと
編集後記のやっさんのページだけ立ち読みした。
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG圧縮に関しては何も得ることが無かった。
yz2はソースプログラムも読んだことあるし、直接解説を聞いたこともあるから。
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNGなぜ? fjで暴れているから?
0462デフォルトの名無しさん
NGNGSYNさんって、なんで嫌われるのかな。
yzより圧縮率高いじゃん。ブロックソートだから当然と言えば当然だけど。
0463デフォルトの名無しさん
NGNGGCAやyz2を超えるアーカイバをサクッと作ってみろや。
おまいらの腕ならそれが可能なんだろ?
0464デフォルトの名無しさん
NGNGPPMをベースにすれば、はじめから超えている
0465デフォルトの名無しさん
NGNG後出のくせに圧縮率もたいしたことないし、処理遅いのに
なんでこんなにありがたがられてるんだか理解できないな。
嫌われてるっていうのは、良くしらないけど
そういうところにあるんじゃない?
0466デフォルトの名無しさん
NGNG割れ物でよく使われてるから。
解凍すべき物がそこにないなら、誰も使わんでしょ。
0467デフォルトの名無しさん
NGNG圧縮率が大したことあるから。
0468デフォルトの名無しさん
NGNG作ったソフトの性能にはあんまし関係は無いのでは?
坊主憎けりゃ袈裟まで憎いっての以外には。
0469デフォルトの名無しさん
NGNGいまどき微々たる圧縮率の差を競うのは時代遅れだよな
50%も圧縮率が優れていればマンセーなんだが
実際は平均より数%程度で激ノロで偉そうにしてれば
叩かれて当然だろう..
0470デフォルトの名無しさん
NGNG50% っても zip で 100 -> 97 ぐらいのやつが 100 -> 94
ぐらいになってもあんまうれしくないね。
あと zip で 100 -> 24 ぐらいのやつが 100 -> 12
ぐらいでも面倒くさいから zip でいーじゃんとか思う。
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGたいていCabのLZX最高圧縮の方が縮むんであって使ってない
0473デフォルトの名無しさん
NGNGそりゃあ、向いてないファイルに使ってるからでない?
GCAは主にテキスト、あるいはアニメ画像なんかに向いてるのだが。
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNGというか、テキストなら7z・RARのPPMdが最強かと。
0477デフォルトの名無しさん
NGNGたしかにガイシュツの理論だが実装が難しいんだよ、BWTは。
圧縮率はカナーリ高いほうだよ、圧縮比率比較しているサイト行ってみな。
嫌われているのは処理が遅いからだろう。
0478デフォルトの名無しさん
NGNGBW変換なんてそんなに難しい方じゃないと思う。
suffix-arrayの構築による手法が何種類もあるから、それを使えばいいし。
力任せでも何とかなる。suffix-treeだっていい。
しかし、PPMを実装するためには、せめて8次〜20次の文脈を扱いたいから、
どうしてもsuffix-treeの知識が必要だし、
suffix-treeだけでは素のPPMすら実装は難しい。
0479ナナシサソ
NGNG偏りがあまりないデータだと圧縮率が悪くなるよな。
意図的に偏りを作り出すことって出来ますか?
もちろん可逆でbit数の増加が無視できる程度で。
0480デフォルトの名無しさん
NGNGブロックソートやMTFは考えとしてはそれに近い。
というより、文脈が。
もっといえば、情報源を高度に推定していくことに近い。
0481デフォルトの名無しさん
NGNG0482ナナシサソ
NGNG情報源を高度に推定って具体的にどうやればいいんでしょうか?
回帰分析みたいな感じですか?
0483デフォルトの名無しさん
NGNGMDLとかAIC規準ではなかろうか
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNGでもユニバーサルではないよなぁ?
http://citeseer.nj.nec.com/teahan01combining.html
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNGこんばんは、厨房その1です。
恥ずかしながら、仰るとおりです。
0489デフォルトの名無しさん
NGNGsuffix-tree と パトリシアトライの区別がつかないんだけど…
0490デフォルトの名無しさん
NGNG同じです。
派閥(?)によって呼び方が違うだけのようです。
0491デフォルトの名無しさん
NGNGさんきゅ
0492零細リーマソ ◆eXL7Vooglk
NGNG今HDDにあるファイルで手当たり次第テストしてるが、MAXでも元サイズの12%にしかならない。
(しかもlzhやzip,jpgなどのファイルでも!)
ちょっと怖くなってきた。。
(当然可逆圧縮。)
詳しくはいえないので簡単に言うと複素数平面を使用した圧縮。(+Zオーダー)
辞書とかは持たずにほぼ数式のみで成り立ってる。
こんなんになるとは夢にも思わんかった・・。
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGそのネタは1年ほど前に見たことがあるような…
0495デフォルトの名無しさん
NGNGソースあげれ.もしくはバイナリ.
0496零細リーマソ ◆eXL7Vooglk
NGNG(バイナリ解析されると怖いんで)
改善点はスピード。
これが今のところかなり遅い。(同種系の3〜5倍くらい遅い)
0497デフォルトの名無しさん
NGNG特許つったって公開されるんだから
ソース出したって変わらんと思うがな。
0498デフォルトの名無しさん
NGNG中途半端なネタは最悪。
お前の頭で理解できるようなアルゴリズムか、
このスレの誰も理解できないような複雑なアルゴリズムを出せ。
0499デフォルトの名無しさん
NGNG複雑なアルゴリズムは圧縮にはむかないとおもわれ。
0500デフォルトの名無しさん
NGNGこのサイトでもう少し圧縮について基本的なことを勉強したほうがいいですよ。
ttp://www.ingnet.or.jp/~kojif/mu/comp/
0501デフォルトの名無しさん
NGNGな罠
0502 ◆SIA81xrZRg
NGNG0503デフォルトの名無しさん
NGNGタワラ
0504デフォルトの名無しさん
NGNGソース公開すると(下手したらバイナリ公開も)特許は取れなくなるかと。
0505デフォルトの名無しさん
NGNG伊藤家の食卓にハガキだしとけ
0506デフォルトの名無しさん
NGNGですね。
学会発表なら特許取得もできるので、すぐさま
情報処理学会、電子情報通信学会、情報理論とその応用学会、IEEE、ACM
のどれかに投稿しる!
レターの形でもいいから。
0507デフォルトの名無しさん
NGNG従って、単なるネタ。
0508デフォルトの名無しさん
NGNG○算術圧縮
0509デフォルトの名無しさん
NGNG特定のデータに対してなら劇的に圧縮率を上げることができると思う。
たとえば、実行ファイルなら実行ファイルの特徴があり、
その構造を整理することで大幅な圧縮が可能だろう。
つまり、圧縮・解答ソフト自身がMFCやglibなどを持っていて、
それを辞書として使えば、そのライブラリを使って作られた
ファイルは圧縮データにライブラリを含まなくても良くなる。
また、ループや関数呼び出しなどの制御構造を解析すれば、jmp文と
目的アドレスデータを大幅に削除できる。
また、画像や音楽の圧縮もJPEGやMPEGよりフラクタル理論を使った方が
圧縮率が高くなることが知られている。
0510デフォルトの名無しさん
NGNGデータの種別に応じて圧縮法をチューニングするのは、
あるいは専用の圧縮法を使うのは、ツールとしては確かに有効です。
しかし、圧縮理論で最も重視される性質の一つである、
ユニバーサル性を失うことになるため、拒絶する人は多いかもしれません。
>フラクタル理論を使った方が
これは現在のところ、どちらとも言えない状態です。
というのも、たとえば画像データは有限画素値で有限画素数であるため、
フラクタル変換した場合の情報の相似がいまいちだからです。
そのため、計算機上のデータに対してはフラクタル圧縮はそこそこにしかなりません。
しかし、フラクタル発見の効率はよいため、
・画素の類似性を計測するためにフラクタルを使う(文脈として使う)
・線形走査法(ヒルベルト走査など)に組み合わせて、1次元上でのフラクタル圧縮を行う
などの研究が行われているようです。
0511デフォルトの名無しさん
NGNG寒いですよ。ネタバレバレ。頭が悪いこともバレてます。
もっと圧縮の勉強をしてから書いてください。
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNGおまえばかだな。
0514デフォルトの名無しさん
NGNGlzhやzipが、さらに圧縮できていることを考えると、
ファイル名が
00000000000000000000000000000000000000000.txt
のようなものだったと思われる。
0515デフォルトの名無しさん
NGNG新圧縮キタ━━━━━━(゚∀゚)━━━━━━ !!
0KByteのファイルを作り、ファイル内容をBASE64でエンコードして名前に設定
完璧!!
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG圧縮カコイイ!
0518デフォルトの名無しさん
NGNGttp://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm
0519デフォルトの名無しさん
NGNGぐはっ、これでひっかかったの4回目です。宇都田。
0520デフォルトの名無しさん
NGNG一生、呪ってやる。
0521デフォルトの名無しさん
NGNG1つの文字を1,2バイトまで圧縮できるんだから。
究極のモデル化だね。
解凍するために必要なデータは膨大だけどね(フォントデータ)。
但し、ない文字は使えない、または外字を入れると
サイズが膨大になるという欠点も持っている。
さらに圧縮かけると最強。
実はテキストって凄いのですよ。
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGおまい、それ静的辞書法っていうってこと知ってます?
0524デフォルトの名無しさん
NGNGするとUnicodeはごく僅かに劣化する非可逆圧縮でつかね?
0525アフォ
NGNG640x400の時代にね。
画面を8bitx8bitで区切る。
同じ図形に同じ番号ふる。
最大で4096パターン。
頻繁に出現する番号に小さいのを当てる。
・図形個数出力。
・図形データ出力。
・マップ出力。
・ハフマンライブラリを経由してファイル出力。
2画面目では変化のある部分だけについて上の
パターンを適用する。
って動いた時、これは静的辞書法?動的辞書法?
0526デフォルトの名無しさん
NGNGネタにマジレス(プ
0527アフォ
NGNG0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNGsample.txt
Rシナd儁eキ。h"; I J喨
↓
圧縮後
Uu+9vO++hQVk5YSBZe+9txnvvaFoBSI7IAIgSSAgICDCgAEBSgHllqg=.txt
sample
0530デフォルトの名無しさん
NGNGちがいます。保健体育だけ中途半端に知ってる厨房の集まりです。ここは。
0531デフォルトの名無しさん
NGNGああああああああ
というのがあったら
8あ
と圧縮する
0532デフォルトの名無しさん
NGNGランレングスがどうかしましたか?
その方式だと
Boooooooooooooooom!
位だと思われ。圧縮できるのは。
まぁ、辞書の話になるんだろうな。
0533デフォルトの名無しさん
NGNG↓
3うへ4へ
こうなっていくのか。辞書か。そうか。
0534デフォルトの名無しさん
NGNGRLEって辞書必要だったのか…
0535デフォルトの名無しさん
NGNGいや、いろいろ突き詰めていくとそっちの方向に向かうなってこと。
0536デフォルトの名無しさん
NGNGで、結局 LZ77 か LZ78 の類似品になるわけですね…
0537デフォルトの名無しさん
NGNGそこから、2バイトのCRC値を得る。
そのCRC値を元に、それが得られるようなデータを複数求め、
元のデータがその何番目に当たるかを求める。
もし、256番目以前であれば、元のデータは、CRC値と番号の合計3バイトで表す
ことができる。
256を超えた場合、9バイトで試してみる。それでもダメな場合、8バイトで試してみる。
どうしてもダメな場合、ダメであったことを表す1ビットのフラグをつけ、
元のデータをそのまま保存する。
0538デフォルトの名無しさん
NGNG時間がやたらとかかるよーな…
あとさぁ 00 00 00 00 00 00 00 00 00 00 から
そのCRC値になるまでインクリメントして256個だけ、
っつー事であれば 圧縮できるのは
00 00 00 00 00 00 00 00 ?? ?? みたいな並びばっかにならんか?
0539デフォルトの名無しさん
NGNG他の圧縮方法で圧縮できそうなデータは故意に飛ばせば良い。
入力データの先頭から順番に出力していく
という感じのモデルって既にあるでしょうか。
性能はイマイチ。
例えば、記号を{ a, b, c }の3種類として
入力データを{ abcacacabca }とする。
まず、a の次に出現する記号を順番に出力すると
bccb
となる。b, c についても同様に出力すると
bccb cc aaaa
となる。以上。
説明の為に多少簡略化してあり、
この出力だけでは当然復元できません。
(このやり方なら入力データの頭と尻の記号が必要になる)
速度・メモリを無視すれば、オーダーを増やしていっても復元可能です。
(aaの次の記号を出力、baの次の記号を出力・・・)
0541デフォルトの名無しさん
NGNGデータ量が減ってない気がするんですが。
0542デフォルトの名無しさん
NGNGモデルだからな。
0544デフォルトの名無しさん
NGNGまた、アルファベットのみの場合には妙に効果があるってヤツ?
0546デフォルトの名無しさん
NGNG漏れの少ない脳みそを検索した結果だな……(・∀・)イイ!。行けると思う。
マジで。
0547デフォルトの名無しさん
NGNG>>540 を実装してみた。符号化してないのでサイズ増えるけどw
復元の為の付加情報は符号化のときに一緒に折り込むのがいいかな?
0548デフォルトの名無しさん
NGNG>符号化してないのでサイズ増えるけどw
その処理を通す前と通した後のデータをそれぞれLZHか何かで適当に圧縮してみそ。
それで圧縮率が変わるようならモデルとしては優秀なんじゃない。
なるべく大きなデータがいいね。当然jpegやmp3はダメだぞ。
0549デフォルトの名無しさん
NGNG0550540
NGNGコンパイルしてないけど、
入力データの最初と最後に記号a を付加して、
それごとエンコードすれば、復元の為の付加情報は必要なくなると思う。
どっちがいいのか分からないけど。
...aaa abcacacabca a
0551デフォルトの名無しさん
NGNG0552540
NGNG<エンコード>
入力:a abcacacabca a
aの次:abccba
bの次:cc
cの次:aaaa
出力:abccbaccaaaa
<デコード>
入力:abccbaccaaaa
aの数:6個、bの数:2個、cの数:4個より、
abccba cc aaaa
とわかり、aから始まるので、順にたどれば、
aabcacacabcaa
となり、先頭と最後を取り除けば、
出力:abcacacabca
ダメかな…。
0553デフォルトの名無しさん
NGNGよーわからんが 最後の a って付加する必要ある?
055457
NGNGいいんじゃない?
その方法なら先頭にa(実際の実装なら'\0'か?)を付けるだけで良いと思う。
あと、その方法、なんかBlockSortingの復号みたいだな
#自分でも>>540を実装してみたけど逆に圧縮率落ちた。鬱。
0555540
NGNGたぶんない。
デコードの際、各記号の数を数えるときに都合がよかったのかな。
>>554
大量の文脈を使えばある程度効果はあると思うけど、
力不足で実装できませんでした。
0556デフォルトの名無しさん
NGNG>aの数:6個、bの数:2個、cの数:4個より、
なぜ「cの数:4個」とわかるのか?と小一時間問い詰めたい。
0557デフォルトの名無しさん
NGNGcという文字の前に来ている文字が4個、また最初の文字はaなので、cは4個
じゃないのかなぁ・・・
0558デフォルトの名無しさん
NGNG逆転文字列をブロックソートした状態になるんじゃないか?
0559540
NGNG「aの数:6個、bの数:2個、cの数:4個より」
というのは、デコード時の入力データ「abccbaccaaaa」
の各記号の個数を数えただけです。
エンコード時、最初と最後にaを付け加えることにより、
上のように単純に数えることができると考えたんだと思いますが、
余計だったかもしれません。
理屈は>>557の通り。
> 逆転文字列をブロックソートした状態になるんじゃないか?
ですね。
出力結果がブロックソート法より良くなることは無いです。
0560デフォルトの名無しさん
NGNG新しい発想でかんがえようよ!
定石やあるゴリ図無なんてクソ倉枝よ!
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG符号化はもうほとんど算術符号になってるよ。
一部の分野でGolomb符号などが使われているくらい。
今問題にしているのはモデル化の話。
0563デフォルトの名無しさん
NGNG算術符号は特許問題がやっかいなので使わぬが吉。
RangeCoderにしとけ。
0564デフォルトの名無しさん
NGNGRangeCoderも白っぽいけど灰色という罠
0565デフォルトの名無しさん
NGNG0566これでええやんけ
NGNG// 希望の圧縮率にできる限り近い圧縮をおこなっちゃうよっ
bool compresser(void *soce //圧縮対象メモリ
,int soce_size //圧縮対象メモリサイズ
,void *dest //展開先メモリ
,int dest_size //展開先メモリサイズ
,int compress_rate) //希望の圧縮率
{
if( compress_rate<1 || 99<compress_rate ){
printf("1〜99 の間で指定しろや!");
return false;
}
for(int i=0,w=0; i<soce_size; i++){
if( (rand()%100) > compress_rate ) continue;
if( dest_size>=w ){
ptinrf("展開先ちゃんと確保しろや!");
retunr false;
}
dest[w++] = soce[i];
}
print("%d%に圧縮しますた[ハート]",w*100/soce_size);
return true;
}
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG99を指定すると無圧縮に…
0569デフォルトの名無しさん
NGNGfile.open();String content = file.readAll();file.close();
file.rename(Base64.encode(content));
file.open();file.write(filename);file.close();
0570デフォルトの名無しさん
NGNG_( ´∀`) (´∀` )
三(⌒), ノ⊃ ( >>1 .) 糞スレは
 ̄/ /) ) | | |
. 〈_)\_) (__(___)
∧_∧ .∧_∧
( ´∀) (´∀` )
≡≡三 三ニ⌒) >>1 .) 立てるなって
/ /) )  ̄.| | |
〈__)__) (__(___)
∧_∧ ,__ ∧_∧
( ´)ノ ):;:;)∀`)
/  ̄,ノ'' >>1 . ) 言ってるだろうが
C /~ / / /
/ / 〉 (__(__./
\__)\)
ヽ l //
∧_∧(⌒) ―― ☆ ―――
( ) /|l // | ヽ ヴォケがーー!
(/ ノl|ll / / | ヽ
(O ノ 彡'' / .|
/ ./ 〉
\__)_)
0571566
NGNGおお、そだな。 0-99の乱数発生だな。
rand関数 滅多につかわんので、まちがえちまった。 % 演算把握の問題って向きもあるが。
> if( ((rand()%100)+1) > compress_rate ) continue;
こんな感じでかんべんしてくれ。
0572デフォルトの名無しさん
NGNGBlockSortingみたいにMoveToFrontにして前の出力との
位置の差を算術符号かstart-step-stop符号で符号化す
れば圧縮できるだろう。
たぶん、素の(0次の)MTFよりは良くて、BlockSortよりは
悪い、実に中途半端な圧縮率が得られてスレの主旨に
ぴったりでは。速度も中間になる(BSよりはだいぶ速い)
はず。
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG圧縮は当然できるだろ。
0次のMTFと比べてどうかはわからんが。
0575デフォルトの名無しさん
NGNGなんでできると思うんだ?
0576540
NGNG1次に限らずとも可能ですよ。
おっしゃるとおり、2次程度の540 → MTF → 算術でそれなりに縮みます。
大量の文脈を使用する場合、>>547のソースでいう code_count の
扱いが問題になると思います。
0577デフォルトの名無しさん
NGNGいや、これ次数を高くしたらつまんないと思う。
普通のPPMコーダとかの、高次混合モデルを
作るやつの方が良くなっちゃう。
単にバッファを1MBくらいに大きくしてみれば?
0578540
NGNGそうかもしれませんね。
ただ、1次と2次の性能の差はかなり大きかったです。
バッファは8Mでテストしたと思いますが、
これを増やしてもそれほど意味は無いはず。
0579デフォルトの名無しさん
NGNG>>572
0次と1次じゃなくて、1次と2次では? 540のアルゴリズムは2次の
エントロピーコーダですよね。
0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNGこんなのがあった…。
0582デフォルトの名無しさん
NGNG>>572を実装しますた。頻度表も>>552と同じような方法で追い出し。
SSS符号はイマイチな予感(LZFGで使ってるの位しか知らない…)。
次のアプローチとしてはSSSの代わりに連長+RangeCoderを導入するか
二次化なんだろうけど、さて。
0584デフォルトの名無しさん
NGNGでは次のネタどうぞ。
0585デフォルトの名無しさん
NGNGなんでこれで圧縮できると思うの?
0586デフォルトの名無しさん
NGNGMTFとは違う特徴をもったアルゴリズムを作りたかったからだろう。
実際、MTFでは理論的・実践的にいまいちな場面というものが存在する。
普通の定常無記憶情報源での比較ではなく、
特殊な状況で役に立つアルゴリズムというのを考えてみるのもよい。
オレは上の関連で論文を一本書いた。
0587デフォルトの名無しさん
NGNG情報理論の分かるヤツと
分からないけどとりあえずコードを書いて分かったつもりになってるヤツと
分からないのでひたすら煽るだけのヤツがいゐ…
0588デフォルトの名無しさん
NGNG分からないのでひたすら煽るだけのヤツ
0589デフォルトの名無しさん
NGNG同意。何かを分析した気になっている。
0590デフォルトの名無しさん
NGNGとりあえず情報理論の教科書でもあげてもらうか。
0591デフォルトの名無しさん
NGNGそして逆ギレ。
0592デフォルトの名無しさん
NGNG限定ソート?
0594デフォルトの名無しさん
NGNG0595540
NGNG一言で言うとそうなりますね。
単なる最大限定ソート。
次数を上げるとまさに限定ソートそのものです。
M.BurrowsとD.J.Wheelerが最初に考えたのが
540のような感じじゃないかなと思ったり。
0596デフォルトの名無しさん
NGNG0597590
NGNG韓太舜・小林欣吾、情報と符号化の数理、培風館
植松友彦、現代シャノン理論、培風館
情報理論とその応用学会編、情報源符号化 無歪みデータ圧縮
他にはデータ圧縮関連の和書洋書、アルゴリズム関連の本、
情報処理学会、電子情報通信学会、IEEE、などの論文集。
0598デフォルトの名無しさん
NGNGMTFで「何記号前に出現したか」の平均符号長は1次エントロピーに
漸近するのに対し、540だと2次エントロピーに漸近すると思うのですが。
0599デフォルトの名無しさん
NGNGわかっている人は、
MTFやブロックソートと同様、記号をかき混ぜているだけで長さは変わらない
ということがちゃんとわかっているから、大丈夫だろうけど。
わかっていない人は、
そもそも>>540の手法とMTFやブロックソート法との比較もわからないのだと思う。
0600デフォルトの名無しさん
NGNGわからない人の振りをして荒らしてるだけかも…
ってのは考えすぎか。
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGMTFは記号の出現頻度を故意に変えることで圧縮率を高めるし、
ブロックソートは同じ記号をまとめることで、圧縮率を高める。
だけど、これは本当に単に並べ替えてるだけ。
なぜこれで圧縮率が変わると思えるのか、それが知りたい。
どういう理論?
0603デフォルトの名無しさん
NGNGたとえ数パーセントでも圧縮されるのなら、>>1の出した仕様に適合すると思われ。
0604デフォルトの名無しさん
NGNG仕事おせーな
0605デフォルトの名無しさん
NGNG↓
a:bbbbbbbb
b:aaaaaaaa
↓
符号化する、だろ。
0606デフォルトの名無しさん
NGNG馬馬 → 驫
1/3に圧縮できますた
0607デフォルトの名無しさん
NGNGだから逆転した文脈1次モデルだろ?
0608デフォルトの名無しさん
NGNG1次のハフマンで最適に符号化したとして5.868bits/symbol
(符号表その他のオーバーへッドは除く。以下同じ。)
単純なMTFの出力の1次エントロピーは5.119bits/symbol
後段にハフマンを用いると5.591bits/symbol
540+MTFの出力の1次エントロピーは、
ブロックサイズ(bytes) エントロピー(bits/symbol) ハフマン符号(bits/symbol)
4096 4.142 4.577
16384 4.043 4.489
65536 4.005 4.460
...
全部1ブロックに入るとき 3.994 4.452
なので、算術符号を用いれば最高で3.994bits/symbolくらいまで圧縮できる。
ハフマンだと4.452bits/symbol
面白いのは最後段にStart-Step-Stop符号を用いたときで、全部1ブロックに入
るとき、
(3, 2, 9)符号を用いると4.830bits/symbol
(2, 2, 8)符号を用いると4.509bits/symbol
(1, 2, 9)符号を用いると4.388bits/symbol
と、符号によってはハフマンより良い結果になる。
ちなみに、gzip -9だと2.606bit/symbol
bzip2 だと2.190bits/symbol
まで圧縮される。
0609デフォルトの名無しさん
NGNGこんな簡単なことが本当に分からんなら
もう口を出すな。
0610デフォルトの名無しさん
NGNGいや、この方法自体では圧縮はされないどころか、かえってデータ量が増える。
だから、二次圧縮後のサイズを比べてみたんだけど、この方法を使わない場合に比べて、
ほとんど差は無かった。
こう書くと、「ちょっとは差があったのか?」と聞かれると思うが、それは言葉のあやで、
この方法を使った方が小さくなることもあり、大きくなることもあり、
平均してみると、使わない方がどちらかというと小さくなる。
「使わない方が大きくなる」と言うほどは差がないので「ほとんど差は無かった」と書いただけで、
使った方が少しは小さくなるというわけではない。
で、どういう理論を思っているのかを聞いたわけ。
例えば、>>605のようなデータは、元のデータがもともと圧縮率が高く、ab2で表せる。
二次圧縮後に差が出るとは思えない。
0611デフォルトの名無しさん
NGNG「ハフマンより算術符号の方が圧縮率が高い」ということね。
0612608
NGNG> 「ハフマンより算術符号の方が圧縮率が高い」ということね。
もう一つ付け加えると
「540+MTF+SSSは、立派な圧縮アルゴリズムといえる」ということだ。
(少なくとも、1次のハフマンや単純なMTFよりは圧縮率が高い。)
0613608
NGNGこのあとMTF+(arithmetic or huffman or SSS)してくれ。
struct chain { struct chain *next; }; /* ただのchain */
int i, count;
unsigned a;
struct chain *p, *list, **head, **tail;
unsigned char *buffer;
if ((buffer = malloc(block_size + 1)) == NULL ||
(list = calloc(sizeof(struct chain), block_size)) == NULL ||
(head = calloc(sizeof(struct chain), 256)) == NULL ||
(tail = calloc(sizeof(struct chain), 256)) == NULL) {
/* エラー */
}
while ((count = fread(buffer, 1, block_size, stdin)) > 0) {
putchar(buffer[0]);
buffer[count] = buffer[0];
for (i = 0; i < 256; i++)
head[i] = NULL;
for (i = 0; i < count; i++) {
a = buffer[i];
if (head[a] == NULL)
head[a] = tail[a] = list + i;
else
tail[a]->next = list + i;
list[i].next = NULL;
tail[a] = list + i;
}
for (i = 0; i < 256; i++)
for (p = head[i]; p != NULL; p = p->next)
putchar(buffer[p - list + 1]);
}
0614デフォルトの名無しさん
NGNG0615608
NGNGint i, count;
unsigned a;
unsigned char *buffer;
unsigned *ptr;
if ((buffer = malloc(block_size + 2)) == NULL ||
(ptr = calloc(sizeof(unsigned), 257)) == NULL) {
/* エラー */
}
while ((count = fread(buffer, 1, block_size + 1, stdin)) > 0) {
buffer[count] = buffer[0];
for (i = 0; i < 257; i++)
ptr[i] = 0;
for (i = 1; i < count; i++)
ptr[buffer[i] + 1]++;
for (i = 0; i < 256; i++)
ptr[i + 1] += ptr[i];
a = buffer[0];
for (i = 1; i < count; i++) {
putchar(a);
a = buffer[ptr[a]++ + 1];
}
}
0616608
NGNG結果には影響ないけどね。
0617デフォルトの名無しさん
NGNG俺はCのソース使ってほとんど差がでないんだけど。
0618608
NGNGデータ圧縮の標準データセット。
これ知らないなら本当にモグリだな。
0619デフォルトの名無しさん
NGNGもしかして対象データのサイズが小さいとか。
どんな手法でもそうだけど、数十バイトを半分にするのは、
数百メガバイトを半分にするよりもいくぶん難しいよ。
0620デフォルトの名無しさん
NGNG自分が知っていることは相手も知っていると思うんだろうか。
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGMTF+SSS(3,2,9) 254543バイト
540(ブロック64KB)+MTF+SSS(1,2,9) 170454バイト
0623デフォルトの名無しさん
NGNG圧縮プログラムの比較はたいていこれを使う。
>>618はスペル間違えてるけどな(w
(正しくはCalgary corpus)
0624デフォルトの名無しさん
NGNG初めて聞いたよ。
俺ってモグリだから、Calgary Corpusくらいしか知らねーや。
0625デフォルトの名無しさん
NGNG誰か教えて下さい、お願いします。
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG元: 1920バイト
MTF+SSS: 1470バイト
540+MTF+SSS: 1022バイト
0628デフォルトの名無しさん
NGNG何が理解できなかったの?
2次エントロピーというのが理解できないとか?
0629デフォルトの名無しさん
NGNGいや、試してダメだったと言ってるって事は、
情報理論が理解できてないだけでなく
アルゴリズムも理解できてないらしい。
0630デフォルトの名無しさん
NGNGなんで俺のところではうまくいかないんだ?
本当に他のところではうまくいってるのか?
ちょっと実行ファイル出してみろよ。
0631じゃ、ちょとだけ
NGNG0632デフォルトの名無しさん
NGNG女男女男女男女男女男女男 → 娚娚娚娚娚娚
・圧縮率1/3のケース
女男女男女男女男女男女男 → 嫐嬲嫐嬲
女女女女女女女女女女女女 → 姦姦姦姦
0633デフォルトの名無しさん
NGNGネタでした〜
0634デフォルトの名無しさん
NGNGところでmove-to-frontとstart-step-stopは理解できてるのか?
ちょっとどういう理解か説明してみ?
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG日頃の行ないが悪いからそういうことになるんだ
0637デフォルトの名無しさん
NGNGでなきゃ、実行ファイルを作れるソース全部あげてみろ。
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGところでstart-step-stopってどうコーディングすればいいのか分かりましぇん。
いろんなパラメータで実験してるところから見て恐らくstart,step,stopを
渡せばそのパラメータで符号化・複合する汎用ルーチンを使ってるんじゃないか
と思うんだけど、もしそうなら是非見せて欲しい。
車
車車 → 轟
龍龍 → 龖(たしかこれの1/3圧縮バージョンもあったはずだがWindowsにはない?)
0640デフォルトの名無しさん
NGNGlong read_bits(size_t nbits);
int write_bits(unsigned long bitvector, size_t nbits);
int flush_bits(void)
int sss_read(int start, int step, int stop)
{
int bits = start;
int base = 0;
int code;
while (bits < stop && (code = read_bits(1)) != EOF && code == 0) {
base += (1 << bits);
bits += step;
}
if (code == EOF || (code = read_bits(bits)) == EOF) return EOF;
return code + base;
}
int sss_write(int start, int step, int stop, int code)
{
int bits = start;
int base = 0;
int limit = (1 << start);
while (bits < stop && code >= limit) {
write_bits(0, 1);
base = limit;
bits += step;
limit += (1 << bits);
}
if (bits < stop) write_bits(1, 1);
return write_bits(code - base, bits);
}
0641デフォルトの名無しさん
NGNG全然圧縮されねーぞ。やっぱネタ?
0642デフォルトの名無しさん
NGNG完成してないんだよな。
完成してないものは試しようがない。
従って、圧縮されたと言ってるのは妄想。
0643デフォルトの名無しさん
NGNGサンクスコ!! あとでじっくり読んでみます。
>>641
否定派は否定するならするでもっと真面目にやってください。
工夫しないネタは只のゴミです。
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGでもビット入出力ルーチンも書けない>>642はどうかと思う
あと素っ頓狂なことを言っている>>641もどうかと。
SSS符号は、単なる符号なんだからモデルをちゃんと作らなくちゃ、圧縮できるはずがない。
そのためのMTFであり>>540なんだろうに。
0647デフォルトの名無しさん
NGNG高い頻度で出現する記号ほど出現間隔は短くなる。頻度の偏りが大きいと
間隔の平均値は小さくなる。これを利用したのがMTF。
「1つ前の記号がxであるときの記号aの出現頻度P2(a,x)」は、
単なる出現頻度P1(a)より一般には偏りが大きい。たとえば、Cのソースだと
改行文字の後に#が出てくる確率は、他の文字の後に出てくる確率よりずっと
高い。
なので、640のように「1つ前の記号」ごとにまとめてMTFで出現間隔をとると、
1次のMTFより平均値が小さくなる。
最悪で、前の記号と無関係(P2(a,x)=P1(a))の場合でも、640は1次のMTFと
同じになる。(1ブロックごとに1文字ふえるだけ。)
0648647
NGNG0649デフォルトの名無しさん
NGNG#include <stdio.h>
#define BLOCK_SIZE 65536
#define ALPHA_SIZE 256
#define ALPHA_BITS 8
unsigned long bitbuf;
size_t bufbits;
void write_bits(unsigned long c, size_t bits)
{
bitbuf = ((bitbuf << bits) | (c & ((1 << bits) - 1)));
bufbits += bits;
while (bufbits >= ALPHA_BITS) {
putchar(bitbuf >> (bufbits - ALPHA_BITS));
bufbits -= ALPHA_BITS;
}
}
void flush_bits()
{
if (bufbits > 0)
putchar(bitbuf << (ALPHA_BITS - bufbits));
fflush(stdout);
}
0650デフォルトの名無しさん
NGNGvoid sss_write(int start, int step, int stop, int code)
{
int bits = start;
int base = 0;
int limit = (1 << start);
while (bits < stop && code >= limit) {
write_bits(0, 1);
base = limit;
bits += step;
limit += (1 << bits);
}
if (bits < stop) write_bits(1, 1);
write_bits(code - base, bits);
}
int mtf_array[ALPHA_SIZE];
void mtf_write(int alphabet)
{
int i;
int u, next_u;
for (u = mtf_array[0], i = 0; u != alphabet; ) {
next_u = mtf_array[++i];
mtf_array[i] = u;
u = next_u;
}
mtf_array[0] = u;
sss_write(1, 2, 9, i);
}
0651デフォルトの名無しさん
NGNGunsigned char buffer[BLOCK_SIZE];
long list[BLOCK_SIZE], head[ALPHA_SIZE];
int main(int argc, char *argv[])
{
int i, count;
unsigned a;
long p;
for (i = 0; i < ALPHA_SIZE; i++)
mtf_array[i] = i;
while ((count = fread(buffer, 1, BLOCK_SIZE, stdin)) > 0) {
mtf_write(buffer[0]);
buffer[count] = buffer[0];
for (i = 0; i < ALPHA_SIZE; i++)
head[i] = -1;
for (i = count - 1; i >= 0; i--) {
a = buffer[i];
list[i] = head[a];
head[a] = i;
}
for (i = 0; i < ALPHA_SIZE; i++) {
for (p = head[i]; p >= 0; p = list[p])
mtf_write(buffer[p + 1]);
}
}
flush_bits();
return 0;
}
0652デフォルトの名無しさん
NGNG#include <stdio.h>
#define BLOCK_SIZE 65536
#define ALPHA_SIZE 256
#define ALPHA_BITS 8
unsigned long bitbuf;
size_t bufbits;
long read_bits(size_t bits)
{
int c;
while (bufbits < bits) {
if ((c = getchar()) == EOF) return -1;
bitbuf = ((bitbuf << ALPHA_BITS) | c);
bufbits += ALPHA_BITS;
}
bufbits -= bits;
return (bitbuf >> bufbits) & ((1 << bits) - 1);
}
int sss_read(int start, int step, int stop)
{
int bits = start;
int base = 0;
int code;
while (bits < stop && (code = read_bits(1)) >= 0 && code == 0) {
base += (1 << bits);
bits += step;
}
if (code < 0 || (code = read_bits(bits)) < 0) return EOF;
return code + base;
}
0653デフォルトの名無しさん
NGNGint mtf_array[ALPHA_SIZE];
int mtf_read(void)
{
int i, v, code;
if ((code = sss_read(1, 2, 9)) == EOF) return EOF;
v = mtf_array[code];
for (i = code; i > 0; i--)
mtf_array[i] = mtf_array[i - 1];
mtf_array[0] = v;
return v;
}
unsigned char buffer[BLOCK_SIZE + 2];
long ptr[ALPHA_SIZE + 1];
size_t read_block(void)
{
int count, c;
for (count = 0; count < BLOCK_SIZE + 1 && (c = mtf_read()) != EOF; count++)
buffer[count] = c;
return count;
}
0654デフォルトの名無しさん
NGNGint main(void)
{
int i, count;
unsigned a;
for (i = 0; i < ALPHA_SIZE; i++)
mtf_array[i] = i;
while ((count = read_block()) > 0) {
buffer[count] = buffer[0];
for (i = 0; i < ALPHA_SIZE + 1; i++)
ptr[i] = 0;
for (i = 1; i < count; i++)
ptr[buffer[i] + 1]++;
for (i = 0; i < ALPHA_SIZE; i++)
ptr[i + 1] += ptr[i];
a = buffer[0];
for (i = 1; i < count; i++) {
putchar(a);
a = buffer[ptr[a]++ + 1];
}
}
return 0;
}
0655デフォルトの名無しさん
NGNGしかも(゚д゚)ハヤー!
でも圧縮率はたいしたことないね(w
0656デフォルトの名無しさん
NGNGそれは2ch版の仕様なので、製品版ならば圧縮率は向上します。
などといってみるテスト。
0657デフォルトの名無しさん
NGNG・先頭じゃなくて二番目に持ってくる
・テーブルを256通り持って直前の文字で切り替える
少し良くなる(かも知れない)けどぱっとしないなぁ…
0658デフォルトの名無しさん
NGNGすると先頭は変わらないが、先頭には何が入ってるんだ?
>・テーブルを256通り持って直前の文字で切り替える
データが小さいときは効くだろうね。
0659デフォルトの名無しさん
NGNGひょっとして540って、ソートなんかしなくても、
MTFのコンテクストを256通り持てば同じ事なんでは…
0660デフォルトの名無しさん
NGNGencode.exe < index.html > index.html.2ch
伸張した
decode.exe < index.html.2ch > index.html
感動した >all
0661デフォルトの名無しさん
NGNGだから、こんなんじゃ圧縮できないって何度も言ってんじゃん。
圧縮できてるのは、MTFのおかげ。既存のアルゴリズム。
0662デフォルトの名無しさん
NGNG意味不明。1次のMTFより圧縮率高いけど?
0663デフォルトの名無しさん
NGNG分かんないなら>>647読もうね、ボク。
0664デフォルトの名無しさん
NGNG二番目の文字が出た場合だけ、先頭と二番目を交換する。
0665デフォルトの名無しさん
NGNGunsigned char mtf_array[ALPHA_SIZE][ALPHA_SIZE];
void mtf_write(int context, int alphabet)
{
int i;
int u, next_u;
for (u = mtf_array[context][0], i = 0; u != alphabet; ) {
next_u = mtf_array[context][++i];
mtf_array[context][i] = u;
u = next_u;
}
mtf_array[context][0] = u;
sss_write(1, 2, 9, i);
}
int main(int argc, char *argv[])
{
int i, j, c, last;
for (i = 0; i < ALPHA_SIZE; i++)
for (j = 0; j < ALPHA_SIZE; j++)
mtf_array[i][j] = j;
last = 0;
while ((c = getchar()) != EOF) {
mtf_write(last, c);
last = c;
}
flush_bits();
return 0;
}
0666デフォルトの名無しさん
NGNGコードきぼんぬ
0667デフォルトの名無しさん
NGNGいったい何を根拠に圧縮率が高いと?
実際、ファイルサイズは大きくなるじゃんか。
0668デフォルトの名無しさん
NGNGハァ?
ひょっとしてコンパイル&実行のしかたも分からんのか…
0669デフォルトの名無しさん
NGNGネタ?
実際に実行して見ろよ。
0670デフォルトの名無しさん
NGNGしたよ? Cのソースだと大体もとの50%くらいになるよね。
0671デフォルトの名無しさん
NGNGもうそのネタいい加減あきたよ。
>>647読んで分からんやつなら何言ってもムダだし。
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNGどっちにしても圧縮率低すぎ。
0674デフォルトの名無しさん
NGNGでも、まさかそんな初歩的なところじゃないよね。
0675デフォルトの名無しさん
NGNGDOS環境ってWinも含むんでつか?(敬語
0676デフォルトの名無しさん
NGNGうちでも全然だめ。
えらく長いネタだったな。。。
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNG知らん。ANSI C互換なら動くはずだ。
0680デフォルトの名無しさん
NGNG当然binmode.oをリンクしなきゃならんけど。
0681デフォルトの名無しさん
NGNGやつらがいるらしい(フ゜フ゜
0682デフォルトの名無しさん
NGNG改行程度のことで大きくなるようなものでも圧縮って言うの?
0683デフォルトの名無しさん
NGNGみんな知ってるか?(藁
0684デフォルトの名無しさん
NGNGなんだよ、ネタかよ!
0685デフォルトの名無しさん
NGNGあるいは、Calgary corpusで試すかだ。
ちなみに paper1 で 4.679bpc だった。
0686デフォルトの名無しさん
NGNGもういいって。そのネタ、しつこいし、面白くない。
いつまで続くの?
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGテキストモードで入出力できるはずがないだろ。
0689デフォルトの名無しさん
NGNG大きさの話をしてるんだよ(藁
0690デフォルトの名無しさん
NGNGデータ: 圧縮後/元サイズ
bib: 66314/111261
book1: 470878/768771
book2: 361427/610856
geo: 75105/102400
news: 235941/377109
obj1: 13857/21504
obj2: 127266/246814
paper1: 31091/53161
paper2: 48992/82199
paper3: 28162/46526
paper4: 8030/13286
paper5: 7115/11954
paper6: 22117/38105
pic: 159535/513216
progc: 21760/39611
progl: 35562/71646
progp: 23932/49379
trans: 49036/93695
0691デフォルトの名無しさん
NGNGうわ、すげーバカ(藁
テキストモードって知ってるのか?
Cの入出力の話だぞ。
0692デフォルトの名無しさん
NGNG誰か教えて!
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNGalice29.txt: 89224/152089
asyoulik.txt: 71590/125179
cp.html: 15010/24603
fields.c: 5541/11150
grammar.lsp: 1844/3721
kennedy.xls: 530275/1029744
lcet10.txt: 250429/426754
plrabn12.txt: 284824/481861
ptt5: 159535/513216
sum: 19919/38240
xargs.1: 2464/4227
0695デフォルトの名無しさん
NGNGでなきゃzipファイルを圧縮しようとしたとか。
0696デフォルトの名無しさん
NGNG厨がこんなことに関心を持つとすれば、
エロ画像かエロ動画(w
0697デフォルトの名無しさん
NGNGそりゃ元より大きくなるわな。
BMPなら圧縮できそうだが。
0698デフォルトの名無しさん
NGNGすべてぎちぎちに圧縮しているので、
できたとしてもコメント部分などのヘッダ部だけだろう。
0699デフォルトの名無しさん
NGNG540に反論して引っ込みがつくなくなったやつ、でよろしいですね(Y/y)
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNGhttp://www.pearsoned.co.jp/washo/prog/wa_pro30-j.html
0702デフォルトの名無しさん
NGNG.2ch と い う 拡 張 子 だ !!
というわけで、.2chをでほるとにして、引数をひとつだけとる
ようにしてくれませんかね。
0703デフォルトの名無しさん
NGNGコンソールアプリなら、
gzip, bzip2 互換のインタフェースの方が使いやすい。
0704デフォルトの名無しさん
NGNG画像どころかCソースでも圧縮できない圧縮法に何の意味があんの?
0705デフォルトの名無しさん
NGNG「圧縮できない」ネタうざすぎ。
なんの工夫もなく「圧縮できない」というウソを繰り返すだけのやつは
もう飽きたってば。
>>690 や >>694 のとおりCソースもほぼ50%に圧縮できている。
以後は >>647 >>690 >>694 に対抗したコメントを捏造するくらいの
工夫をせよ。
0706デフォルトの名無しさん
NGNG圧縮できた妄想患者はすれ違いだからさっさと出て行け。
0707デフォルトの名無しさん
NGNG本人たちが圧縮できてると思ってるんなら、それでいいじゃん。
彼らはそれで圧縮して満足なんだし、圧縮できないと思えば
普通のアーカイバを使えば済むこと。
---------------終了---------------
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNGだから工夫しろって。
せめて >>647 に一言いってみろや。
2次のMTFと同等だから圧縮できて当り前だろ?
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG彼(ら)の頭ではうpされたコードどころかword countも理解できません。
0713デフォルトの名無しさん
NGNG647に一言いってみろや。なんにも言えないんだろ(藁
0714デフォルトの名無しさん
NGNG圧縮できる/できない で埋め立てるつもりか?
0715デフォルトの名無しさん
NGNGbib: 66314, 66687, 111261
book1: 470878, 470260, 768771
book2: 361427, 360827, 610856
geo: 75105, 76935, 102400
news: 235941, 235700, 377109
obj1: 13857, 14105, 21504
obj2: 127266, 126602, 246814
paper1: 31091, 31521, 53161
paper2: 48992, 49321, 82199
paper3: 28162, 28544, 46526
paper4: 8030, 8332, 13286
paper5: 7115, 7416, 11954
paper6: 22117, 22507, 38105
pic: 159535, 159648, 513216
progc: 21760, 22223, 39611
progl: 35562, 35849, 71646
progp: 23932, 24316, 49379
trans: 49036, 49343, 93695
優劣は微妙だが誤差範囲かも
0716デフォルトの名無しさん
NGNG平均符号長が2次MTFの出力に漸近するのは明らか。
0717デフォルトの名無しさん
NGNGなかなか見事だと思う
0718デフォルトの名無しさん
NGNGただの名無しだろ?
0719デフォルトの名無しさん
NGNGもっとも>>649-654は十分なアイデアが出尽くす前に2chエンコーダ・デコーダを
名乗ってしまったわけで、それはそれで名無しではあるが「俺が2chエンコーダ・
デコーダの作者だ」と主張しているようでいかがなものかと。
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG>十分なアイデアが出尽くす前に2chエンコーダ・デコーダを
>名乗ってしまった
もうここらでいいんじゃない? 中途半端なところで。
こんな駄スレに次スレは立たないだろうし。
0722デフォルトの名無しさん
NGNG>>649-654を試してみたよ。
>>649-654を圧縮してみたわけよ。
そしたら1.93KBが1.00KBになったわけよ。
で、驚きながら出コードしてみたわけよ。
そしたら511バイトになったわけよw
ネカマ口調で書いてみたけど、
なんかコンパイルでミスったのか?オレは。
0723デフォルトの名無しさん
NGNGま、これもひとつの2chではあるな。
>>722
main()の頭に
setmode (fileno (stdin), O_BINARY);
setmode (fileno (stdout), O_BINARY);
入れてみても駄目かい?
0724デフォルトの名無しさん
NGNG4ビット単位とか2ビット単位とか1ビット単位で
並び替えるとどーなるんでしょう? 意味無し?
0725デフォルトの名無しさん
NGNG(1)次数に制限のない高次のモデルを使って、
(2)符号長を1bitより短くできるような符号化をするなら、
入力を短いbitで切ってもあまり関係ない。
540とSSSだとどっちも充たさないから短いbitで切ると損。
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNGテキスト系でだいたい半分。
当初の目的のAA系だとものによって20%くらいまで減らせるようだ。
解凍がなかなか早いのもGood
0728デフォルトの名無しさん
NGNGunsigned char buffer[BLOCK_SIZE];
は
unsigned char buffer[BLOCK_SIZE + 1];
としないとマズイのでは。
0729デフォルトの名無しさん
NGNGソートしたらさらに圧縮率が上がったけど、けっきょく文脈ソートや
ブロックソートに近づいているようで鬱
0730デフォルトの名無しさん
NGNG.DQNがおにあいだ
まずDQNkarahajimere
0731デフォルトの名無しさん
NGNGIMEを全然操れてないところがDQNぽくてナイス
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGcompressなんかだと単純に出現順に割り当てた
符号語を出力しますが、それをさらにMTF+可変長符号で
頻度が高いものほど短くなるように符号化する。
あらかじめ決めた辞書サイズが溢れたら、MTFで
いちばん下のところ(最近使われていないところ)
を辞書から削除する。
0736デフォルトの名無しさん
NGNG辞書の捨て方はBTLZ(V.42bisに使われたやつ)に似ているが、
あれはMTF符号化をしていなかった気がする。
0737デフォルトの名無しさん
NGNGLZ78系だと基本的には辞書に登録する単語がどんどん長くなるわけだけど
そうすると新しく登録した単語ばかりが使われることになるだろうから
MTFが効かないような気もする。
最長不使用法で古い単語を捨てて辞書を小さく保つのは有効のはず。
単純なLZ78に組み込む場合はその処理に時間がかかるのがデメリットだけど
MTFに組み合わせるなら殆ど負担にはならないのが利点かな?
0738デフォルトの名無しさん
NGNGそのエントリが他のエントリから参照されているかも知れないから。
その時はどうする? 子供も全て捨てるか、「子供のいない最も古い
やつを捨てる」か。
0739デフォルトの名無しさん
NGNGMTFは「最近出てきたものがまたすぐ出てくる」とき良く圧縮できる。
LZ78は「一度出てきたものは辞書に登録して、
なるべく同じ出力を繰り返さない」ことを狙いとしている。
0740SYN ◆8smMJ0UaoA
NGNGきちんとした符号化を考えた時、最適(とはいわないでも良好)なモデル化とはいいがたいです。
無条件に先頭に持ってくるのは少々乱暴な感じ。
出現率をきちんと管理できるのであれば、「移動させる」MTFは必要ないです。
0741SYN ◆8smMJ0UaoA
NGNGGCAは実験的作品なので糞なのは認めます。ごめんなさい。
ただ、ガイシュツの理論だけではないです。
BWT+MTF+RangeCoderで作ってみるとわかりますが、
それだけではあまり圧縮率が出せません。
0743デフォルトの名無しさん
NGNG0744SYN ◆8smMJ0UaoA
NGNG気に入らないことがあるなら私に直接言ってください。
fjの方の方でしたら、知っていると思いますが、
「ヤりたい」のなら私はそれに付き合うつもりもあります。
某TRPG関連の方でしたら、本当の事実を知らないだけです。
その場合も私に連絡をください。真実をお伝えしますから。
わざと壊した.gcaファイルを配布する人や、ウィルス入りのファイルを
配布する人もいて、本当に困るよ…。
0745デフォルトの名無しさん
NGNGまぁ公開アルゴリズムをつかいながGCAソース非公開
アーカイバプロジェクトへのGCA/APIの一部非公開
が問題だな
0746SYN ◆8smMJ0UaoA
NGNGソースを公開していないのは、仕様変更がしにくくなるからです。
そういう意味でGCAはまだ完成していません。真打はGCAではないですし…。
それにGCAみたいなしょぼいソフトのソースなど誰も見たがらないと思う。
0747SYN ◆8smMJ0UaoA
NGNG限定ソートのメリットってほとんどないです。szipで使われていますが、
完全ブロックソートでも、あれに近いぐらいの速度が出ます。
完全=大まかにソート(限定ソート)+αなのですが、このαの部分って
ほとんどのファイルのデータでは極小なので、差はほとんど出ないです。
0748デフォルトの名無しさん
NGNGその割にB&Wはソートの高速化に苦労していたみたいだが。
特にバイナリで0x00が大量に続くようなとき、単純なソートだと
恐ろしく遅くなるよ。
0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNGアルゴリズムがどうの言ってる暇があったら自己展開書庫のヘタレUIを改善して欲しいよ…
0751デフォルトの名無しさん
NGNGだから最初にランレングスしたり
ブロックのバイト列の終端にどの数よりも必ず大きく(小さく)なる値を割り当てて
比較長を短くしたりする、いろいろな工夫があるんだろ?
0752デフォルトの名無しさん
NGNGブロックサイズを(完全と比べて)果てしなく大きく取ることが出来るので
ある種のデータではブロックが小さい完全ソートより
良好な結果を得ることが出来ると思うんだが。
0753デフォルトの名無しさん
NGNGだから単純なソートだと遅いから高速化に苦労してたって、>>748が言ってるだろ?
0754デフォルトの名無しさん
NGNGそれならば、すでに先人が苦労した成果があるんだから
後からそれを利用するだけなら大した苦労も無いだろう。
0755デフォルトの名無しさん
NGNG話の筋を追えんやつだな(w
0758デフォルトの名無しさん
NGNG80行で完全ソート書いてみて >>SYN
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGオーダーにするとその通りだけど、限定ソートなら 1(n/2)+ちょっと で出来るでしょ。
0762デフォルトの名無しさん
NGNG>>758
限定ソートほどじゃないけど、速度を気にしなければ、
普通に書いても2,30行ぐらいでいけます。
ちなみに展開の方は普通に10行ぐらいで書けます。
>>761
確かにバッファは減らせるけど、それによって確保できるブロックサイズは
精々数倍程度で、果てしなく大きくってほどじゃないと思うけど…
それにブロックサイズは無闇に大きくするとデータの揺らぎに対応できずに、
結果が悪くなることが多いです。
0763デフォルトの名無しさん
NGNG「540+MTF+ハフマン」
で圧縮ソフト組んだのですが。
MTFとハフマンはそこらへんから拾ってきたソース組み込んだだけだったけど。
いや、別にいいんだけどさ。
0764デフォルトの名無しさん
NGNG2〜30行ならうpしてみろや
可変長符号だけで10行やそこらはかかると思うんだが
まさか最密充填コード?
0765デフォルトの名無しさん
NGNG0766ふトンカ ◆wX94FutoNg
NGNGDVD-ROM片面2層の辞書を持っている、
有名な曲とか、定番の発言とか、全部入っている
そうしたらすごい圧縮できるんてじゃないでしょうか。
10MBのMP3が10KBに!、とか…
まぁそこまでは行かなくともですが、、まぁ多分、原理的に無理だから誰もしないんですよね、、失礼。
0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNGソース公開しろとまでは言わんが、
GCAのMAC版、Unix版が無いのはいかがなものか?
自分でGCAがヘボイと言っているのならそれは自分でゴミを垂れ流してることになるだろ
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNGクリスマスに、ってのが泣ける。
・゚・(ノД`)・゚・。
0771デフォルトの名無しさん
NGNG身内用に作ったものを勝手に使用しているようなものなのに、なんでえらそうなんですか
もともと趣味で作ったもの。MacやLinux版をわざわざ出すわけないでしょう
圧縮方法もまだしっかり確立していないのに
今のはテスト版のようなもの。圧縮方法がしっかりときまったらソース公開や他OS版も考えるでしょう
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNGそれだけだ
0775デフォルトの名無しさん
NGNGブロックソート関連のWebページ逝けば30行くらいで普通に載ってるぞ。
それに、bzip2のソースも実質そんなていど、といってみるテスト。
0776☆南幸☆
NGNG0778デフォルトの名無しさん
NGNGMTFが3〜4行、算術符号は5行くらいでかけるから、
qsort使ってよいなら、かなり短くなると思うよ。
0779デフォルトの名無しさん
NGNGもったいぶらずに早く書いてよ。
0780デフォルトの名無しさん
NGNG>>773
>>777
普通BWTは圧縮とは言わないから、符号化までは入れないでしょう。
後段の符号化をやらないで、ベタで垂れ流してもBWTであることには変わりないですし。
0781デフォルトの名無しさん
NGNGなあんだ。ホラかよ。
限定ソートが80行に対して2、30行で書けるとかほざいときながら。
0782778!=780
NGNG完全ソートなら30行で書けますよね?
限定ソートの方が、工程が多い分だけ長くなるということで。
>>780
始めは俺もBWTだけを書くという話だと思ってたよ。
もしかして>>777>>781はBWTを知らないんじゃないかと・・・
0783デフォルトの名無しさん
NGNG半数が空行やコメントのプログラムが、73行だった。実質30行台。
うはっ、われながらひどいプログラムだ。
0784デフォルトの名無しさん
NGNGスマソ。それは遅れていただけで、やる気が無いわけではないです。
確かに今のUIがヘボイことは認めざるを得ません。
ただ、UIの発展をどういう方向に進ませるべきか意見を聞きたかったのです。
結果はDGCAで出せると思います。
同時ではないですが、MAC、Linuxの予定もあります。
0785デフォルトの名無しさん
NGNGいや、bzip2のソースもBurrowsとWheelerの論文も読んでるけどさ。
限定ソートの高速なソースは現に80行かそこらであるわけよ。>>649に。
んで、SYNは限定ソートのメリットなんて無いとほざいたわけよ。
たった2、30行で書けると。
ホラ吹くんじゃねーよ(w
0786デフォルトの名無しさん
NGNG30行で高速なブロックソート圧縮プログラム早くうpして見せろや。
0787デフォルトの名無しさん
NGNG確かに>>649はそれはそれですごいが、
あれをBWTの限定ソートと呼ぶのはどうかと。
そんなことをいったら1次モデルもBWTの限定版になってしまうがな。
0788デフォルトの名無しさん
NGNGSYNの言うこといちいち真に受けるなよ(w
だからコテハンなんてろくな香具師じゃないって。
0789デフォルトの名無しさん
NGNGじゃああんたのいう限定ソートって何?
0790デフォルトの名無しさん
NGNG限定ソートにメリットが無いことは、各種論文でも言われていると思うけど。
本当にブロックソート関連の論文読んだの?
0791デフォルトの名無しさん
NGNGbzip2みたいに、せめて100kバイト程度のブロックであって欲しいな。
0792デフォルトの名無しさん
NGNG2-30行のソースとやら晒して見せろや
嘘つきヤロウ
0793デフォルトの名無しさん
NGNGbzip2のブロックと、限定ソートの長さ制限は意味が違う。
0794デフォルトの名無しさん
NGNGそれだけかよ(w
じゃあ#define直せば限定ソートになるのか?
0795デフォルトの名無しさん
NGNGあー、それなら私が悪かった。申し訳ない。
ソースコードが小さいというがメリットになると思っていなかったので。
ただ、速度を気にしないBWTは異様なほど小さく出来る。
選択ソートやバブルソート使ったら( ゚Д゚)ゴルァ!かもしれませんが。
しかし、ここはIDも出ないのですね。自分の発言がどれかわからなくなりそう。
0796デフォルトの名無しさん
NGNGここに載っているのにqsort使うと30行くらいじゃないか?
0797デフォルトの名無しさん
NGNGまてまて、焦ってはいけない。
>>540から>>649が登場するまでだって、あれだけ時間がかかったのだ。
せめて1〜2日はまってやろうじゃないか。
0798デフォルトの名無しさん
NGNG本当に速度を気にしなくても良いなら、qsortつかって7行プログラミングできそう。
0799デフォルトの名無しさん
NGNGがいしゅつです。
すでにBWTは7行プログラミングされてます。
0800デフォルトの名無しさん
NGNGなんだもう7行で概出か・・・俺が間違ってたよ。
0801デフォルトの名無しさん
NGNGお前誰だよw
>>799
無かったぞ。それともたまたまdat落ちしているpart2にあったとでも?
都合がいいな。
0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGんなこたーない。
BWTに限らずデータ圧縮モデルは遺伝子解析や言語解析などでも使われている。
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGJ. Seward のオリジナルの実装や、Larrson-Sadakaneの実装、二段階ソート法は、
速い上にそこそこ短い(実質50-60行くらいか)。
0806760
NGNG0807デフォルトの名無しさん
NGNGまったくだ。
いくら互換性や大量のコメントがあるからといって、実質を持ち出されてもね。
アルゴリズムそのものは単純なのにね。
0808デフォルトの名無しさん
NGNG10年近くも前のアルゴリズムじゃないか。
0809デフォルトの名無しさん
NGNGアルゴリズムが同じでも、コーディング能力によって倍くらいコード長が違う。
ま、>>795,>>808と同じでいまさらBWTがどうしたなんかどうでもいいが。
0810デフォルトの名無しさん
NGNGさっさと30行で書いて見せろっつーの。
0811デフォルトの名無しさん
NGNG7行プログラミングスレにありましたよ
0812デフォルトの名無しさん
NGNG圧縮できる完動品が?
0813デフォルトの名無しさん
NGNGMTFとレンジエンコーダーもあるから、自分で組み合わせてみたら。
つーか、そもそもの発言は符号化までは含まない単体のBWTについてだったのでは?
0814デフォルトの名無しさん
NGNG話してて、実際に完動するソースが出てて、
ソースのサイズ比べる話が出て、なんでそこだけ「符号化までは含まない
単体」の話になるんだよ。
0815デフォルトの名無しさん
NGNG知るかYo
0816デフォルトの名無しさん
NGNGそうかYo
0817デフォルトの名無しさん
NGNGも前らに聞いてないYo
0818デフォルトの名無しさん
NGNGそれなら、その限定ソートの部分を完全ソートに置き換えればいいだけでは?
BWTは速度を気にしなければ、
・読み込んだバッファを2倍にして同じものをコピー(2行)
・インデックス生成(1行)
・ソート(qsortでも何でもいい)(1行)
・比較関数(2,3行)
・FirstIndexとソート結果のインデックスから文字を出力(4,5行)
で書けます。マルチで書けば、ほとんどが一行に収まります。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG7行スレのBWTを分解して>>649に組み込めYo
0821デフォルトの名無しさん
NGNG面倒だYo
お前がやってくれYo
0822デフォルトの名無しさん
NGNGスレの中もログの中も 探したけど見つからないのに
まだまだ探す気ですか それより自分で書いてみませんか?
BWTを BWTを 書いてみたいと思いませんか?
ウフッフー ウフッフー ウフッフー さーあー!
0823デフォルトの名無しさん
NGNGBWTは7行スレpart2にあったはず。現在dat中。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNGなんでqsortつかったトロいソート書くんだよ?
七行part2のブロックソートって
#include <stdlib.h>
typedef unsigned char b;e(b*s,b*d,int c){unsigned*o,i=0,r;o=calloc(65536,4);c--
;for(i;i<c;i++)o[s[i]<<8|s[i+1]]++;o[s[c]<<8|*s]++;for(i=1;i<65536;i++)o[i]+=o[
i-1];d[--o[s[c]<<8|*s]]=s[i=c-1];for(;i;i--)d[--o[s[i]<<8|s[i+1]]]=s[i-1];r=--o
[*s<<8|s[1]];d[r]=s[c];free(o);return r;}
これと
#include <stdlib.h>
typedef unsigned char B;void d(B*s,B*d,int c,unsigned x){unsigned*o,i,a=0,t[256
];memset(t,0,1024);for(i=--c;i;i--)t[s[i]]++;o=calloc(65536,4);for(;i<256;i++){
memset(d+a,i,t[i]);a+=t[i];}for(i=0;i<=c;i++)o[(s[i]<<8)+d[i]]++;for(i=1;i<
65536;i++)o[i]+=o[i-1];*d=d[x];d[c]=s[x];d[c-1]=s[--o[(d[c]<<8)+*d]];for(i=c;i>
2;i--)d[i-2]=s[--o[d[i-1]<<8|d[i]]];free(o);}
これと
#include <stdlib.h>
enum{S=256};typedef unsigned char UC;int cmp(void*a,void*b){return memcmp(a,b,S
);}UC*bs(UC*s,UC*d){UC*p,**t,i;p=malloc(S*2);t=malloc(S);for(i=0;i<S;i++)p[i]=p
[i+S]=s[i],t[i]=p+i;qsort(t,S,S,cmp);for(i=0;i<size;i++)if(p== t[i])break;*d++=
i;for(i=0;i<S;i++)d[i]=t[i][S-1];free(p);free(t);return --d;}
これくらいだぞ
0826デフォルトの名無しさん
NGNGデコるときの複雑さと遅さを考えると、使う気になれない。
0827デフォルトの名無しさん
NGNGケツから復元していけば良いだけだろ?
まぁ、キャッシュは外れまくりそうだが…
0828デフォルトの名無しさん
NGNGデコードは完全ソートの方がシンプルで高速だよね。
0829デフォルトの名無しさん
NGNG必死なヤツがいるかどうかだったのか…
おまいら必死だな(藁
0830デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1036013915/
圧縮してくれ
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNGpc3.2ch.net/test/r.i/tech/1036013915
少し短くしますた。
0833デフォルトの名無しさん
NGNG糸冬 了
0834デフォルトの名無しさん
NGNGnever
uzeee
0835shinnet
NGNG0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG話題にも上らないよりかは。。
0838デフォルトの名無しさん
NGNGボクは、僕はyz2も大好きです!!
0839yz2
NGNG0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNGベータになるのか、アルファのまんまか、はたまた出ないのか?
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG初耳です。
> HSP(High Speed signal Processor)
> 各種圧縮/伸張フォーマット(*2)に対応した高速DSPです。
うーん。アルゴリズムと関係あるのか?
0846デフォルトの名無しさん
NGNG同じ全角文字はたくさん出てくるだろうし
半角文字2つの同じ並びもたくさん出てくるだろうし。
0847デフォルトの名無しさん
NGNG人様の作ったものに対して色々文句言ってるやつがいるが、
文句があるなら自分で作ればよかろう。
それも出来もしないなら、おとなしくいていろってこった。
0848デフォルトの名無しさん
NGNG激しく同意
0849デフォルトの名無しさん
NGNG同意。
0850デフォルトの名無しさん
NGNGまったく同意
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGSYNタンは>>847とは逆の意見という罠
download板での発言
578 名前:SYN 投稿日:02/01/23 22:44 ID:NsxsovNn
>>562
様々な改善案を教えていただけるだけでなく、本音で「ここが糞」
という意見が聞ける2chは、本当にありがたいです。
0853デフォルトの名無しさん
NGNGもっと速いバージョンはバグが入ったので、今作りなおしている。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static unsigned char *pText;
static int gLen;
int compare(const void *a, const void *b) {
int l = gLen - ((*(int *)a < *(int *)b) ? *(int *)b : *(int *)a);
int r = memcmp((const char *)(&pText[*(int *)a]),
(const char *)(&pText[*(int *)b]), l);
return (r == 0) ? (*(int *)b -*(int *)a) : r;
}
int main(int argc, char *argv[]) {
FILE *fp;
unsigned char *str;
int i, j, k, l, *aArray, *aNext, pos, list[256], sum[256];
if (argc < 2) {puts("usage> exec infile"); return -1;}
fp = fopen(argv[1], "rb");
fseek(fp, 0, SEEK_END); gLen = ftell(fp); rewind(fp);
pText = str = (unsigned char *)malloc(gLen +1);
fread(str, 1, gLen, fp);
str[gLen] = 0;
0854853続き
NGNGaNext = (int *)malloc(sizeof(int) *(gLen +1));
for (i = 0; i < 256; i++) {
list[i] = -1;
sum[i] = 0;
}
for (i = gLen; i >= 0; i--)
if (str[i] > str[i +1]) sum[str[i]] += 1;
else {
aNext[i] = list[str[i]];
list[str[i]] = i;
}
for (pos = i = j = k = 0; j < 256; j++) {
pos = i = sum[j] + pos;
for (l = list[j]; l >= 0; l = aNext[l]) aArray[pos++] = l;
qsort(aArray + i, pos - i, sizeof(int), compare);
for (l = i - sum[j]; l < i; l++) {
if (aArray[k] == 0) k++;
aArray[l] = aArray[k++] -1;
}
}
return 0;
}
0855853
NGNG0856853
NGNGint i, j, l, *aArray, *aNext, pos, list[256], sum[256], typeA[256], t = 0;
...
for (i = gLen; i >= 0; i--)
if (str[i] > str[i +1]) {
sum[str[i]] += 1;
t++;
}
else {
aNext[i] = list[str[i]];
list[str[i]] = i;
}
for (pos = i = j = 0; j < 256; j++) {
pos = i = sum[j] + pos;
for (l = list[j]; l >= 0; l = aNext[l]) aArray[pos++] = l;
qsort(aArray + i, pos - i, sizeof(int), compare);
typeA[j] = i - sum[j];
}
for (i = 0; t >= 0; t--) {
if (aArray[i] == 0) i++;
aArray[typeA[str[aArray[i] -1]]++] = aArray[i++] -1;
}
0857デフォルトの名無しさん
NGNGよくわかんないけど最後のforはもっと長くループさせないとだめじゃない?
たとえば、最後までまわすとか
for (i = j = 0; j < gLen; j++) {
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNGkterm + lynx で見て、unreadable にすればいいのだ!
0864デフォルトの名無しさん
NGNGTiny なら、全体のバランスを調整するときに使ったことはあるが。
(IEのフォントサイズ小みたいに)
unreadable は本当に読めないし、つぶれるからいまいち。
0865デフォルトの名無しさん
NGNGこれってどうなのさ
0866デフォルトの名無しさん
NGNG強敵だな(w
0867デフォルトの名無しさん
NGNGlossyな圧縮か。比べてもあまり意味ないな…
0868デフォルトの名無しさん
NGNG圧縮ソフトを発表した。
使用されているCATアルゴリズムは、圧縮アルゴリズムを複数用いるこ とで、例えば画像
であれば「建物」「空」といったパーツごとに最適な圧縮アルゴリズムを選択し、ファイルサ
イズを縮小する。
同社調査によれば、3.33MBのJPEG画像が、ZIP圧縮の場合3.31MBにしかならなかった
ものを、114KBにまで縮小できた。
不可逆圧縮だが、見た目上はほとんど変わらない画像になる。複数のアルゴ リズムを
利用するにもかかわらず、
「圧縮・解凍時間ともに短時間」 である点も 特徴だ。
http://pcweb.mycom.co.jp/news/2002/11/13/09.html
0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNGMPEG1をMPEG4にコンバートしてるようなもんだろ?
ZIPと比べてるのは不当表示だよ。
0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNGhttp://www.quikcat.com/
超縮は、↑の QuikCAT Messaging Optimizer の
日本語版・・・のような気がするなぁ。拡張子も同じ .qcf だし。
英語版だけど、試用できるっぽい。
495:名無しさん@お腹いっぱい。:sage:02/11/13 (水) 23:57 ID:7Pz0RnHA
↑にあるのはただのデコーダなだけじゃない?
496:◆Ukspgzd3n6:sage:02/11/14 (木) 00:05 ID:SsZE8nfL
>>495
あ・・・そうだった。
でも、圧縮する方法あり。
http://www.quikcat.com/products/qmo/qmo_tryit.htm
要するに、[email protected] にファイルを
送ると、圧縮して返送してくれる。
ちょっと試してみる。
まだ [email protected] からの返事が無い。
ちなみに、フリーソフトの Compressed File Reader は 6MB もする。
何だかと思えば、解凍ルーチンの DLL が妙にデカい。
相当複雑なアルゴリズムなんだろうなぁ。多分。
> 相当複雑なアルゴリズムなんだろうなぁ。多分。
て、そんなこと無いな。(・∀・;)
0878デフォルトの名無しさん
NGNG漏れは、盗まれても構わないファイルを送ったYo
しかし、きちんと「圧縮してくれ」と文面に書いておかないと駄目かも。
未だに返事は来ないし。
0880デフォルトの名無しさん
NGNG翻訳サイトなんか当てにならない。
0881デフォルトの名無しさん
NGNG翻訳サイトが不自然な英語であることを見抜けないなら
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG情報である程度はわかったけど、詳しいインプリメンテーションが
よくわからん。何か情報ない?
0884デフォルトの名無しさん
NGNGttp://mcgi2.nifty.ne.jp/cgi-bin/thread.cgi?user_id=VZV05226&disp_no=1068&log_no=484&msg_per_page=10&def=10
これじゃ不満なのか?
(゚∀゚)Sタン ニ アヤマレ!
0885デフォルトの名無しさん
NGNGいや、情報はありがたいのだが、そのレベルはCマガに出ているのよ。
ただCマガのソースってコメントがほとんどないし、バグは残ってるし
で今ひとつわからん(展開スタック不足だった>Cマガソース)。
ちなみに、その掲示板の「アスキー128を8ビットで〜」のくだりは半分
間違い。バイナリデータの圧縮にも効果はあるし、圧縮パラメータの
設定次第だがLZW法に近い圧縮率が得られる。しかも圧縮は遅いが
展開は高速(ビットレベルで符号化しないから当然)。
088657
NGNGhttp://www.csse.monash.edu.au/cluster/RJK/Compress/problem.html
http://www.csse.monash.edu.au/cluster/RJK/Compress/bpe.c
http://www.csse.monash.edu.au/cluster/RJK/Compress/bpd.c
日本語の解説のページは数年前はあったんだけど今は消えてる。
0887デフォルトの名無しさん
NGNGんなこたぁない。
割り当てキャラクタ数を最適化したとしてもLZファミリには及ばないよ
0888デフォルトの名無しさん
NGNG同意
>ちなみに、その掲示板の「アスキー128を8ビットで〜」のくだりは半分
>間違い。バイナリデータの圧縮にも効果はあるし、圧縮パラメータの
>設定次第だがLZW法に近い圧縮率が得られる。
オリジナルのBPEは純粋に7ビットASCIIオンリーだったはず。
バイナリ対応やLZW並みの圧縮率というのは、改良版ではないか?
0889デフォルトの名無しさん
NGNGGage[1994]が見つからなかったが(雑誌の記事だから?)、
調べてみると、BPEには単純版と改良版があるらしいぞ。
そもそもその単純版が、1994年よりももっと前(70年代〜80年)に
提案された別の方法を改善したものとして存在し、
それをさらにバイナリデータ対応、LZW並みの圧縮性能にしたのがGageらしい。
やぱーり、The C Users Journal, February 1994 edition か
Cマガジンを読むしかないのか。
0890デフォルトの名無しさん
NGNG885だけど、それは頻出バイトペアや未使用キャラクタの余り数、圧縮ブロックの
サイズ設定とかでかなり違ってくると思われ。LZWに適したデータ分布やBPEに
適したデータ分布は当然あると思うし、頭ごなしに全否定するのもどうかと思うが。
で、圧縮率に関しては「近い」というのがミソで、LZW以上の圧縮を得ようとは思わ
ない。展開が非常に高速で(展開のコストが安く)実用になる圧縮率があることが
重要なんだよ。実際にCマガのをデバッグしたソースでバイナリを圧縮してみたが
多くの場合で半分から45%程度に縮んでいた。これくらいなら十分。
0891デフォルトの名無しさん
NGNG>>889
ありがとう、参考になった。
0892デフォルトの名無しさん
NGNG検証してないけど、LZWってBPEより必ず圧縮率がいいんじゃないか?
両者とも、SEQUITORと同じ系に属するだろ?
で、両者が作る辞書のモデルを解析して比較してみれば、
その関係がわかると思うんだけど・・・。
BPEの辞書はLZWの増分分解で作成される辞書と同じ形になる・・・と思うし、
後は出現頻度順か、出現順かの違いくらいで・・・。
多分誰か解析していると思うなぁ・・・njNECで探してみるか。
0893デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/author/qcf/jpegqcf.htm
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG差分とって、誤差が一定になるまで出力しない、っていうのじゃなかったかなぁ?
どっかの紹介記事にそういう説明があった気がする。
試しにやってみても、全然縮まなかったので、
もちろんもっとそれ以上の何かが必要なのだろうけど。
0897アフォヴァカさん
NGNGなんでファイルサイズをわざわざテキストで
出力するかイマイチ理解出来ん。
小さいファイルなら元ファイルのサイズを出力する
と確かに無駄な部分が出てくるが、それだったら
16進表記でテキスト出力した方が効率か良いよう
な気がする・・・数字+アルファベットで36進数で表記とか・・・
ってここまで面倒な事はしなくていいか(w
0898デフォルトの名無しさん
NGNGElias符号使えば?
記事にワケが書いてあったと思う。
それに、テキストで出力しておけば、事実上どこまでも
大きいファイルサイズも表現できると思うが。
0900デフォルトの名無しさん
NGNG別にテキストじゃなくても同じことができるし
テキストを使わないほうが小さくなることに変わりはない。
そりゃね。
Filesize のビット数を記録すれば問題ないことだし。
#テキストだとしても、ヘッダごと圧縮すれば問題ないかも。
0902デフォルトの名無しさん
NGNGそのために>>898に書いてあるような符号化法を使うんだろ????
0903デフォルトの名無しさん
NGNGヘッダのサイズなんて大きな圧縮ファイルでは誤差の範囲だろ。
”Keep it simple, stupid.(単純なままにしとけって言っただろ!このヴォケが!)”だ。
0904デフォルトの名無しさん
NGNG数値1つエンコードするのが複雑だというくらいなら
そもそも圧縮プログラムなんて論外だろ。
だいいち、2進10進変換+10進2進変換がエリアス符号に比べて
そんなにシンプルかよ。糞ヴォケ。
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG書庫内のファイル名も圧縮対象にするってこと?
識別用のマジックナンバー以外はやっちゃってもいいかもね。
リスト出力に多少時間かかりそうだけど。
どうでもいいけど、作るんなら統合アーカイバPrjのDLL形式にも
対応して欲しい。(GCAとか対応してたっけ?)
わざわざ独自にGUI作ったりしてるのあるけど、無駄にしか思えない。
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG「やまもと・おち」のフラッグ符号がいいかもしれないよ。
最適性の確保は難しいが、高速で、符号自身で誤り伝搬を防げるから。
まあ何にしろ、10^15程度の数値を表現するには60ビット程度あれば
一意復号可能な符号などいくらでもあるわけで。
(もちろんそれらは、加算無限大の数値をいくらでも表現できる)
0910デフォルトの名無しさん
NGNG以下のCABファイルの中身を抽出したいのですが、可能でしょうか?
◆現象
○通常のCABファイル(Windows Cabinet)ではないようです
○WindowsOSなどのCABは、バイナリエディタで見ると、先頭が
「MSCF」(4d 53 43 46)と始まり、その後に
中のファイル名一覧が文字から見て取れますが、
問題のCABは、「ISc(」(49 53 63 28)で始まり、中のファイルは解らない。
◆ソフト例
○Norton全般(SystemWorks2002(英語)、AntiVirus2002(日本)、
Utilities(日本語)すべてのCAB))。
○某ファックスソフト
○タイピングソフト(特打ヒーローズ 名探偵コナン)
が同じ形式であるように確認できました。
0911デフォルトの名無しさん
NGNGXacrettはどうだ?
0912デフォルトの名無しさん
NGNGXacrettはどうだ?
0913911
NGNGInstallShieldでしたか。。。
ありがとうございますた。
0914デフォルトの名無しさん
NGNG別の板でも見たぞこの野郎
0915デフォルトの名無しさん
NGNG整数のユニバーサル符号化法を知らないということでよろしいか?
0916デフォルトの名無しさん
NGNG統合アーカイバ形式のDLLに仕立てるには、少々書き直さなきゃ
いけないと思う。
確かに YZ2 の GUI は使いにくいし、yz2dlg.dll もそのまま使えるほどの
完成度じゃない。
>>915
知らないというか、知ってても使っていないというか。
提案してみようかなぁ。
0917デフォルトの名無しさん
NGNG簡単にエンコード・デコード出来てかつ人が見て読める形式だと
文字列化しかないんじゃないの。
とマジレスしてみる。
0918デフォルトの名無しさん
NGNGttp://multix.jp/download/other/BNC.LZH
0919デフォルトの名無しさん
NGNGだから何度も何度も書かれているとおり他に簡単な符号化は山ほどあるし、
人が見て読める必要は全く無いし、文字列にしたら損。
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNGttp://kamakura.cool.ne.jp/miyax/
0922デフォルトの名無しさん
NGNG途中なにやってるんだかワカンネー!んだけどLZ78と
BPEを掛け合わせたようなヤシだソレ。圧縮ソース
に対して可変長文字列比較でなく2文字長固定
(32ビット幅固定を意識か?)だけで探索掛けてる
のと構築された辞書自体が圧縮されてる上その
辞書ソノモノを順次圧縮後データとして吐くのが特徴?
辞書サイズは4096個バイトペア分だが仮に圧縮
率50%に達してれば(LRUが効き出すまでに)8000
個相当分はキープしてるわけか…。LZSSが短距
離、LZWが中距離ならこれは長距離走者っぽい。
(スタート直後はLZW以上のスローペースぶりだわ)
仮に“ababab...”なんてデータを1GBほど食わすと
30個ほどしか辞書項目消費しないあたりはキショイ。
#展開速度はLZSSより遅いがLZWよりは早いな
0923デフォルトの名無しさん
NGNG文章見ているだけだとSEQUITORとかMPMに近いように思えてしまう。
ソースプログラムまだ読んでない。読もう。
0924デフォルトの名無しさん
NGNGしまった!標的に気づかれたぞ・・・
ようこそ!
0925924
NGNG0926デフォルトの名無しさん
NGNG中身を半分に削って拡張子を.2chにしてしまえばいいだろう
0927デフォルトの名無しさん
NGNGあったりしますか?
圧縮はあまりよく分からないのですが、音楽ジャンルごとに効率の良い
圧縮アルゴリズム(ロスレスで)つくれないかな?とふと思ったもので・・・・・・・
0928ばかんこん
NGNG圧縮時間と展開時間とデータの保証がないと言うことだ。
だから、2Ch圧縮。
FTPでもHTTPでも特殊なポートでもいいが、
ある取り決めのデータのハッシュキーで存在するURL(IPでも可)を生成し圧縮。
URLはもちろん更に都合良く圧縮。展開ではURLを展開し、
そのURLより、更に圧縮されたデータをWEBよりダウンロード。
更に合成し展開する。(驚異的な圧縮が可能だ!!ゴラァ!!)
(欠点は、URLが存在しなくなった時だが、それは問題にする気は無い。
展開出来ないだけだ。2Chダシ)
リソース共有圧縮と展開。
0929デフォルトの名無しさん
NGNGそれやるんなら現状でもWinMXで万事OKな気が(^^;
0930デフォルトの名無しさん
NGNGそれは「圧縮」とは別の概念だということはかなり過去から言われているが・・・
データ圧縮はShannon limitとともに語らなければならないのである。
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGジャンルごとにエンコーダ・デコーダ用意すんの?
誰も使わんだろ。
0933デフォルトの名無しさん
NGNGジャンルというより楽器の種類・数・編成によるんじゃない。
楽器の音色と音符を抽出・分離してやれば驚異的な圧縮が可能だよ。
さらに音色は複数の曲にまたがって使用可能だから使えば使うほど圧縮率が上がる優れもの。
0934デフォルトの名無しさん
NGNGMIDIとどこが違うん?
0935デフォルトの名無しさん
NGNGMIDIの音色・音階表記は究極の圧縮ともいえる。
現在の研究では、複数の音色(せいぜい3和音)を、
単体の音に分解することがようやくできるようになったレベル。
0936デフォルトの名無しさん
NGNGしかしそれでは同じ楽器でもストラディバリウスとか名器の音色が
表現できなくなるというワナ
0937デフォルトの名無しさん
NGNG楽器ナンバーにどんどん登録して・・・
となると辞書のインデックスと同じことになるだろうか。
それでもかなりの圧縮にはなりそうだ。
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG演奏者 + 会場 + MIDI信号(楽器 + 音色 + 時間)
0941デフォルトの名無しさん
NGNGそんな事、誰が決めたんですら?
0942デフォルトの名無しさん
NGNG数学的に…、って意味じゃないのかねぇ。
Shannon limit (てかエントロピー?)って可逆圧縮と不可逆圧縮の絶対境界線だっけ?
0943デフォルトの名無しさん
NGNG>Shannon limit (てかエントロピー?)って可逆圧縮と不可逆圧縮の絶対境界線だっけ?
無歪み圧縮は、Shannon限界までしか圧縮できないことが数学的に証明されていますね。
有歪み圧縮もShannonのレート定義が重要ですしね。
ま、何にしろ通信と圧縮はShannonが創生したしたわけで。
0944デフォルトの名無しさん
NGNG限界はあるけど、それを計算するアルゴリズムは存在しないってゆーよーな。
→ Shannon limit は計算できない(から議論してもしゃーない)!?
# うろ覚えスマソ
0945デフォルトの名無しさん
NGNGそれは一般情報源についてかな。
Shannon limit は定義だから。
H(P) = - p_i log p_i, p_i in P
0946デフォルトの名無しさん
NGNG2ch みたいに繰り返しの多い入力に対する圧縮の限界も評価できる
んすか?
0947デフォルトの名無しさん
NGNGあるモデルを想定して、そのモデルの下でのエントロピー達成度を調べることで評価される。
もしすべてのモデルについて評価できるならば、
全体の評価が出来るわけだが、すべてのモデルを評価できないので、
特定のモデル(LZ77, LZW, ブロックソート法, などで考えるとよい)などを使うわけだ。
どちらにしろ、>>945の式H(P)よりも小さくはならない。
0948デフォルトの名無しさん
NGNG情報源によってエントロピーが異なるから、
シャノン限界(945 も言ってるけど定義なので値は前提によって異なる) も変わる。
参考:
炉辺夜話
http://www.ne.jp/asahi/personal/kobayashi-osamu/Writings/Essays/BF.13.html
http://www.ne.jp/asahi/personal/kobayashi-osamu/Writings/Essays/BF.14.html
2ch がテンプレだけで構成されていると考えて、
特定のテンプレの出現頻度が高い、と単純化して考えれば分かりやすいと思う。
英文で特定のアルファベットの出現頻度が高いのと同様になるから。
日本語のエントロピー、歌の歌詞のシャノンエントロピー、
新聞文章のシャノンエントロピー、2ch 文章のシャノンエントロピー…
はどのように異なるかという話になる。
適当な数をサンプリングして計算すれば圧縮限界の理論値も出せるかと。
0949デフォルトの名無しさん
NGNGそ、それは理論値ではなく実測値(実験値)では・・・
理論値は数学的に証明できるものでないと。
つーか、一般情報源に対する理論値を証明できたらチューリング賞ものですね。
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG謝りついでに、次スレあけおめことよろ
0952デフォルトの名無しさん
NGNGできない(理論値などでない)ことがわかっている。
対象物を限定すれば、特定のものを1ビットに圧縮できる一方、
限定しなければ(あらゆるデータが一律に出現する)、
圧縮など不可能で、無意味だから。
圧縮とは、存在しそうも無い膨大な種類のデータでは大きくなるかわりに、
ごく一部のデータだけを小さくする技術。
0953デフォルトの名無しさん
NGNGん? そんなことはないですよ。
最近は韓先生などが、一般情報源に対する漸近的圧縮限界を証明されました。
これには情報スペクトル理論が用いられています。
0954デフォルトの名無しさん
NGNGhttp://www.i.u-tokyo.ac.jp/mi/staff/yamamoto-j.html
論文を当たってみてください。
0955デフォルトの名無しさん
NGNG論文読まないとなんともいえないが、この場合「一般情報源」に特殊な偏りがあるんだろうね。
でなければ、圧縮は不可能であることは自明。
明確な偏りがある場合、対象としているデータと濃度が決まれば理論値は簡単に出る。
一つのデータを一個の巨大な整数値とみなし、その出現確率を使って
算術圧縮した時のビット数が、圧縮率の限界になる。
もちろんこれは理論値であって、実用にはならないが。
0956デフォルトの名無しさん
NGNGhttp://www.hn.is.uec.ac.jp/~han/Spectrum-preface.html
0958デフォルトの名無しさん
NGNGつうか、単に確率分布があるだけで。
それに見合った符号化(サイズの増減は確率分布による)ができるわけで。
その確率分布の特性にエルゴード性や、定常性が存在するか否かが、
一般情報源かどうかを区別しているわけですね。
0959デフォルトの名無しさん
NGNG>>957
>>958
サンキュー。予想通りだった。つーかこれ当たり前のことで、ある尺度で捉えた場合の
理論的限界は求まっても、真の限界はわかんないよ。
例えば、π100万桁の数値を圧縮するとする。これを乱数列と見なした場合の限界は
この方法で求まるが、πを数ビットに、他のものを多少増やす圧縮方法もあるわけ。
0960デフォルトの名無しさん
NGNGえっと、それはたぶん何を語っているかの方向の違いですね。
何を目的として情報源符号化を語るかを注意しないといけないということには、同意です。
他の方(特に初学者)に注意しておいて欲しいのは、次のこと。
すべてのデータを圧縮できる符号は存在しない、は、真です。そして
一般情報源の理論的限界を達成するような符号は存在する、も、真です。
0961デフォルトの名無しさん
NGNG>この方法で求まるが、πを数ビットに、他のものを多少増やす圧縮方法もあるわけ。
それは一般情報源の符号化ではない
0962デフォルトの名無しさん
NGNG>>961
でも、漏れ達の周りのデータって「一般情報源」から外れるものばかり
テキストも音楽も画像も単なる「一般情報源」では無い罠
0963デフォルトの名無しさん
NGNG>>962
いや、パイのデータを短くするような符号化法は、
最適な符号ではないことは確かだが、一般情報源の符号化であることに違いはないだろう。
最適な符号は、パイだったらパイのエントロピーに符号化する。
(パイのエントロピーはほぼランダムなものと同程度であるらしいから)
テキストや音楽のデータは、一般情報源からの出力と考えられる。
したがってその確率分布が圧縮しやすければ圧縮になり、
ランダムならば圧縮にならない。
0964デフォルトの名無しさん
NGNG最適な符号で無いのに、πのエントロピーに符号化するのがなんで最適な符号になるの?
それはあくまで、乱数列と見なした場合のことだよね。
そうでない方法、「π65536桁」みたいに圧縮する方法もある。
0965デフォルトの名無しさん
NGNG最適な符号とは、あらゆる入力に対して、そのエントロピーまで符号化できる符号。
一方、特定の入力を短くするのは、最適でない符号。
で、パイを符号化するために「パイn桁」とするのは、実は「符号」ではない。
それはモデル化だな。
他にも、
この楽曲は「xx交響曲」である、というような上の方で議論のあった、
音楽データのMIDI化みたいな符号化法も、実はモデル化ということ。
で、パイ=3.1415926535...
という数値そのものをたとえば2バイトで表現するとか、
そういった「符号」を考えるならば、最適ではない符号ということで。
0966デフォルトの名無しさん
NGNG> テキストや音楽のデータは、一般情報源からの出力と考えられる。
> したがってその確率分布が圧縮しやすければ圧縮になり、
それだけじゃないってことを言っている。例えば、
「観自在菩薩行深般若」の後、何がくるか圧縮できるでしょ?
確率分布だけで圧縮する以上の方法があるの。
音楽もそう。一定のリズム、人間が作る音楽の特性、そう言ったものを取り入れるか、
入れないかで、最適な符号なんて変わってしまうよ。
画像もウェーブレットを使った高次元の処理をすることで、1次元のデータ列とみた場合とは
結果が変わってくる。
0967デフォルトの名無しさん
NGNGえーと多分>>965を読む前に書かれたと思いますが、一応>>965の追記も兼ねて。
データ圧縮(情報源符号化)は、次の要素からなっています。
モデル化 + 確率推定 + 符号化
用語の使い方の問題かもしれませんが、一般に「符号化」といった場合は、
すでに確率が与えられている場合のみの操作を表します。
たとえば、符号化の族には、Huffman符号や算術符号、が入りますが、
LZ77やPPMなどは「符号化」ではありません。
またHuffman符号などで、記号の頻度を求める前処理がありますが、
それもモデル化であり、純粋にHuffman符号といった場合には、
すでに確率が与えられている必要があるわけです。
>「観自在菩薩行深般若」の後、何がくるか圧縮できるでしょ?
>確率分布だけで圧縮する以上の方法があるの。
したがって、続く文字列を推定するのは「モデル化」
モデル化によって得られた知識から、確率を算出するのが「確率推定」、
得られた確率をビット列に変換するのが「符号化」です。
0968デフォルトの名無しさん
NGNGモデル化を考えない符号なら、そのデータの存在確率で算術圧縮するのが
最適で、とっくに解決している。
現実のデータの圧縮を考えるのなら、モデル化は避けられないし、
乱数列と見なすのも一つのモデルに過ぎない。
で、漏れは、乱数列と見なすこと自体が最適でないと思うわけ。
乱数列と見なした場合は、そのデータの存在確率で算術圧縮すればいいと思うわけ。
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNGモデルが異なれば、限界も異なるはず。
で、どのモデルが適当かを決める一般的なアルゴリズムは存在しない(>>944)?
モデル化できなければ、確率推定もできないし、エントロピーも計算できないし、(最適)符号化もできない(>>967).
今ある圧縮符号は、思いつきで決めたモデルに基づく最適符号にすぎないから、もっといろんなモデルを考えよう(>>964,>>966)!
…という理解でよろしいでしょうか?
0973デフォルトの名無しさん
NGNG>>972 どのモデルが適当かを決める一般的なアルゴリズムは存在しない
これって正しいんでつか?
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGちうよりは、情報量をつきつめていくと、単体では確率など存在しなくても、
各記号の出現確率に基づくShannon限界への漸近式が得られるという。
たとえば、LZ78法などは確率を一切、陽に用いていないにも関わらず、その冗長度は、
H(P) + O(loglog n / log n)
となるわけでつ。
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980lo;デフォルトの&lro;名無しlo;さん
NGNG0981&rlo;デフォルトの&lro;名無し&rlo;さん
NGNG0982デフォルトの名無しさん
NGNGLZ78が必ずしも得意としていない無記憶情報源(各p_iが独立)モデルで評価した場合はそうなりまつが、それではLZ78の実力は測れないでじょ?
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNGttp://hirosuke.sr3.t.u-tokyo.ac.jp/pdfs/ibis2001.pdf によれば、
冗長度 O(loglog n / log n) になるのは LZ77 の有限次数マルコフ情報源に対して。
LZ78 の冗長度は O(1 / log n) らしい。
0986デフォルトの名無しさん
NGNGそのプログラム(もし載ってたら)が詳しく載ってる書籍ってご存知ないですか?
興味があるのでちょっと勉強してみたいのですが、なかなか見つからなくて・・・・
HPでもいいのでもし知っていたら教えてください。
スレ違い質問すいません ><
0987デフォルトの名無しさん
NGNGLZ77/LZSSの場合、符号化されたトークンは
(スライド辞書内のインデックス+文字長)を現している。
で、これが12+4ビットで、が3〜18文字長を示す場合、
18バイトまでの文字列が16ビット=2バイトで置換できる
ことになる。従ってこのケースの最高圧縮率は1/9よね?
同様にトークンのビット数を増やしていって得ることができる
圧縮率を見ていって、方程式を導き出したのが(以下略)
LZ78/LZWの場合は、あるトークンは以前に出現した別の
ふたつのトークンまたはリテラル文字を結合した文字列を意味している。
この階層化されたトークンをすべて展開すると、リテラル文字を葉に持つ
二分木構造を持っていることが解かる。この木を作るには
根(現在のトークン)の左右の子が既知でなくちゃいけないから、
以前のトークンとは現トークンの1/2の情報量(葉)を持っている。
こうして葉に至るまで分解して並べると、出現する根の数(=圧縮結果)は
全体の葉の数(=圧縮源)の O(1 / log n) 以下にはなりえない。(合ってる…?)
0988デフォルトの名無しさん
NGNGあったけど潰れた.
第三の脳室ってとこ.
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。