和文モールスは、改良で符号長を ~25% 削減できる

最終更新日

1830 年代に発明された…モールス符号も圧縮符号の一種である。これは、文字通信の中で比較的出現頻度の高いアルファベットに短い符号を…割り当てることで、通信に要する手間を省いている。(しかし日本語のモールス符号はそうなっていない。…)

データ圧縮 – Wikipedia (強調は筆者による)

現行の符号割当の仕様は不合理

現行の和文モールス符号の仕様は非効率である。統計的に 10 字に 1 つ以上がそれである最瀕の字「い」には符号長 5 拍の長い符号が割り当てられる一方で、平均 328 字に 1 度しか登場しない「へ」に符号長 1 拍の最短の符号が割り当てられてしまっている。

出現間隔の詳細は、記事「和文モールス符号における各文字の出現頻度を推定した」を参照

上の散布図で、横軸はモールス符号の平均出現間隔、縦軸は符号長を表す。和文モールス符号では、出現間隔と符号長に規則性が無く、符号割当が非効率的なことが見て取れる。なお、ここで「符号長」は、総務省 無線運用規則 別表第 1 号 モールス符号 (第 12 条関係) の下記規定 1, 2 に従い、1 点を 1 拍、1 線を 3 拍、点または線の間隔を 1 拍とした。

符号の線及び間隔

  1. 一線の長さは、三点に等しい。
  2. 一符号を作る各線又は点の間隔は、一点に等しい。
  3. 二符号の間隔は、三点に等しい。
  4. 二語の間隔は、七点に等しい。
無線局運用規則 | e-Gov法令検索

和文モールス符号の改良

和文モールス符号をエントロピー符号で改良してみた。出現間隔の短い字 (つまり高頻度の字) に短い符号を、出現間隔の長い字 (つまり低頻度の字) に長い符号を割り当てる。下図に、そのような符号割り当てを採用した場合の散布図を示す。各点が、右肩上がりの傾向に乗っていることが分かる。

出現間隔の短い順に短い符号を割り当て、改良した和文モールス符号

この新しい符号化により、和文モールス符号で送信する文章の平均的な長さを約 25% 短縮できる。従来の符号化では 1 文字あたり平均 9.92 拍を要した一方、新しい符号化では平均 7.48 拍となる。ここで、平均符号長 = Σ(符号長 ÷ 平均出現間隔) で算出した。

順位文字平均出現間隔符号符号長符号長_改良備考
1い9.88・-51
2゛11.97・・33濁点
3う14.73・・-73
4つ19.38・--・115
5か24.33・-・・95
6し26.47--・-・155
7て27.66・-・--157
8よ29.82--77
9た30.28-・57
10ん31.33・-・-・137
11と32.66・・-・・117
12の42.13・・--119
13お46.40・-・・・119
14な49.06・-・79
15、50.14・-・-・-179区切り点
16こ50.98----159
17は52.27-・・・99
18あ54.28--・--179
19く57.60・・・-911
20き58.09-・-・・1311
21に59.37-・-・1111
22。60.37・-・-・・1511段落
23や61.45・--911
24す63.15---・-1711
25ま68.91-・・-1111
26も73.27-・・-・1311
27る73.58-・--・1511
28わ79.90-・-913
29え80.75-・---1713
30ら90.95・・・513
31り91.99--・913
32ゆ102.54-・・--1513
33れ104.34---1113
34け105.88-・--1313
35さ109.61-・-・-1513
36せ112.31・---・1513
37を112.49・---1313
38そ137.90---・1313
39ひ140.73--・・-1513
40ち147.56・・-・915
41ふ154.57--・・1115
42ほ179.99-・・715
43め206.95-・・・-1315
44ろ222.06・-・-1115
45み240.83・・-・-1315
46ー245.15・--・-1515長音
47ね319.61--・-1315
48へ328.04・115
49゜336.93・・--・1315半濁点
50む381.04-315
51(1,169.16-・--・-1917下向き括弧
52)1,189.50・-・・-・1517上向き括弧
53ぬ3,108.91・・・・717
54ゐ#DIV/0!・-・・-1317*1
54ゑ#DIV/0!・--・・1319*1
*1) コーパスに出現しないないため、平均出現間隔は算出できなかった

和文モースル符号の欠番

和文モールス符号には「欠番」とも言える、未割り当ての符号列が存在する。上記の改良では、従来の和文モールス符号で使用された符号のみを使用し、それを再割り当てすることで行った。未割り当ての短い符号を使用することで、さらなる改良の余地がある。

未割り当てな 11 種の符号列には、符号長 9、11、13 拍などに相当する符号列が含まれる。具体的には、次の通り (括弧書きは符号長)。未割り当ての符号列はいずれも 5 bit であり、4 bit 以下の符号列は隙間なく使用されている。

  1. ・・・・・ (9)
  2. ・・・・- (11)
  3. ・・・-・ (11)
  4. ・・・-- (13)
  5. ・・--- (15)
  6. ・---- (17)
  7. -・・・・ (11)
  8. --・・・ (13)
  9. ---・・ (15)
  10. ----・ (17)
  11. ----- (19)
和文モールスの符号表。トンを 0、ツーを 1 に対応。欠番の位置が視覚的に分かる

下表に、各符号の ・ を 0 に、- を 1 に対応させ、2 進数として符号を整序して並べた。

BitBase-2CodeLengthCharBitBase-2CodeLengthChar
10・1へ500000・・・・・9#N/A
11-3む500001・・・・-11#N/A
200・・3゛500010・・・-・11#N/A
201・-5い500011・・・--13#N/A
210-・5た500100・・-・・11と
211--7よ500101・・-・-13み
3000・・・5ら500110・・--・13゜
3001・・-7う500111・・---15#N/A
3010・-・7な501000・-・・・11お
3011・--9や501001・-・・-13ゐ
3100-・・7ほ501010・-・-・13ん
3101-・-9わ501011・-・--15て
3110--・9り501100・--・・13ゑ
3111---11れ501101・--・-15ー
40000・・・・7ぬ501110・---・15せ
40001・・・-9く501111・----17#N/A
40010・・-・9ち510000-・・・・11#N/A
40011・・--11の510001-・・・-13め
40100・-・・9か510010-・・-・13も
40101・-・-11ろ510011-・・--15ゆ
40110・--・11つ510100-・-・・13き
40111・---13を510101-・-・-15さ
41000-・・・9は510110-・--・15る
41001-・・-11ま510111-・---17え
41010-・-・11に511000--・・・13#N/A
41011-・--13け511001--・・-15ひ
41100--・・11ふ511010--・-・15し
41101--・-13ね511011--・--17あ
41110---・13そ511100---・・15#N/A
41111----15こ511101---・-17す
511110----・17#N/A
511111-----19#N/A
表示の都合上、4 bit と 5 bit の境界で改行している

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

コメントする