11: 2004-06-15 (火) 19:16:51 [6] | 現: 2024-01-08 (月) 12:59:03 k-tan[7] [8] | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | * tek1の技術的情報 | + | TITLE:x |
+ | * tek1の技術的情報 [#fa48ccf1] | ||
-(by [[K]], 2004.05.31) | -(by [[K]], 2004.05.31) | ||
-''以下ほとんど現状とマッチしていません。そのうち対処します。'' | -''以下ほとんど現状とマッチしていません。そのうち対処します。'' | ||
Line 10: | Line 11: | ||
-bim2bin4hで一部ビットの意味が反転したので訂正。 | -bim2bin4hで一部ビットの意味が反転したので訂正。 | ||
- | * tek1圧縮 | + | * tek1圧縮 [#fe9f37f8] |
-tek1は、次の1バイトから始まります。 | -tek1は、次の1バイトから始まります。 | ||
--註:OSACMP形式はこの1バイトに先立って16バイトのシグネチャとnバイトの展開後のサイズに関する情報が付属する。これについては後述。 | --註:OSACMP形式はこの1バイトに先立って16バイトのシグネチャとnバイトの展開後のサイズに関する情報が付属する。これについては後述。 | ||
Line 54: | Line 55: | ||
-また上記で示されるtek1h群の長さは実際のバイト数から2を減じて記載されています。 | -また上記で示されるtek1h群の長さは実際のバイト数から2を減じて記載されています。 | ||
- | * tek1s | + | * tek1s [#yfc0130d] |
-これが圧縮の核となる部分です。その他はヘッダのようなもので、圧縮としては本質的な部分ではありません。 | -これが圧縮の核となる部分です。その他はヘッダのようなもので、圧縮としては本質的な部分ではありません。 | ||
-tek1sの最初はs7符号になっていて、まずはこれを取得します。これはビットストリーム部分が何バイトであるかという情報で、これに2を加えたバイト数がビットストリーム部分の長さです。その直後がバイトストリームになっているので、バイトストリームが必要になったらここから1バイトずつ読んでいきます。 | -tek1sの最初はs7符号になっていて、まずはこれを取得します。これはビットストリーム部分が何バイトであるかという情報で、これに2を加えたバイト数がビットストリーム部分の長さです。その直後がバイトストリームになっているので、バイトストリームが必要になったらここから1バイトずつ読んでいきます。 | ||
-s7符号の直後がビットストリームです。バイトストリーム以外はここからビット単位で読みます。 | -s7符号の直後がビットストリームです。バイトストリーム以外はここからビット単位で読みます。 | ||
- | *** tek1s圧縮の基礎 | + | *** tek1s圧縮の基礎 [#i71e3da3] |
-基本はtek0とまったく同じです。単に符号化の方法がUC0符号に統一されただけです。それと符号寿命という概念があるので、それが付け加えられてはいますが。 | -基本はtek0とまったく同じです。単に符号化の方法がUC0符号に統一されただけです。それと符号寿命という概念があるので、それが付け加えられてはいますが。 | ||
Line 80: | Line 81: | ||
--(14)(2)へ戻る。 | --(14)(2)へ戻る。 | ||
- | * s7s符号 | + | * s7s符号 [#j16c9806] |
-これはtek0で出てきたs8符号の7bit版だと思えば理解が早いでしょう。 | -これはtek0で出てきたs8符号の7bit版だと思えば理解が早いでしょう。 | ||
--(1)1バイト読む。 | --(1)1バイト読む。 | ||
Line 91: | Line 92: | ||
-結果的に上位下位の関係がインテル風じゃないところだけに注意。 | -結果的に上位下位の関係がインテル風じゃないところだけに注意。 | ||
- | * s7符号 | + | * s7符号 [#p8c8e030] |
-s7s符号にちょっと細工します。 | -s7s符号にちょっと細工します。 | ||
--s7sで読み取った際に1バイトで終わったのなら0を加える。 | --s7sで読み取った際に1バイトで終わったのなら0を加える。 | ||
Line 100: | Line 101: | ||
--以下略。 | --以下略。 | ||
- | * UC0符号 | + | * UC0符号 [#k4e3f8de] |
-0以上の整数を符号化するものです。多くのパラメータを持っているので、そのパラメータによっていろいろな状況にマッチします。 | -0以上の整数を符号化するものです。多くのパラメータを持っているので、そのパラメータによっていろいろな状況にマッチします。 | ||
-デコード方式は基本的に次のとおりです(実際は1bitずつ読まずに数ビットずつ処理して高速化しますが)。 | -デコード方式は基本的に次のとおりです(実際は1bitずつ読まずに数ビットずつ処理して高速化しますが)。 | ||
Line 120: | Line 121: | ||
-また小さい数はあまり出てこないけど、100くらいの数字がたくさん出てくる場合は、パラメータテーブル0を7とかにしておくわけです。そうすると0-127は1+7=8bitで符号化できます。 | -また小さい数はあまり出てこないけど、100くらいの数字がたくさん出てくる場合は、パラメータテーブル0を7とかにしておくわけです。そうすると0-127は1+7=8bitで符号化できます。 | ||
- | * OSACMP形式 | + | * OSACMP形式 [#s8a1face] |
-16バイトのシグネチャ: | -16バイトのシグネチャ: | ||
83 FF FF FF 01 00 00 00 4F 53 41 53 4B 43 4D 50 | 83 FF FF FF 01 00 00 00 4F 53 41 53 4B 43 4D 50 | ||
-そしてこのあとに展開後のファイルサイズがs7sでかかれている。それだけ。 | -そしてこのあとに展開後のファイルサイズがs7sでかかれている。それだけ。 | ||
- | * この他の細かいことは以下で | + | * この他の細かいことは以下で [#gaa7e9d6] |
-[[tek1/adv0]] : 残りのフォーマット | -[[tek1/adv0]] : 残りのフォーマット | ||
-[[tek1/adv1]] : tek0からの進歩の流れ | -[[tek1/adv1]] : tek0からの進歩の流れ | ||
Line 131: | Line 132: | ||
-[[tek1/comp]] : 他のフォーマットとの比較表 | -[[tek1/comp]] : 他のフォーマットとの比較表 | ||
- | * こめんと欄 | + | * こめんと欄 [#i9d52bf8] |
+ | - tek1 -- [[名無しさん]] &new{2009-07-10 (金) 10:25:25}; | ||
#comment | #comment |
(This host) = http://osask.net