* [[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
(This host) = http://osask.net