ページへ戻る

− Links

 印刷 

tek のバックアップの現在との差分(No.6) :: OSASK計画

osaskwiki:tek のバックアップの現在との差分(No.6)

« Prev[4]  Next »[5]
6: 2005-06-30 (木) 17:21:51 ソース[6] 現: 2024-01-08 (月) 12:59:03 ゲスト ソース[7]
Line 1: Line 1:
-* tekのページ+TITLE:x 
 +* tekのページ [#b6165208]
-(by [[K]], 2004.11.15) -(by [[K]], 2004.11.15)
-ここは対外的なページではなく、いろいろな議論とか不確定情報とかも話題にできるページ。 -ここは対外的なページではなく、いろいろな議論とか不確定情報とかも話題にできるページ。
--対外的なページは[[Z:tek]]。 --対外的なページは[[Z:tek]]。
-*** Kの基本方針+*** Kの基本方針 [#h0bf3f91]
-つまり他の人にとっては「Kが推奨する方針」くらいの意味です。 -つまり他の人にとっては「Kが推奨する方針」くらいの意味です。
Line 10: Line 11:
--ただし過去のバージョンでl2d3やtek0をサポートしたことあるアプリについては、例外的にサポートを続ける。 --ただし過去のバージョンでl2d3やtek0をサポートしたことあるアプリについては、例外的にサポートを続ける。
-*** tek対応状況+*** tek対応状況 [#ee0ccd25]
-厳密にはosacmp対応状況 -厳密にはosacmp対応状況
Line 36: Line 37:
---拡張子の変更が必要になるが、Mona 0.2.0では stk5 に対応。 ---拡張子の変更が必要になるが、Mona 0.2.0では stk5 に対応。
-*** リンク+*** リンク [#xaa6e38c]
-[[Z:tek]] -[[Z:tek]]
--対外向けtekページ。他の圧縮形式との定量的な比較あり。 --対外向けtekページ。他の圧縮形式との定量的な比較あり。
Line 55: Line 56:
-(まだ他にもたくさんあるのでちょくちょく書き足します。) -(まだ他にもたくさんあるのでちょくちょく書き足します。)
-*** その他のリンク+*** その他のリンク [#be1e3e23]
-自分でtekに関するページを作ったら、自発的にURLとちょっとした紹介(1行程度)を書き足そう! -自分でtekに関するページを作ったら、自発的にURLとちょっとした紹介(1行程度)を書き足そう!
--この欄に限り、書き足し自由&自分が書いた文章の編集も自由。 --この欄に限り、書き足し自由&自分が書いた文章の編集も自由。
Line 63: Line 64:
- [[dev-j:t5exe]] 大したものじゃないから追加するのも引けたけど。Unix風味環境(ELFとかPEとか関係ないのでcygwinでも動くのかな?)で実行ファイルを圧縮できます。 - [[dev-j:t5exe]] 大したものじゃないから追加するのも引けたけど。Unix風味環境(ELFとかPEとか関係ないのでcygwinでも動くのかな?)で実行ファイルを圧縮できます。
-*** OS-Wikiのtekのページの旧内容+*** OS-Wikiのtekのページの旧内容 [#i4c45b31]
-一時退避的にここにおきます。 -一時退避的にここにおきます。
---- ----
-*** tekフォーマット誕生のいきさつと目的など+*** tekフォーマット誕生のいきさつと目的など [#i0639787]
-もともとtekはOSASKの実行ファイル内の.dataセクション内の0x00のかたまりの部分を、他のOSと同等程度の手ごろな大きさにまとめたいという必要から開発がはじまった。 -もともとtekはOSASKの実行ファイル内の.dataセクション内の0x00のかたまりの部分を、他のOSと同等程度の手ごろな大きさにまとめたいという必要から開発がはじまった。
--この問題はOSASKに限らず他のOSでも発生している。win32やLinuxでは、.bssセクションは必ずゼロクリアされるというルールを設けることで、この問題を解決しているようである。 --この問題はOSASKに限らず他のOSでも発生している。win32やLinuxでは、.bssセクションは必ずゼロクリアされるというルールを設けることで、この問題を解決しているようである。
Line 77: Line 78:
--汎用圧縮フォーマットであることを追及する。特定の対象にのみ強いフォーマットにはならないようにする。 --汎用圧縮フォーマットであることを追及する。特定の対象にのみ強いフォーマットにはならないようにする。
--展開に必要なリソースに配慮する。tekフォーマットの意図するところは、GIFやTIFなどの代用的なものであり、アーカイバのような書庫管理ではない。つまり展開速度は十分に速くなくてはならないし、展開時に大量のワークエリアが必要であったりしてもいけない(もし展開のためのリソースが多ければ、その画像やデータなどを直接閲覧できない場合が発生してしまう)。もちろんtekは画像ファイル限定ではなく、テキストも実行バイナリも各アプリのセーブデータも、その他のなんにでも適用可能で、一様に利益をもたらす。 --展開に必要なリソースに配慮する。tekフォーマットの意図するところは、GIFやTIFなどの代用的なものであり、アーカイバのような書庫管理ではない。つまり展開速度は十分に速くなくてはならないし、展開時に大量のワークエリアが必要であったりしてもいけない(もし展開のためのリソースが多ければ、その画像やデータなどを直接閲覧できない場合が発生してしまう)。もちろんtekは画像ファイル限定ではなく、テキストも実行バイナリも各アプリのセーブデータも、その他のなんにでも適用可能で、一様に利益をもたらす。
----なおアーカイブ用途としては、sarという形式を提唱している(sarはtarのような無圧縮規格であるがもちろんtekを適用してもよく、実際sarファイルのほとんど全てはtekが掛かった状態で扱われている)。 参考→[[OSASK:why_sar]]+---なおアーカイブ用途としては、sarという形式を提唱している(sarはtarのような無圧縮規格であるがもちろんtekを適用してもよく、実際sarファイルのほとんど全てはtekが掛かった状態で扱われている)。 参考→[[why_sar]]
--非常に著名な圧縮形式では、圧縮を明示的に解かなくても内容を自由に閲覧できるツールが開発されているが、tekはそういう利用を最初から前提にして、この分野でのデファクトスタンダードなフォーマットになるのを目指している。圧縮しても拡張子を変えないでよい(=それくらい冗長なシグネチャがある)というのもそのためである。OSASKのようにOSレベルでの自動展開サポートが普及するか、それが無理なOSでは各アプリがファイルオープンの際に先頭16バイトをチェックし、tekであれば展開した後に扱う機能が普及してほしいと思っている。 --非常に著名な圧縮形式では、圧縮を明示的に解かなくても内容を自由に閲覧できるツールが開発されているが、tekはそういう利用を最初から前提にして、この分野でのデファクトスタンダードなフォーマットになるのを目指している。圧縮しても拡張子を変えないでよい(=それくらい冗長なシグネチャがある)というのもそのためである。OSASKのようにOSレベルでの自動展開サポートが普及するか、それが無理なOSでは各アプリがファイルオープンの際に先頭16バイトをチェックし、tekであれば展開した後に扱う機能が普及してほしいと思っている。
--この流れにより、現在のように多種多様な形式が乱立するのではなく、シンプルなフォーマットを(必要に応じて)共通の汎用アルゴリズムで圧縮する、という流れになればと思う。もちろんtek圧縮は完璧ではないし、対象によってはより圧縮率の高いものやより高速に展開できるものもあるだろうが、現状ではtekに劣るものがまだたくさんあるというのも事実である。tekに劣る形式が徐々にフェードアウトしてtekに一本化されれば、展開ルーチンの最適化はさらに進むであろうし、もしかしたらJPEGやMPEGのようにデコード支援用のハードウェアが開発されるかもしれない(tekの展開アルゴリズムはワークエリアが少なくて済むので、ハードウェア化もしやすいかもしれない)。 --この流れにより、現在のように多種多様な形式が乱立するのではなく、シンプルなフォーマットを(必要に応じて)共通の汎用アルゴリズムで圧縮する、という流れになればと思う。もちろんtek圧縮は完璧ではないし、対象によってはより圧縮率の高いものやより高速に展開できるものもあるだろうが、現状ではtekに劣るものがまだたくさんあるというのも事実である。tekに劣る形式が徐々にフェードアウトしてtekに一本化されれば、展開ルーチンの最適化はさらに進むであろうし、もしかしたらJPEGやMPEGのようにデコード支援用のハードウェアが開発されるかもしれない(tekの展開アルゴリズムはワークエリアが少なくて済むので、ハードウェア化もしやすいかもしれない)。
Line 83: Line 84:
--そして圧縮の世界もtekを超える基準での競争に限定されることで、より発展していくだろう。 --そして圧縮の世界もtekを超える基準での競争に限定されることで、より発展していくだろう。
-*** バリエーション+*** バリエーション [#j832c13b]
-開発済みの形式 -開発済みの形式
--tek0:tek系初代の形式 --tek0:tek系初代の形式
Line 97: Line 98:
---stk5仕様なら展開ルーチンは1426バイトで書ける。 ---stk5仕様なら展開ルーチンは1426バイトで書ける。
-*** ベンチマーク+*** ベンチマーク [#lfe4c5d0]
-tekのそれぞれについての簡単なベンチマークです -tekのそれぞれについての簡単なベンチマークです
Line 155: Line 156:
|paqar |RIGHT:100.0|RIGHT:100.0|RIGHT:100.0|RIGHT:100.0|RIGHT:159.3| |paqar |RIGHT:100.0|RIGHT:100.0|RIGHT:100.0|RIGHT:100.0|RIGHT:159.3|
---tek5については、[[OSASK:why_sar]]にも圧縮率比較データがあります。 +--tek5については、[[why_sar]]にも圧縮率比較データがあります。 
---さらにテスト:[[tek/dump]]+--さらにテスト:[[Z:tek/dump]]
-展開速度 -展開速度
--(準備中) --(準備中)
-*** 解説+*** 解説 [#c332b20b]
-圧縮率比較方法に関する[[K]]の主張。 -圧縮率比較方法に関する[[K]]の主張。
Line 182: Line 183:
-いくつかの種類のファイルを適当に混ぜて、この合計サイズによって比較をする人もあるが、これもいかがなものかと思う。実用上の参考になるようなブレンド比は人によって大きく異なるだろう(画像を多く持つ人もいるし、ログなどのテキストをたくさん持つ人もいる)。またたとえばosaskbmpとosaskgoとを足してしまえば、大幅に小さくなるosaskbmpの部分はosaskgoのサイズの前に埋没してしまい、その優劣は全く分からなくなるだろう。したがって勝手に混ぜることなく、それぞれを提示するのが好ましい方法だと考えている(kdun00bの例は統計的性質が大きく異なるデータが混在した一つのファイルをどれだけうまく圧縮できるかというところを見たいのであえて混ぜてある。それぞれを圧縮して合計するのとは意味が大きく異なることに注意)。 -いくつかの種類のファイルを適当に混ぜて、この合計サイズによって比較をする人もあるが、これもいかがなものかと思う。実用上の参考になるようなブレンド比は人によって大きく異なるだろう(画像を多く持つ人もいるし、ログなどのテキストをたくさん持つ人もいる)。またたとえばosaskbmpとosaskgoとを足してしまえば、大幅に小さくなるosaskbmpの部分はosaskgoのサイズの前に埋没してしまい、その優劣は全く分からなくなるだろう。したがって勝手に混ぜることなく、それぞれを提示するのが好ましい方法だと考えている(kdun00bの例は統計的性質が大きく異なるデータが混在した一つのファイルをどれだけうまく圧縮できるかというところを見たいのであえて混ぜてある。それぞれを圧縮して合計するのとは意味が大きく異なることに注意)。
-*** ダウンロード+*** ダウンロード [#s755ab57]
-(準備中) -(準備中)
-*** 課題+*** 課題 [#v3494d5e]
-マルチブロックサポートがまだできてない -マルチブロックサポートがまだできてない
-ECCレコード・リカバリーレコード(エラーチェック&修復機能)のサポートがまだできてない -ECCレコード・リカバリーレコード(エラーチェック&修復機能)のサポートがまだできてない
-フレーズモードのサポートができてない -フレーズモードのサポートができてない
---これができると、たとえば[[OSASK:tek1/comp]]の「おまけ」にある minna.sar の圧縮率が9%くらいよくなる。tek5のbim2bincも136.5→132.8と3%ほど改善する。+--これができると、たとえば[[tek1/comp]]の「おまけ」にある minna.sar の圧縮率が9%くらいよくなる。tek5のbim2bincも136.5→132.8と3%ほど改善する。
-差分モード(補助バッファ)のサポートができてない -差分モード(補助バッファ)のサポートができてない
--これができると、たとえばこめんと欄の http://www.maximumcompression.com/data/bmp.php の圧縮率が、5%くらいよくなる。 --これができると、たとえばこめんと欄の http://www.maximumcompression.com/data/bmp.php の圧縮率が、5%くらいよくなる。
Line 199: Line 200:
--bim2binはしょせんOSASKリンカであって、いつまでもそのおまけ機能でごまかすのは難がある。 --bim2binはしょせんOSASKリンカであって、いつまでもそのおまけ機能でごまかすのは難がある。
-* こめんと欄+* こめんと欄 [#aef81d9c]
-http://compression.ca/act/ 圧縮率、速度の比較で有名なサイト。比較のテストデータも入手可能。 -- [[名無しさん]] SIZE(10){2004-10-17 (日) 10:07:22} -http://compression.ca/act/ 圧縮率、速度の比較で有名なサイト。比較のテストデータも入手可能。 -- [[名無しさん]] SIZE(10){2004-10-17 (日) 10:07:22}
-↑過去にそこのサンプルを使おうと思いましたが、比較のテストデータがまともに入手できたためしがないです。たとえばtextのサンプルを例にとりますが、ページの説明ではサイズが[1344739, 586960, 2988578]のはずなんですが、僕がダウンロードして解凍すると[1344739, 586969, 3005020]になります。textに限らず他のファイルでも同じ傾向で、いつもなぜかちょっと違います。 -- [[K]] SIZE(10){2004-10-17 (日) 12:13:39} -↑過去にそこのサンプルを使おうと思いましたが、比較のテストデータがまともに入手できたためしがないです。たとえばtextのサンプルを例にとりますが、ページの説明ではサイズが[1344739, 586960, 2988578]のはずなんですが、僕がダウンロードして解凍すると[1344739, 586969, 3005020]になります。textに限らず他のファイルでも同じ傾向で、いつもなぜかちょっと違います。 -- [[K]] SIZE(10){2004-10-17 (日) 12:13:39}
-http://www.maximumcompression.com/data/bmp.php こんな比較はどうでしょう? -- [[名無しさん]] SIZE(10){2004-10-26 (火) 09:24:00} -http://www.maximumcompression.com/data/bmp.php こんな比較はどうでしょう? -- [[名無しさん]] SIZE(10){2004-10-26 (火) 09:24:00}
--題材はいいのですが、tekにはこのような写真系画像に向いた拡張が予定されており(差分値を使った圧縮:[[OSASK:tek1/adv2]])、できればそれができてからやってみたいです。・・・でもまあとりあえず今やっても悪いことはないと思ったのでやってみました。tek5で967384バイトでした。 -- [[K]] SIZE(10){2004-10-26 (火) 12:46:30}+-題材はいいのですが、tekにはこのような写真系画像に向いた拡張が予定されており(差分値を使った圧縮:[[tek1/adv2]])、できればそれができてからやってみたいです。・・・でもまあとりあえず今やっても悪いことはないと思ったのでやってみました。tek5で967384バイトでした。 -- [[K]] SIZE(10){2004-10-26 (火) 12:46:30}
-そのページのほかのものと比べるとこんな感じです。太字は僕がテストしたものです。 -- [[K]] SIZE(10){2004-10-26 (火) 14:54:02} -そのページのほかのものと比べるとこんな感じです。太字は僕がテストしたものです。 -- [[K]] SIZE(10){2004-10-26 (火) 14:54:02}
|フォーマット|サイズ|指数| |フォーマット|サイズ|指数|
Line 234: Line 235:
---- ----
-* こめんと欄 +* こめんと欄 [#ze058184] 
-#comment+- LZMA SDK が Ver4.62 以降でパブリックドメイン扱いになっているそうなので、tek5 圧縮ソフトは脱GPLができる? -- ''名無しさん'' &new{2012-01-27 (金) 23:56:51}; 
 +//- Hh97H8  <a href="http://thxirwbhuvnz.com/">thxirwbhuvnz</a>, [url=http://kjxjfutdlqzl.com/]kjxjfutdlqzl[/url], [link=http://dblrftgxvyuf.com/]dblrftgxvyuf[/link], http://rjvmpgxwopqi.com/ -- ''loeciqlvv'' &new{2012-03-30 (金) 00:29:35}; 
 +//- SKsz3v  <a href="http://vihemxgsafnr.com/">vihemxgsafnr</a>, [url=http://jhccshuxebvx.com/]jhccshuxebvx[/url], [link=http://iuuwyvgwtgyo.com/]iuuwyvgwtgyo[/link], http://cwefcuanqhzj.com/ -- ''aofuscr'' &new{2012-03-30 (金) 00:42:51}; 
 + 
 +//#comment
« Prev[4]  Next »[5]