IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 有限会社ファインチューンの特許一覧

特許7142977データ通信システム、送信装置、および受信装置
<>
  • 特許-データ通信システム、送信装置、および受信装置 図1
  • 特許-データ通信システム、送信装置、および受信装置 図2
  • 特許-データ通信システム、送信装置、および受信装置 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-09-16
(45)【発行日】2022-09-28
(54)【発明の名称】データ通信システム、送信装置、および受信装置
(51)【国際特許分類】
   H03M 13/47 20060101AFI20220920BHJP
   H04L 1/00 20060101ALI20220920BHJP
【FI】
H03M13/47
H04L1/00 B
【請求項の数】 7
(21)【出願番号】P 2021202714
(22)【出願日】2021-12-14
【審査請求日】2021-12-14
【早期審査対象出願】
(73)【特許権者】
【識別番号】503378475
【氏名又は名称】有限会社ファインチューン
(74)【代理人】
【識別番号】100166545
【弁理士】
【氏名又は名称】折坂 茂樹
(72)【発明者】
【氏名】細田 隆之
【審査官】谷岡 佳彦
(56)【参考文献】
【文献】特開昭60-248044(JP,A)
【文献】特開平01-101743(JP,A)
【文献】米国特許出願公開第2003/0060970(US,A1)
【文献】細田 隆之,中国人剰余定理を利用した誤り訂正文字化符号,[online],2016年,インターネット<https://web.archive.org/web/20160224033800/http://www.finetune.co.jp/~lyuka/technote/crtecc/>
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/00
H03M 7/00
H04L 1/00
(57)【特許請求の範囲】
【請求項1】
送信装置と受信装置とを備え、前記送信装置から前記受信装置へ、デジタルデータを誤り訂正可能に伝送するデータ通信システムであって、
前記送信装置は、
予め定められた複数のコプライムで構成されるコプライムセットに基づいて、予め定められた情報ビットのビット数を有する前記デジタルデータについて、前記コプライムセットを構成するコプライムのそれぞれを除数として得られる複数の剰余の組である剰余数系を算出する剰余数系算出部と、
前記剰余数系算出部が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、印刷可能な文字である符号文字に変換することにより、前記剰余数系を前記符号文字により構成される文字列に変換するマッピング処理部と、
を備え、
前記受信装置は、
前記送信装置から受け取った前記文字列を、前記変換マップに基づいて逆変換し、剰余数系を復元するマッピング解除部と、
前記剰余数系算出部で剰余数系を算出するのに用いたものと同じ予め定められた複数のコプライムと前記マッピング解除部が復元した剰余数系とに基づいて、前記デジタルデータを復号するデータ復号部とを備え、
前記コプライムセットは、n+r(ただしr≧1)個のコプライムにより構成され、前記情報ビットのビット数で表されるデジタルデータを、前記コプライムセットを構成するコプライムのうち下位n個のコプライムによる剰余の組により一意に表すことができるように定められ、
前記コプライムセットを構成するコプライムのうち下位n個のコプライムによる情報エントロピーの整数部分を前記情報ビットの伝送に利用し、前記情報エントロピーの小数部分に相当する余剰分を主情報以外の情報の伝送に利用する
ことを特徴とするデータ通信システム。
【請求項2】
前記送信装置から前記受信装置に、予め定められた符号語間の分離用のデリミタ文字を伝送可能に構成され、前記変換マップは、前記デリミタ文字の1ビット誤りになる文字を符号文字に用いないことを特徴とする請求項1に記載のデータ通信システム。
【請求項3】
送信装置と受信装置とを備え、前記送信装置から前記受信装置へ、デジタルデータを誤り訂正可能に伝送するデータ通信システムであって、
前記送信装置は、
予め定められた複数のコプライムで構成されるコプライムセットに基づいて、予め定められた情報ビットのビット数を有する前記デジタルデータについて、前記コプライムセットを構成するコプライムのそれぞれを除数として得られる複数の剰余の組である剰余数系を算出する剰余数系算出部と、
前記剰余数系算出部が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、印刷可能な文字である符号文字に変換することにより、前記剰余数系を前記符号文字により構成される文字列に変換するマッピング処理部と、
を備え、
前記受信装置は、
前記送信装置から受け取った前記文字列を、前記変換マップに基づいて逆変換し、剰余数系を復元するマッピング解除部と、
前記剰余数系算出部で剰余数系を算出するのに用いたものと同じ予め定められた複数のコプライムと前記マッピング解除部が復元した剰余数系とに基づいて、前記デジタルデータを復号するデータ復号部とを備え、
前記コプライムセットは、n+r(ただしr≧1)個のコプライムにより構成され、前記情報ビットのビット数で表されるデジタルデータを、前記コプライムセットを構成するコプライムのうち下位n個のコプライムによる剰余の組により一意に表すことができるように定められ、
前記送信装置から前記受信装置に、予め定められた符号語間の分離用のデリミタ文字を伝送可能に構成され、前記変換マップは、前記デリミタ文字の1ビット誤りになる文字を符号文字に用いないことを特徴とするデータ通信システム。
【請求項4】
予め定められた複数のコプライムで構成されるコプライムセットに基づいて、予め定められた情報ビットのビット数を有するデジタルデータについて、前記コプライムセットを構成するコプライムのそれぞれを除数として得られる複数の剰余の組である剰余数系を算出する剰余数系算出部と、
前記剰余数系算出部が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、印刷可能な文字である符号文字に変換することにより、前記剰余数系を前記符号文字により構成される文字列に変換するマッピング処理部と、
前記マッピング処理部が出力する文字列を符号化された送信データとして、受信装置に送信する送信部と、
を備え、
前記コプライムセットを構成するコプライムのうち下位n個のコプライムによる情報エントロピーの整数部分を前記情報ビットの送信に利用し、前記情報エントロピーの小数部分に相当する余剰分を主情報以外の情報の送信に利用する送信装置。
【請求項5】
前記送信装置から前記受信装置に、予め定められた符号語間の分離用のデリミタ文字を伝送可能に構成され、前記変換マップは、前記デリミタ文字の1ビット誤りになる文字を符号文字に用いないことを特徴とする請求項4に記載の送信装置。
【請求項6】
予め定められた複数のコプライムで構成されるコプライムセットに基づいて、予め定められた情報ビットのビット数を有するデジタルデータについて、前記コプライムセットを構成するコプライムのそれぞれを除数として得られる複数の剰余の組である剰余数系を算出する剰余数系算出部と、
前記剰余数系算出部が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、印刷可能な文字である符号文字に変換することにより、前記剰余数系を前記符号文字により構成される文字列に変換するマッピング処理部と、
前記マッピング処理部が出力する文字列を符号化された送信データとして、受信装置に送信する送信部と、
を備え、
記受信装置に、予め定められた符号語間の分離用のデリミタ文字を伝送可能に構成され、前記変換マップは、前記デリミタ文字の1ビット誤りになる文字を符号文字に用いないことを特徴とする送信装置。
【請求項7】
請求項4から6の何れか1項に記載の送信装置により符号化された、前記符号文字により構成される前記文字列を受信して復号する受信装置であって、
前記送信装置から受け取った前記文字列を、前記変換マップに基づいて逆変換し、剰余数系を復元するマッピング解除部と、
前記剰余数系算出部で剰余数系を算出するのに用いたものと同じ予め定められた複数のコプライムと前記マッピング解除部が復元した剰余数系とに基づいて、デジタルデータを復号するデータ復号部とを備えることを特徴とする受信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、誤り訂正が可能な通信システムに関する。
【背景技術】
【0002】
データの伝送が文字やバイト単位で行われる通信媒体を用いるデジタルデータ伝送において、デジタルデータを印字可能な文字に変換して伝送するコーデック(符号化/復号)が用いられている(例えば電子メールにおけるMIME BASE64コーデック)。このようなコーデックにおいて、デジタルデータに冗長度を付加した誤り訂正符号に変換し、それを印字可能な文字の組に再変換して送信し、受信した文字の組を誤り訂正符号に変換して復号し伝送時に文字に生じた誤りの影響を除去することによってデジタルデータを回復することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、上述のようなコーデックでは、誤り訂正符号化と文字化が別々に行われるため、伝送時に文字に生じる誤りが文字からの変換時に拡大することがある。また、符号化にも文字化にも冗長度が必要なために符号化率が低く、符号化率を改善しようとすると1つの伝送単位が大きくて伝送処理遅延が大きくなってしまう。また、符号の区切りを知るための同期ワードや伝送サイズなどの付帯情報を必要としフレーム構造や情報ヘッダーなどの特別なしくみが必要である。このようなコーデックは信頼性と実時間性と伝送効率が同時に要求される分野(例えば産業ロボットや乗り物の制御信号の伝送)には利用困難であった。
【0004】
上記の課題に鑑み、本発明は、データの伝送単位が比較的小さく、符号の区切りを知ることが容易で、伝送時の誤りの影響を除去しうる、高符号化率のコーデックが適用された通信システム、送信装置、および受信装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記の従来技術の欠点の本質は、言い換えれば伝送用の文字の持つ情報エントロピーを全く活用出来ていないことに起因している。そのことに鑑み、本発明では、誤り訂正符号化と文字化を合わせて行うこと、つまり印字可能な文字種の組み合わせとして実現できる数の表現方法と、その情報エントロピーが大となる組み合わせを選ぶことで解決する。
【0006】
本発明の実施形態に係るデータ通信システムは、送信装置と受信装置とを備え、送信装置から受信装置へ、デジタルデータを誤り訂正可能に伝送する。送信装置は、予め定められた複数のコプライムで構成されるコプライムセットに基づいて、予め定められた情報ビットのビット数を有するデジタルデータについて、コプライムセットを構成するコプライムのそれぞれを除数として得られる複数の剰余の組である剰余数系を算出する剰余数系算出部と、剰余系算出部が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、印刷可能な文字である符号文字に変換することにより、剰余数系を符号文字により構成される文字列に変換するマッピング処理部と、を備える。受信装置は、送信装置から受け取った文字列を、変換マップに基づいて逆変換し、剰余数系を復元するマッピング解除部と、剰余数系算出部で剰余数系を算出するのに用いたものと同じ予め定められた複数のコプライムとマッピング解除部が復元した剰余数系とに基づいて、デジタルデータを復号するデータ復号部とを備える。コプライムセットは、n+r(ただしr≧1)個のコプライムにより構成され、情報ビットのビット数で表されるデジタルデータを、コプライムセットを構成するコプライムのうち下位n個のコプライムによる剰余の組により一意に表すことができるように定められる。
【0007】
本発明では、コプライムセットを構成するコプライムのうち下位n個のコプライムによる情報エントロピーの整数部分を情報ビットの伝送に利用し、小数部分に相当する余剰分を主情報以外の情報の伝送に利用するとよい。
【0008】
本発明では、送信装置から受信装置に、予め定められた符号語間の分離用のデリミタ文字を伝送可能に構成され、変換マップは、デリミタ文字の1ビット誤りになる文字を符号文字に用いないようにするとよい。
【0009】
本発明の実施形態に係る送信装置は、予め定められた複数のコプライムで構成されるコプライムセットに基づいて、予め定められた情報ビットのビット数を有するデジタルデータについて、コプライムセットを構成するコプライムのそれぞれを除数として得られる複数の剰余(以下、シンボルと呼ぶ場合がある)の組である剰余数系を算出する剰余数系算出部と、剰余系算出部が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、印刷可能な文字である符号文字に変換することにより、剰余数系を符号文字により構成される文字列に変換するマッピング処理部と、を備える。
【0010】
本発明では、コプライムセットを構成するコプライムのうち下位n個のコプライムによる情報エントロピーの整数部分を情報ビットの送信に利用し、小数部分に相当する余剰分を主情報以外の情報の送信に利用するとよい。
【0011】
本発明では、送信装置から受信装置に、予め定められた符号語間の分離用のデリミタ文字を伝送可能に構成され、変換マップは、デリミタ文字の1ビット誤りになる文字を符号文字に用いないようにするとよい。
【0012】
本発明の実施形態に係る受信装置は、上記の何れかの送信装置により符号化された、符号文字により構成される文字列を受信して復号する。受信装置は、送信装置から受け取った文字列を、変換マップに基づいて逆変換し、剰余数系を復元するマッピング解除部と、剰余数系算出部で剰余数系を算出するのに用いたものと同じ予め定められた複数のコプライムとマッピング解除部が復元した剰余数系とに基づいて、デジタルデータを復号するデータ復号部とを備える。
【図面の簡単な説明】
【0013】
図1】データ通信システム1の構成を示すブロック図である。
図2】7-bit ASCIIコードの文字コード表を示す。
図3】変換マップMの一例を示す。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下の説明では、同一の部材には同一の符号を付し、一度説明した部材については適宜その説明を省略する。また、以下の説明では互いに素な数のことをコプライムと呼ぶ。
【0015】
〔ハードウェアの概略構成〕
図1は、本実施形態に係るデータ通信システム1の構成を示すブロック図である。図1に示すように、データ通信システム1は、送信装置2と、受信装置3とを備える。送信装置2と受信装置3とは、有線または無線の通信路により通信可能に接続されている。
【0016】
送信装置2は、送信データdtxを誤り訂正可能に符号化して、受信装置3に送信する。送信データdtxは送信装置2の内部で生成されてもよいし、外部から与えられてもよいが、予め定められた情報ビット数を単位として、符号化される。図1に示すように、送信装置2は、剰余数系算出部21、マッピング処理部22、及び送信部23を備える。
【0017】
剰余数系算出部21は、複数のコプライムのそれぞれを除数、送信データdtxを被除数として得た、コプライムの数に応じた数の剰余の組(以下、この剰余の組を剰余数系とという)を算出する。中国人剰余定理 (Chinese remainder theorem) によるとコプライムの総乗未満の正整数xは、各コプライムによる剰余の組で一意に表される。この性質を利用し、剰余数系算出部21が算出する剰余数系は、送信データdtxを一意に表すことができる。剰余数系算出部21で剰余数系を算出するために用いる複数のコプライムの組を、コプライムセットCsetと呼ぶ。コプライムセットCsetの選択については後に詳述するが、コプライムセットCsetは、一度に送信できる情報ビット数を表すのに必要なコプライムよりも多くのコプライムを含み、この冗長なコプライムによる剰余を剰余数系に含めることで誤り訂正可能な符号化を実現する。
【0018】
マッピング処理部22は、剰余数系算出部21が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、符号文字に変換する。変換マップMは、剰余と印刷可能な文字とを1対1に割り当てる。変換マップMについては後に詳述するが、符号文字には、例えば図2に示す7-bit ASCIIコードなどの文字コード表における印刷可能な文字を用いるとよい。送信データdtxは、剰余数系算出部21およびマッピング処理部22での処理を経て、剰余数系を表す文字列に変換される。この文字列の個々の文字は、コプライムセットCsetに含まれる個々のコプライムを除数とした剰余を表している。
【0019】
送信部23は、無線または有線によるデータ送信を実現する。送信部23は、マッピング処理部22が出力する文字列を、符号化された送信データdtcodeとして、受信装置3に送信する。
【0020】
受信装置3は、送信装置2からの符号化された送信データを受信し、これを復号して、送信装置2が送信した元のデータを得る。図1に示すように、受信装置3は、受信部31、マッピング解除部32、及びデータ復号部33を備える。
【0021】
受信部31、無線または有線によるデータ受信を実現する。受信部31は、送信部23から送信される符号化された送信データを受信し、マッピング解除部32に供給する。
【0022】
受信部31からマッピング解除部32に供給される符号化された送信データは、符号文字により構成された文字列である。マッピング解除部32は、この文字列を、マッピング処理部22で用いる変換マップMと同じマップを用いて逆変換し、剰余数系を復元する。すなわち、マッピング解除部32は、符号化された送信データである文字列の個々の文字を、変換マップMを用いて剰余を表す数に変換し、剰余数系を復元する。マッピング解除部32は復元した剰余数系をデータ復号部33に供給する。
【0023】
データ復号部33は、剰余数系算出部21で剰余数系を算出するのに用いたものと同じコプライムセットCsetとマッピング解除部32が復元した剰余数系とに基づいて、既知の中国人剰余定理の解法アルゴリズムにより受信データdrxを算出する。このとき、コプライムセットCsetの冗長性により、コプライムセットCsetと剰余数系は、受信データdrxを算出するために必要な数を超える、冗長なコプライムおよび冗長な剰余を含んでいる。データ復号部33は、コプライムおよび剰余について複数通りの組み合わせで受信データdrxを算出し、複数の受信データdrxを算出する。通信過程でエラーが生じていなければデータ復号部33で算出されるすべての受信データdrxは同じ値となるので、その値を最終的な受信データdrxとする。
【0024】
伝送中に、許容可能なビット数の以下のエラーが生じていた場合には、エラーの影響を受けていない剰余のみを組み合わせて算出される受信データdrxは共通の値となり、エラーの影響を受けた剰余を含む剰余の組み合わせにより算出される受信データdrxは、他の組み合わせから算出される受信データdrxとは異なる値となる。したがって、多数決により、エラーの影響を受けていない剰余のみを組み合わせて算出される受信データdrxを、最終的な受信データdrxとする。
【0025】
伝送中に、許容可能なビット数を超えるエラーが生じていた場合には、データ復号部33で算出される受信データdrxはすべて互いに異なる値となり、多数決により受信データdrxを得ることができない。この場合、受信装置3は、送信装置2にデータの再送信を要求する等、正しいデータを受信するための事後処理を行う。
【0026】
このような構成により、本実施形態に係るデータ通信システム1は、送信装置2と受信装置3との間で、誤り訂正可能な通信を実現する。
【0027】
上述のように送信装置2と受信装置3により構成されるデータ通信システム1において、送信装置2と受信装置3は共通の変換マップMとコプライムセットCsetを持ち、それぞれにおける処理に利用する。以下で説明する変換マップMとコプライムセットCsetを利用することで、本発明のデータ通信システムの作用効果が実現される。
【0028】
〔変換マップ〕
変換マップMは、送信データdtxを被除数、コプライムセットCsetに属する各コプライムCを除数としたときの剰余を、符号文字に変換するための変換マップであり、剰余と文字とが1対1に割り当てられている。この変換マップMに用いる符号文字には、7-bit ASCIIコードなどの文字コード表における印刷可能な文字を用いることができる。図2に示した7-bit ASCIIコードの文字コード表において、印刷可能な文字は、「!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~」の94文字(図2において、網掛けが付されていない文字)である。したがって、符号文字として7-bit ASCIIコードの印刷可能な文字を用いる場合にコプライムセットCsetに含まれる最大のコプライムCの値は94となる。剰余と文字の割り当ては任意であるが、特に断りのない限り、印刷可能なASCIIコードの値が小さい方から順に剰余を表す数を割り当てるとよい。なお、当然のことながら7-bit ASCIIコード以外の文字コードを利用することも可能であるが、以下の説明では、7-bit ASCIIコードの印刷可能な文字を用いる場合を例に説明する。単に文字コード表と称する場合には、7-bit ASCIIコードなどの文字コード表を指すものと理解されたい。
【0029】
本実施形態のデータ通信システム1では、変換マップMにより、最大限の印刷可能な文字を用いて符号化と文字化を一度に行うことによりBCH符号などのブロック符号を文字化したものと比べ良好な符号化率を得ることができる。変換マップMが符号文字として印刷可能な文字を用いることにより、送信データのロギングや送信データのメールへの添付が容易である。
【0030】
〔デリミタによる符号文字の制限〕
上述の通り、符号文字として利用できる文字の数によりコプライムセットCsetに含まれる最大のコプライムCの値が規定されるが、本発明に係る通信システムの通信方法はブロック符号の一種であるので、符号語間を分離するデリミタと呼ばれる制御コードが必要な場合がある。そこで、文字コード表における任意の1文字をデリミタを表す文字として扱うとよい。デリミタを表す文字は印刷可能な文字以外の文字(制御文字等)としてもよい。このとき、デリミタにも誤りに対する耐性を持たせるべく、デリミタを割り当てる文字のコードに対し1ビットの誤りが生じたコードに対応する文字については剰余を割り当てないようにするとよい。すなわち、デリミタに文字コードを割り当てられることにより、コプライムセットCsetに含まれる最大のコプライムCの値は、デリミタを用いない場合と比較して減少することがある。
【0031】
例えば、ASCIIコード(図2)での改行文字のLF(0x0a)をデリミタして用いる場合を考える。文字コード表においてLF(0x0a)が1ビット誤ったコードに対応する文字は、VT(0x0b)、BS(0x08)、SO(0x0e)、STX(0x02)、SUB(0x1a)、*(0x2a)、J(0x4a)の7文字であるが、これらのうちで印刷可能な文字は*(0x2a)とJ(0x4a)の2文字である。そこで、LF(0x0a)をデリミタして用いる場合には、*(0x2a)とJ(0x4a)に剰余を割り当てないようにすることで、コプライムセットCsetに含まれる最大のコプライムCの値が92に制限されつつ、デリミタに対して1ビットの誤り耐性を持たせることができる。図3はこのようにデリミタに対して誤り耐性を持たせたときの変換マップMの一例を示している。
【0032】
以上で説明したように、変換マップMにおける剰余に対する文字の割当に自由度があるため、1ビット誤り訂正付きデリミタの利用も可能となり、デリミタのために特別な同期ワードを必要としない。
【0033】
デリミタの7ビット中1ビットの誤り訂正による誤り率の改善の程度は、7文字中1文字、あるいは7シンボル中1シンボルの誤り訂正によるものと同じオーダーであるので本発明に係る通信システムとしては誤り訂正能力のバランスがよい。
【0034】
〔その他の符号文字の制限〕
上述の通り、ASCIIコードでの改行文字のLF(0x0a)をデリミタして用いる場合、符号文字は92に制限されるが、他の任意の文字を符号文字として利用しないようにすることもできる。例えば、コンマ(,)を符号文字として利用しないようにしてもよい。この場合、符号文字はさらに1つ減少し、91に制限されるが、剰余数系を変換マップMにより符号文字の配列としてあらわした符号語をCSV(コンマ分離テキスト)形式で保存するといった利用法が想定される場合には、符号語中のコンマが符号語の区切りを表すものとして誤認されることを防ぐことができる。
【0035】
〔コプライムセットの選択〕
中国人剰余定理(Chinese remainder theorem)によると正整数xは、式(1)を満たす互いに素な数(コプライム)p1…pkの剰余の組(剰余数系)で一意に表される。
【数1】
つまり、コプライムの組を決めれば、それらの数の総乗未満の正整数で表される情報を、剰余数系により表すことが可能となる。
【0036】
コプライムセットCsetには、変換マップMで用いることのできる符号文字の種類以下であり、且つ、互いに素な数の組が用いられる。例えば、変換マップMとして、上記の例のように94種の印刷可能な文字を含むものを用いる場合、94以下の数で構成される互いに素な数の組を用いることができる。素数同士はもちろん互いに素であるが、合成数でもその素因数が重複しなければ、互いに素となりうる。以下に、94以下の数で構成される互いに素な数の組の例を示す。識別のために互いの素な数の組中の最大の要素をmで表すものとし、m以下の互いに素な数の組をCoprimes_m(例えば、最大の要素が94であれbCoprimes_94)と表記するものとする。
【0037】
Coprimes_94 = {94, 93, 91, 89, 85, 83, 79, 73, 71, 67, 61, 59, 53, 43, 41, 37, 29, 23, 19, 11}
Coprimes_93 = {93, 92, 91, 89, 85, 83, 79, 73, 71, 67, 61, 59, 53, 47, 43, 41, 37, 29, 19, 11}
Coprimes_92 = {92, 91, 89, 87, 85, 83, 79, 73, 71, 67, 61, 59, 53, 47, 43, 41, 37, 31, 19, 11}
Coprimes_91 = {91, 89, 88, 87, 85, 83, 79, 73, 71, 67, 61, 59, 53, 47, 43, 41, 37, 31, 23, 19}
Coprimes_90 = {90, 89, 85, 83, 79, 73, 71, 67, 61, 59, 53, 47, 43, 41, 37, 31, 29, 23, 19, 17, 13, 11}
Coprimes_89 = {89, 88, 87, 85, 83, 79, 73, 71, 67, 61, 59, 53, 49, 47, 43, 41, 37, 31, 23, 19, 13}
【0038】
例えば、Coprimes_92中の上位3個のコプライム(92,91,89)による剰余数系を用いれば、92×91×89=745108未満の正整数を表現できる。
【0039】
本実施形態のデータ通信システム1では、送信データdtxを、コプライムセットCsetの各要素で割ったときの剰余の組である剰余数系により表すが、コプライムの組であるコプライムセットCsetに冗長性を持たせることで、誤り訂正を可能とする。すなわち、コプライムp…pの剰余の組(剰余数系)により式(1)を満たす正整数xを表現する場合、2つの互いに素な数pk+1、pk+2(ただし、p<pk+1<pk+2)を追加してxをk+2個の剰余で表すように冗長性を持たせると、1つの剰余に誤りがあった場合に、k+2個中のk個の剰余から逆算され得るk+2個の正整数のうちk+1k-1個は互いに異なるものとなるがk+1個は同一となるため多数決により1シンボルの誤り訂正が可能となる。
【0040】
より多くの多数決判定が出来るように上記rを増して冗長度を増加すれば2シンボル以上の誤りの訂正も可能である。また、r=1とした場合には、誤りの検出が可能であるものの、訂正はできない。r=1として、誤りが検出された場合、受信装置3は送信装置2に送信データdtxの再送を促すようにするとよい。
【0041】
以下、ある数(送信するデータ)をn個のコプライムを除数とする剰余で表す体系をn個のコプライムによる剰余数系と呼ぶこととする。そして、n個のコプライムに、それらより大きいr(1≦r)個以上のコプライムを追加して、n+r個のコプライムの剰余である数を表す体系を「冗長な剰余数系」と呼ぶこととする。本実施形態のデータ通信システム1では、送信データをこの「冗長な剰余数系」により表す。典型的には、n個のコプライムに2個の冗長なコプライムを追加して「冗長な剰余数系」により送信データを表現する。
【0042】
具体例としては、Coprimes_92中の最上位2個のコプライム(92,91)を冗長なコプライム(r=2)とし、それに続く上位3つのコプライム(89,87,85)を冗長でないコプライム(n=3)として用いる「冗長な剰余数系」とすれば、3つのコプライム(89,87,85)の総乗である89×87×85=658155未満の正整数を表現でき、かつ、冗長性により1シンボルの誤り訂正が可能である。
【0043】
冗長な剰余数系で表す数の情報エントロピーの最小値を考える。例えば、前記のCoprimes_92中のn+r個中の下位個の数の組で表しうる冗長な剰余数系の数の情報エントロピーの最小値は、および情報エントロピーを自然数に切り捨てた情報ビット数は、r=2,nが1~9において次のようになる。
【0044】
n=1のとき: ln(89) / ln(2) ≒ 6.47 > 6 bit
n=2のとき: ln(87 * 89) / ln(2) ≒ 12.91 > 12 bit
n=3のとき: ln(85 * 87 * 89) / ln(2) ≒ 19.32 > 19 bit
n=4のとき: ln(83 * 85 * 87 * 89) / ln(2) ≒ 25.70 > 25 bit
n=5のとき: ln(79 * 83 * 85 * 87 * 89) / ln(2) ≒ 32.00 > 32 bit
n=6のとき: ln(73 * 79 * 83 * 85 * 87 * 89) / ln(2) ≒ 38.19 > 38 bit
n=7のとき: ln(71 * 73 * 79 * 83 * 85 * 87 * 89) / ln(2) ≒ 44.34 > 44 bit
n=8のとき: ln(67 * 71 * 73 * 79 * 83 * 85 * 87 * 89) / ln(2) ≒ 50.41 > 50 bit
n=9のとき: ln(61 * 67 * 71 * 73 * 79 * 83 * 85 * 87 * 89) / ln(2) ≒ 56.34 > 56 bit
n=10のとき: ln(59 * 61 * 67 * 71 * 73 * 79 * 83 * 85 * 87 * 89) / ln(2) ≒ 62.22 > 62 bit
n=11のとき: ln(53 * 59 * 61 * 67 * 71 * 73 * 79 * 83 * 85 * 87 * 89) / ln(2) ≒ 67.95 > 67 bit
【0045】
なお、前述のように、符号文字として7-bit ASCIIコードなどの文字コード表における印刷可能な文字を用い、ASCIIコードでの改行文字のLF(0x0a)をデリミタして用いる場合、デリミタが誤った場合の文字を除外するための冗長度のために、印字可能な文字数より2つ小さいCoprimes_92からコプライムセットCsetを構成するコプライムCを選択するのが好ましい。
【0046】
〔情報ビットとスーパーデータ〕
上述のように、データの伝送に用いる情報ビット数は、冗長な剰余数系で表す数の情報エントロピーを自然数に切り捨てたビット数であるが、本実施形態のデータ通信システム1では、情報エントロピーの小数部分を利用して、例えば、伝送先アドレスや伝送符号長やハッシュ値あるいは日付などのいわゆるヘッダー情報に代表される付加的な情報(以下ではこの情報エントロピーの小数部分を利用した情報をスーパーデータと呼ぶ)を、データとは区別して伝送することができ、そのために特別なフレーム構造は不要である。スーパーデータを符号化したものも通常のデータを符号化したものと同じ符号語であるため誤り訂正も同様に行われる。
【0047】
例えば、先述のCoprimes_92においてn=7、r=2とした場合の情報エントロピーは約、44.34ビットであるので44ビットまでの情報ビット、すなわち16進数表記で0~0x0fffffffffffまでの値の情報ビットを扱うことができるが、情報エントロピーの余剰分として、符号化できる値としては0x000000000000から0x1457ce160ea0までであるので、この0x100000000000~0x1457ce160ea0をスーパーデータとして使用することができる。スーパーデータは、送信装置2の内部で生成されてもよいし、送信装置2に外部から提供されてもよい。また、受信装置3は、受信したスーパーデータを受信装置3の内部での処理に用いてもよいし、受信装置の外部に出力してもよい。
【0048】
このようにスーパーデータを伝送することにより、情報エントロピーを有効利用することができる。本発明の手法は、情報ビットの伝送だけを考えも十分に高い符号化率を実現するが、スーパーデータを含めると、より高い符号化率を実現することができる。
【0049】
〔動作例〕
続いて、以上で説明したデータ通信システム1において、送信装置2から受信装置3にデータを送信する際の動作の一例を説明する。
以下の例では、変換マップMは、符号文字として7-bit ASCIIコードなどの文字コード表における印刷可能な文字を用い、ASCIIコードでの改行文字のLF(0x0a)をデリミタして用いる。また、コプライムセットCsetは、Coprimes_92においてn=6、r=2とし38ビットの情報ビットを伝送する。コプライムセットCsetに含まれるコプライムCは、小さい順に、73,79,83,85,87,89,91,92の8個である。これらのコプライムCによる送信データの剰余を用いて冗長な剰余数系を表す。
【0050】
送信装置2から受信装置3への送信データdtxを0x000003dbabeface(10進数で表すと265126083278)とする。送信装置2の剰余数系算出部21は、コプライムセットCsetに含まれる各コプライムCによる送信データdtxの剰余を次のように算出する。
265126083278 % 73 = 36
265126083278 % 79 = 48
265126083278 % 83 = 81
265126083278 % 85 = 43
265126083278 % 87 = 50
265126083278 % 89 = 83
265126083278 % 91 = 56
265126083278 % 92 = 2
【0051】
送信装置2のマッピング処理部22は、上記のようにして求めた剰余を変換マップMを用いて次のように符号文字に変換する。
36 → F
48 → S
81 → t
43 → N
50 → U
83 → v
56 → [
2 → #
【0052】
すなわち、送信装置2において、送信データdtxである0x3dbabefaceは、8個の符号文字による文字列FStNUv[#で表される剰余数系に変換される。この剰余数系が符号化された送信データtxcodeとなる。
【0053】
符号化された送信データtxcodeは、通信路を介して受信装置3に伝送される。伝送中にエラーが生じない場合、受信装置3が受信する符号化された受信データrxcodeは符号化された送信データtxcodeと同じFStNUv[#となる。受信装置3のマッピング解除部32は、変換マップMを用いて剰余数系を復元する。すなわち、FStNUv[#から、8個の剰余の組である剰余数系{36,48,81,43,50,83,56,2}が得られる。受信装置3のデータ復号部33は、剰余数系の中の6つの剰余および剰余に対応するコプライムCを用いて、中国人剰余定理により送信データを復号する。例えば、コプライムセットCset{73,79,83,85,87,89,91,92}のうち、隣接する2つのコプライム(または両端のコプライム)を不使用として、下記の8通りのコプライムの組み合わせで復号を行うとよい。
{83,85,87,89,91,92}
{73,85,87,89,91,92}
{73,79,87,89,91,92}
{73,79,83,89,91,92}
{73,79,83,85,91,92}
{73,79,83,85,87,92}
{73,79,83,85,87,89}
{79,83,85,87,89,91}
【0054】
このように復号に用いる剰余の組み合わせにより、複数通りの復号が可能であるが、エラーが無い場合には、どの剰余の組み合わせで復号しても、得られる送信データは共通の、0x3dbabefaceとなる。
【0055】
次に、伝送中に1ビットのエラーが生じた場合を考える。一例として、符号化された送信データtxcode =FStNUv[#における3文字目のtを表す16進数0x74の2ビット目にエラーが生じて、0x34(符号文字4)となり、受信データrxcodeがFS4NUv[#となった場合、受信装置3のマッピング解除部32は、変換マップMを用いて剰余数系を復元し、剰余数系{36,48,18,43,50,83,56,2}が得られる。データ復号部33は、剰余数系の中の6つの剰余および剰余に対応するコプライムCを用いて、中国人剰余定理により送信データを復号する。復号に用いる剰余にエラーの影響を受けた剰余(上記の例では剰余数系における3番目の18;83を除数としたときの剰余)が含まれない場合には、復号の結果は0x3dbabefaceとなる。一方、復号に用いる剰余に、エラーの影響を受けた剰余が含まれる場合には、復号の結果は0x3dbabefaceと異なり、且つ、他の組み合わせでの復号結果とも異なる値となる。このようにして得られる複数の復号結果のなかで、同じ値が複数得られるのは正しい復号結果である0x3dbabefaceのみとなる。したがって、複数の復号結果を対象とする多数決により、誤りのない正しい復号結果が特定される。
【0056】
以上で説明したデータ通信システム1で実現される符号/復号方法は、復号を中国人剰余定理に基づく計算により行えるため、大きな変換テーブルを必要とせず、リソースに制限のある機器でも利用しやすい。また、符号の構造が単純なためメモリーが少ない装置やMCUなどに於いても利用しやすい。また、符号の単位が3~十数バイトであるため伝送および処理遅延が少なく、リアルタイム性の要求されるロボットや車などの装置間シリアル通信での利用に適している。また、非同期シリアル通信の送受信装置やデバイス間通信へ適用することができる。
【符号の説明】
【0057】
1 データ通信システム
2 送信装置
21 剰余数系算出部
22 マッピング処理部
23 送信部
3 受信装置
31 受信部
32 マッピング解除部
33 データ復号部
M 変換マップ

【要約】      (修正有)
【課題】デジタルデータを誤り訂正可能な印字可能な短い文字列として高い符号化率で伝達するデータ通信システム、送信装置及び受信装置を提供する。
【解決手段】データ通信システム1は、送信装置2と受信装置3とを備え、送信装置から受信装置へデジタルデータを誤り訂正可能に伝送する。送信装置は、予め定められた複数のコプライムで構成されるコプライムセットに基づいて、予め定められた情報ビットのビット数を有するデジタルデータについて、コプライムセットを構成するコプライムのそれぞれを除数として得られる複数の剰余の組である剰余数系を算出する剰余数系算出部と、剰余系算出部が算出した剰余数系に含まれる個々の剰余を、予め定められた変換マップMに基づいて、印刷可能な文字である符号文字に変換することにより、剰余数系を符号文字により構成される文字列に変換するマッピング処理部と、を備える。
【選択図】図1
図1
図2
図3