【文献】
大平 修慈 他,車載LANトラフィック監視システム向けのリアルタイムデータ圧縮方式,CSS2017 コンピュータセキュリティシンポジウム2017 論文集 情報処理学会シンポジウムシリーズ,2017年10月16日,Vol.2017,No.2,pp.1469-1474
【文献】
永 智仁 他,ブロック整列法を併用した圧縮法に関する考察,電子情報通信学会技術研究報告,1996年03月19日,Vol.95,No.593,pp.43-48
【文献】
Eko Darwiyanto et al.,Text Data Compression for Mobile Phone Using Burrows-Wheeler Transform, Move-to-Front Code and Arithmetic Coding (Case Study:Sunan IbnuMajah Bahasa Translation)[online],2015 3rd International Conference on Information and Communication Technology (ICoICT),2015年,pp.178-183,[検索日:2018.12.17],インターネット<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7231418>
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、一実施形態に係るフレーム識別子通信システムの構成例を示すブロック図である。
図1において、フレーム識別子通信システムは、フレーム識別子符号化装置10とフレーム識別子復号装置30とを備える。フレーム識別子符号化装置10とフレーム識別子復号装置30とは、通信によりデータを送受する。
【0013】
フレーム識別子符号化装置10には、フレーム識別子が入力される。フレーム識別子は、通信ネットワークから取得されたフレームの識別子である。例えば、自動車等の車両に搭載された通信ネットワークから取得されたフレームの識別子が、フレーム識別子符号化装置10に入力される。自動車等の車両に搭載された通信ネットワークは、例えば、CAN(Controller Area Network:コントローラエリアネットワーク)であってもよい。
【0014】
フレーム識別子符号化装置10は、先頭移動法符号化部11とエントロピー符号化部12とを備える。先頭移動法符号化部11は、フレーム識別子符号化装置10に入力されたフレーム識別子を符号化対象にして、先頭移動法(Move to Front:MTF)により符号化を行う。先頭移動法符号化部11は、フレーム識別子を先頭移動法により符号化した結果のデータ(先頭移動法符号化データ)を、エントロピー符号化部12へ出力する。
【0015】
エントロピー符号化部12は、先頭移動法符号化部11から入力された先頭移動法符号化データを符号化対象にして、エントロピー符号により符号化を行う。エントロピー符号としては、例えば、ハフマン(Huffman)符号やレンジ(Range)符号などが挙げられる。エントロピー符号化部12は、先頭移動法符号化データを符号化した結果のデータ(エントロピー符号化データ)を出力する。
【0016】
エントロピー符号化部12から出力されたエントロピー符号化データは、送信先の装置へ送信される。送信先の装置により受信されたエントロピー符号化データは、フレーム識別子復号装置30に入力される。
【0017】
フレーム識別子復号装置30は、エントロピー符号復号部31と先頭移動法符号復号部32とを備える。エントロピー符号復号部31は、フレーム識別子復号装置30に入力されたエントロピー符号化データを復号する。エントロピー符号復号部31の復号方法は、エントロピー符号化部12の符号化方法に対応するものである。エントロピー符号復号部31は、エントロピー符号化データの復号により得られた先頭移動法符号化データを先頭移動法符号復号部32へ出力する。
【0018】
先頭移動法符号復号部32は、エントロピー符号復号部31から入力された先頭移動法符号化データを復号する。先頭移動法符号復号部32の復号方法は、先頭移動法符号化部11の符号化方法に対応するものである。先頭移動法符号復号部32は、先頭移動法符号化データの復号により得られたフレーム識別子を出力する。先頭移動法符号復号部32から出力されたフレーム識別子は、フレーム識別子復号装置30から出力される。
【0019】
次に
図2〜
図9を参照して、本実施形態に係る先頭移動法符号化方法を説明する。
図2〜
図9は、本実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
先頭移動法符号化部11(送信側)及び先頭移動法符号復号部32(受信側)は、それぞれに、予測バッファを備える。予測バッファは、フレーム識別子(ID)毎に、複数の格納領域を備える。
図2から
図9までの例では、説明の便宜上、IDは「100」、「123」及び「321」の3個である。各IDに対して、バッファ位置番号が0から3までの4個の格納領域が設けられる。バッファ位置番号「0」が先頭の格納領域を示し、次いでバッファ位置番号「1」が2番目の格納領域を示し、次いでバッファ位置番号「2」が3番目の格納領域を示し、次いでバッファ位置番号「3」が最後尾の格納領域を示す。
以下、
図2〜
図9の例を参照して本実施形態に係る先頭移動法符号化方法を具体的に説明する。
【0020】
図2には、送信側及び受信側の初期状態の各予測バッファが示される。初期状態では、予測バッファの全ての格納領域に空の状態を示す値が格納される。ここでは、空の状態を示す値の一例として、IDに使用されない値「000」が使用されている。
また、送信側及び受信側で共通に直前フラグが設定される。直前フラグは、今回入力されたIDの直前に入力されたIDを示す。したがって、直前フラグが設定されているIDは、過去の直近に入力されたIDである。ここでは、直前フラグは、送信側及び受信側で共通に、ID「100」に初期設定されている。直前フラグが設定されているIDを直前IDと称する。
【0021】
次いで、送信側にID「123」が入力される。
図3には、入力ID「123」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部11(送信側)は、入力ID「123」が自己の予測バッファの直前ID「100」(
図2参照)の格納領域に存在しないので、入力ID「123」を、直前ID「100」の先頭の格納領域(バッファ位置番号「0」)に格納する。先頭移動法符号化部11(送信側)は、入力ID「123」を示す所定の符号(圧縮符号)を出力する。この入力ID「123」を示す符号は受信側へ送られる。先頭移動法符号化部11(送信側)は、直前フラグを入力ID「123」に設定変更する。
【0022】
先頭移動法符号復号部32(受信側)は、ID「123」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すID「123」を、自己の予測バッファの直前ID「100」(
図2参照)の先頭の格納領域(バッファ位置番号「0」)に格納する。先頭移動法符号復号部32(受信側)は、該受信した符号が示すID「123」を復号結果として出力する。先頭移動法符号復号部32(受信側)は、直前フラグをID「123」に設定変更する。これにより、
図3に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【0023】
次いで、送信側にID「321」が入力される。
図4には、入力ID「321」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部11(送信側)は、入力ID「321」が自己の予測バッファの直前ID「123」(
図3参照)の格納領域に存在しないので、入力ID「321」を、直前ID「123」の先頭の格納領域(バッファ位置番号「0」)に格納する。先頭移動法符号化部11(送信側)は、入力ID「321」を示す所定の符号(圧縮符号)を出力する。この入力ID「321」を示す符号は受信側へ送られる。先頭移動法符号化部11(送信側)は、直前フラグを入力ID「321」に設定変更する。
【0024】
先頭移動法符号復号部32(受信側)は、ID「321」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すID「321」を、自己の予測バッファの直前ID「123」(
図3参照)の先頭の格納領域(バッファ位置番号「0」)に格納する。先頭移動法符号復号部32(受信側)は、該受信した符号が示すID「321」を復号結果として出力する。先頭移動法符号復号部32(受信側)は、直前フラグをID「321」に設定変更する。これにより、
図4に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【0025】
次いで、送信側にID「100」が入力される。
図5には、入力ID「100」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部11(送信側)は、入力ID「100」が自己の予測バッファの直前ID「321」(
図4参照)の格納領域に存在しないので、入力ID「100」を、直前ID「321」の先頭の格納領域(バッファ位置番号「0」)に格納する。先頭移動法符号化部11(送信側)は、入力ID「100」を示す所定の符号(圧縮符号)を出力する。この入力ID「100」を示す符号は受信側へ送られる。先頭移動法符号化部11(送信側)は、直前フラグを入力ID「100」に設定変更する。
【0026】
先頭移動法符号復号部32(受信側)は、ID「100」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すID「100」を、自己の予測バッファの直前ID「321」(
図4参照)の先頭の格納領域(バッファ位置番号「0」)に格納する。先頭移動法符号復号部32(受信側)は、該受信した符号が示すID「100」を復号結果として出力する。先頭移動法符号復号部32(受信側)は、直前フラグをID「100」に設定変更する。これにより、
図5に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【0027】
次いで、送信側にID「123」が入力される。
図6には、入力ID「123」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部11(送信側)は、入力ID「123」が自己の予測バッファの直前ID「100」(
図5参照)の先頭の格納領域(バッファ位置番号「0」)に存在するので、そのままの格納状態を維持する。先頭移動法符号化部11(送信側)は、入力ID「123」が既に格納されていた格納領域のバッファ位置番号「0」を示す所定の符号(圧縮符号)を出力する。このバッファ位置番号「0」を示す符号は受信側へ送られる。先頭移動法符号化部11(送信側)は、直前フラグを入力ID「123」に設定変更する。
【0028】
先頭移動法符号復号部32(受信側)は、バッファ位置番号「0」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号であるので、自己の予測バッファの直前ID「100」(
図5参照)の当該受信した符号が示すバッファ位置番号「0」の格納領域からID「123」を取得する。先頭移動法符号復号部32(受信側)は、該取得したID「123」を復号結果として出力する。先頭移動法符号復号部32(受信側)は、直前フラグをID「123」に設定変更する。これにより、
図6に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【0029】
次いで、送信側にID「100」が入力される。
図7には、入力ID「100」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部11(送信側)は、入力ID「100」が自己の予測バッファの直前ID「123」(
図6参照)の格納領域に存在しないので、入力ID「100」を、直前ID「321」の先頭の格納領域(バッファ位置番号「0」)に格納する。このとき、先頭移動法符号化部11(送信側)は、ID「123」のバッファ位置番号「0」の格納領域に既に存在していたID「321」を、当該ID「123」の次のバッファ位置番号「1」の格納領域に移す。先頭移動法符号化部11(送信側)は、入力ID「100」を示す所定の符号(圧縮符号)を出力する。この入力ID「100」を示す符号は受信側へ送られる。先頭移動法符号化部11(送信側)は、直前フラグを入力ID「100」に設定変更する。
【0030】
先頭移動法符号復号部32(受信側)は、ID「100」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すID「100」を、自己の予測バッファの直前ID「123」(
図6参照)の先頭の格納領域(バッファ位置番号「0」)に格納する。このとき、先頭移動法符号復号部32(受信側)は、送信側と同様に、ID「123」のバッファ位置番号「0」の格納領域に既に存在していたID「321」を、当該ID「123」の次のバッファ位置番号「1」の格納領域に移す。先頭移動法符号復号部32(受信側)は、該受信した符号が示すID「100」を復号結果として出力する。先頭移動法符号復号部32(受信側)は、直前フラグをID「100」に設定変更する。これにより、
図7に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
なお、送信側及び受信側共に、IDの格納領域を次のバッファ位置番号の格納領域に移す場合に、バッファ位置番号「3」の格納領域に既に存在したIDについては削除する。
【0031】
次いで、送信側にID「123」が入力される。
図8には、入力ID「123」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部11(送信側)は、入力ID「123」が自己の予測バッファの直前ID「100」(
図7参照)の先頭の格納領域(バッファ位置番号「0」)に存在するので、そのままの格納状態を維持する。先頭移動法符号化部11(送信側)は、入力ID「123」が既に格納されていた格納領域のバッファ位置番号「0」を示す所定の符号(圧縮符号)を出力する。このバッファ位置番号「0」を示す符号は受信側へ送られる。先頭移動法符号化部11(送信側)は、直前フラグを入力ID「123」に設定変更する。
【0032】
先頭移動法符号復号部32(受信側)は、バッファ位置番号「0」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号であるので、自己の予測バッファの直前ID「100」(
図7参照)の当該受信した符号が示すバッファ位置番号「0」の格納領域からID「123」を取得する。先頭移動法符号復号部32(受信側)は、該取得したID「123」を復号結果として出力する。先頭移動法符号復号部32(受信側)は、直前フラグをID「123」に設定変更する。これにより、
図8に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【0033】
次いで、送信側にID「321」が入力される。
図9には、入力ID「321」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部11(送信側)は、入力ID「321」が自己の予測バッファの直前ID「123」(
図8参照)の2番目の格納領域(バッファ位置番号「1」)に存在するので、ID「321」を先頭の格納領域(バッファ位置番号「0」)に移す。このとき、先頭移動法符号化部11(送信側)は、ID「123」のバッファ位置番号「0」の格納領域に既に存在していたID「100」を、当該ID「123」の次のバッファ位置番号「1」の格納領域に移す。先頭移動法符号化部11(送信側)は、入力ID「321」が既に格納されていた格納領域のバッファ位置番号「1」を示す所定の符号(圧縮符号)を出力する。このバッファ位置番号「1」を示す符号は受信側へ送られる。先頭移動法符号化部11(送信側)は、直前フラグを入力ID「321」に設定変更する。
【0034】
先頭移動法符号復号部32(受信側)は、バッファ位置番号「1」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号であるので、自己の予測バッファの直前ID「123」(
図8参照)の当該受信した符号が示すバッファ位置番号「1」の格納領域からID「321」を取得する。先頭移動法符号復号部32(受信側)は、該取得したID「321」を復号結果として出力する。先頭移動法符号復号部32(受信側)は、直前フラグをID「321」に設定変更する。これにより、
図9に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【0035】
上述した先頭移動法符号化方法によれば、IDの符号化結果(先頭移動法符号化データ)において、データに偏りが生じる。本実施形態では、その偏りがあるデータ(先頭移動法符号化データ)に対してさらにエントロピー符号化を施す。これにより、IDに対してそのままエントロピー符号化を施すよりも、高いデータ圧縮率が得られる。このデータ圧縮率の向上の効果は、IDの出現頻度の偏りが大きいほど顕著になる。
【0036】
次に本実施形態に係る通信システムを説明する。本実施形態に係る通信システムは、自動車等の車両に搭載された通信ネットワークに流れるデータを車両の外部のサーバ装置へ送信するための通信システムである。
【0037】
図10は、本実施形態に係る通信システムの構成例を示すブロック図である。
図10の通信システム1では、車両として自動車を例に挙げている。
図10に示される通信システム1は、自動車3とサーバ装置7とを備える。
【0038】
自動車3は、ゲートウェイ装置5(CGW)とTCU(Tele Communication Unit)6とを備える。ゲートウェイ装置5とTCU6とは、自動車3に搭載されたCAN−FD(CAN with Flexible Data rate)規格の通信ネットワーク(以下、CAN−FDと称する)で接続されている。ゲートウェイ装置5には、自動車3に搭載されたCAN規格の複数(n個)の通信ネットワーク(以下、CAN_sub−bus_1〜nと称する)が接続されている。各CAN_sub−bus_1〜nには、自動車3に搭載されたECU(Electronic Control Unit:電子制御装置)等の通信ノード(図示せず)が接続されている。通信ノードは、自己が接続するCAN_sub−bus_1〜nを介して、CAN規格のフレーム(以下、単にフレームと称する)を送受する。通信ノードは、フレームを使用して通信を行う。
【0039】
ゲートウェイ装置5は、CAN_sub−busインタフェース50とCAN−FDインタフェース51とデータ処理部52とを備える。CAN_sub−busインタフェース50は、各CAN_sub−bus_1〜nを介してフレームを送受する。CAN_sub−busインタフェース50は、各CAN_sub−bus_1〜nを流れるフレームを取得し、取得したフレームをデータ処理部52へ出力する。
【0040】
データ処理部52は、CAN_sub−busインタフェース50から入力されたフレームを符号化対象にして、フレームの取得元のCAN_sub−bus_1〜n毎に符号化を行う。データ処理部52は、フレームの符号化結果であるフレーム符号化データをCAN−FDインタフェース51へ出力する。
【0041】
データ処理部52は、先頭移動法符号化部53とエントロピー符号化部54とを備える。
先頭移動法符号化部53は、CAN_sub−busインタフェース50からデータ処理部52に入力されたフレームの識別子(ID)を符号化対象にして、先頭移動法により符号化を行う。この先頭移動法による符号化方法は、上述した先頭移動法符号化方法である。先頭移動法符号化部53は、IDを先頭移動法により符号化した結果のデータ(先頭移動法符号化データ)を、エントロピー符号化部54へ出力する。
【0042】
エントロピー符号化部54は、先頭移動法符号化部53から入力された先頭移動法符号化データを符号化対象にして、エントロピー符号により符号化を行う。また、エントロピー符号化部54は、CAN_sub−busインタフェース50からデータ処理部52に入力されたフレームに含まれるID以外の符号化対象について、エントロピー符号により符号化する。エントロピー符号による符号化では、一定のフレーム数を1ブロックとして、1ブロック内に出現する符号化対象の情報の頻度に応じて当該情報に割り当てる符号長等の符号内容を決定してもよい。
【0043】
エントロピー符号化部54は、各符号化対象を符号化した結果の各データ(エントロピー符号化データ)を出力する。データ処理部52は、エントロピー符号化部54から出力されたエントロピー符号化データをフレーム符号化データとしてCAN−FDインタフェース51へ出力する。
【0044】
CAN−FDインタフェース51は、CAN−FDを介して、TCU6とデータを送受する。CAN−FDインタフェース51は、データ処理部52から入力されたフレーム符号化データを、CAN−FDを介してTCU6へ送信する。
【0045】
TCU6は通信装置である。TCU6は、通信部60とCAN−FDインタフェース61とデータ処理部62とを備える。
通信部60は、自動車3の外部の装置と通信を行う。通信部60は、無線通信を行ってもよく、又は、有線通信を行ってもよい。本実施形態に係る一例として、通信部60は、無線通信ネットワークを利用して無線通信を行う。通信部60は、サーバ装置7と通信を行う。
【0046】
CAN−FDインタフェース61は、CAN−FDを介して、ゲートウェイ装置5とデータを送受する。CAN−FDインタフェース61は、ゲートウェイ装置5から受信したフレーム符号化データを、データ処理部62へ出力する。データ処理部62は、CAN−FDインタフェース61から入力されたフレーム符号化データを通信部60へ出力する。通信部60は、データ処理部62から入力されたフレーム符号化データをサーバ装置7へ送信する。
【0047】
サーバ装置7は、通信部70とエントロピー符号復号部71と先頭移動法符号復号部72と記録部73とを備える。
通信部70は、サーバ装置7の外部の装置と通信を行う。通信部70は、自動車3と通信を行う。具体的には、サーバ装置7の通信部70と自動車3のTCU6の通信部60とが通信を行う。サーバ装置7は、通信部70により、自動車3からフレーム符号化データを受信する。
【0048】
エントロピー符号復号部71は、自動車3から受信したフレーム符号化データに含まれるエントロピー符号化データを復号する。エントロピー符号復号部71の復号方法は、エントロピー符号化部54の符号化方法に対応するものである。エントロピー符号復号部71は、エントロピー符号化データの復号により得られた先頭移動法符号化データを先頭移動法符号復号部72へ出力する。また、エントロピー符号復号部71は、エントロピー符号化データの復号により得られたID以外の復号結果(フレームに含まれるID以外の符号化対象の部分)を記録部73へ出力する。
【0049】
先頭移動法符号復号部72は、エントロピー符号復号部71から入力された先頭移動法符号化データを復号する。先頭移動法符号復号部72の復号方法は、先頭移動法符号化部53の符号化方法に対応するものである。先頭移動法符号復号部72は、先頭移動法符号化データの復号により得られたIDを記録部73へ出力する。
【0050】
記録部73は、先頭移動法符号復号部72から入力されたIDの復号結果と、エントロピー符号復号部71から入力されたID以外の復号結果とを記録する。
【0051】
次に
図11を参照して、
図10に示すデータ処理部52に係るフレーム符号化処理を説明する。
図11は、本実施形態に係るフレーム符号化方法の例を示す説明図である。
図11の例は、一つのCAN(
図10中のCAN_sub−bus_1〜nのいずれか一つ)に流れるフレームを取得し、当該フレームを符号化する場合を示す。
図11中に示されるフレーム100は、CANのデータフレームの概要を示すものである。CANのデータフレームは、フレーム100に示されるように、11ビット長の識別子(ID)と、4ビット長のDLC(Data Length Code)と、最大64ビット長のデータ(DATA)とを含む。
図11の例では、それらIDとDLCとDATAとが符号化対象である。
なお、DLCがID毎に固定されている場合、つまり、IDが決まればDLCが一律に決まる場合には、サーバ装置7はIDからDLCを決定できる。このため、DLCがID毎に固定されている場合には、自動車3からサーバ装置7へDLCを送信しなくてもよいので、DLCを符号化対象にしなくてもよい。
【0052】
データ処理部52は、CAN_sub−bus_1〜n毎に、
図11に示すフレーム符号化方法によりフレーム符号化処理を行う。データ処理部52には、CAN_sub−busインタフェース50から、各CAN_sub−bus_1〜nから取得されたフレームが入力される。データ処理部52は、各CAN_sub−bus_1〜nに対して、ID毎に、過去の直近に入力されたフレームのDLC及びDATAを保持するバッファ(図示せず)を備える。
【0053】
データ処理部52の先頭移動法符号化部53は、上述した先頭移動法符号化方法によりIDを符号化する。エントロピー符号化部54は、IDとDLCとDATAについて、それぞれ別個にエントロピー符号化を行う。
【0054】
以下、CAN_sub−bus_1〜nのうちの一つ、例えばCAN_sub−bus_1から取得されたフレームについてのフレーム符号化処理を説明する。フレーム100は、CAN_sub−busインタフェース50により、CAN_sub−bus_1から取得されてデータ処理部52に入力される。フレーム100がデータ処理部52に入力されると、
図11のフレーム符号化方法の手順が開始される。
図11の以降の説明では、フレーム100がデータ処理部52に入力された時刻をtとし、フレーム100の直前にデータ処理部52に入力されたCAN_sub−bus_1のフレームの入力時刻を「t−1」とする。フレーム100がデータ処理部52に入力された時刻tにおいて、データ処理部52のバッファには入力時刻「t−1」のフレームのDLC及びDATAが既に保持されている。
【0055】
(ステップS10) データ処理部52は、フレーム100からIDを取得する。
【0056】
(ステップS11) 先頭移動法符号化部53は、IDを先頭移動法により符号化する。この符号化により先頭移動法符号化データMTF(ID)が生成される。
【0057】
(ステップS12) エントロピー符号化部54は、先頭移動法符号化データMTF(ID)をエントロピー符号により符号化する。この符号化により、先頭移動法符号化データMTF(ID)のエントロピー符号化データが生成される。
【0058】
(ステップS13) データ処理部52は、フレーム100からDLCを取得する。また、データ処理部52は、フレーム100のIDに対応するバッファに保持されているDLCを当該バッファから取得する。データ処理部52は、フレーム100から取得したDLCとバッファから取得したDLCとの差dDLCを計算する。
【0059】
(ステップS14) エントロピー符号化部54は、差dDLCをエントロピー符号により符号化する。この符号化により、差dDLCのエントロピー符号化データが生成される。
【0060】
(ステップS15) データ処理部52は、フレーム100からDATAを取得する。また、データ処理部52は、フレーム100のIDに対応するバッファに保持されているDATAを当該バッファから取得する。データ処理部52は、フレーム100から取得したDATAとバッファから取得したDATAとの差dDATAを計算する。
【0061】
(ステップS16) エントロピー符号化部54は、差dDATAをエントロピー符号により符号化する。この符号化により、差dDATAのエントロピー符号化データが生成される。
【0062】
(ステップS17) データ処理部52は、フレーム100の符号化データとして、「先頭移動法符号化データMTF(ID)のエントロピー符号化データ」と「差dDLCのエントロピー符号化データ」と「差dDATAのエントロピー符号化データ」とを出力する。
【0063】
(ステップS18) データ処理部52は、フレーム100のIDに対応するバッファの保持内容を、フレーム100のDLC及びDATAに書き換える。これにより、フレーム100のIDに対応するバッファに、フレーム100のDLC及びDATAが保持される。
【0064】
なお、上述したデータ処理部52のフレーム符号化処理に対応するサーバ装置7のフレーム復号処理は、上述した
図11のフレーム符号化方法に対応するフレーム復号方法を実現するものとして構成すればよい。
【0065】
上述した実施形態によれば、通信ネットワークから取得されたフレームの識別子を先頭移動法により符号化してから、エントロピー符号により符号化する。フレームの識別子を先頭移動法により符号化することにより、データに偏りが生じる。本実施形態では、その偏りがあるデータ(先頭移動法符号化データ)に対してさらにエントロピー符号化を施すことにより、フレームの識別子に対してそのままエントロピー符号化を施すよりも、高いデータ圧縮率が得られる。このデータ圧縮率の向上の効果は、フレームの識別子の出現頻度の偏りが大きいほど顕著になる。
【0066】
自動車等の車両に搭載されたCAN(コントローラエリアネットワーク)のフレームの識別子(ID)には、IDによって出現頻度に偏りがある(例えば非特許文献1参照)。したがって、車両に搭載されたCANから取得されたフレームのIDに対して、上述した
図10及び
図11に示されるように本実施形態を適用することにより、IDのデータ圧縮率が向上する効果が得られる。
【0067】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0068】
上述した
図10の通信システム1では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【0069】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0070】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。