〔概要〕
後述の各実施形態では、IrSS(IrSimpleShot(登録商標))を用いる赤外線通信によって、カメラ付き携帯電話に保存されている画像データを液晶テレビに送信する場合を例に挙げて説明を行う。そのため、物理層はIrPHY、データリンク層(LAP層)はIrSimple−IrLAP、ネットワーク層(LMP層)はIrSimple−IrLMP、トランスポート層はIrSMPと適宜読み替えて説明を行っているが、これに限るものではない。
また、後述の各実施形態では、通信装置10が受信するデータフレームとして、JPEGデータ(画像データ)のフレームを受信する場合の例について説明しているが、これに限らない。通信装置10が受信するデータフレームは、他の符号化方式の画像データ、テキストデータ、音声データ、動画データなどの他のコンテンツデータを含むフレームであってもよい。
また、後述する各実施形態では、本発明に係る通信システムの送信機および受信機の構成および動作について、OSI7層モデルに基づいて詳細に説明する。ここで、OSI7層モデルとは、いわゆる「OSI基本参照モデル」「OSI階層モデル」とも呼ばれているものである。OSI7層モデルでは、異機種間のデータ通信を実現するために、コンピュータの持つべき通信機能が7階層に分割され、各層ごとに標準的な機能モジュールが定義されている。
図12は、従来のIrSSを用いた通信装置における、各通信層のOSI参照モデルとの対応関係を示す図である。第1層(物理層)は、データを通信回線に送出するための電気的な変換や機械的な作業を受け持つ。第2層(データリンク層)は、物理的な通信路を確保し、通信路を流れるデータのエラー検出などを行う。第3層(ネットワーク層)は、通信経路の選択や通信経路内のアドレスの管理を行う。第4層(トランスポート層)は、データ圧縮や誤り訂正、再送制御などを行う。第5層(セッション層)は、通信プログラム同士がデータの送受信を行うための仮想的な経路(コネクション)の確立や解放を行う。第6層(プレゼンテーション層)は、第5層から受け取ったデータをユーザが分かりやすい形式に変換したり、第7層から送られてくるデータを通信に適した形式に変換したりする。第7層(アプリケーション層)は、データ通信を利用した様々なサービスを人間や他のプログラムに提供する。
各実施の形態に係る通信システムの各通信層も、上記OSI7層モデルの対応する階層と同等の機能を有する。ただし、各実施形態では、セッション層とプレゼンテーション層とを1つにした、6階層の構造となっている。また、アプリケーション層については、説明を省略している。
本発明は、送信機および受信機が複数の通信層の接続を確立して通信を行う通信システムに広く適用可能である。すなわち、通信機能の分割はOSI7層モデルに従っていなくてもよい。また、通信層の数は、接続すべき通信層が複数であれば、任意に選択できる。
まず、図1、および図13を参照して、IrSimpleを用いた従来の通信方法および本実施形態で行われる通信方法について説明する。図3は、本実施形態の通信装置10で行われる通信方法の概略を示す図であり、図13は、IrSSを用いた従来の通信装置で行われる片方向赤外線通信による通信シーケンスの概略を示す図である。
図13では、送信側の通信装置(送信側通信装置)100から、受信側の通信装置(受信側通信装置)110に対してデータの送信が行われようとしている。送信側および受信側の通信装置は、それぞれ、OBEX、IrSMP、IrSimple−IrLMP、IrSimple−IrLAPの各層を備え、上位層から下位層へ、また、下位層から上位層へ通信要求やデータを送信することで通信を行っている。
なお、以下の説明では、IrSSの規格に準じる形式で、第1の通信モードとして9600bps程度の低速の通信方式であるSIR(Serial Infrared)通信モードを用い、第2の通信モードとして4Mbps以上の高速の通信方式であるFIR(Fast Infrared)通信モードを用いるものとして説明を行っているが、これに限るものではない。変調方式として、FIR通信モードの代わりに16Mbpsの高速の通信方式であるVFIR(Very Fast Infrared)通信モードを用いてもよい。
(1)最初に、受信側通信装置110において、下位層から上位層に対して接続指示が通知され、受信側通信装置110のIrSimple−IrLAP層およびさらに下位の物理層(図示せず)は、SIR通信モードで通信待機状態におかれる。(2)次に、送信側通信装置100において、上位層から下位層に対して接続要求が通知され、(3)送信側通信装置100から受信側通信装置110へ赤外線通信経路を介して接続フレームであるSNRM(Set Normal Response Mode)フレームが送信される。
(4)次に、上記(3)においてSNRMフレームが送信側通信装置100から受信側通信装置110に送信されたことに対応して、SNRMフレームを送信した下位層であるIrSimple−IrLAP層から上位層に接続確認が通知される。また、これと同時に、(5)受信側通信装置110においても、下位層であるIrSimple−IrLAP層が下位層である物理層から(3)のSNRMフレームを受信し、上位層に対して接続指示を通知する。この(5)の接続指示によって、受信側通信装置110の状態はデータの受信待機状態に移行される。
(6)一方、送信側通信装置100では、上位層からデータの転送要求が通知され、(7)UIフレームとして、受信側通信装置110に送信する実際の送信データが送信される。(8)受信側通信装置110では、データの受信待機状態になっていたIrSimple−IrLAP層(および物理層)から、複数のフレームに分割されたデータをUIフレームとして受信し、上位層へ通知する。この(8)の手順を送信するデータ分のフレームの受信を繰り返すことによってデータの転送を行う。
その後、データの送信が完了し、(9)送信側通信装置100の上位層から通信接続状態を切断する切断要求が通知され、(10)DISCフレームとして受信側通信装置110に送信される。(11)受信側通信装置110では、切断指示を受信して上位層に通知することで、各通信層の通信待機状態を終了する。
上記の通信シーケンスにおいて発生しうる問題と、本発明の構成によって当該問題を解決する方法について説明する。
図13に示した通信シーケンスでは、通信装置100から通信装置110に対して、(3)接続フレームとしてのSNRMフレーム、(7)データフレームとしてのUIフレーム、および(10)切断指示フレームとしてのDISCフレームを赤外線通信によって、図示しない物理層および赤外線発光・受光素子を介して通信が行われている。上記の通信では、低速通信のSIR通信モードの接続フレームを、高速通信のFIR通信モードのデータフレームに先駆けて送信する構成になっている。
SIR通信モードで送信される接続フレームは、周囲の環境の影響などによってノイズ信号に埋もれてしまい、データビットを示すパルスと誤認されるなどして接続フレームを正常に受信できなくなることがある。その結果、受信側の通信装置でFIR通信モードでのデータフレーム受信に切り替えることができず、FIR通信モードで送信されたデータフレームの受信ができなくなってしまう。
上記の問題を解決するために、本発明の通信装置10では、図1に示すように、あらかじめFIR通信モードで受信待機をしている。当然、SIR通信モードで送信される接続フレームは、通信速度や変調方式などの通信モードが異なるために受信できないが、FIR通信モードで送信されるデータフレームが送信された場合に、SIR通信モードで送信される接続フレームを受信した場合と同様の接続指示を生成する接続指示生成手段を備えている。
このため、SIR通信モードで送信される接続フレームが受信できない場合であっても、接続フレームを受信した場合と同様の接続指示を上位の通信層に伝達するので、従来の通信方式との互換性を保ったまま、FIR通信モードによるデータ通信を継続することができる。以下、具体的な通信シーケンスについて各実施形態に沿って説明する。
〔実施形態1〕
本発明の一実施形態について図2から図5に基づいて説明すると以下の通りである。図2は、本実施形態の通信装置10における各部の概略構成を示す機能ブロック図である。なお、各構成要素は、本発明の実施形態の一例であり、これに限定するものではない。また、各構成要素は、ハードウェア、ソフトウェアのどちらで実現されても構わない。
通信装置10は、赤外線通信によってデータの受信を行う端末であり、以下では携帯電話機などの携帯通信端末として説明を行う。通信装置10は、受信処理部(通信条件設定手段)20、受光部(受信フレーム処理手段)22、受信制御部24、入力I/F部26、データ書込部28、記憶部90、および表示部92を備えている。
また、受信処理部20は、受信処理部20から受信指示を受けてフレーム受信の制御を行う処理部で、内部に通信I/F部30および受信フレーム処理部40を備えている。
受光部22は、赤外線通信を行うための受光素子などで構成された受光モジュールであり、データ受信用のフォトダイオードによって構成されている。受光部22では、フォトダイオードによって赤外線LEDの点滅を検知することによりフレームの受信を行う。
受信制御部24は、入力I/F部26を介して受け付けたユーザからの受信要求の内容に応じて、受信したフレームを所定の復調方式に基づいて復調を行い、所定のフレームフォーマットに基づいてフレームの処理を行う。また、受信制御部24は、受信フレーム処理部40から受け取った接続フレームが示すデータフレーム伝送条件に基づいて通信モードを切り替える指示信号を生成し、受光部22や、通信I/F部30などに出力する。
入力I/F部26は、ユーザからのコマンド入力を受け付ける入力デバイスで、キーボード、スイッチ、タッチパネルなどで構成されている。ユーザからのコマンドとしては、具体的には、例えば、JPEGデータの受信を指示するコマンドなどがあげられる。
データ書込み部28は、受信フレーム処理部40内のフレーム解析部42が解析を行ったフレームデータを受け取り、記憶部90に格納する。
通信I/F部30は、受光部22から受けたフレームの復調処理を行う処理部で、SIR復調部32、FIR復調部34、および復調部セレクタ36を備えている。
SIR復調部32は、第1の通信モードであるSIR通信モードで送信されたデータの復調処理を行い、復調したデータを復調部セレクタ36に出力する。FIR復調部34は、第2の通信モードであるFIR通信モードで送信されたデータの復調処理を施し、復調したデータを復調部セレクタ36に出力する。
なお、SIR通信モードで扱われる信号形式は、RZI変調方式であり、104μsec程度の期間に存在する1.41μsecから22.13μsecの赤外線パルスの有無によって0または1の値を示す変調方式である。データが0である場合にはパルスが出るのに対して、データが1の場合にはパルスが出ない。SIR通信モードで扱われる信号形式では、データが1の場合が続いてパルスが出ない状態が続くと、デューティが2%程度まで低下し、通信装置が内蔵する自動ゲインコントローラがゲインを上げてノイズを拾うようになるため、赤外線ノイズの影響を受けやすく、赤外線ノイズの影響によって通信エラーが生じやすいと言える。
また、FIR通信モードで扱われる信号形式は、4PPM変調方式であり、500nsec程度の期間に存在する125nsec程度の赤外線パルスの位置によって2ビットのデータを示す変調方式である。上記変調方式では、一定時間に発光する赤外線パルスが一定の割合、具体的には、500nsec程度に1回の割合で現れるため、デューティは25%固定となり、通信装置が内蔵する自動ゲインコントローラによって、シグナルをノイズに対して明確に区別することができる。従って、SIR通信モードで扱われる信号形式に比べて、赤外線ノイズの影響に強く、赤外線ノイズの影響によって通信エラーが生じにくいと言える。
復調部セレクタ36は、受信制御部24の指示に応じて、SIR復調部32からの出力およびFIR復調部34からの出力とを切り替えて、受信フレーム処理部40へ出力する。
受信フレーム処理部40は、復調された受信フレームの処理を行う各機能部を備えている。具体的には、フレーム解析部(通信条件設定手段)42などを備えている。フレーム解析部42のさらに詳細な機能部については後述する。
フレーム解析部42は、復調部セレクタ36から出力される受信データ解析し、受信したデータが接続フレームであるかデータフレームであるかを判断する。受信したデータが接続フレームである場合には、フレーム解析部42は、受信データを接続フレーム処理部に出力し、受信したデータがデータフレームである場合には、受信データをデータフレーム処理部に出力し、受信したデータが切断フレームである場合には、受信データを切断フレーム処理部に出力する。
データ書込み部28は、フレーム解析部42が解析したフレームデータを受け取り、記憶部90に格納する。記憶部90は、受信したJPEGデータの画像データや、通信装置10で用いられる各種情報や、OS(Operating System)および制御プログラムなどを記憶する記憶手段である。記憶部90には、データフレームの伝送条件である接続パラメータが予め格納されており、必要に応じて接続指示通知部54に渡す。上記接続パラメータはIrDA規格やIrSimple規格において規定されているものであることが好ましい。
表示部92は、データフレーム伝送によって受信される画像データを表示するための出力デバイスである。表示部92は、タッチパネルやディスプレイなどで構成されている。
次に、図3を参照して、通信装置10の受信フレーム処理部40の詳細な構成について説明する。図3は、受信フレーム処理部40のさらに詳細な構成を示す機能ブロック図である。
受信フレーム処理部40は、IrSimple−IrLAP層処理部50、上位層処理部60、およびアプリケーション層処理部80をさらに備えている。
IrSimple−IrLAP層処理部50は、フレーム解析部(通信条件設定手段)42、接続要求受信部51、切断要求受信部52、接続指示通知部(接続指示生成手段)53・54、データ転送指示通知部55、切断指示通知部56、およびフラグカウンタ58を備えている。
IrSimple−IrLAP層処理部50は、OSI参照モデルのデータリンク層にあたり、他装置との間の通信のプロトコルを管理する。フレーム解析部42は、通信I/F部30から受信した接続フレームを解析して接続指示通知部54に出力する接続フレーム解析部44、通信I/F部30から受信したデータフレームを解析してデータ転送指示通知部69に出力するデータフレーム解析部46、および通信I/F部30から受信した切断フレームを解析して切断指示通知部56に出力する切断フレーム解析部48を備えている。なお、フレーム解析部42は、接続フレームを受信する前にデータフレームを受信した場合でも、接続フレームを受信した場合と同様の接続指示を生成し、接続指示通知部53に出力する機能も備えている。
なお、接続フレームであるSNRMフレームには、接続フレームの後に送信されるデータフレームの伝送条件、具体的には、通信速度、フレーム間隔などの設定が記述されている。
接続要求受信部51は、IrSimple−IrLAP層処理部50の接続要求の受信部であり、上位層処理部60の接続要求通知部62から接続要求を受信し、フレーム解析部42に通知する。切断要求受信部52は、IrSimple−IrLAP層処理部50の切断要求の受信部であり、上位層処理部60の切断要求通知部64から切断要求を受信し、フレーム解析部42に通知する。
接続指示通知部53は、上位層処理部60の接続指示受信部66に接続指示を通知する。接続指示通知部53から接続指示受信部66に通知される接続指示は、接続パラメータを持つものでなく、接続処理を実行するよう上位層に通知するだけのものである。これに対して、接続指示通知部54は、接続フレーム解析部44から接続フレームの解析結果を受け取り、接続指示を上位層処理部60の接続指示解析部68に渡す。
あるいは、接続指示通知部54は、図5に示すように、フレームの解析結果がなくても必要に応じて記憶部90に格納されている接続パラメータを読み出し、接続指示を生成して上位層処理部60の接続指示受信部66に渡してもよい。図5は、受信フレーム処理部40のさらに詳細な構成を示すさらに別の機能ブロック図である。
データ転送指示通知部55は、データフレーム解析部46からデータフレームの解析結果を受け取り、データ転送指示を上位層処理部60のデータ転送指示解析部70に渡す。切断指示通知部56は、切断フレーム解析部48から切断フレームの解析結果を受け取り、切断指示を上位層処理部60の切断指示解析部72に渡す。
フラグカウンタ58は、接続フレーム解析部44からの解析結果を出力するのではなく、フレーム解析部42が接続指示を生成して出力する必要があるか否かをフラグを用いて管理を行う。
上位層処理部60は、OSI参照モデルの上位層の処理部であり、図12に示したIrSimple−IrLMP層処理部、IrSMP層処理部、およびOBEX層処理部が対応している。
なお、上位層処理部60の接続要求受信部61、切断要求受信部63、接続指示通知部65・67、データ転送指示通知部69、および切断指示通知部71は、IrSimple−IrLAP層処理部50の接続要求受信部51、切断要求受信部52、接続指示通知部53・54、データ転送指示通知部55、および切断指示通知部56の同名の機能部と同様の処理を行うため、説明を省略する。
接続要求通知部62は、接続要求受信部61からの指示に基づいて接続要求を下位層であるIrSimple−IrLAP層処理部50の接続要求受信部51に通知する。切断要求通知部64は、切断要求受信部63からの指示に基づいて切断要求を下位層であるIrSimple−IrLAP層処理部50の切断要求受信部52に通知する。
接続指示受信部66は、下位層であるIrSimple−IrLAP層処理部50の接続指示通知部53から接続指示を受け、接続指示通知部67に出力する。接続指示通知部53および接続指示受信部66において通知される接続指示は、接続パラメータを持つものでなく、接続処理を実行するよう上位層に通知するだけのものである。
接続指示解析部68は、下位層であるIrSimple−IrLAP層処理部50の接続指示通知部54から接続指示を受けて接続指示を解析し、解析結果を接続指示通知部67に渡す。データ転送指示解析部70は、下位層であるIrSimple−IrLAP層処理部50のデータ転送指示通知部55からデータ転送指示を受けてデータ転送指示を解析し、データ転送指示通知部69に渡す。切断指示解析部72は、下位層であるIrSimple−IrLAP層処理部50の切断指示通知部56から切断指示を受けて切断指示を解析し、解析結果を切断指示通知部71に渡す。
上述の各通知部から出力を受けたデータは、さらに上位層であるアプリケーション層処理部80に入力されて、アプリケーション上での処理に用いられるが、ここでは詳細の説明は省略する。
なお、上述の説明では、IrSimple−IrLAP層処理部50接続指示通知部53が接続指示を生成する構成について説明したが、上位層処理部60の接続指示通知部65が接続指示を生成し、上位の通信層であるアプリケーション層処理部80に出力する構成であってもよい。いずれの通信層が接続指示を生成する接続指示生成手段としての機能を持っていても、同様の効果を奏することができる。
次に、図4を参照して、IrSSを用いる片方向赤外線通信で行われる処理の流れについて説明する。図4は、IrSSを用いる片方向赤外線通信において送信側の通信装置および受信側の通信装置で行われる処理の流れを示すシーケンス図である。
なお、本実施形態では、赤外線ノイズの影響が大きい通信環境下における通信を想定しているので、通信方式として赤外線ノイズの影響に弱いSIR通信モードではなく赤外線ノイズによって通信エラーが生じにくいFIR通信モードで受信待機する構成について説明する。
まず、受信側通信装置10のOBEX層は(1)の接続要求をIrSMP層の接続要求受信部61に通知する。IrSMP層の接続要求受信部61は接続要求を解析部し、接続要求が接続要求通知部62に通知する。IrSMP層の接続要求通知部62は(1)の接続要求をIrSimple−IrLMP層の接続要求受信部61に通知する。
同様に、通信装置10のIrSimple−IrLMP層50の接続要求受信部61は、接続要求通知部62からの出力をうけ、接続要求を接続要求通知部62に通知する。IrSimple−IrLMP層の接続要求通知部62は(1)の接続要求をIrSimple−IrLAP層の接続要求受信部51に通知する。
さらに、通信装置10のIrSimple−IrLAP層の接続要求受信部51は、(1)の接続要求を受信してフレーム解析部42に通知する。フレーム解析部42は、(1)の接続要求に対応して、IrSimple−IrLAP層50をFIR通信モードで受信待機させる。
一方、送信側通信装置100のOBEX層は(2)の接続要求をIrSMP層に通知する。同様に、IrSMP層は(2)の接続要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は(2)の接続要求をIrSimple−IrLAP層に通知する。
IrSimple−IrLAP層は(2)の接続要求を受けると、SIR通信モードで(3)のSNRMフレーム(接続フレーム)を受信側通信装置10へ赤外線通信経路を用いて送信する。通信装置100のIrSimple−IrLAP層は、(2)の接続要求を通知した後に、(4)の接続確認をIrSimple−IrLMP層に通知する。同様に、IrSimle−IrLMP層は(4)の接続確認をIrSMP層に通知し、IrSMP層は(4)の接続確認をOBEX層に通知する。
以上の手順に沿って、送信側通信装置100における各レイヤの接続処理が行われ、通信装置100および通信装置10間の通信回線の接続が完了する。これに対して、受信側通信装置10では、IrSimple−IrLAP層はFIR通信モードで受信待機をしているため、SIR通信モードの(3)のSNRMフレームを受信することができない。そのため、通信装置10の各レイヤの接続処理は実行されていない。
次に、送信側通信装置100のOBEX層は(5)のデータ転送要求をIrSMP層に通知する。同様に、IrSMP層は(5)のデータ転送要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は(5)のデータ転送要求をIrSimple−IrLAP層に通知する。IrSimple−IrLAP層は(5)のデータ転送要求を受け、FIR通信モードで(6)のUIフレーム(データフレーム)を送信する。
受信側通信装置10のIrSimple−IrLAP層は、FIR通信モードで受信待機しているので、FIR通信モードで送信された(6)のUIフレームを受信することができる。通信装置10のフレーム解析部42は、受信したフレームがUIフレームであるという解析結果からIrSimple−IrLAP層の接続処理を実行し、接続指示通知部53に(7)の接続指示を生成して上位の通信層へ通知するよう指示を出す。
この(7)の接続指示は、後続するデータフレームの伝送条件を示す接続パラメータを持たず、上位の通信層に接続を行うよう通知するだけである。また、フレーム解析部42は、UIフレームをデータフレーム解析部46に渡し、データフレーム解析部46は解析結果をデータ転送指示通知部55に渡す。
次に、フレーム解析部42の指示により、接続指示通知部53は(7)の接続指示をIrSimple−IrLMP層の接続指示受信部66に通知する。続いて、データフレーム解析部46の解析に基づき、データ転送指示通知部55は(8)のデータ転送指示をIrSimple−IrLMP層のデータ転送指示解析部70に通知する。
IrSimple−IrLMP層の接続指示受信部66は接続指示を接続指示通知部65に渡し、データ転送指示解析部70はデータ転送指示をデータ転送指示通知部69に渡す。上記のデータ転送指示に基づいて、上位層処理部60はIrSimple−IrLMP層とさらに上位層のIrSMP層との接続処理を行う。これにより、データ転送指示解析部70を上位層に転送することができる。
上位層処理部60は、接続指示とデータ転送指示を接続指示通知部67とデータ転送指示通知部69にそれぞれ渡し、接続指示通知部67とデータ転送指示通知部69はそれぞれ(7)の接続指示と(8)のデータ転送指示をIrSMP層に出力し、画像データの実体ファイルを複数のデータフレームに分割して送信する。
複数のデータフレームに分割された画像データの送信が完了すると、送信側通信装置100のOBEX層は(9)の切断要求をIrSMP層に送信する。IrSMP層はIrSimple−IrLMP層に(9)の切断要求を通知し、IrSimple−IrLMP層はIrSimple−IrLAP層に(9)の切断要求を通知する。IrSimple−IrLAP層は、(9)の切断要求に基づいて切断フレームである(10)のDISCフレームを受信側通信装置10に対して赤外線通信を用いて送信する。
受信側通信装置10では、IrSimple−IrLAP層が(10)のDISCフレームを受信すると、(11)の切断指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(10)切断指示をIrSMP層に通知し、IrSMP層は(10)切断指示をOBEX層に通知する。これにより、通信装置10の各レイヤにおいて切断処理が行われ、回線の接続が解除される。
なお、送信側の通信装置の接続フレームを受信しない場合に、通信装置のIrSimple−IrLAP層が生成する接続指示は、接続パラメータとしてデフォルト値を持つものとすることにより、予め規定された接続パラメータを用いて各レイヤの接続処理を実行してもよい。
また、送信側の通信装置の接続フレームを受信しない場合に、通信装置のIrSimple−IrLAP層が生成する接続指示は、接続パラメータを持つものでなく、接続処理を実行するよう各レイヤに通知するだけのものであってもよい。上位層処理部60は、接続要求受信部51や接続指示解析部68などからの入力を受け、接続要求通知部62や接続指示通知部54などへの出力を制御する。
上記の通信装置10では、IrSimple−IrLAP層は、上位層にデータフレームの伝送条件である接続パラメータを通知せずに、接続処理を行うように通知するのみである。
上記の構成によれば、接続パラメータを生成しなくても、接続処理のみを行うように通知するので、接続フレームから接続パラメータを受け取ることができなくても、通信を続行することができる。
一方、IrSimple−IrLAP層処理部50は、フレーム解析部42から受信フレームの解析結果を受け取り、受信フレームが接続フレームであるか、データフレームであるか、あるいは切断フレームであるかを判定し、それぞれ接続フレーム解析部44、データフレーム解析部46、切断フレーム解析部48に渡す。あるいは、接続フレーム解析部44に接続フレームの解析結果がなくても、必要に応じて、接続指示通知部65に、接続パラメータをもたない接続指示を通知するよう指示をする。
以上のように、本実施形態の通信装置10は、データ通信を行うために接続する設定を指示するフレームであるSNRMフレームと、データを送信するフレームであるUIフレームとを異なるフレームフォーマットで通信相手の通信装置100から受信する受信フレーム処理部40を備えた通信装置10であって、上位の通信層であるIrSimple−IrLMP層から接続要求を取得した場合に、UIフレームを受信するFIR通信モードで受信フレーム処理部40を待機させる受信処理部20と、FIR通信モードで受信フレーム処理部40を待機させた後に、接続指示を生成し上位の通信層であるIrSimple−IrLMP層に通知する接続指示通知部53・54とを備えている。
また、本発明の通信方法は、データ通信を行うために接続する設定を指示するフレームであるSNRMフレームと、データを送信するフレームであるUIフレームとを異なるフレームフォーマットで通信相手の通信装置100から受信する受信フレーム処理部40を備えた通信装置10における通信方法であって、上位の通信層であるIrSimple−IrLMP層から接続要求を取得した場合に、UIフレームを受信するFIR通信モードで受信フレーム処理部40を待機させるステップと、FIR通信モードで受信フレーム処理部40を待機させた後に、接続指示を生成し上位の通信層であるIrSimple−IrLMP層に通知するステップとを含んでいる。
上記の構成によれば、接続フレームおよびデータフレームを異なる通信モード、具体的には、少なくとも2つの異なる通信速度、変調方式、およびその他の通信条件で通信する場合に、SIR通信モードに基づいて接続フレームを正常に受信できない場合においても、FIR通信モードに基づいてデータフレームの受信を行うことができるので、後続するデータフレームの受信に成功する確率を高くすることができる。
また、本実施形態の通信装置10では、接続指示通知部53・54は、記憶部90に記憶された、通信相手から受信した場合に前記接続フレームに設定されていると予想される所定の値を用いて接続指示を生成している。
上記の構成によれば、記憶部90に記憶された所定の通信条件の設定値を用いて接続指示を生成するので、接続のために必要な設定情報を含む接続フレームを受信できなくても、任意の通信条件をあらかじめ準備しておくことで正常な通信を続行することができる。
また、本実施形態の通信装置10では、受信フレーム処理部40は、赤外線を用いた通信経路で通信を行っている。
上記の構成によれば、データ通信において、赤外線ノイズ等により接続フレームが正常に受信することができない通信環境下においても通信接続を確立することができる。
なお、接続指示通知部53が生成する接続指示は、後続するデータフレームの伝送条件として、IrDAなどの通信規格においてあらかじめ規定されたデフォルト値に基づいて生成してもよい。
また、上述の説明では、第1の通信モードは伝送速度の遅いSIR通信モードであり、第2の通信モードは伝送速度の速いFIR通信モードであるとして説明したが、これに限るものではない。第1の通信モード、第2の通信モードは、キャリア周波数が高いモードと低いモードや、変調方式が所定期間中にパルスが存在するか否かによってデータの値を示す変調方式と、所定期間中に存在するパルスの時間軸上の位置によって当該フレームに含まれる値を示す変調方式であってもよい。あるいは、上述の説明では、第1の通信モードと第2の通信モードは異なるとしたが、第1の通信モードと第2の通信モードは同一であってもよい。
また、変調方式としてSIRおよびFIR変調方式を例としてあげているが、FIRの代わりにVFIR(Very Fast Infrared)変調方式を用いても良い。
以上、IrSSを用いた片方向赤外線通信において説明を行ったが、赤外線に限らず、赤外線通信と同様の性質を持つ可視光通信による通信でもよい。例えば可視光を用いた通信でも赤外線LEDと受光部22とを可視光に対応した発光部、受光部に交換するだけで適用可能である。可視光通信ではインバータ式の蛍光灯が近くにある場合など赤外線通信以上にノイズが多くなる条件が揃いやすいため、本発明の効果が大きい。
ただし、本実施形態のように、IrSSを用いる片方向赤外線通信に適用した場合には、赤外線ノイズの影響が大きくSNRMフレーム(接続フレーム)の通信エラーが生じやすい環境下であって、SIR通信モードのSNRMフレームを受信しなくても、通信装置のIrSimple−IrLAP層(データリンク層)が接続指示を生成し、IrSimple−IrLMP層(ネットワーク層)に通知することで、接続指示の通知を受けた各レイヤは、上記接続指示をその上位層に通知し、各レイヤの接続が確立され、後続するFIR通信モードのUIフレーム(データフレーム)を受信可能となるので、特に効果が大きい。
〔実施形態2〕
本実施形態の通信装置では、図1から図5に示されるシステムに比べて、IrSMP層処理部94のデータ転送指示解析部70の構成が異なり、その他の構成は同様である。なお、上記実施形態で説明した構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。
上記構成において、フレームエラーを検知する際の動作を、図6から図8に基づき説明すると、以下の通りである。図6は、本実施形態における受信フレーム処理部40の構成を示す機能ブロック図である。図7は、図6に示す構成における受信シーケンスを示すシーケンス図である。図8は、図6に示す構成における別の受信シーケンスを示すシーケンス図である。
本実施形態のデータ転送指示解析部70は、エラー検出部74および通し番号解析部76を備えている。IrSMP層処理部94は、OSI参照モデルのトランスポート層であり、フレーム番号を用いてデータフレームのフロー管理を行う。
データ転送指示解析部70は、IrSimple−IrLMP層のデータ転送指示通知部から受け取ったデータ転送指示を解析し、フレーム解析部42に渡す。
エラー検出部74は、データフレーム(UIフレーム)のフレーム番号が連続するUIフレームについてシーケンシャルでなかった場合、あるいは最初に受信したUIフレームのフレーム番号が先頭のフレーム番号(フレーム番号0)でなかった場合、フレームエラーと判定する。通し番号解析部76は、データフレーム(UIフレーム)に振られたシーケンシャルなフレーム番号を用いて、フレーム番号の解析を行う。
例えば、IrSSが片方向通信であることを利用して送信側通信装置が送信を繰り返し連続的に行う場合などに、通信シーケンスの途中から受信を開始してしまい、最初のフレーム番号(フレーム番号0)のUIフレーム以外のUIフレームから受信を開始する可能性が考えられる。
最初に受信したUIフレームがフレーム番号0以外であった場合に、従来の実施例におけるUIフレームのフレーム抜けと同様のフレームエラー処理を行うと、通信エラーが発生してしまう。そこで、上記の問題を回避するため、通信装置が最初に受信したUIフレームがフレーム番号0でなかった場合、以下のように動作することが好ましい。
図7のシーケンス図を参照して、IrSimple−IrLAP層がフレーム番号0のUIフレームを受信せず、フレーム番号1(0ではない)である途中のUIフレームから受信を開始した場合について説明する。
(2)のフレーム番号0のUIフレームを受信しなかった通信装置10は、OBEX層、IrSMP層、IrSimple−IrLMP層を介してIrSimple−IrLAP層は(1)の接続要求を受け、FIR通信モードで受信待機をしている。(3)のフレーム番号1のUIフレームを受信すると、IrSimple−IrLAP層は(4)の接続指示と(5)のデータ転送指示をIrSimple−IrLMP層に通知する。
同様に、IrSimple−IrLMP層は(4)の接続指示と(5)のデータ転送指示をIrSMP層に通知する。IrSMP層は(4)の接続指示をOBEX層に通知し、さらに、UIフレームのフレーム番号を判定しフレーム番号が1である(0でない)ことを検知すると、(6)のフレームエラーをOBEX層に通知する。
以降の(7)のUIフレームについて、IrSimple−IrLAP層は(8)のデータ転送指示をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は(8)のデータ転送指示をIrSMP層に通知するが、IrSMP層は(8)のデータ転送指示をOBEX層に通知しない。
その後、IrSimple−IrLAP層は(9)のDISCフレームを受信すると、(10)の切断指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(10)の切断指示をIrSMP層に通知し、IrSMP層は(10)切断指示をOBEX層に通知する。これにより、通信装置の各レイヤにおいて切断処理が行われ、回線の接続が解除される。
その直後、通信装置のOBEX層は(11)の接続要求をIrSMP層に通知し、(11)の接続要求はIrSimple−IrLMP層を介してIrSimple−IrLAP層まで到達し、IrSimple−IrLAP層は再びFIR通信モードで受信待機する。
次に、送信側通信装置100はSIR通信モードで(12)のSNRMフレームを送信する。通信装置はFIR通信モードで受信待機しているため、(12)のSNRMフレームを受信できない。続いて、送信側通信装置100は(13)のフレーム番号0のUIフレームを送信する。
通信装置のIrSimple−IrLAP層は(13)のフレーム番号0のUIフレームを受信すると、(14)の接続指示と(15)のデータ転送指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(14)の接続指示と(15)のデータ転送指示をIrSMP層に通知する。
IrSMP層は(14)の接続指示をOBEX層に通知し、さらに、UIフレームのフレーム番号を判定しフレーム番号が0であることを確認すると、OBEX層に(15)のデータ転送指示を通知する。
あるいは、通信装置はフレーム番号0以外のUIフレームから受信を開始した場合、下記のように動作してもよい。図8を参照して、通信シーケンスについて説明する。
受信側通信装置10は、(2)のフレーム番号0のUIフレームを受信せず、OBEX層、IrSMP層、IrSimple−IrLMP層を介してIrSimple−IrLAP層は(1)の接続要求を受け、FIR通信モードで受信待機している。
(3)のフレーム番号1(0でない)のUIフレームを受信すると、IrSimple−IrLAP層は、(4)の接続指示との(5)のデータ転送指示とをIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は、(4)の接続指示と(5)のデータ転送指示とをIrSMP層に通知する。IrSMP層は(3)のUIフレームのフレーム番号を判定しフレーム番号が1である(0でない)ことを検知すると、接続を解除し、さらに(6)の接続要求をIrSimple−IrLMP層に通知する。
これを受けて、IrSimple−IrLMP層は接続を解除し、(6)の接続要求をIrSimple−IrLAP層に通知する。IrSimple−IrLAP層の接続も解除され、FIR通信モードで受信待機状態に入る。以降、UIフレームのフレーム番号が0でない場合、同様の処理が行われる。その後、IrSimple−IrLAP層は、(7)のDISCフレームを受信するが、IrSimple−IrLAP層の接続は確立されていないため、(7)のDISCフレームは破棄される。
次に、通信装置10はSIR通信モードのSNRMフレームを送信する。通信装置はFIR通信モードで受信待機しているため、SNRMフレームを受信できない。続いて、送信側通信装置100は、(9)のフレーム番号0のUIフレームを送信する。
通信装置のIrSimple−IrLAP層は(9)のフレーム番号0のUIフレームを受信すると、(10)の接続指示と(11)のデータ転送指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(10)の接続指示と(11)のデータ転送指示をIrSMP層に通知する。IrSMP層はUIフレームのフレーム番号を判定しフレーム番号が0であることを検知すると、(10)の接続指示と(11)のデータ転送指示をOBEX層に通知する。
なお、上記説明において、OBEX層が接続要求の通知を開始し、あるいはデータ転送指示と切断指示の通知は最終的にOBEX層に到達したが、これはOBEX層だけに限定するものではなく、上位層であるアプリケーション層でも構わない。
以上のように、本実施形態の通信装置10では、受信フレーム処理部40が受信したデータフレームを監視するエラー検出部74をさらに供え、エラー検出部74は、受信フレーム処理部40が先頭のフレーム番号を持つフレーム以外を受信したことを検出した場合、上位の通信層であるIrSimple−IrLMP層へエラーを通知し、続けて受信したデータフレームの上位の通信層への通知を中止させる。
また、本実施形態の通信装置10では、受信フレーム処理部40が受信したデータフレームのフレーム番号を監視するエラー検出部74をさらに備え、受信処理部20は、エラー検出部74が、受信フレーム処理部40が先頭のフレーム番号を持つフレーム以外を受信したことを検出した場合、接続フレームを受信するための通信モードでIrSimple−IrLAP層を待機させている。
上記の構成によれば、エラー検出部74が受信したデータフレームを監視するので、接続指示通知部53・54によって生成された接続指示に基づいてデータフレームの受信を正常に続行することができない場合に、そのままの条件で受信できないデータを上位の通信層へ転送する処理を続行せずに中断するので、一連の片方向通信シーケンスを繰り返し送信する送信側通信装置100との通信において、通信装置がデータフレームの途中から受信を開始した場合に通信エラーが発生することを回避することが可能になる。
〔実施形態3〕
本実施形態の通信装置では、図1から図8に示されるシステムに比べて、受信側通信装置10が、接続が確立されてからの経過時間を計測し、経過時間が所定の時間以上あるいは所定の時間以下であることを判定する経過時間解析部84を備えている点が異なり、その他の構成は同様である。なお、上記実施形態で説明した構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。
図11は、本実施形態における受信フレーム処理部40の機能ブロックである。図11に示すIrSimple−IrLAP層50は、タイマ82および経過時間解析部84を備えている。
タイマ82は、フレーム解析部42の指示により、IrSimple−IrLAP層において生成された接続指示を用いて接続が確立されてからの経過時間を計測する。経過時間解析部84は、タイマ82により計測された経過時間が所定の時間を超過しているか否かを判定し、フレーム解析部42に通知する。タイマ82および経過時間解析部84は、IrSimple−IrLAP層、IrSimple−IrLMP層、IrSMP層、およびOBEX層の各レイヤが備えていてもよいし、一部のレイヤだけが備えていてもよい。
上記の構成において、IrSimple−IrLAP層において生成された接続指示を用いて各レイヤの接続が確立されてから所定の時間が経過した後に、通信装置のOBEX層は切断要求をIrSMP層に通知し、同様に、IrSMP層は切断要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は切断要求をIrSimple−IrLAP層に通知してもよい。これにより、送信側通信装置100が通信装置10の周囲に存在しないにも関らず、通信装置の各レイヤの接続が確立されたままの状態が続くことを回避することができる。
または、通信装置10のIrSimple−IrLAP層において生成された接続指示を用いて接続が確立されてから所定の時間が経過後に、送信側通信装置100が送信したSNRMフレームを受信した場合、上記IrSimple−IrLAP層は新たに接続指示をIrSimple−IrLMP層に通知してもよい。この場合、送信側通信装置100が送信したSNRMフレームに記載されている接続パラメータを用いてUIフレームの伝送条件を設定できるため、IrSimple−IrLAP層において通知された接続指示を用いて接続を確立した場合と比べて、後続するUIフレームの受信をより確実に行うことが可能になる。
また、送信側通信装置100が送信した接続フレームを通信装置が受信した場合でも、前記通信装置のデータリンク層内部で生成した接続指示を用いて接続を確立してもよい。
また、上記説明において、OBEX層が接続要求の通知を開始し、あるいはデータ転送指示と切断指示の通知は最終的にOBEX層に到達したが、これはOBEX層だけに限定するものではなく、上位層であるアプリケーション層でも構わない。
以上のように、本実施形態の通信装置10では、接続指示通知部53・54が接続を設定する指示を上位の通信層に通知してから経過した時間を計測する経過時間解析部84を備えている。
上記の構成によれば、接続指示を通知してからの時間に基づいて通信処理の正否を判断して、適切な処理を行うことができる。
〔実施形態4〕
本実施形態の通信装置では、図1から図8に示されるシステムに比べて、受信側通信装置10で接続指示が出されるタイミングが異なり、その他の構成は同様である。なお、上記実施形態で説明した構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。
上記構成において、通信を開始してから切断するまでの動作を、図9および図10に基づき説明すると、以下の通りである。図9は、本実施形態における受信シーケンスを示すシーケンス図である。図10は、図9の受信シーケンスにおいて、データフレームのエラーが検出された場合の処理の手順を示すシーケンス図である。
まず、図9を参照して、本実施形態の通信装置10における基本的な受信シーケンスについて説明する。通信装置10のOBEX層は(1)の接続要求をIrSMP層に通知する。同様に、IrSMP層は(1)の接続要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は(1)の接続要求をIrSimple−IrLAP層に通知する。IrSimple−IrLAP層は(1)の接続要求を受けると、FIR通信モードで受信待機する。
次に、IrSimple−IrLAP層は(2)の接続指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(2)の接続指示をIrSMP層に通知し、IrSMP層は(2)の接続指示をOBEX層に通知する。以上により、各レイヤにおいて接続処理が実行され、回線の接続が確立される。
一方、送信側通信装置100のOBEX層は(3)の接続要求をIrSMP層に通知する。同様に、IrSMP層は(3)の接続要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は(3)の接続要求をIrSimple−IrLAP層に通知する。IrSimple−IrLAP層は(3)の接続要求を受けると、SIR通信モードで(4)のSNRMフレームを送信する。
その後、送信側通信装置100のIrSimple−IrLAP層は(5)の接続確認をIrSimple−IrLMP層に通知する。同様に、IrSimle−IrLMP層は(5)の接続確認をIrSMP層に通知し、IrSMP層は(5)の接続確認をOBEX層に通知する。
以上の手順により、送信側通信装置において各レイヤの接続処理が行われ、回線の接続が完了し、UIフレームの受信処理も正常に行うことができるようになる。しかしながら、通信装置のIrSimple−IrLAP層はFIR通信モードで受信待機をしているため、SIR通信モードの(4)のSNRMフレームを受信することができない。
次に、送信側通信装置のOBEX層は(6)のデータ転送要求をIrSMP層に通知する。同様に、IrSMP層は(6)のデータ転送要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は(6)データ転送要求をIrSimple−IrLAP層に通知する。IrSimple−IrLAP層は(6)のデータ転送要求を受け、FIR通信モードで(7)のUIフレームを送信する。
これに対して、通信装置のIrSimple−IrLAP層はFIR通信モードで受信待機しており、FIR通信モードの(7)のUIフレームを受信すると、(8)のデータ転送指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(8)のデータ転送指示をIrSMP層に通知する。IrSMP層はUIフレームのフレーム番号を判定しフレームエラーがないことを確認すると、(8)のデータ転送指示をOBEX層に通知する。
なお、上述の処理を用いて、フレームエラーを検知するIrSMP層処理部の構成を適用することも可能である。例えば、IrSSが片方向通信であることを利用して送信側通信装置100が送信を繰り返し連続的に行う場合に、送信側通信装置100において通信シーケンスの途中から受信を開始してしまい、最初のフレーム番号(フレーム番号0)のUIフレーム以外のUIフレームから受信を開始してしまう可能性が考えられる。
最初に受信したUIフレームがフレーム番号0以外であった場合に、従来の実施例におけるUIフレームのフレーム抜けと同様のフレームエラー処理を行うと、通信エラーが発生してしまう。そこで、上記の問題を回避するため、通信装置が最初に受信したUIフレームがフレーム番号0でなかった場合、以下のように動作することが好ましい。
図10のシーケンス図を参照して、IrSimple−IrLAP層がフレーム番号0のUIフレームを受信せず、フレーム番号1(0ではない)である途中のUIフレームから受信を開始した場合について説明する。
通信装置10のOBEX層は(1)の接続要求をIrSMP層に通知する。同様に、IrSMP層は(1)の接続要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は(1)の接続要求をIrSimple−IrLAP層に通知する。(1)の接続要求を受けたIrSimple−IrLAP層は(2)の接続指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(2)の接続指示をIrSMP層に通知し、IrSMP層は(2)の接続指示をOBEX層に通知する。以上により、各レイヤにおいて接続処理が実行され、回線の接続が確立される。
通信装置10のIrSimple−IrLAP層が(3)のSNRMフレームと(4)のフレーム番号0のUIフレームとを受信せずに、続く(5)のフレーム番号1のUIフレームを受信した場合、受信通信装置10のIrSimple−IrLAP層は、(6)のデータ転送指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(6)のデータ転送指示をIrSMP層に通知する。
IrSMP層はUIフレームのフレーム番号を判定しフレーム番号が1である(0でない)ことを検知すると、(7)のフレームエラーをOBEX層に通知する。以降の(8)のUIフレームについて、IrSimple−IrLAP層は(9)のデータ転送指示をIrSimple−IrLMP層に通知する。
同様に、IrSimple−IrLMP層は(9)のデータ転送指示をIrSMP層に通知するが、IrSMP層は(9)のデータ転送指示をOBEX層に通知しない。その後、IrSimple−IrLAP層は(10)のDISCフレームを受信すると、(11)の切断指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(11)の切断指示をIrSMP層に通知し、IrSMP層は(11)の切断指示をOBEX層に通知する。これにより、通信装置の各レイヤにおいて切断処理が行われ、回線の接続が解除される。
その直後に、通信装置10のOBEX層は(12)の接続要求をIrSMP層に通知し、(12)の接続要求はIrSimple−IrLMP層を介してIrSimple−IrLAP層まで到達し、IrSimple−IrLAP層は再びFIR通信モードで受信待機する。さらに、IrSimple−IrLAP層は(13)の接続指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(13)の接続指示をIrSMP層に通知し、IrSMP層は(13)の接続指示をOBEX層に通知する。以上により、各レイヤにおいて接続処理が実行され、再び回線の接続が確立される。
次に、送信側通信装置100は、SIR通信モードの(14)のSNRMフレームを送信する。受信側通信装置10はFIR通信モードで受信待機しているため、(14)のSNRMフレームを受信できない。続いて、送信側通信装置10は(15)のフレーム番号0のUIフレームを送信する。
送信側通信装置100のIrSimple−IrLAP層は(15)のフレーム番号0のUIフレームを受信すると、(16)のデータ転送指示をIrSimple−IrLMP層に通知する。同様に、IrSimple−IrLMP層は(16)のデータ転送指示をIrSMP層に通知する。IrSMP層はUIフレームのフレーム番号を判定しフレーム番号が0であることを確認すると、OBEX層に(16)のデータ転送指示を通知する。
また、本実施形態の通信装置10では、接続指示通知部53・54が接続を設定する指示を上位の通信層に通知してから経過した時間を計測する経過時間解析部84を備えている。
上記の構成によれば、接続指示を通知してからの時間に基づいて通信処理の正否を判断して、適切な処理を行うことができる。
具体的には、本実施形態の通信装置10は、経過時間解析部84によって所定の時間の経過が計測されたときに、接続を切断する指示を上位の通信層に通知する切断指示通知部64とを備えている。
上記の構成によれば、通信対象の通信端末が周囲に存在しないにも関らず、データを受信する接続が確立されたままの状態が続くことを回避することができる。
また、本実施形態の通信装置10では、接続指示通知部53・54は、経過時間解析部84によって所定の時間の経過が計測された後に受信フレーム処理部40がSNRMフレームを受信した場合、当該SNRMフレームを無視している。
上記の各構成によれば、接続指示を通知してからの時間に基づいて、生成した接続指示の成否を判断し、より適切なデータフレーム伝送条件を選択して通信を続行することができる。具体的には、生成した接続指示に含まれるデータフレーム伝送条件で十分な時間通信を行えている場合には、送信側通信装置100からデータフレーム伝送条件を含むSNRMフレームを受信しても、接続指示通知部53・54が生成した接続指示を利用して通信を続行しているので、受信フレーム処理手段が改めて接続処理を行わないことにより、処理の負担を軽減することができる。
また、上述の説明では、SIR通信モードを用いた方式とFIR通信モードを用いた方式を用いて説明したが、これに限るものではない。キャリア周波数が高いモードと低いモードや、変調方式が所定期間中にパルスが存在するか否かによってデータの値を示す変調方式と、所定期間中に存在するパルスの時間軸上の位置によって当該フレームに含まれる値を示す変調方式であってもよい。あるいは、上述の説明では、2つの通信モードは異なるとしたが、同一であってもよい。
また、本実施形態の通信装置10では、接続指示通知部53・54は、経過時間解析部84によって所定の時間の経過が計測される前に受光部22がSNRMフレームを受信した場合、当該SNRM接続フレームに設定されている値を用いて接続指示を生成し、当該接続指示を上位の通信層へ再度出力している。
上記の構成によれば、送信側通信装置100が送信したSNRMフレームに含まれる接続パラメータを用いてデータフレームの伝送条件を設定できるため、生成された接続指示を用いて接続を確立した場合と比べて、より確実に通信を行うことができる。
以上のように、通信装置のIrSimple−IrLAP層が接続指示を通知するタイミングについて、送信側通信装置100が送信したSNRMフレームを受信するのに先駆けてUIフレームを受信した場合に、通信装置のIrSimple−IrLAP層が接続指示を生成し、IrSimple−IrLMP層に出力している。
あるいは、通信装置のIrSimple−IrLMP層が通信装置のIrSimple−IrLAP層に接続要求を通知するとその直後に、つまり送信側通信装置100が送信するSNRMフレームあるいはUIフレームの受信を待つことなく、IrSimple−IrLAP層が接続指示を生成し、IrSimple−IrLMP層に通知している。
上記の構成によれば、通信装置において、赤外線ノイズ等により接続フレームが正常に受信することができない通信環境下においても通信装置の接続を確立することができ、後続するデータフレームの受信に成功する確率を高くすることが可能になる。
また、IrSSと呼ばれる片方向赤外線通信においては、送信側通信装置100は通信装置が受信に成功したか失敗したかに関らず片方向通信シーケンスを終了する。ここで、送信側通信装置100が上記片方向通信シーケンスを繰り返し行い、その途中から通信装置が受信する場合、先頭のフレーム番号(フレーム番号0)以外のフレーム番号をもつUIフレームが、受信を開始した通信装置に最初に到達する可能性が高い。従来の通信装置においては、上記UIフレームの受信処理は実行せず、次の片方向通信シーケンスのSNRMフレームを受信してからデータ受信処理を開始するため通信エラーは発生しない。しかし本発明の通信装置は、SNRMフレームを受信しなくても自ら接続指示を生成して後続するUIフレームの受信処理を行うため、IrSMP層によるデータフレームのフロー管理において通信エラーが発生してしまう。
そこで、上記通信装置のIrSimple−IrLAP層は、先頭のフレーム番号(フレーム番号0)のUIフレーム以外から受信を開始した場合、上記IrSMP層(トランスポート層)はフレームエラーをOBEX層(セッション層)に通知し、後続するUIフレームのデータ転送指示をOBEX層に通知しなくても良い。
あるいは、先頭のフレーム番号(フレーム番号0)のUIフレーム以外から受信を開始した場合、IrSMP層は接続要求をIrSimple−IrLMP層に通知し、IrSimple−IrLMP層は接続要求をIrSimple−IrLAP層に通知することにより、IrSimple−IrLAP層は接続フレーム受信待機状態に戻るとしてもよい。
上記の構成によれば、一連の片方向通信シーケンスを繰り返し送信する送信側通信装置100との通信において、通信装置がデータフレームの途中から受信を開始した場合でも、通信エラーが発生することを回避することが可能になる。
また、本発明の通信装置では、接続が確立されてからの経過時間を計測し、上記経過時間が所定の時間以上あるいは所定の時間以下であることを判定する計時手段を備えている。IrSimple−IrLAP層において生成した接続指示を用いて各レイヤにおいて接続が確立されてから所定の時間が経過した後に、OBEX層は下位層を介して切断要求をIrSimple−IrLAP層に通知している。
上記の構成によれば、送信側通信装置100が通信装置の周囲に存在しないにも関らず、通信装置の接続が確立されたままの状態が続くことを回避することができる。
あるいは、IrSimple−IrLAP層において生成されたSNRMフレームを用いて接続が確立されてから所定の時間が経過後に、送信側通信装置100が送信したSNRMフレームを受信した場合、上記IrSimple−IrLAP層はIrSimple−IrLMP層に新たに接続指示を通知してもよい。この場合、送信装置が送信したSNRMフレームに記載されているパラメータを用いてUIフレームの伝送条件を設定できるため、IrSimple−IrLAP層において生成されたSNRMフレームを用いて接続を確立した場合と比べて、UIフレームの受信をより確実に行うことが可能になる。
なお、送信側通信装置100が送信した接続フレームを通信装置が受信した場合でも、前記通信装置のデータリンク層内部で生成した接続フレームを用いて接続を確立してもよい。
また、上記通信装置のIrSimple−IrLAP層が生成する接続指示は、後続するUIフレームの伝送条件である接続パラメータとして、IrDA規格等の通信規格において予め規定されたデフォルト値に基づいて接続指示を生成することを特徴としてもよい。あるいは、後続するUIフレームの伝送条件である接続パラメータを持たず、上位層の各レイヤに、接続指示を通知するだけのものでもよい。
また、本発明の通信装置では、前記データフレーム伝送によって送信される画像データをもとに画像を表示する画像表示部をさらに備えることが好ましい。これにより通信装置で画像データを受信した場合に、上記画像データをもとに画像表示部で画像を表示することが可能になる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、通信装置10の各ブロック、特に受信フレーム処理部40の各部は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、通信装置10は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである通信装置10の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記通信装置10に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、通信装置10を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。