質問

Wikipediaで一度見つかりました $ k \ in(2 ^ {n-1}、2 ^ n)$ の均一に分散された整数その後、 $ \ log_2n $ 平均ビット/シンボルの平均ビット/シンボル。基本的にそれはいくつかのシンボルと $ \ log_2n - 1 $ に対して、 $ \ log_2n $ を使用しました。

残念ながら私のグーグルは私に失敗しました。私は「可変長バイナリ」に似たものを思い出しますが、私は異なる獣であるVLQで終了し続けます。私はあなたの記憶を私のものよりよくよく知っているので、あなたは私を助けることができますか?

役に立ちましたか?

解決 2

yuval映画違いの答えでは、テクニックのアイデアが完全に説明されています。わずかに異なる場合でも、ウィキペディアのrel="nofollow noreferrer"> truncated binary encoding と呼ばれます。特許の言及とは別に、そのための元のソースが見つかりませんでした。、この book 、またはこの Google API

他のヒント

$ k= 2 ^ {n-1} + t $ であるとします。ここで、 $ 0 \ leq t <2 ^ {n-1} $ $ z \ in \ {0、\ ldots、k-1 \} $

をエンコードして次のものを使用します。

  • $ z <2 ^ {n-1} -t $ の場合 $ z $ をエンコードします。それ自身の $(n-1)$ ビットエンコーディング。
  • それ以外の場合は、 $ z= 2 ^ {n-1} -t + 2 \ delta + \ epsilon $ です。 $ \ delta \ in \ {0、\ ldots、t-1 \} $ および $ \ epsilon \ in \ {0,1 \} $ $(n-1)$ ビットエンコーディングの $ z $ のencode $ 2 ^ {n-1} -T + \ delta $ の後に $ \ epsilon $

ここは例です。 $ k= 11= 2 ^ 3 + 3 $ 。符号化は次のとおりです。

  • $ 0 \ to 000 $
  • $ 1 \ to 001 $
  • $ 2 \から010 $
  • $ 3 \ 011 $
  • $ 4 \ $ 100 $
  • $ 5 \ 1010 $
  • $ 6 \ 1011 $
  • $ 7 \ 1100 $
  • $ 8 \ 1101 $
  • $ 9 \ 1110 $
  • $ 10 \ 1111 $
ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top