ページへ戻る

− Links

 印刷 

tek5​/rangecoder のバックアップ差分(No.5) :: OSASK計画

osaskwiki:tek5編集/rangecoder のバックアップ差分(No.5)

« Prev[4]  Next »[5]
4: 2004-09-20 (月) 21:54:01 ソース[6] 5: 2004-10-08 (金) 18:18:05 ソース[7]
Line 50: Line 50:
-tek5ではこれをやめて少しくらい計算が重くなってもいいので精度よく計算できるモードがあります。しかしもちろんこれはオフにすることもできます。どうしてかというと、不正確さがたまたま圧縮に有利になることがありますし、圧縮率よりも速度がほしい時だってありうるからです。 -tek5ではこれをやめて少しくらい計算が重くなってもいいので精度よく計算できるモードがあります。しかしもちろんこれはオフにすることもできます。どうしてかというと、不正確さがたまたま圧縮に有利になることがありますし、圧縮率よりも速度がほしい時だってありうるからです。
-またLZMAやstk5では、"0"と"1"の出現比が1:1000よりも極端になった場合を扱えず、常に1:1000くらいとして近似しています。これは実用上十分な場合もありますが、先の0x00と0xffのときのように、あるビットに関しては完全にどちらかしか出ない、という場合もありえます。これはまさに比が0:1の場合で、これを1:1000で近似するのはそれなりに損です。ということで、tek5ではこの比を1:10000くらいまで対応できるようになっています。 -またLZMAやstk5では、"0"と"1"の出現比が1:1000よりも極端になった場合を扱えず、常に1:1000くらいとして近似しています。これは実用上十分な場合もありますが、先の0x00と0xffのときのように、あるビットに関しては完全にどちらかしか出ない、という場合もありえます。これはまさに比が0:1の場合で、これを1:1000で近似するのはそれなりに損です。ということで、tek5ではこの比を1:10000くらいまで対応できるようになっています。
 +--この1:1000や1:10000という数字は間違っている気がしてきた。が、とにかくtek5ではより極端な比が扱えるようになったことはまちがない。1:275と、1:726810かもしれない。
-LZMAやstk5では、過去のビット列から出現比を予想する場合、どのくらい速く新しい傾向に追従できるようにするか、を決めるパラメータが固定されています。これは結構有害で、このせいで"0"と"1"が交互に来る場合などでは無圧縮よりも長くなってしまうという問題がありました。ということで、このパラメータを可変にして、全く追従しなかったり、LZMAくらいで追従したり、むしろそれよりも速く追従したりを選択できるようになっています。 -LZMAやstk5では、過去のビット列から出現比を予想する場合、どのくらい速く新しい傾向に追従できるようにするか、を決めるパラメータが固定されています。これは結構有害で、このせいで"0"と"1"が交互に来る場合などでは無圧縮よりも長くなってしまうという問題がありました。ということで、このパラメータを可変にして、全く追従しなかったり、LZMAくらいで追従したり、むしろそれよりも速く追従したりを選択できるようになっています。
-これらの設定はすべてファイルの途中で何度でも変更可能です。アーカイブなど、ファイルの途中で統計的傾向がどんどん変わるものでは都合がいいでしょう。 -これらの設定はすべてファイルの途中で何度でも変更可能です。アーカイブなど、ファイルの途中で統計的傾向がどんどん変わるものでは都合がいいでしょう。
-これらのすべてについて、圧縮率の改善効果があるということが確認されています。 -これらのすべてについて、圧縮率の改善効果があるということが確認されています。
 +*** おまけ
 +//-stk5やLZMAでは、1bitを10.828~0.1665bitに変換できる。・・・違うかも。
 +//-tek5では、1bitを通常モードで15.99976~0.0002441bitに変換できる。拡張モードではもっと極端な比率も可能。
 +//間違えた
 +-stk5やLZMAでは、1bitを6.0458~0.022004bitに変換できる。
 +-tek5では、1bitを通常モードで16~0.000022014bitに変換できる。拡張モードではもっと極端な比率も可能。
* こめんと欄 * こめんと欄
#comment #comment
« Prev[4]  Next »[5]