気象画像情報でアップリンクされる圧縮データは、東西方向に隣り合わせた2メッシュを1単位としたデータに対してランレングス圧縮を行い、その結果をACARSで利用できる文字に変換したものとなる。以下にランレングス圧縮方式のアルゴリズムと、ACARSで利用可能な文字への変換方法について説明する。
(1) ランレングス圧縮方式
ランレングス圧縮方式は、正又は0の値の取る2次元矩形領域上のデータの圧縮に用いる圧縮方式であり、左から右を内側ループ、上から下を外側ループとしてデータを走査し、それを1次元データと見なして連続する同一値をコード化するものである。
この圧縮方式において、1データを表すビット数NBITとデータの取り得る最大値MAXVの間に次の関係が必要である。
2NBIT-1-MAXV≧2
(以降2NBIT-1=MAXE、MAXE-MAXV=LNGUと記述する)
同一値が2個以上連続するとき、その値の次に長さ情報を記述する。連続しないときは単にその値だけを並べる。(圧縮しない場合と同じ)従って最も圧縮率が悪い場合、即ち同じ値が3個以上連続しない場合は圧縮データの個数と元のデータの個数が等しくなる。
長さ情報とは連続する同一値の個数-1をLNGU進数で表し、その各桁にMAXV+1を加えて下位桁から並べたものである。
例えば、
!1の場合5が2回連続するので、連続する個数-1をLNGU進数で表すと
X=(2-1)(LNGU)=1(5)=1
∴ !1=X+(MAXV+)=1+(10+1)=12
!3の場合0が6回連続するので、連続する個数-1をLNGU進数で表すと
X=(6-1)(LNGU)=5(5)=10
この10を下位の桁から
相対オクテット1のX1=0
相対オクテット2のX2=1
となるので、
相対オクテット1は、
∴ !3=Xl+(MAXV+1)=0+(10+1)=11