和文モールスは、改良で符号長を ~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 拍となる。ここで、平均符号長 = Σ(符号長 ÷ 平均出現間隔) で算出した。

順位文字平均出現間隔符号符号長符号長_改良備考
19.88・-51
211.97・・33濁点
314.73・・-73
419.38・--・115
524.33・-・・95
626.47--・-・155
727.66・-・--157
829.82--77
930.28-・57
1031.33・-・-・137
1132.66・・-・・117
1242.13・・--119
1346.40・-・・・119
1449.06・-・79
1550.14・-・-・-179区切り点
1650.98----159
1752.27-・・・99
1854.28--・--179
1957.60・・・-911
2058.09-・-・・1311
2159.37-・-・1111
2260.37・-・-・・1511段落
2361.45・--911
2463.15---・-1711
2568.91-・・-1111
2673.27-・・-・1311
2773.58-・--・1511
2879.90-・-913
2980.75-・---1713
3090.95・・・513
3191.99--・913
32102.54-・・--1513
33104.34---1113
34105.88-・--1313
35109.61-・-・-1513
36112.31・---・1513
37112.49・---1313
38137.90---・1313
39140.73--・・-1513
40147.56・・-・915
41154.57--・・1115
42179.99-・・715
43206.95-・・・-1315
44222.06・-・-1115
45240.83・・-・-1315
46245.15・--・-1515長音
47319.61--・-1315
48328.04115
49336.93・・--・1315半濁点
50381.04315
511,169.16-・--・-1917下向き括弧
521,189.50・-・・-・1517上向き括弧
533,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
101500000・・・・・9#N/A
113500001・・・・-11#N/A
200・・3500010・・・-・11#N/A
201・-5500011・・・--13#N/A
210-・5500100・・-・・11
211--7500101・・-・-13
3000・・・5500110・・--・13
3001・・-7500111・・---15#N/A
3010・-・7501000・-・・・11
3011・--9501001・-・・-13
3100-・・7501010・-・-・13
3101-・-9501011・-・--15
3110--・9501100・--・・13
3111---11501101・--・-15
40000・・・・7501110・---・15
40001・・・-9501111・----17#N/A
40010・・-・9510000-・・・・11#N/A
40011・・--11510001-・・・-13
40100・-・・9510010-・・-・13
40101・-・-11510011-・・--15
40110・--・11510100-・-・・13
40111・---13510101-・-・-15
41000-・・・9510110-・--・15
41001-・・-11510111-・---17
41010-・-・11511000--・・・13#N/A
41011-・--13511001--・・-15
41100--・・11511010--・-・15
41101--・-13511011--・--17
41110---・13511100---・・15#N/A
41111----15511101---・-17
511110----・17#N/A
511111-----19#N/A
表示の都合上、4 bit と 5 bit の境界で改行している

コメントを残す

回れ右の内輪差をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む