データ符号化装置、方法、及びプログラム
【課題】 飛行体上にて取得した複数種類のレーザ計測データを地上に伝送する際の符号化効率を向上させる。
【解決手段】 圧縮部11に入力されたレーザ計測データは、データ分離部11aにてデータ種類毎に分離される。各種類毎の分離データはそれぞれ圧縮処理部11bにてデータ圧縮された後、符号化処理部11cに入力される。符号化処理部11cは、各分離データの偏り度合いDdを算出し、Ddが大きい分離データから順番に結合して併合データを生成し、この併合データに対して動的なエントロピー符号化を施す。
【解決手段】 圧縮部11に入力されたレーザ計測データは、データ分離部11aにてデータ種類毎に分離される。各種類毎の分離データはそれぞれ圧縮処理部11bにてデータ圧縮された後、符号化処理部11cに入力される。符号化処理部11cは、各分離データの偏り度合いDdを算出し、Ddが大きい分離データから順番に結合して併合データを生成し、この併合データに対して動的なエントロピー符号化を施す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ符号化装置に関し、特に複数種類のデータ群を結合したデータに対する符号化効率の向上に関する。
【背景技術】
【0002】
航空機等の飛行体からレーザビームを照射して地上の凹凸情報を取得するレーザ計測方法として、下記特許文献1に記載されるものが知られている。一般に、航空機上で取得される観測データは、発射するレーザパルス単位に発射時刻、発射位置、発射方向、複数のリターンパルスに関する情報を含み、データサイズが膨大なものとなる。そのため、従来技術においては、航空機上で取得されたデータは、航空機に搭載したデータ記録部に格納され、計測終了後に地上のデータ処理装置に移され処理、解析される。
【0003】
しかし、例えば、災害時における地上の状況把握等のような利用目的では、即応性が要求される。そこで、航空機の着陸を待たずにデータ解析を行うことを可能とするレーザ計測システムの開発が進められている。具体的には、航空機上で取得される観測データを無線伝送で地上に送るレーザ計測システムの開発が進められている。当該システムでは、観測データの量が膨大となり、その一方で当該観測データを限られた伝送容量で短時間に地上に送ることが要求されるため、当該観測データを圧縮・符号化して伝送し、地上にて復号化・伸張するという方法が検討されている。
【特許文献1】特開2003−156330号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
膨大な観測データを地上に効率よく伝送するためには、符号化の効率向上が一つの課題となる。
【0005】
本発明は、上述のレーザ計測システムにおける課題を解決するためになされたものであり、特に複数種類のデータ群を結合したデータに対する符号化効率が向上するデータ符号化装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るデータ符号化装置は、複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析手段と、前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合手段と、前記併合データに対して動的なエントロピー符号化を行うデータ符号化手段と、を有するものである。
【0007】
他の本発明に係るデータ符号化装置においては、前記データ分布解析手段が、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定める。
【0008】
本発明に係るデータ符号化方法は、複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析ステップと、前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合ステップと、前記併合データに対して動的なエントロピー符号化を行うデータ符号化ステップと、を有するものである。
【0009】
他の本発明に係るデータ符号化方法においては、前記データ分布解析ステップが、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定める。
【0010】
本発明に係るデータ符号化プログラムは、コンピュータに、複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析機能と、前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合機能と、前記併合データに対して動的なエントロピー符号化を行うデータ符号化機能と、を実現させるものである。
【0011】
他の本発明に係るデータ符号化プログラムにおいては、前記データ分布解析機能が、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定める。
【発明の効果】
【0012】
本発明によれば、複数のデータ群それぞれのデータ分布の偏り度合いを解析し、その結果に基づいてデータ群の結合順序を決定することで、符号化対象として入力される具体的なデータ群に対応して好適な符号化効率が実現される。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。本実施形態は、航空機、ヘリコプター等の飛行体を使用したレーザ計測システムに関するものであって、そのシステムにおいて飛行体に搭載される符号化処理部が本発明を用いて実施される。
【0014】
図1は、航空機、ヘリコプター等の飛行体を使用したレーザ測量の概要を示す説明図である。飛行体1は、レーザ計測部4、GPS/IMU(Global Positioning System/Inertial Measurement Unit)22及び送信部6を搭載し、レーザ計測部4はレーザスキャナ2、反射波受信センサ8及びPOS(Position Orientation System)20を含んで構成される。
【0015】
レーザスキャナ2は、制御部(図示せず)により、所定時間間隔でレーザパルスを発射するレーザ発射部2aと、レーザパルスの照射方向を所定角度範囲内で振って地上のスキャンを可能とする回転ミラー2bとを備える。
【0016】
反射波受信センサ8は、レーザの発射パルスに対する地表からの反射パルス(リターンパルス)を検出する。
【0017】
POS20は、データ取得時の時刻情報であるタイムスタンプを生成する。
【0018】
GPS/IMU22は飛行状態データとして、飛行体1のGPS位置及び傾き情報を出力する。
【0019】
送信部6は、レーザ計測部4にて得られたデータ(レーザ計測データ)及びGPS/IMU22から得られるデータ(飛行状態データ)を、圧縮等の処理を施した上で地上基地局へ無線送信する。
【0020】
図2は、リターンパルスを示す説明図である。発射された1発のレーザパルスに対して、地上物による複数回(通常1ないし5回程度)の反射が生じ、それに応じてリターンパルスも複数回検出され得る。反射波受信センサ8は、n発目の発射パルスに対するk番目のリターンパルスの捕捉時刻情報をリターンパルスデータPknとして出力する。ここで、リターンパルスデータPknは発射されたレーザパルスが地表や地物に反射し、反射波受信センサ8に戻って来るまでの時間である。また反射波受信センサ8からは、レーザの反射強度情報であるインテンシティを得ることもできる。このインテンシティを解析することで、レーザパルスを反射した物体が何かを判断することが可能となる。
【0021】
レーザ計測部4は、リターンパルスデータPknの他に例えば、レーザパルスの発射時刻データTn、そのときの回転ミラー2bの回転角データθn及びタイムスタンプTSnをレーザ計測データとして取得する。ここで、レーザ発射部2aから発射されたレーザパルスは回転ミラー2bの反射により照射方向を変化されるため、回転角データθnは、レーザパルスの照射角度を意味する。また、GPS/IMU22は、レーザスキャナ2のレーザパルス発射タイミングに同期して、レーザパルス発射時の飛行体1のGPS位置、傾き情報等を出力する。
【0022】
なお、レーザ計測データ及び飛行状態データはレーザ計測部4やGPS/IMU22の構造により適宜無次元化された数値として出力されるものであってもよく、またレーザパルス発射時刻、或いはリターンパルスデータ等の時刻情報は、例えば、計測開始からの経過時間であってもよい。
【0023】
図3はレーザ計測部4、GPS/IMU22及び送信部6の構成を示すブロック図である。上述したようにレーザ計測部4は、レーザスキャナ2、反射波受信センサ8、及びPOS20を備え、レーザ計測データはパルスデータ生成部9に出力される。また、GPS/IMU22が出力する飛行状態データはGPS/IMUデータ生成部10へ出力される。
【0024】
図4は、パルスデータ生成部9からのデータの出力フォーマットを示す模式図である。また、図5は、GPS/IMUデータ生成部10からのデータの出力フォーマットを示す模式図である。パルスデータ生成部9は、上述したように、発射パルス(レーザパルス)を単位として、当該発射パルスに対応する各出力値を所定の順序で配列したデータ列を出力する。図4に示す例は、各発射パルスに対して最大5次までのリターンパルスデータPknが取得され得ることを想定した場合のデータフォーマットを示すものであり、先頭からタイムスタンプTSn、レーザパルスの発射時刻データTn、ミラー回転角データθn、及びリターンパルスデータPknの順に格納される。ちなみに、上述したように、リターンパルスデータPknは必ずしも5次まで取得されるとは限らないため、取得されなかった次数の格納位置には、例えば“0”を格納する(図14参照)。
【0025】
一方、GPS/IMUデータ生成部10からは、図5に示すように、GPS時間TAn、IMU時間TBn、x方向加速度VXn、x方向角度AXn、y方向加速度VYn、y方向角度AYn、z方向加速度VZn、z方向角度AZnが出力される。ここで、GPS/IMU22のデータ取得タイミングは、レーザパルスより低い頻度ではあるが、レーザパルスの発射タイミングに同期するように設定される。そこで、GPS/IMUデータ生成部10からの出力値は、パルス番号を表す添え字“n”を介して、パルスデータ生成部9の出力値と対応付けられる。
【0026】
飛行体1におけるレーザ計測が開始されると、レーザ計測部4及びGPS/IMU22にて取得されるデータは、パルスデータ生成部9或いはGPS/IMUデータ生成部10へ出力される。パルスデータ生成部9及びGPS/IMUデータ生成部10は、入力されたデータから所定のデータ列を生成し送信部6へ出力する。例えば、パルスデータ生成部9の出力は送信部6の圧縮部11へ入力される(ステップS1)。
【0027】
圧縮部11は、データ分離部11a、圧縮処理部11b及び符号化処理部11cを含んで構成され、入力されたデータを圧縮する。この圧縮処理は、即時性の向上を図るために、データ全体の容量に対し、例えば、4Mバイト程度の比較的小さな単位で行われる。
【0028】
データ分離部11aは、図4に示すように、パルスデータ生成部9から出力されたパルスデータを、タイムスタンプTSn、レーザパルス発射時刻データTn、ミラー回転角データθn及びリターンパルスデータPknの4種類のデータ列SD(TS)、SD(T)、SD(θ)及びSD(P)に分割し(ステップS2)、これら各分離データSDを圧縮処理部11bへ出力する。図4に示すように、分離データ列SD(TS)、SD(T)及びSD(θ)それぞれにおけるタイムスタンプTSn、レーザパルス発射時刻データTn、ミラー回転角データθnは、パルス発射順に並ぶ。また、分離データ列SD(P)におけるリターンパルスデータPknは、パルス発射順が同じ5個のデータからなるデータ群がパルス発射順に並び、各データ群の中では、5個のデータが反射次数順に並んだフォーマットを有する。この分離データSD(P)には、必要に応じて、データ群の境界にデータ終端マークが挿入される。
【0029】
圧縮処理部11bは、各分離データ列SDの特徴を利用して、それぞれ異なったアルゴリズムでデータ圧縮を行う(ステップS3)。
【0030】
例えば、本実施形態のPOS20はその仕様上、タイムスタンプTSnとして、ほとんどの場合に、ミラー回転角データθnの下位2桁と同じ値を出力するものを使用している。そこで、TSnとθnとの差分値で置き換える圧縮法を採用することにした。これにより、ほとんどのTSnは0に置き換えることができ、データ量が圧縮される。
【0031】
次に図6は、レーザパルス発射時刻データの変化を示すグラフであり、横軸がレーザパルス発射順序、縦軸が発射時刻である。この図に示されるように、レーザパルス発射順序に対して発射時刻は、周期的に繰り返す右上がりの直線上に分布する傾向がある。この性質から、隣接するレーザパルス発射時刻データTnの二次差分値は0近傍に分布する小さな値となることが期待され、この二次差分値を用いることにより発射時間データの圧縮を図ることができる。
【0032】
図7は、圧縮処理部11bにおけるレーザパルス発射時刻データの圧縮処理の概要を示すブロック図である。圧縮処理部11bは、まず、二次差分値列を順次、生成し(処理P1)、生成される二次差分値を順番に2つずつ組み合わせた二次差分値対を生成する(処理P2)。圧縮処理部11bは、二次差分値対に現れる数値列パターンと指標データとの関連付けを定義するインデックステーブルTBLを予め設定し、処理P2で生成された二次差分値対とテーブルTBLに登録された指標データとの対応付け処理を行う(処理P3)。この処理では、二次差分値対と一致する数値列パターンがテーブルTBLに存在する場合に、その二次差分値対に、当該数値列パターンに対応する指標データが対応付けられる。圧縮処理部11bは、この指標データを用いて圧縮データを形成する(処理P4)
【0033】
図8は、レーザパルス発射時刻データTnの圧縮処理における二次差分値生成処理P1を示す概略のフロー図である。なお、以下の説明において、記号“Tn”はn発目のレーザパルスの発射時刻、記号“Δ1,n”は発射時刻Tnの一次差分値T(n+1)−Tn、記号“Δ2,n”は発射時刻Tnの二次差分値(Δ1,n+1)−(Δ1,n)を表す。
【0034】
二次差分値列S(Δ2,n)の生成に際し、まず、二次差分値列生成用のバッファエリアBUFをメモリ上に設定し、先頭にSOB(Start of Block)マークを挿入する(ステップST1)。SOBは予め定められた所定のビット長を有しており、以下の処理で出現することのないコードに設定される。この後、SOBマークの後にレーザパルス発射時刻Tnを挿入する。このTnは、二次差分値列から元の発射時刻の分離データ列SD(T)を復元する際に用いられる。
【0035】
次に、一次差分値Δ1,nを算出し(ステップST2)、その正負を判定する(ステップST3)。上述したように、レーザパルス発射時刻データTnは周期的に繰り返す右上がりの直線上に分布する傾向があるため、一次差分値の符号が正の場合には、その一次差分値の関係するT(n+1)とTnとは同じ直線に沿って位置し、一方、一次差分値の符号が負の場合には、T(n+1)とTnとの間で直線の乗り換えが生じ、T(n+1)は次の直線に沿って位置していると考えられる。
【0036】
符号が負の場合には、パルス番号nを1だけ増加させ、ステップST1から処理を繰り返す。すなわち、改めてSOBマークをバッファリングされているデータの後尾に挿入し、続けてTnを挿入する。例えば、直前のステップST1からの処理がn=kに対するものでありTkを挿入した後、T(k+1)−Tk<0であった場合には、次のステップST1からの処理においては、SOBマークの次にT(k+1)が挿入される。
【0037】
ちなみに、一次差分値の符号が負の場合には上述のようにSOBマークが挿入され、このSOBマークは評価対象のT値が直前のT値が帰属する直線からはずれて新たな直線に移動したことを示すこととなる。すなわち、SOBマークは、それぞれ1つの直線に対応するデータブロックのデリミタとしての意味を有する。
【0038】
一方、符号が正の場合には、求めた一次差分値Δ1,nを直前に挿入されたTnの後に挿入する(ステップST4)。このΔ1,nは、直前に挿入されているTnと共に、二次差分値列から元の発射時刻の分離データ列SD(T)を復元する際に用いられる。
【0039】
符号が正の場合、さらに一次差分値Δ1,n+1を求める(ステップST5)。この一次差分値Δ1,n+1についてもステップST3と同様の理由から符号の判定が行われ(ステップST6)、符号が負の場合には、パルス番号nを2だけ増加させステップST1から処理を繰り返し、新たなデータブロックの生成が開始される。
【0040】
Δ1,n+1の符号が正の場合には、二次差分値Δ2,nを求め(ステップST7)、ステップST4で挿入したΔ1,nの後に当該Δ2,nを挿入する(ステップST8)。二次差分値の生成は、nを1ずつ増加させながら(ステップST9)、繰り返され、上述のようにT値が次の直線に帰属することになるか(ステップST6)、T値の終わりに達するまで(ステップST10)、順次、二次差分値がバッファされる。
【0041】
なお、発射時刻データTnの観測精度によっては図6の直線が多少変動する場合がある。この場合、一次差分値が負でかつその絶対値が所定値より大きい場合には、T(n+1)とTnとの間で直線の乗り換えが生じているものと判断する。一方、一次差分値が正、または一次差分値が負でかつその絶対値が所定値以下の場合には、T(n+1)とTnが同じ直線に沿って位置しているものと判断する。
【0042】
元のレーザパルス発射時刻データTnは大きな値を取り得るが、二次差分値Δ2,nは、上述のように0近傍の小さな値であり、元のレーザパルス発射時刻データTnに比べて短いデータ長で表すことができる。例えば、元のレーザパルス発射時刻データTnが4バイトを要するとしても、基本的に二次差分値Δ2,nは1バイトで表現することが可能である。すなわち、二次差分値は既に圧縮されていると言える。しかし、圧縮処理部11bは、バッファに次々と挿入される二次差分値を、これから述べる処理P2〜P4によりさらに圧縮し、保存データを生成する。以下、この二次差分値列の圧縮処理について説明する。
【0043】
図9は処理P3で用いるインデックステーブルTBLの構造を示す模式図である。図には、左欄に示すインデックスIに対応する二次差分値対の1つ目の値(先行二次差分値Δ2P)、2つ目の値(後続二次差分値Δ2F)、及び保存データ要素Eが横方向に配列されている。ここで、二次差分値は既に述べたように、0近傍にほとんどが分布する。経験的に、二次差分値列において−1,0,+1が高い出現確率で現れる。そこで、本実施形態では、二次差分値列における出現確率が所定値以上である代表差分値として、−1,0,+1を設定し、これに対応して、インデックステーブルが定義されている。EはIをバイナリ表示したデータである。後述するようにインデックスIは13種類であるので、Eは実質的に4ビットで表現可能である。
【0044】
インデックスI=0〜5及び10〜12は、Δ2P、Δ2Fからなる数値パターンが、3種類の代表差分値(−1,0,+1)を2個並べる9通りの順列パターンに対応する。
【0045】
インデックスI=6〜8は、Δ2Pが3種類の代表差分値(−1,0,+1)のいずれかであり、Δ2Fが代表差分値以外の値(Δ2Fが存在しない場合を含む)である3つの特例パターンである。図9において、代表差分値以外であることは記号“NULL”で表されている。
【0046】
インデックスI=9は、例外的な場合に用いられる例外識別データを定義するものである。ここで例外的な場合の1つは、Δ2Pとして取り出した二次差分値が代表差分値以外である場合(特例差分値)である。この場合には、後続する二次差分値をΔ2Fとして組み合わせることなく、Δ2Pとして取り出した二次差分値だけを以て、インデックスIとして9を割り当てる。例外的な場合のもう1つは、Δ2P、Δ2Fのいずれも存在しないことを表す場合である。
【0047】
圧縮処理部11bは、圧縮処理P1〜P4の開始に際して、圧縮データ格納用のデータエリアSTRをメモリ上に設定する。圧縮処理部11bは、二次差分値列生成処理P1において、上述のバッファBUFへのデータ格納を行う一方、処理P2〜P4において、当該バッファBUFから順次、データを取り出し処理を行う。
【0048】
圧縮処理部11bは、処理P2において、バッファBUFから取り出したデータがSOBマーク、Tn、Δ1,nである場合は、それらデータをそのままデータエリアSTRに転写する。
【0049】
一方、バッファBUFから取り出したデータが二次差分値Δ2,nである場合には、圧縮処理部11bはさらにそれに続く二次差分値Δ2,n+1も取り出し、二次差分値対を生成し(処理P2)、テーブルTBLのΔ2P、Δ2Fからなるパターンとのマッチングを行って当該二次差分値対に対応する保存データ要素E1を決定する(処理P3)。
【0050】
二次差分値対が代表差分値の組み合わせであるI=0〜5、10〜12であった場合、圧縮処理部11bは、原則として、さらに後続する二次差分値Δ2,n+2、Δ2,n+3からなる二次差分値対について同様に保存データ要素E2を決定する。そして、E1を上位4ビット、E2を下位4ビットとして両者を結合して1バイトの保存データESを生成し、これを圧縮データ格納用データエリアSTRに追加格納する(処理P4)。
【0051】
図10は、圧縮データ形成処理P4を説明する模式図である。図10(a)〜(c)が、上述した先行する二次差分値対のインデックスIが0〜5,10〜12である場合を表している。図10(a)(b)は4つの二次差分値に基づいて保存データESが生成される原則的な場合に対応し、図10(a)は、後続の二次差分値対のインデックスIも0〜5,10〜12である場合であり、図10(b)は、後続の二次差分値対のインデックスIが6〜8である場合である。
【0052】
一方、図10(c)(d)は、3つ、又は2つの二次差分値に基づいて保存データESが生成される例外的な場合であり、保存データ要素E2として、インデックスI=9に対応するデータが割り当てられる。そして、図10(a)(b)の場合と同様、E1を上位4ビット、E2を下位4ビットとして両者を結合して1バイトの保存データESが生成され、これが圧縮データ格納用データエリアSTRに追加格納される(処理P4)。
【0053】
ここで、図10(c)は、Δ2,n+2として取り出した二次差分値が代表差分値以外であった場合である。後述するように、代表差分値以外の二次差分値(特例差分値)が現れた場合、処理P4の一部として、当該特例差分値をデータエリアSTRに格納する処理が行われ、後続の二次差分値についての処理はその特例差分値を格納する処理後に継続される。そのため、当該Δ2,n+2として取り出した二次差分値の後続の二次差分値はΔ2,n+3としては取り出さず、保存データ要素E2としてインデックスI=9に対応するデータを割り当てる。
【0054】
また、図10(d)は、Δ2,n+1が特例差分値である場合である。この場合も、特例差分値を格納する処理に移行する都合上、後続の二次差分値はΔ2,n+2、Δ2,n+3として取り出さず、保存データ要素E2としてインデックスI=9に対応するデータを割り当てる。
【0055】
ちなみに、図10(b)に示す場合は、Δ2,n+3が特例差分値であり、この保存データESをデータエリアSTRに格納した後、特例差分値の格納処理が行われる。また、Δ2,nが特例差分値であった場合が図10には示されていないが、この場合は、保存データ要素の組み合わせからなる保存データESは生成せずに、直接、先行する保存データESに続けて、当該特例差分値が追加格納される。
【0056】
特例差分値の格納処理は、先行する保存データES及び後続する保存データESとの間に挿入されたことが識別可能な所定のフォーマットのデータ(特例保存データEE)をデータエリアSTRに追加する処理である。例えば、特例保存データEEの第1バイトはいずれの保存データESとも区別可能なデータヘッダとする。例えば、データヘッダは“0xFF”とすることができる。データヘッダに続けて、1〜4バイトの可変長データを追加する。可変長データのデータ長は例えば、第2バイトのいくつかの所定ビットを用いて表すように定義される。地上基地局側で圧縮データを伸張する際には、その所定ビットの内容に基づいて、データヘッダから始まる特例保存データEEがどのバイトまでか、そしてその後のバイトから再び保存データESであることを把握することができる。特例差分値は、可変長データの残りのビットを用いて表される。
【0057】
既に述べたように、レーザパルス発射時刻データの性質として、ほとんどの二次差分値は代表差分値となる。上述の処理P2〜P4により、代表差分値が連続する場合には4つの代表差分値が1バイトの保存データESで表される。すなわち、個々の二次差分値を保存データとして格納する場合よりもレーザパルス発射時刻データの圧縮効率の一層の向上が実現される。
【0058】
次に、ミラー回転角データθnに対する圧縮操作を説明する。縦軸にミラー回転角データθn、横軸にレーザパルスの発射順序をとった、レーザパルス発射順序-ミラー回転角線図は正弦曲線に近似可能であり、連続性に着目して、二次差分値を保存データとする。また、回帰線図が上述したレーザパルス発射時刻とは異なり、全領域に不連続点が存在しない。このため、跳躍点での差分値保存によってデータ長が過度に大きくなる心配がないので、SOBマークで区切られたデータブロックを設定する必要がなく、単に二次差分値を連ねるだけで足りる。二次差分値である各圧縮値から元データを算出可能とするために、圧縮データの最初に元データ、次に一次差分値が挿入され、これに続いて二次差分値が記述される。
【0059】
図11は、ミラー回転角データθnの圧縮例を示す模式図である。左側のテーブルは元データと演算経過を示し、このテーブルの中のどの要素が、その右に示す保存データ(圧縮データ)として格納されるかが示されている。元データは縦に並べて示されており、“行”コラムがレーザパルスの発射順序に対応し、例示のミラー回転角データθnは、1発目が100で、この後、200,301,400,…と続くことを示している。
【0060】
このような元データがある場合、まず、先頭の元データ“100”を保存データ1として抽出する(ステップSθ1)。この後、ステップSθ2で第2の元データ“200”と先頭元データ“100”との一次差分を演算し、その演算結果“100”を保存データ2として保存データ1の後続データとして登録する。次いで、第3の元データ“301”と第2の元データ“200”との一次差分“101”と、上記ステップSθ2で求めた一次差分“100”とから求めた二次差分“1”を保存データ3として、保存データ2に続けて登録する(ステップSθ3)。以降、ステップSθ3と同様の手順を繰り返し、二次差分を順次、保存データとして登録して処理を完了する。
【0061】
図12は、以上の手順により得られる圧縮データの二次差分収納分のデータフォーマットを示す模式図である。上述したように、このデータフォーマットの前に第1の元データ、一次差分データが存在するが、ここでは図示が省略されている。図12に示すように、二次差分は、小さな値であるので6ビット程度で表現可能であり、これに2種類の状態判定ビットを付加した8ビット(1バイト)長で格納される。
【0062】
上記状態判定ビットは各々1ビット長を持つ正負判定ビットとエラー判定ビットである。正負判定ビットは、二次差分の正負により決定される。また、エラー判定ビットは、6ビット長で記述不可能な場合をエラー値として格納したことを示す。本実施形態において、エラービットが立っている状態では、二次差分は2バイト長拡張された領域に格納される。
【0063】
図13〜図15を用いてリターンパルスPknの圧縮手順を説明する。図13は、圧縮処理の流れを示す模式図であり、上段の枠内は図4で示した分離データ列SD(P)である。図13に示すように、分離データ列SD(P)には、1発のレーザパルスに対して5個のリターンパルスデータ(P1n,P2n,…,P5n)の領域が確保され、リターンパルスデータPknのない部分には“0”が格納されている。図2に示すように、リターンパルスは森林等における樹木での葉の間から漏れたレーザパルスが、さらに地表側に位置する他の反射物に反射して得られるもので、全ての領域が埋まることは比較的少なく、さらに“0”等の小さな値で“値なし”を示す場合であっても、そうでない他のリターンパルスデータの値を格納するのと同じ所定のビット長の領域が割り当てられる。
【0064】
このようなデータ構造に伴うデータの冗長性を解消するために、まず、データ構造を変更する(ステップSP1)。ステップSP1の実施に際して、n発目のレーザパルスに対するリターンパルスデータ群(P1n,P2n,…,P5n)を格納する領域中でのデータ充填を表示するヘッダ情報“Head_n”を導入し、“値なし”データを削除する。本実施形態において、ヘッダ情報Head_nには1バイトの領域が与えられ、下位5ビットで最終次数及びリターンパルスデータ格納位置を示す。例えば、1次リターンパルスデータP1nのみが存在し、2次以降が“値なし”である場合には、ヘッダ情報Head_nは“00000001”で与えられ、3次リターンパルスデータP3nまで存在し、かつ2次リターンパルスが存在せず、1次及び3次のリターンパルスが存在するときには“00000101”、全て埋まっている場合には、“00011111”で与えられる。この結果、データ列は、図13の中段の枠内に示すように、ヘッダ情報Head_nと実データとにより記述されることとなる。
【0065】
次いで、データ間の差分をとって保存データとする(ステップSP2)。ステップSP2は、Q計算とR計算とを行いながら保存データを決定していき、圧縮データ列は、図13の下段の枠内に示すように、パルス番号“n”に対するヘッダ情報Head_n、Q値“Q1n”、R値“Rkn”の順に格納される。R値Rknの添え字“k”はリターンパルスの次数を示す。後述するように、1次のリターンパルスデータP1nに対しては、直前の1次リターンパルスデータ(P1,n-1)との差分であるQ値Q1nを保存データとするので、kは2以上5以下の整数となる。
【0066】
Q計算及びR計算を図14、図15に示す例で説明する。ここで、図14は分離データ列SD(P)の具体的な例を示す模式図である。また、図15は、図14の分離データ列に対応して生成される保存データの模式図である。
【0067】
図14に示す元データでは、レーザパルス番号“1”に対して1次リターンパルスのみが得られ、その値は“100”であることが示されている。また、レーザパルス番号“7”に対しては5次までのリターンパルスが捕捉され、その値は、1次側から、“700,800,810,820,850”であることが示されている。
【0068】
まず、初期情報として、レーザパルス番号“1”のリターンパルスは1次のみが取得されているので、ヘッダ情報Head_nに“00000001”を格納した後、1次リターンパルスデータP11として“100”をそのまま格納する。説明を容易にするために、保存データはk行n列の配列Cmp、元データはk行n列の配列Orgを用いて表す。例えば、先頭データ“100”が保存データとして格納されたことは、Cmp(1,1)にOrg(1,1)が代入されていることで知ることができる。
【0069】
ここで、ヘッダ情報Head_1は1次パルスデータのみを格納していることを示していることから、この後、2次リターンパルスを検索することなく、1発目のレーザパルスに対する処理が終了し、次に2発目(n=2)のレーザパルスの処理に移行する。
【0070】
n=2以降では、まずQ値計算を行う。Q計算は、隣接するレーザパルスに対する1次リターンパルス間の差分を求める演算であり、
Q1n=P1n−P1,n-1
で与えられる。
【0071】
この例では、n=2であるから、
Q12=P12−P11
=Org(1,2)−Org(1,1)
=200−100=100
で与えられ、これがCmp(1,2)に代入される。
【0072】
Q計算が終了すると、同一のn値でR計算を行う。R計算はOrg配列の同一行での隣接値間の差分を取る演算であり、
Rkn=Pkn−Pk-1,n
で与えられる。図14、図15の例では、
R22=P22−P12
=Org(2,2)−Org(1,2)
=300−200=100
がCmp(2,2)に代入される。
【0073】
R計算は、同一レーザパルス番号のリターンパルスデータPknが終了するまで続けられ、この後、上述した手順、すなわち、ヘッダ情報Head_nの付与、1回のQ計算、適数回のR計算が繰り返される。
【0074】
このようにして得られたCmp配列は一次元配列(ビット列)に並べられ、圧縮対象のデータ列にされる。
【0075】
以上のようにして各々の分離データ列SDに対する圧縮処理が終了すると、結合処理がなされて1ファイルにまとめられ、次いで、図3に示す符号化処理部11cにおける符号化処理を行う(ステップS4)。符号化処理部11cは、4つの分離データ列SDそれぞれのデータ分布の偏り度合いを解析し、偏り度合いの大きい順にSDを結合して併合データを生成する処理を行うと共に、その併合データに対して動的なエントロピー符号化を行う。
【0076】
図16〜図19は、飛行体1上の装置で得られる観測データの一例であり、それぞれ横軸を出現するデータ値、縦軸を出現頻度とするデータ分布を表すグラフである。図16はタイムスタンプTSn、図17はレーザパルス発射時刻データTn、図18はミラー回転角データθn、図19はリターンパルスデータPknのそれぞれ上記圧縮処理後のデータ値の分布を表している。以下、これらのデータ例を用いて本システムの符号化処理を説明する。これら図に示すデータ例に現れる各データの特徴を述べる。まず、タイムスタンプに関しては、極端に出現頻度が高い値が存在すること、及び当該データ値以外の値の出現頻度は全て低く、バラツキも小さいことが挙げられる。一方、リターンパルスに関しては、極端に出現頻度が高いデータ値が存在する点ではタイムスタンプと同様であるが、当該データ値以外の値の出現頻度はタイムスタンプに比べれば、高いものから低いものまで存在し、多少のばらつきがある。なお、リターンパルスについては、全体のデータ量が非常に大きくなる。ミラー角度に関しては、出現値の種類が多いこと、及び出現頻度は高いものから低いものまで存在し、多少のばらつきがあるという特徴がある。レーザ発射時間に関しては、出現値の種類が少ない、出現頻度に多少のばらつきがある、全体のデータ量が非常に小さいといった特徴がある。
【0077】
符号化処理部11cは上述のような特徴を有する各データの分布の偏り度合いを、統計量等を用いて算出する。例えば、符号化処理部11cは、同じ値の出現頻度と出現する値の種類とに基づいてデータ分布の偏り度合いを求める。ここで、符号化処理部11cでの符号化においては、データの出現頻度に応じて異なる長さの符号が割り当てられ、これにより符号化後の全体のデータサイズを小さくすることができる。また、出現する値の種類が少ないほど符号の種類も少なくて済み、符号長が抑制される結果、符号化後の全体のデータサイズを小さくすることができる。同じ値の出現頻度は、例えば、各データのデータ総数に対する最頻値のデータ数の比率Rdで定義することができる。また、出現する値の種類Sdは、出現頻度が1以上のデータ値の数を数えることによって取得することができる。
【0078】
符号化処理部11cは2つのパラメータRd,Sdに基づいてデータの偏り度合いを示す一元化されたパラメータDdを所定の演算により算出し、当該パラメータDdに基づいて、4種類の圧縮データ群を偏り度合いの大きい順に結合して併合データを生成する。例えば、パラメータDdとして、RdとSdとの比を用いることができる。
【0079】
図16〜図19の例では、出現頻度が特に高い値を有するタイムスタンプ及びリターンパルスについてのRdはそれぞれ99.7%(=523,958/525,508×100%)と28.3%(=522,441/1,845,178×100%)とであり、レーザパルス発射時刻とミラー角度とについてのRdは前記2種類のデータに比べて低く、かつ両者のRdは同程度である。ここで、図17及び図18から理解されるように、レーザパルス発射時刻はミラー角度に比べてデータ種類が少なく、またばらつきが小さい。符号化処理部11cは、これら特徴を有するデータに対して、データの偏り度合いDdの算出結果に基づいて、タイムスタンプ、リターンパルス、レーザパルス発射時刻、ミラー角度の順に圧縮データを結合し併合データを生成する。
【0080】
ちなみに、各圧縮データの偏り度合いは、計測により取得されるデータに応じて変動し得るが、符号化処理部11cは、その変動に対して圧縮データの結合順序を随時変更することができる。
【0081】
符号化処理部11cは、得られた併合データに対して動的なエントロピー符号化を施す。ここで符号化には静的な符号化、動的な符号化の2種類が存在する。静的な符号化とは、一度、符号化するデータを全て確認し、出現する値の分布を利用して次の文字、あるいは文字列の出現頻度を保存し、圧縮する手法である。一方の動的な符号化とは、一定範囲で出現する値の分布を取得し、そのタイミングで最適な出現頻度を保存し、利用するというものである。エントロピー符号化の代表的な手法としてはハフマン法が知られている。本システムでは動的なエントロピー符号化の一手法であるPPM(Prediction by Partial Matching)を採用している。
【0082】
また符号化処理部11cは、併合データにおけるデータ種類の配列順序を示す識別情報と共に、符号化結果のデータを後段のストリーミング処理部12へ出力する。
【0083】
ストリーミング処理部12は、データ伝送中にて地上基地局での解析を可能とするためにストリーミング処理を行う(ステップS5)。次いで伝送データ変換処理部13において搬送波の整形が行われ(ステップS6)、出力部14から伝送される(ステップS7)。
【0084】
なお、以上の実施形態では、パルスデータのみが圧縮処理され、GPS/IMUデータについてはそのまま直接伝送する構成を示したが、GPS/IMUデータについても圧縮処理を行って伝送するように構成することも可能である。ちなみに、GPS/IMUデータは計測航路への旋回、移動の期間を使用して伝送することができる。
【0085】
また、上記送信部6及びパルスデータ生成部9、GPS/IMUデータ生成部10は、コンピュータに当該機能を実行させるコンピュータプログラムを使用して達成可能である。
【0086】
図20は、飛行体からの伝送情報を受領する地上基地局のブロック図である。地上基地局は受信処理部15と復元処理部16とからなるデータ再生部7を有する。受信処理部15の受信部15aで上記飛行体1からの圧縮データを受信すると、受信しながら後段のデータ解析を行うことができるように、ストリーミング処理部15bにおいてストリーミング処理を行い(ステップSG1)、復元処理部16の復号部16aへ出力する(ステップSG2)。
【0087】
図21は、圧縮データの復元処理を示す説明図である。復号部16aでは、上記圧縮データファイルの符号化及び結合処理を解除して符号化前の状態に戻す。このとき、復号部16aは、符号化処理部11cにて符号化データファイルに付加された識別情報に基づいて符号化時における圧縮データの結合順序を把握し、その結合順序に従って、圧縮データのデータ種類を把握する。
【0088】
さらに、復元部16bでは、圧縮されたデータを伸張し復元する復元処理を行う(ステップSG3)。復元処理により、図21の中段に示すように、発射時刻データTn、ミラー回転角データθn及びリターンパルスデータPknは各々分離データ列SDの状態となり、これをデータ結合部16cにおいてデータ結合すると(ステップSG4)、図21の下段に示すように、パルスデータ生成部9からの出力が再現される。
【0089】
この結合データは、データ解析部5において解析されて、リターンパルス群による計測結果が演算される。解析に際して、観測データは一旦、パルスデータ・GPS/IMUデータ格納部5aに格納され(ステップSG5)、実距離化・座標化処理部5bで実位置等が演算される(ステップSG6)。実距離化・座標化処理部5bは、飛行体1の光学系の特性に基づく内部評定要素、及びGPS/IMUデータに基づく外部評定要素を利用してリターンパルスの反射部の所定投影空間上での位置、高さを演算する。なお、一般にGPS/IMUからのデータ数は、レーザパルス発射数に比して小数であり、一対一で対応しないために、上述したように、添え字“n”に対応するレーザデータ以外のレーザデータに対する外部評定要素には、取得されたGPS/IMUデータに対する補間値が使用される。
【0090】
このようにして得られた各ポイントデータは三次元情報を有しているために、これを使用して地表面を点描状に表示することも可能であり、これらの用に供するために、ポイントデータ群はポイントデータ格納部17に格納される(ステップSG7)。
【0091】
さらに本実施形態において、地上基地局には3D処理部18が設けられる。3D処理部18は、上記ポイントデータ群をもとに、例えば、三次元ポリゴン、テクスチャ等を備えた3D画像を形成するための3Dデータ生成部18aを備える。この3Dデータ生成部18aでの生成データは生成3Dデータ18bに格納され、所望により3Dデータ表示部18cで表示される。
【0092】
また、地上基地局には、即応性を利用して例えば地殻変動、災害等の情報を直ちに得ることができるように、比較部19を備える。比較部19は、既存3Dデータ19aと差分データ生成部19bと、上記3Dデータ表示部18cとを有して構成される。3Dデータ生成部18aからの出力は、差分データ生成部19bにおいて既存3Dデータ19aとの比較が行われ、画像上の相違点を検出する。検出結果は、上記3Dデータ表示部18cに表示し、必要に応じて上空の飛行体1に再計測、或いは計測範囲の拡大等を指示することができる。
【0093】
なお、以上において、データ再生部7、データ解析部5、3D処理部18及び比較部19は、当該機能を実行させるようにコンピュータを動作させるコンピュータプログラムによっても達成可能である。
【0094】
また、上述の構成ではタイムスタンプ、レーザパルス発射時刻、ミラー角度及びリターンパルスの4種類のデータについての符号化に際してのデータ結合順序を説明したが、本発明のデータ符号化は他の種類のデータの組み合わせに対しても実施することができ、またデータ種類の数も4種類には限定されない。上述したように複数種類のデータを結合して符号化する際に、データ分布の偏り度合いが大きいものから順に結合することにより、符号化効率の向上が図られる。
【図面の簡単な説明】
【0095】
【図1】航空機、ヘリコプター等の飛行体を使用したレーザ計測の概要を示す説明図である。
【図2】リターンパルスを示す説明図である。
【図3】レーザ計測部、GPS/IMU及び送信部の構成を示すブロック図である。
【図4】パルスデータ生成部からのデータの出力フォーマットを示す模式図である。
【図5】GPS/IMUデータ生成部からのデータの出力フォーマットを示す模式図である。
【図6】レーザパルス発射時刻データの変化を示すグラフである。
【図7】圧縮処理部におけるレーザパルス発射時刻データの圧縮処理の概要を示すブロック図である。
【図8】レーザパルス発射時刻データTnの圧縮処理における二次差分値列生成処理P1を示す概略のフロー図である。
【図9】対応付け処理P3で用いるインデックステーブルTBLの構造を示す模式図である。
【図10】圧縮データ形成処理P4を説明する模式図である。
【図11】ミラー回転角データθnの圧縮例を示す模式図である。
【図12】圧縮データの二次差分収納分のデータフォーマットを示す模式図である。
【図13】ミラー回転角データθnの圧縮処理の流れを示す模式図である。
【図14】分離データ列SD(P)の具体的な例を示す模式図である。
【図15】図14の分離データ列に対応して生成される保存データの模式図である。
【図16】タイムスタンプに関する圧縮データのデータ分布の一例を示すグラフである。
【図17】レーザパルス発射時刻に関する圧縮データのデータ分布の一例を示すグラフである。
【図18】ミラー角度に関する圧縮データのデータ分布の一例を示すグラフである。
【図19】リターンパルスに関する圧縮データのデータ分布の一例を示すグラフである。
【図20】飛行体からの伝送情報を受領する地上基地局のブロック図である。
【図21】圧縮データの復元処理を示す説明図である。
【符号の説明】
【0096】
1 飛行体、2 レーザスキャナ、2a レーザ発射部、2b 回転ミラー、4 レーザ計測部、5 データ解析部、5a パルスデータ・GPS/IMUデータ格納部、5b 実距離化・座標化処理部、6 送信部、7 データ再生部、8 反射波受信センサ、9 パルスデータ生成部、10 GPS/IMUデータ生成部、11 圧縮部、11a データ分離部、11b 圧縮処理部、11c 符号化処理部、12 ストリーミング処理部、13 伝送データ変換処理部、14 出力部、15 受信処理部、15a 受信部、15b ストリーミング処理部、16 復元処理部、16a 復号部、16b 復元部、16c データ結合部、17 ポイントデータ格納部、18 3D処理部、18a 3Dデータ生成部、18b 生成3Dデータ、18c 3Dデータ表示部、19 比較部、19a 既存3Dデータ、19b 差分データ生成部、20 POS、22 GPS/IMU。
【技術分野】
【0001】
本発明はデータ符号化装置に関し、特に複数種類のデータ群を結合したデータに対する符号化効率の向上に関する。
【背景技術】
【0002】
航空機等の飛行体からレーザビームを照射して地上の凹凸情報を取得するレーザ計測方法として、下記特許文献1に記載されるものが知られている。一般に、航空機上で取得される観測データは、発射するレーザパルス単位に発射時刻、発射位置、発射方向、複数のリターンパルスに関する情報を含み、データサイズが膨大なものとなる。そのため、従来技術においては、航空機上で取得されたデータは、航空機に搭載したデータ記録部に格納され、計測終了後に地上のデータ処理装置に移され処理、解析される。
【0003】
しかし、例えば、災害時における地上の状況把握等のような利用目的では、即応性が要求される。そこで、航空機の着陸を待たずにデータ解析を行うことを可能とするレーザ計測システムの開発が進められている。具体的には、航空機上で取得される観測データを無線伝送で地上に送るレーザ計測システムの開発が進められている。当該システムでは、観測データの量が膨大となり、その一方で当該観測データを限られた伝送容量で短時間に地上に送ることが要求されるため、当該観測データを圧縮・符号化して伝送し、地上にて復号化・伸張するという方法が検討されている。
【特許文献1】特開2003−156330号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
膨大な観測データを地上に効率よく伝送するためには、符号化の効率向上が一つの課題となる。
【0005】
本発明は、上述のレーザ計測システムにおける課題を解決するためになされたものであり、特に複数種類のデータ群を結合したデータに対する符号化効率が向上するデータ符号化装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るデータ符号化装置は、複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析手段と、前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合手段と、前記併合データに対して動的なエントロピー符号化を行うデータ符号化手段と、を有するものである。
【0007】
他の本発明に係るデータ符号化装置においては、前記データ分布解析手段が、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定める。
【0008】
本発明に係るデータ符号化方法は、複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析ステップと、前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合ステップと、前記併合データに対して動的なエントロピー符号化を行うデータ符号化ステップと、を有するものである。
【0009】
他の本発明に係るデータ符号化方法においては、前記データ分布解析ステップが、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定める。
【0010】
本発明に係るデータ符号化プログラムは、コンピュータに、複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析機能と、前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合機能と、前記併合データに対して動的なエントロピー符号化を行うデータ符号化機能と、を実現させるものである。
【0011】
他の本発明に係るデータ符号化プログラムにおいては、前記データ分布解析機能が、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定める。
【発明の効果】
【0012】
本発明によれば、複数のデータ群それぞれのデータ分布の偏り度合いを解析し、その結果に基づいてデータ群の結合順序を決定することで、符号化対象として入力される具体的なデータ群に対応して好適な符号化効率が実現される。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。本実施形態は、航空機、ヘリコプター等の飛行体を使用したレーザ計測システムに関するものであって、そのシステムにおいて飛行体に搭載される符号化処理部が本発明を用いて実施される。
【0014】
図1は、航空機、ヘリコプター等の飛行体を使用したレーザ測量の概要を示す説明図である。飛行体1は、レーザ計測部4、GPS/IMU(Global Positioning System/Inertial Measurement Unit)22及び送信部6を搭載し、レーザ計測部4はレーザスキャナ2、反射波受信センサ8及びPOS(Position Orientation System)20を含んで構成される。
【0015】
レーザスキャナ2は、制御部(図示せず)により、所定時間間隔でレーザパルスを発射するレーザ発射部2aと、レーザパルスの照射方向を所定角度範囲内で振って地上のスキャンを可能とする回転ミラー2bとを備える。
【0016】
反射波受信センサ8は、レーザの発射パルスに対する地表からの反射パルス(リターンパルス)を検出する。
【0017】
POS20は、データ取得時の時刻情報であるタイムスタンプを生成する。
【0018】
GPS/IMU22は飛行状態データとして、飛行体1のGPS位置及び傾き情報を出力する。
【0019】
送信部6は、レーザ計測部4にて得られたデータ(レーザ計測データ)及びGPS/IMU22から得られるデータ(飛行状態データ)を、圧縮等の処理を施した上で地上基地局へ無線送信する。
【0020】
図2は、リターンパルスを示す説明図である。発射された1発のレーザパルスに対して、地上物による複数回(通常1ないし5回程度)の反射が生じ、それに応じてリターンパルスも複数回検出され得る。反射波受信センサ8は、n発目の発射パルスに対するk番目のリターンパルスの捕捉時刻情報をリターンパルスデータPknとして出力する。ここで、リターンパルスデータPknは発射されたレーザパルスが地表や地物に反射し、反射波受信センサ8に戻って来るまでの時間である。また反射波受信センサ8からは、レーザの反射強度情報であるインテンシティを得ることもできる。このインテンシティを解析することで、レーザパルスを反射した物体が何かを判断することが可能となる。
【0021】
レーザ計測部4は、リターンパルスデータPknの他に例えば、レーザパルスの発射時刻データTn、そのときの回転ミラー2bの回転角データθn及びタイムスタンプTSnをレーザ計測データとして取得する。ここで、レーザ発射部2aから発射されたレーザパルスは回転ミラー2bの反射により照射方向を変化されるため、回転角データθnは、レーザパルスの照射角度を意味する。また、GPS/IMU22は、レーザスキャナ2のレーザパルス発射タイミングに同期して、レーザパルス発射時の飛行体1のGPS位置、傾き情報等を出力する。
【0022】
なお、レーザ計測データ及び飛行状態データはレーザ計測部4やGPS/IMU22の構造により適宜無次元化された数値として出力されるものであってもよく、またレーザパルス発射時刻、或いはリターンパルスデータ等の時刻情報は、例えば、計測開始からの経過時間であってもよい。
【0023】
図3はレーザ計測部4、GPS/IMU22及び送信部6の構成を示すブロック図である。上述したようにレーザ計測部4は、レーザスキャナ2、反射波受信センサ8、及びPOS20を備え、レーザ計測データはパルスデータ生成部9に出力される。また、GPS/IMU22が出力する飛行状態データはGPS/IMUデータ生成部10へ出力される。
【0024】
図4は、パルスデータ生成部9からのデータの出力フォーマットを示す模式図である。また、図5は、GPS/IMUデータ生成部10からのデータの出力フォーマットを示す模式図である。パルスデータ生成部9は、上述したように、発射パルス(レーザパルス)を単位として、当該発射パルスに対応する各出力値を所定の順序で配列したデータ列を出力する。図4に示す例は、各発射パルスに対して最大5次までのリターンパルスデータPknが取得され得ることを想定した場合のデータフォーマットを示すものであり、先頭からタイムスタンプTSn、レーザパルスの発射時刻データTn、ミラー回転角データθn、及びリターンパルスデータPknの順に格納される。ちなみに、上述したように、リターンパルスデータPknは必ずしも5次まで取得されるとは限らないため、取得されなかった次数の格納位置には、例えば“0”を格納する(図14参照)。
【0025】
一方、GPS/IMUデータ生成部10からは、図5に示すように、GPS時間TAn、IMU時間TBn、x方向加速度VXn、x方向角度AXn、y方向加速度VYn、y方向角度AYn、z方向加速度VZn、z方向角度AZnが出力される。ここで、GPS/IMU22のデータ取得タイミングは、レーザパルスより低い頻度ではあるが、レーザパルスの発射タイミングに同期するように設定される。そこで、GPS/IMUデータ生成部10からの出力値は、パルス番号を表す添え字“n”を介して、パルスデータ生成部9の出力値と対応付けられる。
【0026】
飛行体1におけるレーザ計測が開始されると、レーザ計測部4及びGPS/IMU22にて取得されるデータは、パルスデータ生成部9或いはGPS/IMUデータ生成部10へ出力される。パルスデータ生成部9及びGPS/IMUデータ生成部10は、入力されたデータから所定のデータ列を生成し送信部6へ出力する。例えば、パルスデータ生成部9の出力は送信部6の圧縮部11へ入力される(ステップS1)。
【0027】
圧縮部11は、データ分離部11a、圧縮処理部11b及び符号化処理部11cを含んで構成され、入力されたデータを圧縮する。この圧縮処理は、即時性の向上を図るために、データ全体の容量に対し、例えば、4Mバイト程度の比較的小さな単位で行われる。
【0028】
データ分離部11aは、図4に示すように、パルスデータ生成部9から出力されたパルスデータを、タイムスタンプTSn、レーザパルス発射時刻データTn、ミラー回転角データθn及びリターンパルスデータPknの4種類のデータ列SD(TS)、SD(T)、SD(θ)及びSD(P)に分割し(ステップS2)、これら各分離データSDを圧縮処理部11bへ出力する。図4に示すように、分離データ列SD(TS)、SD(T)及びSD(θ)それぞれにおけるタイムスタンプTSn、レーザパルス発射時刻データTn、ミラー回転角データθnは、パルス発射順に並ぶ。また、分離データ列SD(P)におけるリターンパルスデータPknは、パルス発射順が同じ5個のデータからなるデータ群がパルス発射順に並び、各データ群の中では、5個のデータが反射次数順に並んだフォーマットを有する。この分離データSD(P)には、必要に応じて、データ群の境界にデータ終端マークが挿入される。
【0029】
圧縮処理部11bは、各分離データ列SDの特徴を利用して、それぞれ異なったアルゴリズムでデータ圧縮を行う(ステップS3)。
【0030】
例えば、本実施形態のPOS20はその仕様上、タイムスタンプTSnとして、ほとんどの場合に、ミラー回転角データθnの下位2桁と同じ値を出力するものを使用している。そこで、TSnとθnとの差分値で置き換える圧縮法を採用することにした。これにより、ほとんどのTSnは0に置き換えることができ、データ量が圧縮される。
【0031】
次に図6は、レーザパルス発射時刻データの変化を示すグラフであり、横軸がレーザパルス発射順序、縦軸が発射時刻である。この図に示されるように、レーザパルス発射順序に対して発射時刻は、周期的に繰り返す右上がりの直線上に分布する傾向がある。この性質から、隣接するレーザパルス発射時刻データTnの二次差分値は0近傍に分布する小さな値となることが期待され、この二次差分値を用いることにより発射時間データの圧縮を図ることができる。
【0032】
図7は、圧縮処理部11bにおけるレーザパルス発射時刻データの圧縮処理の概要を示すブロック図である。圧縮処理部11bは、まず、二次差分値列を順次、生成し(処理P1)、生成される二次差分値を順番に2つずつ組み合わせた二次差分値対を生成する(処理P2)。圧縮処理部11bは、二次差分値対に現れる数値列パターンと指標データとの関連付けを定義するインデックステーブルTBLを予め設定し、処理P2で生成された二次差分値対とテーブルTBLに登録された指標データとの対応付け処理を行う(処理P3)。この処理では、二次差分値対と一致する数値列パターンがテーブルTBLに存在する場合に、その二次差分値対に、当該数値列パターンに対応する指標データが対応付けられる。圧縮処理部11bは、この指標データを用いて圧縮データを形成する(処理P4)
【0033】
図8は、レーザパルス発射時刻データTnの圧縮処理における二次差分値生成処理P1を示す概略のフロー図である。なお、以下の説明において、記号“Tn”はn発目のレーザパルスの発射時刻、記号“Δ1,n”は発射時刻Tnの一次差分値T(n+1)−Tn、記号“Δ2,n”は発射時刻Tnの二次差分値(Δ1,n+1)−(Δ1,n)を表す。
【0034】
二次差分値列S(Δ2,n)の生成に際し、まず、二次差分値列生成用のバッファエリアBUFをメモリ上に設定し、先頭にSOB(Start of Block)マークを挿入する(ステップST1)。SOBは予め定められた所定のビット長を有しており、以下の処理で出現することのないコードに設定される。この後、SOBマークの後にレーザパルス発射時刻Tnを挿入する。このTnは、二次差分値列から元の発射時刻の分離データ列SD(T)を復元する際に用いられる。
【0035】
次に、一次差分値Δ1,nを算出し(ステップST2)、その正負を判定する(ステップST3)。上述したように、レーザパルス発射時刻データTnは周期的に繰り返す右上がりの直線上に分布する傾向があるため、一次差分値の符号が正の場合には、その一次差分値の関係するT(n+1)とTnとは同じ直線に沿って位置し、一方、一次差分値の符号が負の場合には、T(n+1)とTnとの間で直線の乗り換えが生じ、T(n+1)は次の直線に沿って位置していると考えられる。
【0036】
符号が負の場合には、パルス番号nを1だけ増加させ、ステップST1から処理を繰り返す。すなわち、改めてSOBマークをバッファリングされているデータの後尾に挿入し、続けてTnを挿入する。例えば、直前のステップST1からの処理がn=kに対するものでありTkを挿入した後、T(k+1)−Tk<0であった場合には、次のステップST1からの処理においては、SOBマークの次にT(k+1)が挿入される。
【0037】
ちなみに、一次差分値の符号が負の場合には上述のようにSOBマークが挿入され、このSOBマークは評価対象のT値が直前のT値が帰属する直線からはずれて新たな直線に移動したことを示すこととなる。すなわち、SOBマークは、それぞれ1つの直線に対応するデータブロックのデリミタとしての意味を有する。
【0038】
一方、符号が正の場合には、求めた一次差分値Δ1,nを直前に挿入されたTnの後に挿入する(ステップST4)。このΔ1,nは、直前に挿入されているTnと共に、二次差分値列から元の発射時刻の分離データ列SD(T)を復元する際に用いられる。
【0039】
符号が正の場合、さらに一次差分値Δ1,n+1を求める(ステップST5)。この一次差分値Δ1,n+1についてもステップST3と同様の理由から符号の判定が行われ(ステップST6)、符号が負の場合には、パルス番号nを2だけ増加させステップST1から処理を繰り返し、新たなデータブロックの生成が開始される。
【0040】
Δ1,n+1の符号が正の場合には、二次差分値Δ2,nを求め(ステップST7)、ステップST4で挿入したΔ1,nの後に当該Δ2,nを挿入する(ステップST8)。二次差分値の生成は、nを1ずつ増加させながら(ステップST9)、繰り返され、上述のようにT値が次の直線に帰属することになるか(ステップST6)、T値の終わりに達するまで(ステップST10)、順次、二次差分値がバッファされる。
【0041】
なお、発射時刻データTnの観測精度によっては図6の直線が多少変動する場合がある。この場合、一次差分値が負でかつその絶対値が所定値より大きい場合には、T(n+1)とTnとの間で直線の乗り換えが生じているものと判断する。一方、一次差分値が正、または一次差分値が負でかつその絶対値が所定値以下の場合には、T(n+1)とTnが同じ直線に沿って位置しているものと判断する。
【0042】
元のレーザパルス発射時刻データTnは大きな値を取り得るが、二次差分値Δ2,nは、上述のように0近傍の小さな値であり、元のレーザパルス発射時刻データTnに比べて短いデータ長で表すことができる。例えば、元のレーザパルス発射時刻データTnが4バイトを要するとしても、基本的に二次差分値Δ2,nは1バイトで表現することが可能である。すなわち、二次差分値は既に圧縮されていると言える。しかし、圧縮処理部11bは、バッファに次々と挿入される二次差分値を、これから述べる処理P2〜P4によりさらに圧縮し、保存データを生成する。以下、この二次差分値列の圧縮処理について説明する。
【0043】
図9は処理P3で用いるインデックステーブルTBLの構造を示す模式図である。図には、左欄に示すインデックスIに対応する二次差分値対の1つ目の値(先行二次差分値Δ2P)、2つ目の値(後続二次差分値Δ2F)、及び保存データ要素Eが横方向に配列されている。ここで、二次差分値は既に述べたように、0近傍にほとんどが分布する。経験的に、二次差分値列において−1,0,+1が高い出現確率で現れる。そこで、本実施形態では、二次差分値列における出現確率が所定値以上である代表差分値として、−1,0,+1を設定し、これに対応して、インデックステーブルが定義されている。EはIをバイナリ表示したデータである。後述するようにインデックスIは13種類であるので、Eは実質的に4ビットで表現可能である。
【0044】
インデックスI=0〜5及び10〜12は、Δ2P、Δ2Fからなる数値パターンが、3種類の代表差分値(−1,0,+1)を2個並べる9通りの順列パターンに対応する。
【0045】
インデックスI=6〜8は、Δ2Pが3種類の代表差分値(−1,0,+1)のいずれかであり、Δ2Fが代表差分値以外の値(Δ2Fが存在しない場合を含む)である3つの特例パターンである。図9において、代表差分値以外であることは記号“NULL”で表されている。
【0046】
インデックスI=9は、例外的な場合に用いられる例外識別データを定義するものである。ここで例外的な場合の1つは、Δ2Pとして取り出した二次差分値が代表差分値以外である場合(特例差分値)である。この場合には、後続する二次差分値をΔ2Fとして組み合わせることなく、Δ2Pとして取り出した二次差分値だけを以て、インデックスIとして9を割り当てる。例外的な場合のもう1つは、Δ2P、Δ2Fのいずれも存在しないことを表す場合である。
【0047】
圧縮処理部11bは、圧縮処理P1〜P4の開始に際して、圧縮データ格納用のデータエリアSTRをメモリ上に設定する。圧縮処理部11bは、二次差分値列生成処理P1において、上述のバッファBUFへのデータ格納を行う一方、処理P2〜P4において、当該バッファBUFから順次、データを取り出し処理を行う。
【0048】
圧縮処理部11bは、処理P2において、バッファBUFから取り出したデータがSOBマーク、Tn、Δ1,nである場合は、それらデータをそのままデータエリアSTRに転写する。
【0049】
一方、バッファBUFから取り出したデータが二次差分値Δ2,nである場合には、圧縮処理部11bはさらにそれに続く二次差分値Δ2,n+1も取り出し、二次差分値対を生成し(処理P2)、テーブルTBLのΔ2P、Δ2Fからなるパターンとのマッチングを行って当該二次差分値対に対応する保存データ要素E1を決定する(処理P3)。
【0050】
二次差分値対が代表差分値の組み合わせであるI=0〜5、10〜12であった場合、圧縮処理部11bは、原則として、さらに後続する二次差分値Δ2,n+2、Δ2,n+3からなる二次差分値対について同様に保存データ要素E2を決定する。そして、E1を上位4ビット、E2を下位4ビットとして両者を結合して1バイトの保存データESを生成し、これを圧縮データ格納用データエリアSTRに追加格納する(処理P4)。
【0051】
図10は、圧縮データ形成処理P4を説明する模式図である。図10(a)〜(c)が、上述した先行する二次差分値対のインデックスIが0〜5,10〜12である場合を表している。図10(a)(b)は4つの二次差分値に基づいて保存データESが生成される原則的な場合に対応し、図10(a)は、後続の二次差分値対のインデックスIも0〜5,10〜12である場合であり、図10(b)は、後続の二次差分値対のインデックスIが6〜8である場合である。
【0052】
一方、図10(c)(d)は、3つ、又は2つの二次差分値に基づいて保存データESが生成される例外的な場合であり、保存データ要素E2として、インデックスI=9に対応するデータが割り当てられる。そして、図10(a)(b)の場合と同様、E1を上位4ビット、E2を下位4ビットとして両者を結合して1バイトの保存データESが生成され、これが圧縮データ格納用データエリアSTRに追加格納される(処理P4)。
【0053】
ここで、図10(c)は、Δ2,n+2として取り出した二次差分値が代表差分値以外であった場合である。後述するように、代表差分値以外の二次差分値(特例差分値)が現れた場合、処理P4の一部として、当該特例差分値をデータエリアSTRに格納する処理が行われ、後続の二次差分値についての処理はその特例差分値を格納する処理後に継続される。そのため、当該Δ2,n+2として取り出した二次差分値の後続の二次差分値はΔ2,n+3としては取り出さず、保存データ要素E2としてインデックスI=9に対応するデータを割り当てる。
【0054】
また、図10(d)は、Δ2,n+1が特例差分値である場合である。この場合も、特例差分値を格納する処理に移行する都合上、後続の二次差分値はΔ2,n+2、Δ2,n+3として取り出さず、保存データ要素E2としてインデックスI=9に対応するデータを割り当てる。
【0055】
ちなみに、図10(b)に示す場合は、Δ2,n+3が特例差分値であり、この保存データESをデータエリアSTRに格納した後、特例差分値の格納処理が行われる。また、Δ2,nが特例差分値であった場合が図10には示されていないが、この場合は、保存データ要素の組み合わせからなる保存データESは生成せずに、直接、先行する保存データESに続けて、当該特例差分値が追加格納される。
【0056】
特例差分値の格納処理は、先行する保存データES及び後続する保存データESとの間に挿入されたことが識別可能な所定のフォーマットのデータ(特例保存データEE)をデータエリアSTRに追加する処理である。例えば、特例保存データEEの第1バイトはいずれの保存データESとも区別可能なデータヘッダとする。例えば、データヘッダは“0xFF”とすることができる。データヘッダに続けて、1〜4バイトの可変長データを追加する。可変長データのデータ長は例えば、第2バイトのいくつかの所定ビットを用いて表すように定義される。地上基地局側で圧縮データを伸張する際には、その所定ビットの内容に基づいて、データヘッダから始まる特例保存データEEがどのバイトまでか、そしてその後のバイトから再び保存データESであることを把握することができる。特例差分値は、可変長データの残りのビットを用いて表される。
【0057】
既に述べたように、レーザパルス発射時刻データの性質として、ほとんどの二次差分値は代表差分値となる。上述の処理P2〜P4により、代表差分値が連続する場合には4つの代表差分値が1バイトの保存データESで表される。すなわち、個々の二次差分値を保存データとして格納する場合よりもレーザパルス発射時刻データの圧縮効率の一層の向上が実現される。
【0058】
次に、ミラー回転角データθnに対する圧縮操作を説明する。縦軸にミラー回転角データθn、横軸にレーザパルスの発射順序をとった、レーザパルス発射順序-ミラー回転角線図は正弦曲線に近似可能であり、連続性に着目して、二次差分値を保存データとする。また、回帰線図が上述したレーザパルス発射時刻とは異なり、全領域に不連続点が存在しない。このため、跳躍点での差分値保存によってデータ長が過度に大きくなる心配がないので、SOBマークで区切られたデータブロックを設定する必要がなく、単に二次差分値を連ねるだけで足りる。二次差分値である各圧縮値から元データを算出可能とするために、圧縮データの最初に元データ、次に一次差分値が挿入され、これに続いて二次差分値が記述される。
【0059】
図11は、ミラー回転角データθnの圧縮例を示す模式図である。左側のテーブルは元データと演算経過を示し、このテーブルの中のどの要素が、その右に示す保存データ(圧縮データ)として格納されるかが示されている。元データは縦に並べて示されており、“行”コラムがレーザパルスの発射順序に対応し、例示のミラー回転角データθnは、1発目が100で、この後、200,301,400,…と続くことを示している。
【0060】
このような元データがある場合、まず、先頭の元データ“100”を保存データ1として抽出する(ステップSθ1)。この後、ステップSθ2で第2の元データ“200”と先頭元データ“100”との一次差分を演算し、その演算結果“100”を保存データ2として保存データ1の後続データとして登録する。次いで、第3の元データ“301”と第2の元データ“200”との一次差分“101”と、上記ステップSθ2で求めた一次差分“100”とから求めた二次差分“1”を保存データ3として、保存データ2に続けて登録する(ステップSθ3)。以降、ステップSθ3と同様の手順を繰り返し、二次差分を順次、保存データとして登録して処理を完了する。
【0061】
図12は、以上の手順により得られる圧縮データの二次差分収納分のデータフォーマットを示す模式図である。上述したように、このデータフォーマットの前に第1の元データ、一次差分データが存在するが、ここでは図示が省略されている。図12に示すように、二次差分は、小さな値であるので6ビット程度で表現可能であり、これに2種類の状態判定ビットを付加した8ビット(1バイト)長で格納される。
【0062】
上記状態判定ビットは各々1ビット長を持つ正負判定ビットとエラー判定ビットである。正負判定ビットは、二次差分の正負により決定される。また、エラー判定ビットは、6ビット長で記述不可能な場合をエラー値として格納したことを示す。本実施形態において、エラービットが立っている状態では、二次差分は2バイト長拡張された領域に格納される。
【0063】
図13〜図15を用いてリターンパルスPknの圧縮手順を説明する。図13は、圧縮処理の流れを示す模式図であり、上段の枠内は図4で示した分離データ列SD(P)である。図13に示すように、分離データ列SD(P)には、1発のレーザパルスに対して5個のリターンパルスデータ(P1n,P2n,…,P5n)の領域が確保され、リターンパルスデータPknのない部分には“0”が格納されている。図2に示すように、リターンパルスは森林等における樹木での葉の間から漏れたレーザパルスが、さらに地表側に位置する他の反射物に反射して得られるもので、全ての領域が埋まることは比較的少なく、さらに“0”等の小さな値で“値なし”を示す場合であっても、そうでない他のリターンパルスデータの値を格納するのと同じ所定のビット長の領域が割り当てられる。
【0064】
このようなデータ構造に伴うデータの冗長性を解消するために、まず、データ構造を変更する(ステップSP1)。ステップSP1の実施に際して、n発目のレーザパルスに対するリターンパルスデータ群(P1n,P2n,…,P5n)を格納する領域中でのデータ充填を表示するヘッダ情報“Head_n”を導入し、“値なし”データを削除する。本実施形態において、ヘッダ情報Head_nには1バイトの領域が与えられ、下位5ビットで最終次数及びリターンパルスデータ格納位置を示す。例えば、1次リターンパルスデータP1nのみが存在し、2次以降が“値なし”である場合には、ヘッダ情報Head_nは“00000001”で与えられ、3次リターンパルスデータP3nまで存在し、かつ2次リターンパルスが存在せず、1次及び3次のリターンパルスが存在するときには“00000101”、全て埋まっている場合には、“00011111”で与えられる。この結果、データ列は、図13の中段の枠内に示すように、ヘッダ情報Head_nと実データとにより記述されることとなる。
【0065】
次いで、データ間の差分をとって保存データとする(ステップSP2)。ステップSP2は、Q計算とR計算とを行いながら保存データを決定していき、圧縮データ列は、図13の下段の枠内に示すように、パルス番号“n”に対するヘッダ情報Head_n、Q値“Q1n”、R値“Rkn”の順に格納される。R値Rknの添え字“k”はリターンパルスの次数を示す。後述するように、1次のリターンパルスデータP1nに対しては、直前の1次リターンパルスデータ(P1,n-1)との差分であるQ値Q1nを保存データとするので、kは2以上5以下の整数となる。
【0066】
Q計算及びR計算を図14、図15に示す例で説明する。ここで、図14は分離データ列SD(P)の具体的な例を示す模式図である。また、図15は、図14の分離データ列に対応して生成される保存データの模式図である。
【0067】
図14に示す元データでは、レーザパルス番号“1”に対して1次リターンパルスのみが得られ、その値は“100”であることが示されている。また、レーザパルス番号“7”に対しては5次までのリターンパルスが捕捉され、その値は、1次側から、“700,800,810,820,850”であることが示されている。
【0068】
まず、初期情報として、レーザパルス番号“1”のリターンパルスは1次のみが取得されているので、ヘッダ情報Head_nに“00000001”を格納した後、1次リターンパルスデータP11として“100”をそのまま格納する。説明を容易にするために、保存データはk行n列の配列Cmp、元データはk行n列の配列Orgを用いて表す。例えば、先頭データ“100”が保存データとして格納されたことは、Cmp(1,1)にOrg(1,1)が代入されていることで知ることができる。
【0069】
ここで、ヘッダ情報Head_1は1次パルスデータのみを格納していることを示していることから、この後、2次リターンパルスを検索することなく、1発目のレーザパルスに対する処理が終了し、次に2発目(n=2)のレーザパルスの処理に移行する。
【0070】
n=2以降では、まずQ値計算を行う。Q計算は、隣接するレーザパルスに対する1次リターンパルス間の差分を求める演算であり、
Q1n=P1n−P1,n-1
で与えられる。
【0071】
この例では、n=2であるから、
Q12=P12−P11
=Org(1,2)−Org(1,1)
=200−100=100
で与えられ、これがCmp(1,2)に代入される。
【0072】
Q計算が終了すると、同一のn値でR計算を行う。R計算はOrg配列の同一行での隣接値間の差分を取る演算であり、
Rkn=Pkn−Pk-1,n
で与えられる。図14、図15の例では、
R22=P22−P12
=Org(2,2)−Org(1,2)
=300−200=100
がCmp(2,2)に代入される。
【0073】
R計算は、同一レーザパルス番号のリターンパルスデータPknが終了するまで続けられ、この後、上述した手順、すなわち、ヘッダ情報Head_nの付与、1回のQ計算、適数回のR計算が繰り返される。
【0074】
このようにして得られたCmp配列は一次元配列(ビット列)に並べられ、圧縮対象のデータ列にされる。
【0075】
以上のようにして各々の分離データ列SDに対する圧縮処理が終了すると、結合処理がなされて1ファイルにまとめられ、次いで、図3に示す符号化処理部11cにおける符号化処理を行う(ステップS4)。符号化処理部11cは、4つの分離データ列SDそれぞれのデータ分布の偏り度合いを解析し、偏り度合いの大きい順にSDを結合して併合データを生成する処理を行うと共に、その併合データに対して動的なエントロピー符号化を行う。
【0076】
図16〜図19は、飛行体1上の装置で得られる観測データの一例であり、それぞれ横軸を出現するデータ値、縦軸を出現頻度とするデータ分布を表すグラフである。図16はタイムスタンプTSn、図17はレーザパルス発射時刻データTn、図18はミラー回転角データθn、図19はリターンパルスデータPknのそれぞれ上記圧縮処理後のデータ値の分布を表している。以下、これらのデータ例を用いて本システムの符号化処理を説明する。これら図に示すデータ例に現れる各データの特徴を述べる。まず、タイムスタンプに関しては、極端に出現頻度が高い値が存在すること、及び当該データ値以外の値の出現頻度は全て低く、バラツキも小さいことが挙げられる。一方、リターンパルスに関しては、極端に出現頻度が高いデータ値が存在する点ではタイムスタンプと同様であるが、当該データ値以外の値の出現頻度はタイムスタンプに比べれば、高いものから低いものまで存在し、多少のばらつきがある。なお、リターンパルスについては、全体のデータ量が非常に大きくなる。ミラー角度に関しては、出現値の種類が多いこと、及び出現頻度は高いものから低いものまで存在し、多少のばらつきがあるという特徴がある。レーザ発射時間に関しては、出現値の種類が少ない、出現頻度に多少のばらつきがある、全体のデータ量が非常に小さいといった特徴がある。
【0077】
符号化処理部11cは上述のような特徴を有する各データの分布の偏り度合いを、統計量等を用いて算出する。例えば、符号化処理部11cは、同じ値の出現頻度と出現する値の種類とに基づいてデータ分布の偏り度合いを求める。ここで、符号化処理部11cでの符号化においては、データの出現頻度に応じて異なる長さの符号が割り当てられ、これにより符号化後の全体のデータサイズを小さくすることができる。また、出現する値の種類が少ないほど符号の種類も少なくて済み、符号長が抑制される結果、符号化後の全体のデータサイズを小さくすることができる。同じ値の出現頻度は、例えば、各データのデータ総数に対する最頻値のデータ数の比率Rdで定義することができる。また、出現する値の種類Sdは、出現頻度が1以上のデータ値の数を数えることによって取得することができる。
【0078】
符号化処理部11cは2つのパラメータRd,Sdに基づいてデータの偏り度合いを示す一元化されたパラメータDdを所定の演算により算出し、当該パラメータDdに基づいて、4種類の圧縮データ群を偏り度合いの大きい順に結合して併合データを生成する。例えば、パラメータDdとして、RdとSdとの比を用いることができる。
【0079】
図16〜図19の例では、出現頻度が特に高い値を有するタイムスタンプ及びリターンパルスについてのRdはそれぞれ99.7%(=523,958/525,508×100%)と28.3%(=522,441/1,845,178×100%)とであり、レーザパルス発射時刻とミラー角度とについてのRdは前記2種類のデータに比べて低く、かつ両者のRdは同程度である。ここで、図17及び図18から理解されるように、レーザパルス発射時刻はミラー角度に比べてデータ種類が少なく、またばらつきが小さい。符号化処理部11cは、これら特徴を有するデータに対して、データの偏り度合いDdの算出結果に基づいて、タイムスタンプ、リターンパルス、レーザパルス発射時刻、ミラー角度の順に圧縮データを結合し併合データを生成する。
【0080】
ちなみに、各圧縮データの偏り度合いは、計測により取得されるデータに応じて変動し得るが、符号化処理部11cは、その変動に対して圧縮データの結合順序を随時変更することができる。
【0081】
符号化処理部11cは、得られた併合データに対して動的なエントロピー符号化を施す。ここで符号化には静的な符号化、動的な符号化の2種類が存在する。静的な符号化とは、一度、符号化するデータを全て確認し、出現する値の分布を利用して次の文字、あるいは文字列の出現頻度を保存し、圧縮する手法である。一方の動的な符号化とは、一定範囲で出現する値の分布を取得し、そのタイミングで最適な出現頻度を保存し、利用するというものである。エントロピー符号化の代表的な手法としてはハフマン法が知られている。本システムでは動的なエントロピー符号化の一手法であるPPM(Prediction by Partial Matching)を採用している。
【0082】
また符号化処理部11cは、併合データにおけるデータ種類の配列順序を示す識別情報と共に、符号化結果のデータを後段のストリーミング処理部12へ出力する。
【0083】
ストリーミング処理部12は、データ伝送中にて地上基地局での解析を可能とするためにストリーミング処理を行う(ステップS5)。次いで伝送データ変換処理部13において搬送波の整形が行われ(ステップS6)、出力部14から伝送される(ステップS7)。
【0084】
なお、以上の実施形態では、パルスデータのみが圧縮処理され、GPS/IMUデータについてはそのまま直接伝送する構成を示したが、GPS/IMUデータについても圧縮処理を行って伝送するように構成することも可能である。ちなみに、GPS/IMUデータは計測航路への旋回、移動の期間を使用して伝送することができる。
【0085】
また、上記送信部6及びパルスデータ生成部9、GPS/IMUデータ生成部10は、コンピュータに当該機能を実行させるコンピュータプログラムを使用して達成可能である。
【0086】
図20は、飛行体からの伝送情報を受領する地上基地局のブロック図である。地上基地局は受信処理部15と復元処理部16とからなるデータ再生部7を有する。受信処理部15の受信部15aで上記飛行体1からの圧縮データを受信すると、受信しながら後段のデータ解析を行うことができるように、ストリーミング処理部15bにおいてストリーミング処理を行い(ステップSG1)、復元処理部16の復号部16aへ出力する(ステップSG2)。
【0087】
図21は、圧縮データの復元処理を示す説明図である。復号部16aでは、上記圧縮データファイルの符号化及び結合処理を解除して符号化前の状態に戻す。このとき、復号部16aは、符号化処理部11cにて符号化データファイルに付加された識別情報に基づいて符号化時における圧縮データの結合順序を把握し、その結合順序に従って、圧縮データのデータ種類を把握する。
【0088】
さらに、復元部16bでは、圧縮されたデータを伸張し復元する復元処理を行う(ステップSG3)。復元処理により、図21の中段に示すように、発射時刻データTn、ミラー回転角データθn及びリターンパルスデータPknは各々分離データ列SDの状態となり、これをデータ結合部16cにおいてデータ結合すると(ステップSG4)、図21の下段に示すように、パルスデータ生成部9からの出力が再現される。
【0089】
この結合データは、データ解析部5において解析されて、リターンパルス群による計測結果が演算される。解析に際して、観測データは一旦、パルスデータ・GPS/IMUデータ格納部5aに格納され(ステップSG5)、実距離化・座標化処理部5bで実位置等が演算される(ステップSG6)。実距離化・座標化処理部5bは、飛行体1の光学系の特性に基づく内部評定要素、及びGPS/IMUデータに基づく外部評定要素を利用してリターンパルスの反射部の所定投影空間上での位置、高さを演算する。なお、一般にGPS/IMUからのデータ数は、レーザパルス発射数に比して小数であり、一対一で対応しないために、上述したように、添え字“n”に対応するレーザデータ以外のレーザデータに対する外部評定要素には、取得されたGPS/IMUデータに対する補間値が使用される。
【0090】
このようにして得られた各ポイントデータは三次元情報を有しているために、これを使用して地表面を点描状に表示することも可能であり、これらの用に供するために、ポイントデータ群はポイントデータ格納部17に格納される(ステップSG7)。
【0091】
さらに本実施形態において、地上基地局には3D処理部18が設けられる。3D処理部18は、上記ポイントデータ群をもとに、例えば、三次元ポリゴン、テクスチャ等を備えた3D画像を形成するための3Dデータ生成部18aを備える。この3Dデータ生成部18aでの生成データは生成3Dデータ18bに格納され、所望により3Dデータ表示部18cで表示される。
【0092】
また、地上基地局には、即応性を利用して例えば地殻変動、災害等の情報を直ちに得ることができるように、比較部19を備える。比較部19は、既存3Dデータ19aと差分データ生成部19bと、上記3Dデータ表示部18cとを有して構成される。3Dデータ生成部18aからの出力は、差分データ生成部19bにおいて既存3Dデータ19aとの比較が行われ、画像上の相違点を検出する。検出結果は、上記3Dデータ表示部18cに表示し、必要に応じて上空の飛行体1に再計測、或いは計測範囲の拡大等を指示することができる。
【0093】
なお、以上において、データ再生部7、データ解析部5、3D処理部18及び比較部19は、当該機能を実行させるようにコンピュータを動作させるコンピュータプログラムによっても達成可能である。
【0094】
また、上述の構成ではタイムスタンプ、レーザパルス発射時刻、ミラー角度及びリターンパルスの4種類のデータについての符号化に際してのデータ結合順序を説明したが、本発明のデータ符号化は他の種類のデータの組み合わせに対しても実施することができ、またデータ種類の数も4種類には限定されない。上述したように複数種類のデータを結合して符号化する際に、データ分布の偏り度合いが大きいものから順に結合することにより、符号化効率の向上が図られる。
【図面の簡単な説明】
【0095】
【図1】航空機、ヘリコプター等の飛行体を使用したレーザ計測の概要を示す説明図である。
【図2】リターンパルスを示す説明図である。
【図3】レーザ計測部、GPS/IMU及び送信部の構成を示すブロック図である。
【図4】パルスデータ生成部からのデータの出力フォーマットを示す模式図である。
【図5】GPS/IMUデータ生成部からのデータの出力フォーマットを示す模式図である。
【図6】レーザパルス発射時刻データの変化を示すグラフである。
【図7】圧縮処理部におけるレーザパルス発射時刻データの圧縮処理の概要を示すブロック図である。
【図8】レーザパルス発射時刻データTnの圧縮処理における二次差分値列生成処理P1を示す概略のフロー図である。
【図9】対応付け処理P3で用いるインデックステーブルTBLの構造を示す模式図である。
【図10】圧縮データ形成処理P4を説明する模式図である。
【図11】ミラー回転角データθnの圧縮例を示す模式図である。
【図12】圧縮データの二次差分収納分のデータフォーマットを示す模式図である。
【図13】ミラー回転角データθnの圧縮処理の流れを示す模式図である。
【図14】分離データ列SD(P)の具体的な例を示す模式図である。
【図15】図14の分離データ列に対応して生成される保存データの模式図である。
【図16】タイムスタンプに関する圧縮データのデータ分布の一例を示すグラフである。
【図17】レーザパルス発射時刻に関する圧縮データのデータ分布の一例を示すグラフである。
【図18】ミラー角度に関する圧縮データのデータ分布の一例を示すグラフである。
【図19】リターンパルスに関する圧縮データのデータ分布の一例を示すグラフである。
【図20】飛行体からの伝送情報を受領する地上基地局のブロック図である。
【図21】圧縮データの復元処理を示す説明図である。
【符号の説明】
【0096】
1 飛行体、2 レーザスキャナ、2a レーザ発射部、2b 回転ミラー、4 レーザ計測部、5 データ解析部、5a パルスデータ・GPS/IMUデータ格納部、5b 実距離化・座標化処理部、6 送信部、7 データ再生部、8 反射波受信センサ、9 パルスデータ生成部、10 GPS/IMUデータ生成部、11 圧縮部、11a データ分離部、11b 圧縮処理部、11c 符号化処理部、12 ストリーミング処理部、13 伝送データ変換処理部、14 出力部、15 受信処理部、15a 受信部、15b ストリーミング処理部、16 復元処理部、16a 復号部、16b 復元部、16c データ結合部、17 ポイントデータ格納部、18 3D処理部、18a 3Dデータ生成部、18b 生成3Dデータ、18c 3Dデータ表示部、19 比較部、19a 既存3Dデータ、19b 差分データ生成部、20 POS、22 GPS/IMU。
【特許請求の範囲】
【請求項1】
複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析手段と、
前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合手段と、
前記併合データに対して動的なエントロピー符号化を行うデータ符号化手段と、
を有することを特徴とするデータ符号化装置。
【請求項2】
請求項1に記載のデータ符号化装置において、
前記データ分布解析手段は、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定めること、を特徴とするデータ符号化装置。
【請求項3】
複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析ステップと、
前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合ステップと、
前記併合データに対して動的なエントロピー符号化を行うデータ符号化ステップと、
を有することを特徴とするデータ符号化方法。
【請求項4】
請求項3に記載のデータ符号化方法において、
前記データ分布解析ステップは、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定めること、を特徴とするデータ符号化方法。
【請求項5】
コンピュータに、
複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析機能と、
前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合機能と、
前記併合データに対して動的なエントロピー符号化を行うデータ符号化機能と、
を実現させるためのデータ符号化プログラム。
【請求項6】
請求項5に記載のデータ符号化プログラムにおいて、
前記データ分布解析機能は、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定めること、を特徴とするデータ符号化プログラム。
【請求項1】
複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析手段と、
前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合手段と、
前記併合データに対して動的なエントロピー符号化を行うデータ符号化手段と、
を有することを特徴とするデータ符号化装置。
【請求項2】
請求項1に記載のデータ符号化装置において、
前記データ分布解析手段は、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定めること、を特徴とするデータ符号化装置。
【請求項3】
複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析ステップと、
前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合ステップと、
前記併合データに対して動的なエントロピー符号化を行うデータ符号化ステップと、
を有することを特徴とするデータ符号化方法。
【請求項4】
請求項3に記載のデータ符号化方法において、
前記データ分布解析ステップは、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定めること、を特徴とするデータ符号化方法。
【請求項5】
コンピュータに、
複数のデータ群それぞれのデータ分布の偏り度合いを解析するデータ分布解析機能と、
前記複数のデータ群を前記偏り度合いの大きい順に結合して併合データを生成するデータ併合機能と、
前記併合データに対して動的なエントロピー符号化を行うデータ符号化機能と、
を実現させるためのデータ符号化プログラム。
【請求項6】
請求項5に記載のデータ符号化プログラムにおいて、
前記データ分布解析機能は、同じ値の出現頻度と出現する値の種類とに基づいて前記データ分布の偏り度合いを定めること、を特徴とするデータ符号化プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2007−67869(P2007−67869A)
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2005−251747(P2005−251747)
【出願日】平成17年8月31日(2005.8.31)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成17年度、総務省、「次世代GISの実用化に向けた情報通信技術の研究開発」委託研究、産業再生法第30条の適用を受ける特許出願
【出願人】(000135771)株式会社パスコ (102)
【Fターム(参考)】
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願日】平成17年8月31日(2005.8.31)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成17年度、総務省、「次世代GISの実用化に向けた情報通信技術の研究開発」委託研究、産業再生法第30条の適用を受ける特許出願
【出願人】(000135771)株式会社パスコ (102)
【Fターム(参考)】
[ Back to top ]