5: 2009-11-17 (火) 12:07:34 |
現: 2024-01-08 (月) 12:59:04 k-tan |
- | * tek2の技術的情報 | + | TITLE:x |
| + | * tek2の技術的情報 [#qa2a5700] |
| -(by [[K]], 2004.06.08) | | -(by [[K]], 2004.06.08) |
| -そのうち書くと思うドキュメントの下書き | | -そのうち書くと思うドキュメントの下書き |
| -ここでは展開手順をベースに書きます。圧縮のほうは、この展開手順で展開できるようなファイルを作ればいいだけですので。 | | -ここでは展開手順をベースに書きます。圧縮のほうは、この展開手順で展開できるようなファイルを作ればいいだけですので。 |
| | | |
- | * tek2圧縮 | + | * tek2圧縮 [#q76fd30d] |
| -基本的に[[tek1]]とほとんど同じです。ということでここでは差異を中心に書きます。 | | -基本的に[[tek1]]とほとんど同じです。ということでここでは差異を中心に書きます。 |
| -最初に主な違いを要約すると次のとおりです。 | | -最初に主な違いを要約すると次のとおりです。 |
| -ブロック数が2以上の場合は、tek1のときと同じくtek1hを利用します(つまりtek2hのようなものは存在しない)。 | | -ブロック数が2以上の場合は、tek1のときと同じくtek1hを利用します(つまりtek2hのようなものは存在しない)。 |
| | | |
- | * tek2s | + | * tek2s [#lbe8dec2] |
| -ここでもtek1sとの違いを中心に書きます。 | | -ここでもtek1sとの違いを中心に書きます。 |
| -まず前述の通りtek1sで真っ先にあったs7符号はありません。いきなりビットストリームで、符号寿命Aの記述から始まるわけです。 | | -まず前述の通りtek1sで真っ先にあったs7符号はありません。いきなりビットストリームで、符号寿命Aの記述から始まるわけです。 |
| -これでおしまいです。 | | -これでおしまいです。 |
| | | |
- | * このアルゴリズムについて | + | * このアルゴリズムについて [#ke519569] |
| -tek2sのアルゴリズムは、UC0が小さい数字には短い符号、大きい数字には大きな符号、を割り当てる傾向に着目して、無圧縮バイト部分を頻度順に適当にソートしてその順序を内部コードとして、その内部コードをUC0で符号化すれば無圧縮部分もそれなりに圧縮できるのではないかというものです。 | | -tek2sのアルゴリズムは、UC0が小さい数字には短い符号、大きい数字には大きな符号、を割り当てる傾向に着目して、無圧縮バイト部分を頻度順に適当にソートしてその順序を内部コードとして、その内部コードをUC0で符号化すれば無圧縮部分もそれなりに圧縮できるのではないかというものです。 |
| -UC0はハフマン法に比べれば単純な符号なので圧縮率は劣りますが、それでも結構がんばっていて、tek2はLHAと結構いい勝負をします。スライド辞書法のバッファサイズを上げてやれば多くのケースで勝てるくらいの成績です。 | | -UC0はハフマン法に比べれば単純な符号なので圧縮率は劣りますが、それでも結構がんばっていて、tek2はLHAと結構いい勝負をします。スライド辞書法のバッファサイズを上げてやれば多くのケースで勝てるくらいの成績です。 |
| -またtek2sでは、いかにtek1のルーチンを流用しつつそれなりの圧縮率を得るかに、心を砕きました。おかげで、tek1にわずかに追加するだけで、tek1/tek2の両対応展開ルーチンが作れます。 | | -またtek2sでは、いかにtek1のルーチンを流用しつつそれなりの圧縮率を得るかに、心を砕きました。おかげで、tek1にわずかに追加するだけで、tek1/tek2の両対応展開ルーチンが作れます。 |
| | | |
- | * こめんと欄 | + | * こめんと欄 [#s6597a4b] |
| | | |
| #comment | | #comment |