ページへ戻る

− Links

 印刷 

tek1​/adv1 のバックアップソース(No.1) :: OSASK計画

osaskwiki:tek1/adv1 のバックアップソース(No.1)

  Next »[4]
* [[tek1]]の続き
-ここではtek0からのアイデアの連続性について書く

* UC0のアイデア
-UC0符号は、tek0でのdfの発展型である。
--ここで少しおさらいしておくと、dfはd3の発展型であった。つまりd3→df→UC0ということになる。
-dfはその名のとおりd3などよりもずっとフレキシブルであり、ファイルごとに適切なパラメータを選択できるところがとてもよかった。これをぜひ他の3つのパラメータ(by、lz、cp)にも応用したいと考えたわけである。
-そこでよりいっそうフレキシブルにして、パラメータ次第でL1aやL1bにもなれるような、そんなものに拡張して、それで名前を汎用符号(ユニバーサルコード)のバージョン0ということで、UC0としたわけである。

-また展開速度の高速化にも配慮した。符号中に分散したストップビット・継続ビットは、デコードの際に取り除いて結合しなければならず、これは大きな負担である。そこでこれらの制御用ビットをざざーと先頭に集めて以下のようにした。
    1dd0dd0ddd → ddddddd100        (ビットストリームは右から左へ書いている)
-なお、ほんの気まぐれで継続・ストップの意味が反転してしまったので、
    ddddddd011
-となっているが、これはもし継続ビット個数を数えるのにASKAのBSFを使うのであれば少々不便であるなと今は少し後悔している。
--まあBSFは遅いので使うべきではないし、どうしても使いたければNOTしてからBSFすれば済むことではあるが。
--いや、やっぱりフォーマットを変えよう。今しかフォーマットはいじれないわけだし(2004.06.03)。

* こめんと欄

#comment

  Next »[4]