(57)【要約】【課題】車両に搭載された通信ネットワークに流れるデータを車両の外部の装置へリアルタイムに送信する通信システムにおいて、リアルタイム性と通信データ量の低減との向上を図る。【解決手段】車両は、車両に搭載された通信ネットワークの制御処理を実行する第１演算処理部と、車両の外部の装置へ送信される通信データを生成する第２演算処理部と、を備え、第１演算処理部は、車両に搭載された通信ネットワークのフレームに含まれる符号化対象データをハフマン符号により符号化するハフマン符号化部を備え、第２演算処理部は、ハフマン符号化データを復号するハフマン符号復号部と、当該復号結果をレンジ符号により符号化するレンジ符号化部と、を備え、レンジ符号化部により符号化されたレンジ符号化データは車両の外部の装置へ送信される。【選択図】図１
2019140545.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された通信ネットワークに流れるデータを前記車両の外部の装置へリアルタイムに送信する通信システムにおいて、
前記車両は、
前記通信ネットワークを介してフレームを送受する通信ネットワークインタフェースと、
前記通信ネットワークの制御処理を実行する第１演算処理部と、
前記車両の外部の装置と通信を行う通信部と、
前記車両の外部の装置へ送信される通信データを生成する第２演算処理部と、
前記第１演算処理部と前記第２演算処理部との間のデータ伝送を行う通信路と、を備え、
前記第１演算処理部は、前記フレームに含まれる符号化対象データをハフマン符号により符号化するハフマン符号化部を備え、
前記ハフマン符号化部により符号化されたハフマン符号化データは、前記通信路により前記第２演算処理部へ伝送され、
前記第２演算処理部は、
前記ハフマン符号化データを復号するハフマン符号復号部と、
前記ハフマン符号復号部の復号結果をレンジ符号により符号化するレンジ符号化部と、を備え、
前記レンジ符号化部により符号化されたレンジ符号化データは、前記通信部により前記車両の外部の装置へ送信される、
通信システム。
【請求項２】
前記第１演算処理部は、前記フレームの識別子をハッシュ値に変換するハッシュ変換部を備え、
前記ハフマン符号化部は、前記フレームの識別子のハッシュ値をハフマン符号により符号化し、
前記レンジ符号化部は、前記ハフマン符号復号部の復号により得られた前記フレームの識別子のハッシュ値をレンジ符号により符号化する、
請求項１に記載の通信システム。
【請求項３】
車両に搭載された通信ネットワークに流れるデータを前記車両の外部の装置へリアルタイムに送信する通信方法において、
前記車両に備わる通信ネットワークインタフェースが、前記通信ネットワークを介してフレームを送受するステップと、
前記車両に備わる第１演算処理部が、前記通信ネットワークの制御処理を実行するステップと、
前記車両に備わる通信部が、前記車両の外部の装置と通信を行うステップと、
前記車両に備わる第２演算処理部が、前記車両の外部の装置へ送信される通信データを生成するステップと、を含み、
前記第１演算処理部は、前記フレームに含まれる符号化対象データをハフマン符号により符号化し、
前記ハフマン符号により符号化されたハフマン符号化データは、前記車両に備わる通信路により前記第２演算処理部へ伝送され、
前記第２演算処理部は、前記ハフマン符号化データを復号し、当該復号の結果をレンジ符号により符号化し、
前記レンジ符号により符号化されたレンジ符号化データは、前記通信部により前記車両の外部の装置へ送信される、
通信方法。
【請求項４】
前記第１演算処理部は、前記フレームの識別子をハッシュ値に変換し、前記フレームの識別子のハッシュ値をハフマン符号により符号化し、
前記第２演算処理部は、前記ハフマン符号化データの復号により得られた前記フレームの識別子のハッシュ値をレンジ符号により符号化する、
請求項３に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び通信方法に関する。
【背景技術】
【０００２】
従来、自動車等の車両に搭載された通信ネットワークに流れるデータを車両の外部のサーバやストレージ等の監視装置へリアルタイムに送信する際に、送信されるデータを圧縮するデータ圧縮技術が、例えば非特許文献１に開示されている。非特許文献１のデータ圧縮技術は、ＣＡＮ（Controller Area Network）に流れるフレームの識別子（ＩＤ）を符号化対象にして、よく出現するＩＤには短いビット列を割り当てる一方、あまり出現しないＩＤには長いビット列を割り当てるハフマン（Huffman）符号化を行う。また、非特許文献１のデータ圧縮技術は、ＣＡＮに流れるフレームのペイロードを符号化対象にして、識別子（ＩＤ）毎に、連続するフレーム間のペイロードの差分データをランレングス符号化する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】大平修慈、金森健人、井上博之、石田賢治、「車載LAN トラフィック監視システム向けのリアルタイムデータ圧縮方式」、情報処理学会、コンピュータセキュリティシンポジウム 2017、2017年10月、pp.1469-1474
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述した非特許文献１のデータ圧縮技術では、車両に搭載された通信ネットワークやコンピュータシステムの構成によっては、車両に搭載された通信ネットワークに流れるデータを車両の外部の装置へリアルタイムに送信する通信システムにおいて、リアルタイム性と通信データ量の低減とが十分ではない場合があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、その目的は、車両に搭載された通信ネットワークに流れるデータを車両の外部の装置へリアルタイムに送信する通信システムにおいて、リアルタイム性と通信データ量の低減との向上を図ることにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、車両に搭載された通信ネットワークに流れるデータを前記車両の外部の装置へリアルタイムに送信する通信システムにおいて、前記車両は、前記通信ネットワークを介してフレームを送受する通信ネットワークインタフェースと、前記通信ネットワークの制御処理を実行する第１演算処理部と、前記車両の外部の装置と通信を行う通信部と、前記車両の外部の装置へ送信される通信データを生成する第２演算処理部と、前記第１演算処理部と前記第２演算処理部との間のデータ伝送を行う通信路と、を備え、前記第１演算処理部は、前記フレームに含まれる符号化対象データをハフマン符号により符号化するハフマン符号化部を備え、前記ハフマン符号化部により符号化されたハフマン符号化データは、前記通信路により前記第２演算処理部へ伝送され、前記第２演算処理部は、前記ハフマン符号化データを復号するハフマン符号復号部と、前記ハフマン符号復号部の復号結果をレンジ符号により符号化するレンジ符号化部と、を備え、前記レンジ符号化部により符号化されたレンジ符号化データは、前記通信部により前記車両の外部の装置へ送信される、通信システムである。
本発明の一態様は、前記第１演算処理部は、前記フレームの識別子をハッシュ値に変換するハッシュ変換部を備え、前記ハフマン符号化部は、前記フレームの識別子のハッシュ値をハフマン符号により符号化し、前記レンジ符号化部は、前記ハフマン符号復号部の復号により得られた前記フレームの識別子のハッシュ値をレンジ符号により符号化する、通信システムである。
【０００７】
本発明の一態様は、車両に搭載された通信ネットワークに流れるデータを前記車両の外部の装置へリアルタイムに送信する通信方法において、前記車両に備わる通信ネットワークインタフェースが、前記通信ネットワークを介してフレームを送受するステップと、前記車両に備わる第１演算処理部が、前記通信ネットワークの制御処理を実行するステップと、前記車両に備わる通信部が、前記車両の外部の装置と通信を行うステップと、前記車両に備わる第２演算処理部が、前記車両の外部の装置へ送信される通信データを生成するステップと、を含み、前記第１演算処理部は、前記フレームに含まれる符号化対象データをハフマン符号により符号化し、前記ハフマン符号により符号化されたハフマン符号化データは、前記車両に備わる通信路により前記第２演算処理部へ伝送され、前記第２演算処理部は、前記ハフマン符号化データを復号し、当該復号の結果をレンジ符号により符号化し、前記レンジ符号により符号化されたレンジ符号化データは、前記通信部により前記車両の外部の装置へ送信される、通信方法である。
本発明の一態様は、前記第１演算処理部は、前記フレームの識別子をハッシュ値に変換し、前記フレームの識別子のハッシュ値をハフマン符号により符号化し、前記第２演算処理部は、前記ハフマン符号化データの復号により得られた前記フレームの識別子のハッシュ値をレンジ符号により符号化する、通信方法である。
【発明の効果】
【０００８】
本発明によれば、車両に搭載された通信ネットワークに流れるデータを車両の外部の装置へリアルタイムに送信する通信システムにおいて、リアルタイム性と通信データ量の低減との向上を図ることができるという効果が得られる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る通信システムの構成例を示すブロック図である。
【図２】一実施形態に係るフレーム符号化方法の例を示す説明図である。
【図３】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図４】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図５】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図６】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図７】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図８】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図９】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図１０】一実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
【図１１】一実施形態に係るＩＤ符号化方法の変形例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照し、本発明の実施形態について説明する。
【００１１】
図１は、本実施形態に係る通信システムの構成例を示すブロック図である。本実施形態に係る通信システムは、自動車等の車両に搭載された通信ネットワークに流れるデータを車両の外部のサーバ装置へリアルタイムに送信するための通信システムである。図１の通信システム１では、車両として自動車を例に挙げている。図１に示される通信システム１は、自動車３とサーバ装置７とを備える。
【００１２】
自動車３は、ゲートウェイ装置５（ＣＧＷ）とＴＣＵ（Tele Communication Unit）６とを備える。ゲートウェイ装置５とＴＣＵ６とは、自動車３に搭載されたＣＡＮ−ＦＤ（CAN with Flexible Data rate）規格の通信ネットワーク（以下、ＣＡＮ−ＦＤと称する）で接続されている。ゲートウェイ装置５には、自動車３に搭載されたＣＡＮ規格の複数（ｎ個）の通信ネットワーク（以下、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎと称する）が接続されている。各ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎには、自動車３に搭載されたＥＣＵ（Electronic Control Unit：電子制御装置）等の通信ノード（図示せず）が接続されている。通信ノードは、自己が接続するＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎを介して、ＣＡＮ規格のフレーム（以下、単にフレームと称する）を送受する。通信ノードは、フレームを使用して通信を行う。
【００１３】
ゲートウェイ装置５は、ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０とＣＡＮ−ＦＤインタフェース５１とＣＡＮ制御処理部５２とを備える。ＣＡＮ制御処理部５２は第１演算処理部に対応する。
ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０は、各ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎを介してフレームを送受する。ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０は、各ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎを流れるフレームを取得し、取得したフレームをＣＡＮ制御処理部５２へ出力する。
【００１４】
ＣＡＮ制御処理部５２は、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎの制御処理を実行する。また、ＣＡＮ制御処理部５２は、ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０から入力されたフレームを符号化対象にして、フレームの取得元のＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎ毎に符号化を行う。ＣＡＮ制御処理部５２は、フレームの符号化結果であるフレーム符号化データをＣＡＮ−ＦＤインタフェース５１へ出力する。
【００１５】
ＣＡＮ制御処理部５２は、先頭移動法符号化部５３とハフマン符号化部５４とを備える。
先頭移動法符号化部５３は、ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０からＣＡＮ制御処理部５２に入力されたフレームの識別子（ＩＤ）を符号化対象にして、先頭移動法（Move to Front：MTF）により符号化を行う。先頭移動法符号化部５３は、ＩＤを先頭移動法により符号化した結果のデータ（先頭移動法符号化データ）を、ハフマン符号化部５４へ出力する。
【００１６】
ハフマン符号化部５４は、先頭移動法符号化部５３から入力された先頭移動法符号化データを符号化対象にして、ハフマン符号により符号化を行う。また、ハフマン符号化部５４は、ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０からＣＡＮ制御処理部５２に入力されたフレームに含まれるＩＤ以外の符号化対象について、ハフマン符号により符号化する。ハフマン符号による符号化では、一定のフレーム数を１ブロックとして、１ブロック内に出現する符号化対象の情報の頻度に応じて当該情報に割り当てる符号長等の符号内容を決定してもよい。
【００１７】
ハフマン符号化部５４は、各符号化対象をハフマン符号化した結果の各データ（ハフマン符号化データ）を出力する。ＣＡＮ制御処理部５２は、ハフマン符号化部５４から出力されたハフマン符号化データをフレーム符号化データとしてＣＡＮ−ＦＤインタフェース５１へ出力する。
【００１８】
ＣＡＮ−ＦＤインタフェース５１は、ＣＡＮ−ＦＤを介して、ＴＣＵ６とデータを送受する。ＣＡＮ−ＦＤインタフェース５１は、ＣＡＮ制御処理部５２から入力されたフレーム符号化データを、ＣＡＮ−ＦＤを介してＴＣＵ６へ送信する。
【００１９】
ＴＣＵ６は通信装置である。ＴＣＵ６は、通信部６０とＣＡＮ−ＦＤインタフェース６１と通信制御処理部６２とを備える。通信制御処理部６２は、第２演算処理部に対応する。
通信部６０は、自動車３の外部の装置と通信を行う。通信部６０は、無線通信を行ってもよく、又は、有線通信を行ってもよい。本実施形態に係る一例として、通信部６０は、無線通信ネットワークを利用して無線通信を行う。通信部６０は、サーバ装置７と通信を行う。
【００２０】
ＣＡＮ−ＦＤインタフェース６１は、ＣＡＮ−ＦＤを介して、ゲートウェイ装置５とデータを送受する。ＣＡＮ−ＦＤインタフェース６１は、ゲートウェイ装置５から受信したフレーム符号化データを、通信制御処理部６２へ出力する。
ＣＡＮ−ＦＤインタフェース５１、ＣＡＮ−ＦＤ及びＣＡＮ−ＦＤインタフェース６１は、ＣＡＮ制御処理部５２（第１演算処理部）と通信制御処理部６２（第２演算処理部）との間のデータ伝送を行う通信路に対応する。
【００２１】
通信制御処理部６２は、通信部６０による自動車３の外部の装置との通信の制御処理を実行する。また、通信制御処理部６２は、サーバ装置７へ送信される通信データを生成する。通信制御処理部６２は、ＣＡＮ−ＦＤインタフェース６１から入力されたフレーム符号化データに含まれるハフマン符号化データを復号し、当該復号の結果をレンジ符号により符号化する。通信制御処理部６２は、レンジ符号により符号化されたレンジ符号化データを通信部６０へ出力する。通信部６０は、通信制御処理部６２から入力されたレンジ符号化データをサーバ装置７へ送信する。
【００２２】
通信制御処理部６２は、ハフマン符号復号部６３とレンジ符号化部６４とを備える。ハフマン符号復号部６３は、ＣＡＮ−ＦＤインタフェース６１から入力されたフレーム符号化データに含まれるハフマン符号化データを復号する。ハフマン符号復号部６３は、ハフマン符号化データの復号結果をレンジ符号化部６４へ出力する。レンジ符号化部６４は、ハフマン符号復号部６３から入力されたハフマン符号化データの復号結果をレンジ符号により符号化する。レンジ符号化部６４は、レンジ符号化した結果のデータ（レンジ符号化データ）を出力する。通信制御処理部６２は、レンジ符号化部６４から出力されたレンジ符号化データを通信部６０へ出力する。
【００２３】
サーバ装置７は、通信部７０とレンジ符号復号部７１と先頭移動法符号復号部７２と記録部７３とを備える。
通信部７０は、サーバ装置７の外部の装置と通信を行う。通信部７０は、自動車３と通信を行う。具体的には、サーバ装置７の通信部７０と自動車３のＴＣＵ６の通信部６０とが通信を行う。サーバ装置７は、通信部７０により、自動車３からレンジ符号化データを受信する。
【００２４】
レンジ符号復号部７１は、自動車３から受信したレンジ符号化データを復号する。レンジ符号復号部７１は、レンジ符号化データの復号により得られた先頭移動法符号化データを先頭移動法符号復号部７２へ出力する。また、レンジ符号復号部７１は、レンジ符号化データの復号により得られたＩＤ以外の復号結果（フレームに含まれるＩＤ以外の符号化対象の部分）を記録部７３へ出力する。
【００２５】
先頭移動法符号復号部７２は、レンジ符号復号部７１から入力された先頭移動法符号化データを復号する。先頭移動法符号復号部７２の復号方法は、先頭移動法符号化部５３の符号化方法に対応するものである。先頭移動法符号復号部７２は、先頭移動法符号化データの復号により得られたＩＤを記録部７３へ出力する。
【００２６】
記録部７３は、先頭移動法符号復号部７２から入力されたＩＤの復号結果と、レンジ符号復号部７１から入力されたＩＤ以外の復号結果とを記録する。
【００２７】
次に図２を参照して、図１に示すＣＡＮ制御処理部５２に係るフレーム符号化処理を説明する。図２は、本実施形態に係るフレーム符号化方法の例を示す説明図である。図２の例は、一つのＣＡＮ（図１中のＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎのいずれか一つ）に流れるフレームを取得し、当該フレームを符号化する場合を示す。図２中に示されるフレーム１００は、ＣＡＮのデータフレームの概要を示すものである。ＣＡＮのデータフレームは、フレーム１００に示されるように、１１ビット長の識別子（ＩＤ）と、４ビット長のＤＬＣ（Data Length Code）と、最大６４ビット長のデータ（ＤＡＴＡ）とを含む。図２の例では、それらＩＤとＤＬＣとＤＡＴＡとが符号化対象データである。
なお、ＤＬＣがＩＤ毎に固定されている場合、つまり、ＩＤが決まればＤＬＣが一律に決まる場合には、サーバ装置７はＩＤからＤＬＣを決定できる。このため、ＤＬＣがＩＤ毎に固定されている場合には、自動車３からサーバ装置７へＤＬＣを送信しなくてもよいので、ＤＬＣを符号化対象にしなくてもよい。
【００２８】
ＣＡＮ制御処理部５２は、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎ毎に、図２に示すフレーム符号化方法によりフレーム符号化処理を行う。ＣＡＮ制御処理部５２には、ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０から、各ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎから取得されたフレームが入力される。ＣＡＮ制御処理部５２は、各ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎに対して、ＩＤ毎に、過去の直近に入力されたフレームのＤＬＣ及びＤＡＴＡを保持するバッファ（図示せず）を備える。
【００２９】
ＣＡＮ制御処理部５２の先頭移動法符号化部５３は、先頭移動法によりＩＤを符号化する。ハフマン符号化部５４は、ＩＤとＤＬＣとＤＡＴＡについて、それぞれ別個にハフマン符号化を行う。
【００３０】
以下、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎのうちの一つ、例えばＣＡＮ＿ｓｕｂ−ｂｕｓ＿１から取得されたフレームについてのフレーム符号化処理を説明する。フレーム１００は、ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース５０により、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１から取得されてＣＡＮ制御処理部５２に入力される。フレーム１００がＣＡＮ制御処理部５２に入力されると、図２のフレーム符号化方法の手順が開始される。図２の以降の説明では、フレーム１００がＣＡＮ制御処理部５２に入力された時刻をｔとし、フレーム１００の直前にＣＡＮ制御処理部５２に入力されたＣＡＮ＿ｓｕｂ−ｂｕｓ＿１のフレームの入力時刻を「ｔ−１」とする。フレーム１００がＣＡＮ制御処理部５２に入力された時刻ｔにおいて、ＣＡＮ制御処理部５２のバッファには入力時刻「ｔ−１」のフレームのＤＬＣ及びＤＡＴＡが既に保持されている。
【００３１】
（ステップＳ１０）  ＣＡＮ制御処理部５２は、フレーム１００からＩＤを取得する。
【００３２】
（ステップＳ１１）  先頭移動法符号化部５３は、ＩＤを先頭移動法により符号化する。この符号化により先頭移動法符号化データＭＴＦ（ＩＤ）が生成される。
【００３３】
（ステップＳ１２）  ハフマン符号化部５４は、先頭移動法符号化データＭＴＦ（ＩＤ）をハフマン符号により符号化する。この符号化により、先頭移動法符号化データＭＴＦ（ＩＤ）のハフマン符号化データが生成される。
【００３４】
（ステップＳ１３）  ＣＡＮ制御処理部５２は、フレーム１００からＤＬＣを取得する。また、ＣＡＮ制御処理部５２は、フレーム１００のＩＤに対応するバッファに保持されているＤＬＣを当該バッファから取得する。ＣＡＮ制御処理部５２は、フレーム１００から取得したＤＬＣとバッファから取得したＤＬＣとの差ｄＤＬＣを計算する。
【００３５】
（ステップＳ１４）  ハフマン符号化部５４は、差ｄＤＬＣをハフマン符号により符号化する。この符号化により、差ｄＤＬＣのハフマン符号化データが生成される。
【００３６】
（ステップＳ１５）  ＣＡＮ制御処理部５２は、フレーム１００からＤＡＴＡを取得する。また、ＣＡＮ制御処理部５２は、フレーム１００のＩＤに対応するバッファに保持されているＤＡＴＡを当該バッファから取得する。ＣＡＮ制御処理部５２は、フレーム１００から取得したＤＡＴＡとバッファから取得したＤＡＴＡとの差ｄＤＡＴＡを計算する。
【００３７】
（ステップＳ１６）  ハフマン符号化部５４は、差ｄＤＡＴＡをハフマン符号により符号化する。この符号化により、差ｄＤＡＴＡのハフマン符号化データが生成される。
【００３８】
（ステップＳ１７）  ＣＡＮ制御処理部５２は、フレーム１００の符号化データとして、「先頭移動法符号化データＭＴＦ（ＩＤ）のハフマン符号化データ」と「差ｄＤＬＣのハフマン符号化データ」と「差ｄＤＡＴＡのハフマン符号化データ」とを出力する。
【００３９】
（ステップＳ１８）  ＣＡＮ制御処理部５２は、フレーム１００のＩＤに対応するバッファの保持内容を、フレーム１００のＤＬＣ及びＤＡＴＡに書き換える。これにより、フレーム１００のＩＤに対応するバッファに、フレーム１００のＤＬＣ及びＤＡＴＡが保持される。
【００４０】
［先頭移動法符号化方法］
次に図３〜図１０を参照して、本実施形態に係る先頭移動法符号化方法を説明する。図３〜図１０は、本実施形態に係る先頭移動法符号化方法を説明するための具体例を示す説明図である。
先頭移動法符号化部５３（送信側）及び先頭移動法符号復号部７２（受信側）は、それぞれに、予測バッファを備える。予測バッファは、フレームの識別子（ＩＤ）毎に、複数の格納領域を備える。図３から図１０までの例では、説明の便宜上、ＩＤは「１００」、「１２３」及び「３２１」の３個である。各ＩＤに対して、バッファ位置番号が０から３までの４個の格納領域が設けられる。バッファ位置番号「０」が先頭の格納領域を示し、次いでバッファ位置番号「１」が２番目の格納領域を示し、次いでバッファ位置番号「２」が３番目の格納領域を示し、次いでバッファ位置番号「３」が最後尾の格納領域を示す。
以下、図３〜図１０の例を参照して本実施形態に係る先頭移動法符号化方法を具体的に説明する。
【００４１】
図３には、送信側及び受信側の初期状態の各予測バッファが示される。初期状態では、予測バッファの全ての格納領域に空の状態を示す値が格納される。ここでは、空の状態を示す値の一例として、ＩＤに使用されない値「０００」が使用されている。
また、送信側及び受信側で共通に直前フラグが設定される。直前フラグは、今回入力されたＩＤの直前に入力されたＩＤを示す。したがって、直前フラグが設定されているＩＤは、過去の直近に入力されたＩＤである。ここでは、直前フラグは、送信側及び受信側で共通に、ＩＤ「１００」に初期設定されている。直前フラグが設定されているＩＤを直前ＩＤと称する。
【００４２】
次いで、送信側にＩＤ「１２３」が入力される。図４には、入力ＩＤ「１２３」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１２３」が自己の予測バッファの直前ＩＤ「１００」（図３参照）の格納領域に存在しないので、入力ＩＤ「１２３」を、直前ＩＤ「１００」の先頭の格納領域（バッファ位置番号「０」）に格納する。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１２３」を示す所定の符号（圧縮符号）を出力する。この入力ＩＤ「１２３」を示す符号は受信側へ送られる。先頭移動法符号化部５３（送信側）は、直前フラグを入力ＩＤ「１２３」に設定変更する。
【００４３】
先頭移動法符号復号部７２（受信側）は、ＩＤ「１２３」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すＩＤ「１２３」を、自己の予測バッファの直前ＩＤ「１００」（図３参照）の先頭の格納領域（バッファ位置番号「０」）に格納する。先頭移動法符号復号部７２（受信側）は、該受信した符号が示すＩＤ「１２３」を復号結果として出力する。先頭移動法符号復号部７２（受信側）は、直前フラグをＩＤ「１２３」に設定変更する。これにより、図４に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【００４４】
次いで、送信側にＩＤ「３２１」が入力される。図５には、入力ＩＤ「３２１」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部５３（送信側）は、入力ＩＤ「３２１」が自己の予測バッファの直前ＩＤ「１２３」（図４参照）の格納領域に存在しないので、入力ＩＤ「３２１」を、直前ＩＤ「１２３」の先頭の格納領域（バッファ位置番号「０」）に格納する。先頭移動法符号化部５３（送信側）は、入力ＩＤ「３２１」を示す所定の符号（圧縮符号）を出力する。この入力ＩＤ「３２１」を示す符号は受信側へ送られる。先頭移動法符号化部５３（送信側）は、直前フラグを入力ＩＤ「３２１」に設定変更する。
【００４５】
先頭移動法符号復号部７２（受信側）は、ＩＤ「３２１」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すＩＤ「３２１」を、自己の予測バッファの直前ＩＤ「１２３」（図４参照）の先頭の格納領域（バッファ位置番号「０」）に格納する。先頭移動法符号復号部７２（受信側）は、該受信した符号が示すＩＤ「３２１」を復号結果として出力する。先頭移動法符号復号部７２（受信側）は、直前フラグをＩＤ「３２１」に設定変更する。これにより、図５に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【００４６】
次いで、送信側にＩＤ「１００」が入力される。図６には、入力ＩＤ「１００」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１００」が自己の予測バッファの直前ＩＤ「３２１」（図５参照）の格納領域に存在しないので、入力ＩＤ「１００」を、直前ＩＤ「３２１」の先頭の格納領域（バッファ位置番号「０」）に格納する。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１００」を示す所定の符号（圧縮符号）を出力する。この入力ＩＤ「１００」を示す符号は受信側へ送られる。先頭移動法符号化部５３（送信側）は、直前フラグを入力ＩＤ「１００」に設定変更する。
【００４７】
先頭移動法符号復号部７２（受信側）は、ＩＤ「１００」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すＩＤ「１００」を、自己の予測バッファの直前ＩＤ「３２１」（図５参照）の先頭の格納領域（バッファ位置番号「０」）に格納する。先頭移動法符号復号部７２（受信側）は、該受信した符号が示すＩＤ「１００」を復号結果として出力する。先頭移動法符号復号部７２（受信側）は、直前フラグをＩＤ「１００」に設定変更する。これにより、図６に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【００４８】
次いで、送信側にＩＤ「１２３」が入力される。図７には、入力ＩＤ「１２３」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１２３」が自己の予測バッファの直前ＩＤ「１００」（図６参照）の先頭の格納領域（バッファ位置番号「０」）に存在するので、そのままの格納状態を維持する。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１２３」が既に格納されていた格納領域のバッファ位置番号「０」を示す所定の符号（圧縮符号）を出力する。このバッファ位置番号「０」を示す符号は受信側へ送られる。先頭移動法符号化部５３（送信側）は、直前フラグを入力ＩＤ「１２３」に設定変更する。
【００４９】
先頭移動法符号復号部７２（受信側）は、バッファ位置番号「０」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号であるので、自己の予測バッファの直前ＩＤ「１００」（図６参照）の当該受信した符号が示すバッファ位置番号「０」の格納領域からＩＤ「１２３」を取得する。先頭移動法符号復号部７２（受信側）は、該取得したＩＤ「１２３」を復号結果として出力する。先頭移動法符号復号部７２（受信側）は、直前フラグをＩＤ「１２３」に設定変更する。これにより、図７に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【００５０】
次いで、送信側にＩＤ「１００」が入力される。図８には、入力ＩＤ「１００」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１００」が自己の予測バッファの直前ＩＤ「１２３」（図７参照）の格納領域に存在しないので、入力ＩＤ「１００」を、直前ＩＤ「３２１」の先頭の格納領域（バッファ位置番号「０」）に格納する。このとき、先頭移動法符号化部５３（送信側）は、ＩＤ「１２３」のバッファ位置番号「０」の格納領域に既に存在していたＩＤ「３２１」を、当該ＩＤ「１２３」の次のバッファ位置番号「１」の格納領域に移す。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１００」を示す所定の符号（圧縮符号）を出力する。この入力ＩＤ「１００」を示す符号は受信側へ送られる。先頭移動法符号化部５３（送信側）は、直前フラグを入力ＩＤ「１００」に設定変更する。
【００５１】
先頭移動法符号復号部７２（受信側）は、ＩＤ「１００」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号ではないので、受信した符号が示すＩＤ「１００」を、自己の予測バッファの直前ＩＤ「１２３」（図７参照）の先頭の格納領域（バッファ位置番号「０」）に格納する。このとき、先頭移動法符号復号部７２（受信側）は、送信側と同様に、ＩＤ「１２３」のバッファ位置番号「０」の格納領域に既に存在していたＩＤ「３２１」を、当該ＩＤ「１２３」の次のバッファ位置番号「１」の格納領域に移す。先頭移動法符号復号部７２（受信側）は、該受信した符号が示すＩＤ「１００」を復号結果として出力する。先頭移動法符号復号部７２（受信側）は、直前フラグをＩＤ「１００」に設定変更する。これにより、図８に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
なお、送信側及び受信側共に、ＩＤの格納領域を次のバッファ位置番号の格納領域に移す場合に、バッファ位置番号「３」の格納領域に既に存在したＩＤについては削除する。
【００５２】
次いで、送信側にＩＤ「１２３」が入力される。図９には、入力ＩＤ「１２３」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１２３」が自己の予測バッファの直前ＩＤ「１００」（図８参照）の先頭の格納領域（バッファ位置番号「０」）に存在するので、そのままの格納状態を維持する。先頭移動法符号化部５３（送信側）は、入力ＩＤ「１２３」が既に格納されていた格納領域のバッファ位置番号「０」を示す所定の符号（圧縮符号）を出力する。このバッファ位置番号「０」を示す符号は受信側へ送られる。先頭移動法符号化部５３（送信側）は、直前フラグを入力ＩＤ「１２３」に設定変更する。
【００５３】
先頭移動法符号復号部７２（受信側）は、バッファ位置番号「０」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号であるので、自己の予測バッファの直前ＩＤ「１００」（図８参照）の当該受信した符号が示すバッファ位置番号「０」の格納領域からＩＤ「１２３」を取得する。先頭移動法符号復号部７２（受信側）は、該取得したＩＤ「１２３」を復号結果として出力する。先頭移動法符号復号部７２（受信側）は、直前フラグをＩＤ「１２３」に設定変更する。これにより、図９に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【００５４】
次いで、送信側にＩＤ「３２１」が入力される。図１０には、入力ＩＤ「３２１」が処理された結果の送信側及び受信側の各予測バッファが示される。先頭移動法符号化部５３（送信側）は、入力ＩＤ「３２１」が自己の予測バッファの直前ＩＤ「１２３」（図９参照）の２番目の格納領域（バッファ位置番号「１」）に存在するので、ＩＤ「３２１」を先頭の格納領域（バッファ位置番号「０」）に移す。このとき、先頭移動法符号化部５３（送信側）は、ＩＤ「１２３」のバッファ位置番号「０」の格納領域に既に存在していたＩＤ「１００」を、当該ＩＤ「１２３」の次のバッファ位置番号「１」の格納領域に移す。先頭移動法符号化部５３（送信側）は、入力ＩＤ「３２１」が既に格納されていた格納領域のバッファ位置番号「１」を示す所定の符号（圧縮符号）を出力する。このバッファ位置番号「１」を示す符号は受信側へ送られる。先頭移動法符号化部５３（送信側）は、直前フラグを入力ＩＤ「３２１」に設定変更する。
【００５５】
先頭移動法符号復号部７２（受信側）は、バッファ位置番号「１」を示す符号を受信すると、受信した符号がバッファ位置番号を示す符号であるので、自己の予測バッファの直前ＩＤ「１２３」（図９参照）の当該受信した符号が示すバッファ位置番号「１」の格納領域からＩＤ「３２１」を取得する。先頭移動法符号復号部７２（受信側）は、該取得したＩＤ「３２１」を復号結果として出力する。先頭移動法符号復号部７２（受信側）は、直前フラグをＩＤ「３２１」に設定変更する。これにより、図１０に示されるように、送信側及び受信側の両方の予測バッファの状態が一致する。
【００５６】
上述した先頭移動法符号化方法によれば、ＩＤの符号化結果（先頭移動法符号化データ）において、データに偏りが生じる。本実施形態では、その偏りがあるデータ（先頭移動法符号化データ）に対してさらにハフマン符号化を施す。これにより、ＩＤに対してそのままハフマン符号化を施すよりも、高いデータ圧縮率が得られる。このデータ圧縮率の向上の効果は、ＩＤの出現頻度の偏りが大きいほど顕著になる。
【００５７】
自動車等の車両に搭載されたＣＡＮ（コントローラエリアネットワーク）のフレームの識別子（ＩＤ）には、ＩＤによって出現頻度に偏りがある（例えば非特許文献１参照）。したがって、車両に搭載されたＣＡＮから取得されたフレームのＩＤに対して、本実施形態に係る先頭移動法符号化方法を適用することにより、ＩＤのデータ圧縮率が向上する効果が得られる。
【００５８】
［変形例］
次に図１１を参照して、本実施形態に係るＩＤ符号化方法の変形例を説明する。図１１は、本実施形態に係るＩＤ符号化方法の変形例を示す説明図である。図１１において、ＣＡＮ制御処理部５２は、ＩＤをハッシュ（hash）値に変換するハッシュ変換部を備える。
【００５９】
（ステップＳ３１）  ＣＡＮ制御処理部５２は、ハッシュ変換部によりＩＤをハッシュ値ｈａｓｈ（ＩＤ）に変換する。ＣＡＮ制御処理部５２は、ハッシュ値ｈａｓｈ（ＩＤ）をハフマン符号化部５４へ入力する。
【００６０】
（ステップＳ３２）  ハフマン符号化部５４は、ハッシュ値ｈａｓｈ（ＩＤ）をハフマン符号により符号化する。ハッシュ値ｈａｓｈ（ＩＤ）をハフマン符号化した結果のハフマン符号化データは、ゲートウェイ装置５からＴＣＵ６へ送信され、ＴＣＵ６の通信制御処理部６２に入力される。
【００６１】
（ステップＳ３３）  通信制御処理部６２のハフマン符号復号部６３は、通信制御処理部６２に入力されたハフマン符号化データを復号する。ハフマン符号復号部６３は、当該復号により得られたハッシュ値ｈａｓｈ（ＩＤ）をレンジ符号化部６４へ出力する。
【００６２】
（ステップＳ３４）  レンジ符号化部６４は、ハフマン符号復号部６３から入力されたハッシュ値ｈａｓｈ（ＩＤ）をレンジ符号により符号化する。ハッシュ値ｈａｓｈ（ＩＤ）をレンジ符号化した結果のレンジ符号化データは、通信制御処理部６２から通信部６０に入力されて、通信部６０によりサーバ装置７へ送信される。
【００６３】
ＩＤとハッシュ値ｈａｓｈ（ＩＤ）との対応関係を示すＩＤ−ハッシュ値対応テーブルは、予め、サーバ装置７に備えられる。サーバ装置７は、自動車３から受信したハッシュ値ｈａｓｈ（ＩＤ）のレンジ符号化データを、レンジ符号復号部７１により復号する。サーバ装置７は、当該復号により得られたハッシュ値ｈａｓｈ（ＩＤ）に対応するＩＤをＩＤ−ハッシュ値対応テーブルから取得する。
【００６４】
ＩＤにはスパース性があるので、ＩＤをハッシュ値に変換することにより、ＩＤの符号化におけるテーブル探索対象空間を小さくすることができる。図１１に示されるＩＤ符号化方法によれば、通信制御処理部６２におけるハフマン符号の復号からレンジ符号化までの過程において、ハフマン符号の復号により得られたハッシュ値ｈａｓｈ（ＩＤ）をＩＤに戻すテーブル探索処理と、ＩＤのレンジ符号化においてＩＤをハッシュ値ｈａｓｈ（ＩＤ）に変換する処理とを省略することができる。
【００６５】
上述した実施形態によれば、自動車３（車両）に搭載されたＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎ（通信ネットワーク）に流れるデータを自動車３の外部のサーバ装置７へリアルタイムに送信する通信システム１において、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎの制御処理を実行するＣＡＮ制御処理部５２（第１演算処理部）が、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎを流れるフレームに含まれる符号化対象データをハフマン符号により符号化するハフマン符号化部を備え、サーバ装置７へ送信される通信データを生成する通信制御処理部６２（第２演算処理部）が、ＣＡＮ制御処理部５２から送信されたハフマン符号化データを復号するハフマン符号復号部と、ハフマン符号復号部の復号結果をレンジ符号により符号化するレンジ符号化部と、を備え、レンジ符号化部により符号化されたレンジ符号化データがサーバ装置７へ送信される。
ハフマン符号化は、例えばレンジ符号化に比してリアルタイム性が高い符号化方法である。一方、レンジ符号化は、例えばハフマン符号化に比してデータ圧縮率が高い符号化方法である。
【００６６】
ＣＡＮ制御処理部５２は、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎの制御処理を実行することから、高速に処理を実行することが要求される。例えば、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎとの間で送受するフレームを一時的に保持する送受バッファの読み出し及び書き込みに一定以上の時間がかかると、処理しきれないフレームが廃棄される事態が発生し得る。本実施形態によれば、ＣＡＮ制御処理部５２に対しては比較的リアルタイム性が高いハフマン符号化を適用することにより、ＣＡＮ制御処理部５２の高速な処理の実行に寄与することができる。
【００６７】
一方、自動車３から車外のサーバ装置７へ送信される通信データ量は、できる限り少ないことが好ましい。例えば、無線通信ネットワークを利用して自動車３からサーバ装置７へデータを送信する場合には、無線通信コストの低減や無線通信速度の変動（速度低下）によるデータ遅延の影響の低減などのために、通信データ量はできる限り少ない方が好ましい。本実施形態によれば、通信制御処理部６２に対しては比較的データ圧縮率が高いレンジ符号化を適用することにより、サーバ装置７へ送信される通信データ量の低減に寄与することができる。
【００６８】
上述したように本実施形態によれば、車両に搭載された通信ネットワークに流れるデータを車両の外部の装置へリアルタイムに送信する通信システムにおいて、リアルタイム性と通信データ量の低減との向上を図ることができるという効果が得られる。
【００６９】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００７０】
上述した図１の通信システム１では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【００７１】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００７２】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００７３】
１…通信システム、３…自動車、５…ゲートウェイ装置、６…ＴＣＵ、７…サーバ装置、５０…ＣＡＮ＿ｓｕｂ−ｂｕｓインタフェース、５１，６１…ＣＡＮ−ＦＤインタフェース、５２…ＣＡＮ制御処理部（第１演算処理部）、５３…先頭移動法符号化部、５４…ハフマン符号化部、６０，７０…通信部、６２…通信制御処理部（第２演算処理部）、６３…ハフマン符号復号部、６４…レンジ符号化部、７１…レンジ符号復号部、７２…先頭移動法符号復号部、７３…記録部、ＣＡＮ＿ｓｕｂ−ｂｕｓ＿１〜ｎ…通信ネットワーク
【図１】
2019140545.tif 000003
【図２】
2019140545.tif 000004
【図３】
2019140545.tif 000005
【図４】
2019140545.tif 000006
【図５】
2019140545.tif 000007
【図６】
2019140545.tif 000008
【図７】
2019140545.tif 000009
【図８】
2019140545.tif 000010
【図９】
2019140545.tif 000011
【図１０】
2019140545.tif 000012
【図１１】
2019140545.tif 000013