数え上げ符号とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 数え上げ符号の意味・解説 

数え上げ符号

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2014/01/03 14:59 UTC 版)

数え上げ符号(かぞえあげふごう)は、符号化方式の1つ。次の手順で符号化を行う。

  • 符号化の対象(情報系列)の1情報ブロック中にある "1" の個数(ハミング重み)を数える。
  • "1" の個数と情報ブロックの長さを定めると 0と 1 の組み合わせも限られるので、0 と 1 の組み合わせを列挙し、情報ブロックが何番目の組み合わせと一致するかを数える。
  • "1" の個数を2進数表現したものと、何番目のバイナリ系列と一致したかを数え、2進数表現したものを組み合わせて符号語とする。

下記の例のように符号化後の方がより多くのビットを使用する場合もある。この例では圧縮としての符号化を目的としたものではない。この符号化方式をナップサック暗号に組み合せると、よく知られた攻撃法を回避できるという提案もある。

符号化対象を 0101100(7ビット)とする。符号化対象に "1" は最大 7 個ある可能性があるため、符号化後の長さを一定にするためにはとなり3ビット必要。35通りを 2進数で表現するにはとなり、6 ビット必要となる。符号化後の長さを一定にするためには、このように 3+6=9 ビット必要となる(圧縮を目的とするなら、最小表現方式を使用するのも良い)。

STEP1:符号化対象のバイナリ系列 "0101100" の中の "1" の個数を数える。

"1" の個数:3

STEP2:"1" が 3 つある長さ 7 の符号の全ての組み合わせは、7C3 = 35 通りある。

"0000111","0001110","0011100","0111000","1110000",
"0001011","0010110","0101100","1011000","0010011",
"0100110","1001100","0010101","0101010","1010100",
"0011001","0110010","1100100","0100011","1000110",
"0100101","1001010","0101001","1010010","0110001",
"1100010","1000011","1000101","1001001","1010001",
"1100001","1100010","1100100","1101000","1110000"
符号化対象の "0101100" は 35 通りの中の 8 番目にあたる。

STEP3:上で得た情報をバイナリ表現をして連結する。

3を2進数表現したもの "011"
8番目の符号である事を示す 8 を2進数表現したもの "001000"
上の二つを連結した "011001000" を数え上げ符号とする。

関連項目




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「数え上げ符号」の関連用語

1
10% |||||

2
6% |||||

数え上げ符号のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



数え上げ符号のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの数え上げ符号 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS