(57)【要約】【課題】通信不具合の内容に応じた適切な送信処理を行う。【解決手段】受信装置において受信処理の滞りが発生したことを検出する処理状況検出部１と、受信装置へのデータ送信時に通信エラーが生じたことを検出する通信状況検出部２とを備え、処理状況検出部１によって受信処理の滞りが発生したことを検出したときと、通信状況検出部２によって通信エラーを検出したときとで、制御部１１に異なる処理を行わせる。【選択図】図１
2007174247.tif 000002
【特許請求の範囲】
【請求項１】
受信装置にデータを送信する送信装置であって、
上記受信装置において受信処理の滞りが発生したことを検出する処理状況検出手段と、
上記受信装置へのデータ送信時に通信エラーが生じたことを検出する通信状況検出手段と、
上記処理状況検出手段によって上記受信処理の滞りが発生したことを検出したときと、上記通信状況検出手段によって通信エラーを検出したときとで、異なる処理を行う制御手段とを備えていることを特徴とする送信装置。
【請求項２】
上記処理状況検出手段は、
上記受信装置にデータを送信した後、該受信装置から返信されてくる返信データに基づいて、該受信装置において受信処理の滞りが発生したことを検出することを特徴とする請求項１に記載の送信装置。
【請求項３】
上記処理状況検出手段は、
上記受信装置から返信されてくる返信データに基づいて、該受信装置において発生した受信処理の滞りが解消するまでの待ち時間を検出することを特徴とする請求項２に記載の送信装置。
【請求項４】
上記通信状況検出手段は、
上記受信装置にデータを送信した後、該受信装置から返信されてくる返信データに基づいて、上記通信エラーを検出することを特徴とする請求項１〜３のいずれか１項に記載の送信装置。
【請求項５】
上記受信装置にデータを送信してからの経過時間を計時する計時手段を備え、
上記通信状況検出手段は、
上記計時手段の計時時間が所定の時間に達するまでに上記受信装置から返信データを受信しなかったときに、上記通信エラーが生じたと判断することを特徴とする請求項１〜４のいずれか１項に記載の送信装置。
【請求項６】
上記制御手段は、
上記処理状況検出手段によって上記受信装置における受信処理の滞りを検出した場合には上記受信装置へのデータの送信を中断し、
上記通信状態検出手段によって通信エラーを検出した場合には通信エラーの生じたデータを再送することを特徴とする請求項１〜５のいずれか１項に記載の送信装置。
【請求項７】
上記受信装置における処理状況を使用者に通知するための通知装置を備え、
上記制御手段は、
上記受信装置において受信処理の滞りが生じたことを上記通知装置によって使用者に通知することを特徴とする請求項１〜６のいずれか１項に記載の送信装置。
【請求項８】
上記受信装置における処理状況を使用者に通知するための通知装置を備え、
上記制御手段は、
上記通知装置によって上記待ち時間を使用者に通知することを特徴とする請求項３に記載の送信装置。
【請求項９】
上記処理状況検出手段が上記待ち時間を検出してからの経過時間を計時する計時手段を備え、
上記制御手段は、
上記待ち時間が経過したときに、待ち時間が経過したことを上記通知装置によって使用者に通知することを特徴とする請求項３または８に記載の送信装置。
【請求項１０】
使用者からの入力指示を受け付ける入力手段と、
上記処理状況検出手段が上記待ち時間を検出してからの経過時間を計時する計時手段とを備え、
上記制御手段は、
上記待ち時間が経過するまでの期間、上記入力指示を無効にすることを特徴とする請求項３、８、９のいずれか１項に記載の送信装置。
【請求項１１】
上記制御手段は、
複数のデータを各データの通信の成否に関わらず上記受信装置に連続して送信することを特徴とする請求項１に記載の送信装置。
【請求項１２】
上記状況検出手段は、
上記複数のデータを上記受信装置に送信した後、該受信装置から返信されてくる返信データに基づいて、通信時に上記受信処理の滞りによる不具合が発生したかどうかを上記各データのそれぞれについて判断することを特徴とする請求項１１に記載の送信装置。
【請求項１３】
上記通信検出手段は、
上記複数のデータを上記受信装置に送信した後、該受信装置から返信されてくる返信データに基づいて、通信時に通信エラーが発生したかどうかを上記各データのそれぞれについて判断することを特徴とする請求項１１または１２に記載の送信装置。
【請求項１４】
表示装置を備え、
上記制御手段は、
上記受信処理の停滞による不具合が発生したデータと正常に受信されたデータとを上記表示装置に識別可能に表示することを特徴とする請求項１２に記載の送信装置。
【請求項１５】
表示装置を備え、
上記制御手段は、
通信時に通信エラーが生じたデータと上記受信装置に正常に受信されたデータとを上記表示装置に識別可能に表示することを特徴とする請求項１３に記載の送信装置。
【請求項１６】
表示装置を備え、
上記制御手段は、通信時に上記受信処理の停滞による不具合が発生したデータと通信エラーが生じたデータとを上記表示装置に識別可能に表示することを特徴とする請求項１１〜１５のいずれか１項に記載の送信装置。
【請求項１７】
使用者からの指示を受け付ける入力手段を備え、
上記制御手段は、
上記入力手段が上記表示装置に表示したデータのいずれか１つ以上を指定する指示を受け付けたときに、該指定されたデータを上記受信装置に送信することを特徴とする請求項１４〜１６のいずれか１項に記載の送信装置。
【請求項１８】
上記制御手段は、通信時に上記受信装置において受信処理の滞りによる不具合が発生したと判断したデータのみを上記受信装置に再送することを特徴とする請求項１２に記載の送信装置。
【請求項１９】
上記制御手段は、送信時に受信エラーが発生したと判断したデータのみを上記受信装置に再送することを特徴とする請求項１３に記載の送信装置。
【請求項２０】
上記制御手段は、
上記複数のデータを上記受信装置に送信する前に、該複数のデータの概略情報を上記受信装置に送信することを特徴とする請求項１１に記載の送信装置。
【請求項２１】
受信装置に複数のデータを送信する送信装置であって、
上記複数のデータを上記受信装置に送信する前に、該複数のデータの概略情報を上記受信装置に送信し、
上記複数のデータを通信の成否に関わらず上記受信装置に連続して送信することを特徴とする送信装置。
【請求項２２】
送信装置から送信されてくるデータを受信する受信装置であって、
受信処理の滞りが発生したことを検出する処理状況検出手段と、
通信エラーが生じたことを検出する通信状況検出手段と、
上記処理状況検出手段および通信状況検出手段の検出結果を含む返信データを作成するデータ作成手段と、
上記処理状況検出手段が上記受信処理の滞りを検出したとき、または上記通信状況検出部が通信エラーを検出したときに、上記返信データを上記送信装置に送信する制御手段とを備えていることを特徴とする受信装置。
【請求項２３】
上記処理状況検出手段が上記受信処理の滞りを検出したときに、当該受信処理の滞りが解消して正常に受信処理を行えるようになるまでの時間を算出する算出手段を備え、
上記データ作成手段は、上記返信データに上記算出した時間を含めることを特徴とする請求項２２に記載の受信装置。
【請求項２４】
送信装置から送信されてくる複数のデータを受信する受信装置であって、
上記複数のデータのそれぞれについて正常に受信できたかどうかを検出する検出手段と、
上記検出手段の検出結果を含む返信データを作成するデータ作成手段と、
上記送信装置が上記複数のデータの送信を完了したときに、上記返信データを上記送信装置に送信することを特徴とする受信装置。
【請求項２５】
送信装置から送信されてくる複数のデータを受信する受信装置であって、
表示装置と、
上記複数のデータのそれぞれについて正常に受信できたかどうかを検出する検出手段と、
上記検出手段の検出結果に基づいて、正常に受信できたデータと正常に受信できなかったデータとを上記表示装置に識別可能に表示させる制御手段とを備えていることを特徴とする受信装置。
【請求項２６】
請求項１〜２１のいずれか１項に記載の送信装置を動作させる送信プログラムであって、コンピュータを上記各手段として機能させるための送信プログラム。
【請求項２７】
請求項２６に記載の送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２８】
請求項２２〜２５のいずれか１項に記載の受信装置を動作させる受信プログラムであって、コンピュータを上記各手段として機能させるための受信プログラム。
【請求項２９】
請求項２８に記載の受信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信を行う送信装置およびそれを受信する受信装置に関するものであり、より詳細には通信不具合が生じた時に不具合の内容に応じて適切な処理を行える送信装置および受信装置に関するものである。
【背景技術】
【０００２】
近年、携帯端末から画像データ（コンテンツ）などのデータをテレビなどの表示装置に送信して表示させたり、プリンタに送信して印刷させたりする用途に無線通信技術が利用されている。また、このような無線通信において送信される画像データ等は高解像度化が進んでおり、単一の画像データであっても大容量化している。また、複数の画像データを一括して送信する場合には、一度に送信するデータは一層大容量になる。
【０００３】
これらデータを送信するには、受信側の装置（例えば表示装置やプリンタなど）が備える受信バッファや記憶装置の容量によっては、全てのデータを一度の送信処理で処理できない場合がある。また、特に、距離の離れた装置間での通信などでは、通信エラーや通信失敗が生じ易く、その場合にはデータの再送が必要になる。
【０００４】
ところが、受信側での処理が間に合わないことに起因する処理待ち状態と、通信の際の単純なエラーとを区別せずに一括してエラーと判断すると、処理待ちの状態であるにもかかわらず通信を中断してしまったり、再送信などの余計な操作を使用者に強いてしまったり、余計な待ち時間が生じて電力の消費量を増大させてしまったりする場合がある。
【０００５】
つまり、通信エラーではなく受信側装置の処理が滞ったために通信が待たされているような場合には、直ちに再送信を行っても受信側装置は再送信されたデータの処理を実行できない。したがって、通信不具合（通信異常）が生じた時には、不具合の内容に応じて適切な処理を行う必要がある。
【０００６】
不具合の内容に応じた処理を行う通信装置として、例えば特許文献１には、受信側の装置に異常が発生したことを検出すると、ジョブの実行に支障がないかを判断し、支障がある場合は送信側装置にその旨を通知することが記載されている。
【０００７】
また、特許文献２には、通信異常を検出した場合に、その異常の状況を判別して該当するエラーコードを決定してエラーコード別に管理し、後でそのエラーコードに基づいて状況を解析する技術が開示されている。
【０００８】
また、特許文献３には、受信側端末でデータメモリの空き容量が不足したときその不足容量が回復するまでの待ち時間を算出して送信側端末に通知し、待ち時間が経過してから送信側端末が通信回線を再接続する技術が開示されている。
【特許文献１】特開平１１−１０３３６３号公報（公開日：１９９９年４月１３日）
【特許文献２】特開平３−２５９６４２号公報（公開日：１９９１年１１月１９日）
【特許文献３】特開２００１−２９８６０２号公報（公開日：２００１年１０月２６日）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１〜３の技術では、通信不具合の内容に応じたタイムリーな送信処理を行うことができないという問題がある。
【００１０】
つまり、上記特許文献２の技術は、通信異常の状況を判別して状況別に発生回数をカウントし、致命的エラーに至ったときにこのカウントを読み出してエラーに至る経緯を解析することが開示されているだけであり、エラーが発生したときにエラーの内容に応じたタイムリーな送信処理を行うものではない。
【００１１】
また、上記特許文献１では、受信側装置で生じた異常が送信側装置に通知されるだけであり、通知された内容に基づいて使用者がその後の処置を判断し、さらに送信側装置への操作入力を行う必要があるので、エラーの内容に応じたタイムリーな送信処理を行うことはできない。また、通知された内容に基づいて使用者がその後の処置を判断し、さらに送信側装置への操作入力を行う必要があるので、使用者にとって不便である。
【００１２】
また、特許文献３では、通信不具合が通信エラー（受信側装置のメモリの空き容量が不足している場合以外の通信不具合）である場合の処理については何ら開示されておらず、通信エラーの場合にタイムリーな送信処理を行うことができない。
【００１３】
また、特許文献３の技術は、受信側装置が送信側装置に待ち時間を通知し、送信側装置は待ち時間が経過するまで受信側装置との通信回線を切断し、待ち時間が経過すれば受信側装置との通信回線を接続する。つまり、送信側端末は、待ち時間が経過すれば自動的に通信回線を接続して送信を行う。このため、使用者は、いつ送信が再開されるのかがわからない。
【００１４】
したがって、通信可能な状態とするために何らかの条件がある場合（例えば、通信可能な距離が短いために受信側装置から所定の距離以内から送信処理を行う必要がある場合、受信側装置の受信可能な角度範囲が決まっている場合、指向性のある通信媒体（赤外線等）を用いて通信を行うために送信側装置の発光部を受信側装置の受光部に向ける必要がある場合、通信のために送信側装置のアンテナを引き出す等の処理が必要な場合、共通の通信回線に複数の通信装置が接続されており通信可能な状態にする装置を手動で切り替える必要がある場合など）には、使用者は、待ち時間が経過して再送信が行われるまで通信可能な状態を維持するための処置を行う必要がある。このため、使用者の負担が大きくなる。また、通信可能な状態を維持するために、電力の消費が必要な場合もある。
【００１５】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、通信不具合の内容に応じた適切な送信処理を行える送信装置および受信装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明の送信装置は、上記の課題を解決するために、受信装置にデータを送信する送信装置であって、上記受信装置において受信処理の滞りが発生したことを検出する処理状況検出手段と、上記受信装置へのデータ送信時に通信エラーが生じたことを検出する通信状況検出手段と、上記処理状況検出手段によって上記受信処理の滞りが発生したことを検出したときと、上記通信状況検出手段によって通信エラーを検出したときとで、異なる処理を行う制御手段とを備えていることを特徴としている。
【００１７】
ここで、上記受信処理の滞りとは、送信装置と受信装置との間の伝送路では通信エラーが生じていないものの、受信装置の状態によって受信処理が滞ってしまうことを意味する。例えば、受信装置の受信バッファの容量が不足してオーバーフローしてしまった場合や、そのままのペースで送信を続けるとオーバーフローが発生してしまう場合などが考えられる。また、上記通信エラーとは、送信装置と受信装置との間の伝送路で生じるエラーであり、例えば、受信装置の受信したデータにパリティエラーやＣＲＣエラーが生じた場合や、送信装置からデータ送信した後、所定の時間が経過しても受信装置に受信されなかった場合などが含まれる。
【００１８】
上記の構成によれば、受信処理の滞りが発生した場合には処理状況検出手段がそれを検出し、通信エラーが発生した場合には通信状況検出手段がそれを検出する。そして、上記制御手段は、受信処理の滞りが発生したときと通信エラーが発生したときとで、その後の処理を切り替えて異なる処理を行う。これにより、通信不具合の内容に応じた適切な送信処理を行うことができる。
【００１９】
なお、上記処理状況検出手段は、上記受信装置にデータを送信した後、該受信装置から返信されてくる返信データに基づいて、該受信装置において受信処理の滞りが発生したことを検出する構成であってもよい。このように、受信装置からの返信データに基づいて受信処理の滞りを検出することで、適切な検出を行うことができる。
【００２０】
また、上記処理状況検出手段は、上記受信装置から返信されてくる返信データに基づいて、該受信装置において発生した受信処理の滞りが解消するまでの待ち時間を検出する構成としてもよい。このように、受信処理の滞りが解消するまでの待ち時間を検出することで、その後の処理を適切に行うことができる。
【００２１】
また、上記通信状況検出手段は、上記受信装置にデータを送信した後、該受信装置から返信されてくる返信データに基づいて、上記通信エラーを検出する構成であってもよい。このように、受信装置からの返信データに基づいて通信エラーを検出することで、適切な検出を行うことができる。
【００２２】
また、上記受信装置にデータを送信してからの経過時間を計時する計時手段を備え、上記通信状況検出手段は、上記計時手段の計時時間が所定の時間に達するまでに上記受信装置から返信データを受信しなかったときに、上記通信エラーが生じたと判断する構成としてもよい。上記の構成によれば、送信したデータが受信装置に到達しなかった場合や、受信装置が返信データを送信できない状態の場合であっても、通信エラーとして検出することができる。
【００２３】
また、上記制御手段は、上記処理状況検出手段によって上記受信装置における処理の滞りを検出した場合には上記受信装置へのデータの送信を中断し、上記通信状態検出手段によって通信エラーを検出した場合には通信エラーの生じたデータを再送する構成としてもよい。
【００２４】
受信装置において受信処理の滞りが発生した場合、その滞りが解消するまでにデータを再送しても、受信装置では再送されたデータを適切に処理できない。また、再送のための電力を無駄に消費することになる。一方、通信エラーの場合には、データを再送することで正常に受信させられる可能性がある。そこで、上記の構成によれば、受信処理の滞りが発生した場合にはデータの送信を一端中断し、通信エラーの場合には通信エラーの生じたデータを再送する。これにより、通信不具合の内容に応じた適切な送信処理を行うことができる。
【００２５】
また、上記受信装置における処理状況を使用者に通知するための通知装置を備え、上記制御手段は、上記受信装置において受信処理の滞りが生じたことを上記通知装置によって使用者に通知する構成としてもよい。なお、上記通知装置としては、例えば、液晶表示パネル等の表示装置、スピーカ等の音声出力装置、バイブレーター等の振動出力装置、ＬＥＤ等の発光装置などを用いることができる。
【００２６】
上記の構成によれば、受信装置において受信処理の滞りが生じたことを使用者に知らせることができる。したがって、使用者は、その後の操作等を適切に判断できる。例えば、上記送信装置が指向性を有する通信媒体（赤外線，超音波等）を用いてデータの送信を行う送信装置の場合、使用者は、受信処理の滞りを把握することで、送信のために送信装置を所定の方向に向けた状態を解除するかどうかを判断できる。
【００２７】
また、上記受信装置における処理状況を使用者に通知するための通知装置を備え、上記制御手段は、上記通知装置によって上記待ち時間を使用者に通知する構成としてもよい。
【００２８】
上記の構成によれば、受信装置における受信処理の滞りが解消するまでの待ち時間を使用者に知らせることができる。したがって、使用者は、その後の操作等をより適切に判断できる。
【００２９】
また、上記処理状況検出手段が上記待ち時間を検出してからの経過時間を計時する計時手段を備え、上記制御手段は、上記待ち時間が経過したときに、待ち時間が経過したことを上記通知装置によって使用者に通知する構成としてもよい。
【００３０】
上記の構成によれば、使用者に、受信装置における受信処理の滞りが解消したことを知らせることができる。これにより、使用者は、例えば通信に失敗したデータを再送するなど、その後の処理を適切に行うことができる。
【００３１】
また、使用者からの入力指示を受け付ける入力手段と、上記処理状況検出手段が上記待ち時間を検出してからの経過時間を計時する計時手段とを備え、上記制御手段は、上記待ち時間が経過するまでの期間、上記入力指示を無効にする構成としてもよい。
【００３２】
上記の構成によれば、受信装置において受信処理の滞りが生じている期間、使用者の入力指示を無効にする。これにより、受信処理の滞りが生じている期間中に、例えば通信に成功していないデータを誤って消去してしまうといった不適切な処理が行われることを防止できる。
【００３３】
また、上記制御手段は、複数のデータを各データの通信の成否に関わらず上記受信装置に連続して送信する構成としてもよい。上記の構成によれば、１つのデータを送信する毎に通信の成否（受信装置が正常に受信できたかどうか）を確認して次のデータを送信する構成よりも、通信時間を短縮できる。
【００３４】
また、上記状況検出手段は、上記複数のデータを上記受信装置に送信した後、該受信装置から返信されてくる返信データに基づいて、通信時に上記受信処理の滞りによる不具合が発生したかどうかを上記各データのそれぞれについて判断する構成としてもよい。
【００３５】
上記の構成によれば、送信した各データのそれぞれについて、通信時に受信処理の滞りが発生したかどうかを判断できる。これにより、受信処理の滞りによる不具合が発生したときのデータに対して適切な処理を行うことができる。
【００３６】
また、上記通信検出手段は、上記複数のデータを上記受信装置に送信した後、該受信装置から返信されてくる返信データに基づいて、通信時に通信エラーが発生したかどうかを上記各データのそれぞれについて判断する構成としてもよい。
【００３７】
上記の構成によれば、送信した各データのそれぞれについて、通信時に通信エラーが発生したかどうかを判断できる。これにより、通信エラーの発生したデータに対して適切な処理を行うことができる。
【００３８】
また、表示装置を備え、上記制御手段は、上記受信処理の停滞による不具合が発生したデータと正常に受信されたデータとを上記表示装置に識別可能に表示する構成としてもよい。上記の構成によれば、使用者に、受信処理の停滞による不具合が発生したデータと正常に受信されたデータとを把握させることができる。
【００３９】
また、表示装置を備え、上記制御手段は、通信時に通信エラーが生じたデータと上記受信装置に正常に受信されたデータとを上記表示装置に識別可能に表示する構成としてもよい。上記の構成によれば、使用者に、通信エラーが発生したデータと正常に受信されたデータとを把握させることができる。
【００４０】
また、表示装置を備え、上記制御手段は、通信時に上記受信処理の停滞による不具合が発生したデータと通信エラーが生じたデータとを上記表示装置に識別可能に表示する構成としてもよい。上記の構成によれば、使用者に、受信処理の停滞による不具合が発生したデータと通信エラーが発生したデータとを把握させることができる。
【００４１】
また、使用者からの指示を受け付ける入力手段を備え、上記制御手段は、上記入力手段が上記表示装置に表示したデータのいずれか１つ以上を指定する指示を受け付けたときに、該指定されたデータを上記受信装置に送信する構成としてもよい。
【００４２】
上記の構成によれば、使用者は、表示装置に表示された内容を見て再送したいデータを指定するだけで、そのデータを再送させることができる。
【００４３】
また、上記制御手段は、通信時に上記受信装置において受信処理の滞りによる不具合が発生したと判断したデータのみを上記受信装置に再送する構成としてもよい。上記の構成によれば、制御手段が通信時に不具合の生じたデータを自動的に再送するので、使用者の負担を軽減できる。
【００４４】
また、上記制御手段は、送信時に受信エラーが発生したと判断したデータのみを上記受信装置に再送する構成としてもよい。上記の構成によれば、制御手段が通信エラーの発生したデータを自動的に再送するので、使用者の負担を軽減できる。
【００４５】
また、上記制御手段は、上記複数のデータを上記受信装置に送信する前に、該複数のデータの概略情報を上記受信装置に送信する構成としてもよい。ここで、上記概略情報とは、例えば各データのサムネイル、各データを特定するための情報を記載したリストなどである。
【００４６】
上記の構成によれば、受信装置にその後に送信する各データの概要を予め通知できるので、例えば大容量のデータをデータ毎に送信確認せずに送信しても、受信装置において各データについての通信エラーや受信処理の滞りによる不具合の有無の検出あるいはそれらの検出結果の管理を用意に行うことができる。また、通信時間を短縮できる。
【００４７】
また、本発明の他の送信装置は、受信装置に複数のデータを送信する送信装置であって、上記複数のデータを上記受信装置に送信する前に、該複数のデータの概略情報を上記受信装置に送信し、上記複数のデータを通信の成否に関わらず上記受信装置に連続して送信することを特徴としている。
【００４８】
上記の構成によれば、受信装置にその後に送信する各データの概要を予め通知できるので、複数のデータをデータ毎に送信確認せずに送信しても、受信装置において各データについての通信エラーや受信処理の滞りによる不具合の有無の検出あるいはそれらの検出結果の管理を容易に行うことができる。また、通信時間を短縮できる。
【００４９】
本発明の受信装置は、上記の課題を解決するために、送信装置から送信されてくるデータを受信する受信装置であって、受信処理の滞りが発生したことを検出する処理状況検出手段と、通信エラーが生じたことを検出する通信状況検出手段と、上記処理状況検出手段および通信状況検出手段の検出結果を含む返信データを作成するデータ作成手段と、上記処理状況検出手段が上記受信処理の滞りを検出したとき、および上記通信状況検出部が通信エラーを検出したときに、上記返信データを上記送信装置に送信する制御手段とを備えていることを特徴としている。
【００５０】
上記の構成によれば、受信処理の滞りが発生した場合には処理状況検出手段がそれを検出し、通信エラーが発生した場合には通信状況検出部がそれを検出する。そして、データ作成手段が、処理情報検出手段および通信状況検出手段の検出結果を含む返信データを作成し、処理状況検出手段が受信処理の滞りを検出したとき、または通信状況検出部が通信エラーを検出したときに、制御手段が上記返信データを送信装置に送信する。これにより、通信時に生じた不具合の内容を送信装置に適切に把握させることができる。したがって、送信装置において、不具合の内容に応じた適切な処理を行わせることができる。
【００５１】
また、上記処理状況検出手段が上記受信処理の滞りを検出したときに、当該受信処理の滞りが解消して正常に受信処理を行えるようになるまでの時間を算出する算出手段を備え、上記データ作成手段は、上記返信データに上記算出した時間を含める構成としてもよい。
【００５２】
上記の構成によれば、上記算出手段が、受信処理の滞りが発生したときに、それが解消して正常に受信できる状態になるまでの時間を算出し、データ作成部が上記算出した時間を返信データに含める。これにより、この返信データを送信装置に送信することで、送信装置に正常に受信できるようになるまでの待ち時間を把握させることができる。したがって、送信装置または送信装置の使用者に、不具合の内容に応じた適切な処理を行わせることができる。
【００５３】
本発明の他の受信装置は、送信装置から送信されてくる複数のデータを受信する受信装置であって、上記複数のデータのそれぞれについて正常に受信できたかどうかを検出する検出手段と、上記検出手段の検出結果を含む返信データを作成するデータ作成手段と、上記送信装置が上記複数のデータの送信を完了したときに、上記返信データを上記送信装置に送信することを特徴としている。
【００５４】
上記の構成によれば、上記複数のデータのそれぞれについて、正常に受信できたかどうかを検出手段が検出し、データ作成手段がその検出結果を含む返信データを作成する。そして、送信装置から上記複数のデータが送信された後、上記返信データを送信装置に送信する。これにより、正常に受信できたデータと正常に受信できなかったデータとを送信手段に把握させることができる。したがって、送信装置または送信装置の使用者に、受信結果に応じた適切な処理を行わせることができる。
【００５５】
また、本発明のさらに他の受信装置は、送信装置から送信されてくる複数のデータを受信する受信装置であって、表示装置と、上記複数のデータのそれぞれについて正常に受信できたかどうかを検出する検出手段と、上記検出手段の検出結果に基づいて、正常に受信できたデータと正常に受信できなかったデータとを上記表示装置に識別可能に表示させる制御手段とを備えていることを特徴としている。
【００５６】
上記の構成によれば、上記複数のデータのそれぞれについて、正常に受信できたかどうかを検出手段が検出し、上記制御手段が、検出手段の検出結果に基づいて、正常に受信できたデータと正常に受信できなかったデータとを表示装置に識別可能に表示させる。これにより、送信装置の使用者に、受信結果に応じた適切な処理を行わせることができる。
【００５７】
なお、上記送信装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより、上記送信装置をコンピュータにて実現させる送信プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【００５８】
同様に、上記受信装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより、上記受信装置をコンピュータにて実現させる受信プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【発明の効果】
【００５９】
以上のように、本発明の送信装置は、受信装置において受信処理の滞りが発生したことを検出する処理状況検出手段と、受信装置へのデータ送信時に通信エラーが生じたことを検出する通信状況検出手段と、上記処理状況検出手段によって上記受信処理の滞りが発生したことを検出したときと、上記通信状況検出手段によって通信エラーを検出したときとで、異なる処理を行う制御手段とを備えている。
【００６０】
それゆえ、受信処理の滞りを検出したときと通信エラーを検出したときとで、上記制御手段が異なる処理を行うことで、通信不具合の内容に応じた適切な送信処理を行うことができる。つまり、通信が正常に行われなかった場合、その原因が通信自体のエラーなのか、通信自体には問題ないが受信装置における処理の停滞によるものかによって送信装置の処理を柔軟に切り替えることで、不具合の内容に応じた適切なデータの送信を行える。
【００６１】
また、本発明の他の送信装置は、複数のデータを受信装置に送信する前に、該複数のデータの概略情報を受信装置に送信し、上記複数のデータを通信の成否に関わらず受信装置に連続して送信する。
【００６２】
これにより、受信装置にその後に送信する各データの概要を予め通知できるので、複数のデータをデータ毎に送信確認せずに送信しても、受信装置において各データについての通信エラーや受信処理の滞りによる不具合の有無の検出あるいはそれらの検出結果の管理を用意に行うことができる。また、通信時間を短縮できる。
【００６３】
本発明の受信装置は、上記の課題を解決するために、受信処理の滞りが発生したことを検出する処理状況検出手段と、通信エラーが生じたことを検出する通信状況検出手段と、上記処理状況検出手段および通信状況検出手段の検出結果を含む返信データを作成するデータ作成手段と、上記処理状況検出手段が上記受信処理の滞りを検出したとき、および上記通信状況検出部が通信エラーを検出したときに、上記返信データを上記送信装置に送信する制御手段とを備えている。
【００６４】
それゆえ、通信時に生じた不具合の内容を送信装置に適切に把握させることができるので、送信装置またはその使用者に、不具合の内容に応じた適切な処理を行わせることができる。
【００６５】
本発明の他の受信装置は、上記複数のデータのそれぞれについて正常に受信できたかどうかを検出する検出手段と、上記検出手段の検出結果を含む返信データを作成するデータ作成手段と、上記送信装置が上記複数のデータの送信を完了したときに、上記返信データを上記送信装置に送信する。
【００６６】
それゆえ、正常に受信できたデータと正常に受信できなかったデータとを送信手段に把握させることができるので、送信装置または送信装置の使用者に、受信結果に応じた適切な処理を行わせることができる。
【００６７】
また、本発明のさらに他の受信装置は、表示装置と、上記複数のデータのそれぞれについて正常に受信できたかどうかを検出する検出手段と、上記検出手段の検出結果に基づいて、正常に受信できたデータと正常に受信できなかったデータとを上記表示装置に識別可能に表示させる制御手段とを備えている。
【００６８】
それゆえ、正常に受信できたデータと正常に受信できなかったデータとを表示装置に識別可能に表示させて送信装置の使用者に受信結果を通知できるので、受信結果に応じた適切な処理を行わせることができる。
【発明を実施するための最良の形態】
【００６９】
〔実施形態１〕
（１．１  送信装置１００および受信装置２００の構成）
本発明の一実施形態について説明する。図１は、本実施形態にかかる送信装置（コンテンツデータ送信装置）１００の構成を示すブロック図である。また、図２は本実施形態にかかる受信装置（コンテンツデータ受信装置）２００の構成を示すブロック図である。
【００７０】
なお、本実施形態では、主に、送信装置１００は赤外線を用いて外部の装置とデータ通信を行う携帯電話であり、受信装置２００は送信装置１００から受信した画像データを記録紙に印刷するプリンタである場合について説明する。また、送信装置１００が、自身に備えられる撮像手段（図示せず）によって撮影した画像データ（コンテンツデータ）、あるいはインターネット等を介して取得した画像データを受信装置２００に送信する場合の例について説明する。ただし、送信装置１００および受信装置２００の構成はこれに限るものではない。また、送信装置１００と受信装置２００との間で通信されるデータは特に限定されるものではなく、例えば、二次元静止画像、三次元静止画像、二次元動画像、三次元動画像、音声、図形、テキスト等の各種のコンテンツデータであってもよい。
【００７１】
図１に示すように、送信装置１００は、処理状況検出部１、通信状況検出部２、入力部３、入力制御部４、出力制御部５、出力部６、通信制御部７、通信部８、計時部９、記憶部１０、制御部１１を備えている。
【００７２】
処理状況検出部１は、通信を行っている相手先の受信装置におけるコンテンツ処理の進行状況を検出するものである。より詳細には、処理状況検出部１は、受信装置２００から受信したパケットがステータスパケット（詳細は後述する）である場合に、このステータスパケットに格納（付加）されている情報を解析し、解析結果を制御部１１に伝達する。
【００７３】
通信状況検出部２は、通信路の障害などによる受信失敗などの通信自体の状況を検出するものである。より詳細には、通信状況検出部２は、受信装置２００から受信したパケットがＡＣＫかＮＡＣＫかを判定し、データ通信に関して通信エラーが起きていないかどうかなど、通信自体の進行状況や通信エラーなどの障害状況を検出する。なお、本実施形態において、通信エラーとは、通信路における不具合等によって送信装置１００から送信されたデータ等が受信装置２００に到達しない場合や、受信装置２００の受信したデータにパリティエラーやＣＲＣ（Cycle Redundancy Check）エラーなどの受信エラーが生じることを意味し、受信装置２００自身の状態に起因する不具合（後述する「メモリＦＵＬＬ」，インク切れ，用紙切れ等）は含まないものとする。
【００７４】
入力部３は、使用者からの送信装置１００に対する種々の指示を受け付け、制御部１１に伝達するインターフェースであり、例えばボタンやキー等で構成されている。入力制御部４は、入力部３を制御して使用者の指示などを取込む制御を行うものである。
【００７５】
出力部（通知装置）６は、コンテンツデータ送信装置の状態やコンテンツ画像などを使用者に呈示するものであり、例えば液晶ディスプレイ（ＬＣＤ）等の表示装置、ＬＥＤ等の発光手段、スピーカ等の音声出力手段、バイブレーター等の振動手段などである。なお、本実施形態では、主に、出力部６が表示装置である場合について説明する。出力制御部５は、出力部６を制御するものである。
【００７６】
通信部８は、受信装置２００との間で赤外線を用いてデータの送受信を行うものである。通信制御部７は、通信部８の動作を制御するものである。なお、本実施形態では、通信部８は赤外線を用いて通信を行うものとするが、通信部８の用いる通信媒体は特に限定されるものではない。
【００７７】
計時部９は、種々の経過時間を計時するものである。
【００７８】
記憶部１０は、コンテンツデータや送信装置１００を制御するためのプログラムなどを格納するものである。
【００７９】
制御部１１は、送信装置１００に備えられる各部材の動作を制御するものである。
【００８０】
図２に示すように、受信装置２００は、処理状況検出部１２、通信状況検出部１３、入力部１４、入力制御部１５、出力制御部１６、出力部１７、計時部１８、算出部１９、通信制御部２０、通信部２１、記憶部２２、制御部２３を備えている。
【００８１】
処理状況検出部１２は、受信装置２００におけるコンテンツ処理の進行状況を検出するものである。
【００８２】
通信状況検出部１３は、通信路の障害などによる受信失敗などの通信自体の状況を検出するものである。例えば、通信状況検出部１３は、受信したデータにパリティエラーやＣＲＣエラーなどの受信エラーが生じたかどうかを判定する。
【００８３】
入力部１４は、使用者からの受信装置２００に対する種々の指示を受け付け、制御部２３に伝達するインターフェースである。入力制御部１５は、入力部１４を制御して使用者の指示などを取込む制御を行うものである。
【００８４】
出力部１７は、送信装置１００から受信したコンテンツデータ等を記録紙に印刷するものであり、受信装置２００がプリンタである場合、例えばプリンタのインク噴出部や紙送り部（用紙搬送部）などが含まれる。出力制御部１６は、出力部１７を制御し、受信したコンテンツデータ等を出力させるものである。なお、出力部１７の構成はこれに限るものではなく、例えば受信したコンテンツデータ等を表示するものであってもよく、あるいは音声出力するものであってもよい。
【００８５】
計時部１８は種々の経過時間を計時するものである。
【００８６】
算出部１９は、コンテンツの処理に要する時間を算出するものである。
【００８７】
通信部２１は、他の装置との間で通信（データの送受信）を行うものであり、送信装置１００から送信された赤外線などを受信する。通信制御部２０は、通信部２１の動作を制御するものである。
【００８８】
記憶部２２は、受信したコンテンツデータや受信側装置を制御するプログラムなどを格納するものである。
【００８９】
制御部２３は、受信装置２００に備えられる各部材の動作を制御するものである。
【００９０】
（１．２  通信に用いられるデータの構造）
図３は、送信装置１００と受信装置２００との間で通信を行う場合の使用状況を示す説明図である。この図に示すように、送信装置１００から受信装置２００にデータを送信する場合、使用者は送信装置１００を手に持って送信装置１００の発光部２４を受信装置２００の受光部２５に向けた状態で入力部３を操作し、例えば送信装置１００の記憶部１０に記憶されている画像データ等を受信装置２００に送信させる。受信装置２００は、通信状況に応じて、後述するステータスパケット，ＡＣＫ，ＮＡＣＫ等を送信装置１００に返信する。
【００９１】
図４は、送信装置１００と受信装置２００との間で通信されるデータ構造の一例を示す説明図である。この図に示すように、送信装置１００と通信装置２００との間の通信には、ＩＤフィールドとデータフィールドからなるパケットが用いられる。ＩＤフィールドには、データフィールドに格納（付加）されているデータの種別を表すＩＤが格納される。例えば、データフィールドに格納するデータが画像データである場合には、画像データであることを示すＩＤとその長さ（データサイズ）が格納される。また、通信の確認のために送信されるパケットである場合には、ＡＣＫやＮＡＣＫを示すＩＤがＩＤフィールドに格納される。
【００９２】
また、本実施形態では、送信装置１００と受信装置２００との間で通信不具合が生じた場合に、受信装置２００が、例えば不具合の内容や不具合が解消するまでの時間などを示すデータを含むステータスパケットを送信装置１００に送信するようになっている。これにより、送信装置１００では、受信したパケットの種類（ステータスパケット、ＡＣＫ、ＮＡＣＫ等）を識別し、またパケットの内容を解析することで、状況に応じた適切な処理を行うようになっている。
【００９３】
図５（ａ）は、ステータスパケット（ＳＴＡＴＵＳパケット）の構成例を示す説明図である。この図に示すように、ステータスパケットは、ＩＤフィールドと状態フィールドとｏｐｔｉｏｎフィールドとから構成される。
【００９４】
ＩＤフィールドには、このパケットがステータスパケットであることを示すＩＤが格納される。
【００９５】
状態フィールドには、受信装置２００においてデータ受信を保留するに至った原因など、受信装置２００の処理状態を示す。例えば、受信バッファにデータが溜まってきてこのまま受信を続けるとオーバーフローすること、あるいは受信バッファがオーバーフローしてしまったことを示す「メモリＦＵＬＬ（バッファＦＵＬＬ）」、インクがなくなったことを示す「インク切れ」、用紙がなくなったことを示す「用紙切れ」などである。
【００９６】
ｏｐｔｉｏｎフィールドには、状態フィールドの情報を補完する内容が格納される。例えば、状態フィールドが「メモリＦＵＬＬ」の場合、ｏｐｔｉｏｎフィールドには、受信バッファに溜まった内容を印刷（出力）して受信バッファに次の画像データを受信するための空き容量ができるまでの時間（待ち時間）などが格納される（図５（ｂ）参照）。また、状態フィールドが「インク切れ」の場合には、インク切れになったインク色の情報などが格納される。また、状態フィールドが「用紙切れ」の場合には、用紙切れになった用紙の種類，サイズ等の情報などが格納される。この他、受信装置２００の機能等に応じて状態フィールドとｏｐｔｉｏｎフィールドに格納される情報は適宜設定される。
【００９７】
ここで、上記の「メモリＦＵＬＬ」の状態について、より詳細に説明する。受信装置（プリンタ）２００は、受信した画像データを記憶部２２の受信バッファに順次格納しながらＦｉｒｓｔ−ｉｎ、Ｆｉｒｓｔ−ｏｕｔで、すなわち受信したデータから順に印刷していく。このときの印刷処理のスピードがデータの受信スピードより遅い場合、受信した画像データが受信バッファに溜まっていき、最後にはオーバーフローする。
【００９８】
受信装置２００の処理状況検出部１２は、受信バッファのデータ蓄積状況を監視して、このままのペースで受信していくと受信バッファがオーバーフローするかどうかを判断する機能を有している。そして、処理状況検出部１２が、このままのペースで受信すると受信バッファがオーバーフローすると判断すると、算出部１９が、受信バッファ内に溜まっているデータの量と、受信バッファからデータを読み出して印刷するスピードとから、送信装置１００から受信装置２００への画像データの送信を中断したあと、受信バッファに溜まった画像データを読み出して印刷し、受信バッファに次の画像データを受信するために必要な空き容量ができるまでの時間、すなわち受信装置２００における処理の滞りを解消するのに要する「処理時間」を算出する。そして、受信装置２００の制御部２３が、処理状況検出部１２の判断結果および算出部１９の算出結果に基づいて、送信装置１００に画像データの送信を停止させるためのステータスパケットを生成し、このステータスパケットをＡＣＫパケットの代わりに通信部２１から送信装置１００に送信させる。
【００９９】
処理状況検出部１２におけるオーバーフローするかどうかの判断は、送信装置１００から送信されてきて記憶部２２の受信バッファに格納される単位時間あたりのデータバイト数Ｘと、受信バッファから印刷のために読み出される単位時間あたりのデータバイト数Ｙとの差Ｘ−Ｙ（受信バッファ内のデータ増加速度）に受信バッファがオーバーフローするまでの許容時間ＴＦを掛けた値（Ｘ−Ｙ）×ＴＦ（ＴＦ経過した時点で増加するデータ量）と、受信バッファの残量（残容量）とを比較することにより実行される。すなわち、処理状況検出部１２は、受信バッファの残量が（Ｘ−Ｙ）×ＴＦよりも小さい場合に、このままのペースで受信すると受信バッファがオーバーフローすると判断する。なお、受信バッファがオーバーフローするまでの許容時間ＴＦは、受信バッファがオーバーフローしないための処理（例えば、処理状況検出部１２がこのままのペースで受信すると受信バッファがオーバーフローすることを検出し、制御部２３が送信装置１００に画像データの送信を停止させるためのステータスパケットを生成して通信部２１を介して送信装置１００に送信し、送信装置１００がこのステータスパケットを受信してデータ送信を中断する処理）に必要な最小時間であり、これらの各処理を行うアプリケーションや送信装置１００、受信装置２００における各部の性能などを加味して決められる。
【０１００】
（１．３  送信装置１００の処理）
次に、送信装置１００から受信装置２００に画像データを送信する場合の処理について説明する。図６は送信装置１００における処理の流れを示すフロー図であり、図７は受信装置２００における処理の流れを示すフロー図である。
【０１０１】
まず、送信装置１００における処理について説明する。送信装置１００の使用者は、ボタンやキー等からなる入力部３を操作し、記憶部１０に格納（記憶）されている画像データを出力部（表示部）６に表示させるとともに、受信装置２００に送信して印刷させたい画像を１枚または複数枚選択して指定する。制御部１１は、入力部３を介して入力される使用者からの指示に応じて、記憶部１０に格納している画像データを出力部６に表示させ、使用者の選択指示に応じて受信装置２００に送信する画像データを選択する（Ｓ１）。
【０１０２】
次に、使用者は、入力部３を介して選択した画像の受信装置２００への送信開始指示を入力する。制御部１１は、この送信開始指示を受け付けると、通信制御部７を制御し、通信部８から受信装置２００に接続要求（ＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信させる（Ｓ２）。
【０１０３】
さらに、制御部１１は、受信装置２００から接続応答（ＣＯＮＮＥＣＴｒｅｓｐｏｎｓｅ）を受信したかどうかを判断する（Ｓ３）。ここで、接続応答を受信していない場合には、引き続き接続応答を受信することを監視する。なお、所定時間経過しても接続応答を受信できない場合には、例えば接続要求を再送するようにしてもよく、あるいは接続できなかった旨を出力部６に表示させるようにしてもよい。
【０１０４】
一方、接続応答を受信した場合、制御部１１は、通信制御部７を制御し、通信部８から受信装置２００へデータ送信を開始させる（Ｓ４）。そして、制御部１１は、計時部９にデータ送信を開始してからの経過時間の計時を開始させる（タイマーをセットする）（Ｓ５）。
【０１０５】
その後、制御部１１は、通信状況検出部２に、計時部９の計時時間を監視させ、所定の時間Ｔ１が経過したかどうかを判定させる（Ｓ６）。なお、上記所定の時間Ｔ１は、通信のプロトコル等に応じて予め設定される。
【０１０６】
Ｓ６において時間Ｔ１が経過したと判定された場合、制御部１１は、通信エラーが生じたと判断し、出力制御部５を制御して出力部６に通信エラーが生じた旨を表示させる（Ｓ７）。
【０１０７】
例えば、出力部６に「通信不可です。」、「通信エラーです。再送して下さい。」、「これ以上送信できません。しばらくしてから再送してください。」などの表示を行わせる。なお、この際、未送信の画像データを出力部６に表示させてもよい。あるいは、制御部１１が未送信の画像データのサムネイル画像、リスト等を作成して出力部６に表示させてもよい。なお、この場合、送信に成功した画像データと未送信の画像データとを区別可能なように、それらの画像、サムネイル、リスト等を表示させてもよい。
【０１０８】
図８および図９は、通信に成功した画像データと未送信の画像データとを識別可能に表示する場合の一例を示している。図８および図９では、各画像データのサムネイルの左上に表示されたチェック（レ点）が送信に成功した画像データを示している。いずれの例でも、当初送信を予定した６つの画像データのうち４つまでが送信済みであることを示している。なお、本実施形態では、Ｓ６において時間Ｔ１が経過したと判定された場合にすぐにＳ７の処理を行うものとしているが、これに限らず、後述するＳ１５の処理と同様、送信に失敗した画像データを再送するようにしてもよい。
【０１０９】
そして、制御部１１は、その時点までに送信したデータなどの送信状態を示す情報（例えば複数の画像データを送信する場合にはどの画像データまで送信できたかを示す情報、あるいは各画像データを複数のデータファイルに分割して送信する場合には、どの画像データのどのデータファイルまで送信できたかを示す情報、あるいは送信に失敗した画像データやデータファイルを示す情報など）を記憶部１０に保存する（Ｓ８）。さらに、制御部１１は、通信制御部７を制御して通信部８から受信装置２００に切断要求（ＤＩＳＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信させ、通信を切断して処理を終了する。
【０１１０】
なお、Ｓ７で通信エラーの表示を行った後、使用者からの指示（再送指示あるいは通信切断指示）を待機し、その指示に応じた処理を行うようにしてもよい。つまり、使用者が、出力部６に表示された通信エラーに関する表示を見て、未送信の画像データを再送する指示を行うか、通信を切断するかを選択できるようにしてもよい。
【０１１１】
また、Ｓ７で通信エラーの表示を行った後、さらに所定の時間が経過しても受信装置２００からの応答がなかったときに、Ｓ８以降の処理を行うようにしてもよい。この場合、Ｓ７で通信エラーの表示を行った後、上記所定の時間が経過するまでに受信装置２００からの応答があったときには、Ｓ１０以降の処理を行うようにすればよい。
【０１１２】
一方、Ｓ６において時間Ｔ１が経過していないと判定された場合、制御部１１は、受信装置２００からデータ（パケット）を受信したかどうかを判断する（Ｓ１０）。そして、受信装置２００からデータを受信していない場合にはＳ６に戻って引き続き通信状況検出部２に時間Ｔ１が経過したかどうかを判定させる。これに対して、Ｓ１０において受信装置２００からデータを受信したと判断した場合には、制御部１１は、通信状況検出部２に受信したデータがＡＣＫであるかどうかを判断させる（Ｓ１１）。つまり、制御部１１は、通信状況検出部２に、先に送信したデータが受信装置２００に正常に受信されたかどうかを判断させる。
【０１１３】
そして、Ｓ１１において通信状況検出部２がＡＣＫであると判断した場合、制御部１１は、受信装置２００に送信すべきデータがまだ残っているかどうかを判断する（Ｓ１２）。そして、送信すべきデータがある場合、制御部１１は、Ｓ４以降の処理を再び行う。また、Ｓ１２において送信すべきデータが残っていないと判断した場合には、制御部１１は、通信制御部７を制御して通信部８から受信装置２００に切断要求（ＤＩＳＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信させ（Ｓ１３）、処理を終了する。
【０１１４】
一方、Ｓ１１において通信状況検出部２が受信装置２００から受信したデータはＡＣＫではないと判断した場合、制御部１１は、通信状況検出部２に、受信装置２００から受信したデータが通信エラーを示す信号（ＮＡＣＫ）であるかどうかを判断させる（Ｓ１４）。
【０１１５】
そして、通信状況検出部２がＮＡＣＫであると判断した場合、制御部１１は、通信エラーが起こった画像データの送信がＮ回目の送信であるかどうかを判断する（Ｓ１５）。そして、該画像データの送信回数がＮ回に達していない場合には、記憶部１０に次の送信が何回目の送信であるかを示す情報を記憶させ、Ｓ４に戻って該画像データを再送する。制御部１１は、Ｓ１５において何回目の送信であるか判断する際、記憶部１０に記憶させておいた送信回数に関する情報を参照する。このように、制御部１１は、受信装置２００からＮＡＣＫを受信した場合、予め決めた適当な回数（Ｎ回；Ｎは任意の自然数）だけ送信に失敗した画像データを自動的にリトライ再送する。
【０１１６】
なお、Ｓ１５において該画像データの再送回数がＮ回目であると判断した場合、制御部１１は、上記したＳ７〜Ｓ９の処理を行って処理を終了する。このように、制御部１１は、Ｎ回目の再送に失敗するまでは、出力部６に通信エラーに関する情報を表示させずに再送処理を行うようになっている。したがって、１〜Ｎ−１回目までの再送で送信に成功した場合には、使用者は、通信エラーが生じたことを知らずにすみ、通信エラーが全く生じなかった場合と同様の操作で送信処理を終えることできる。ただし、これに限らず、制御部１１が自動的に再送処理を行う際、再送処理の回数を出力部６に表示させるようにしてもかまわない。
【０１１７】
一方、Ｓ１４において通信状況検出部２がＮＡＣＫではないと判断した場合、制御部１１は、受信したパケットがＡＣＫでもなくＮＡＣＫでもないので、ステータスパケットであると判断し、処理状況検出部１にステータスパケットに基づいて受信装置２００の状態を検出させる（Ｓ１６）。つまり、処理状況検出部１に、ステータスパケットの状態フィールドおよびｏｐｔｉｏｎフィールドを参照して受信装置２００の状態に関する情報を抽出させる。なお、制御部１１が、処理状況検出部１に、受信装置２００から受信したパケットのＩＤを参照させ、受信したパケットがステータスパケットであるかどうかを判定させ、ステータスパケットであった場合にそのステータスパケットに基づいて受信装置２００の状態を検出させるようにしてもよい。
【０１１８】
そして、制御部１１は、処理状況検出部１の抽出した受信装置２００の状態が「メモリＦＵＬＬ」であるかどうかを判断する（Ｓ１７）。
【０１１９】
Ｓ１７において「メモリＦＵＬＬ」であると判断した場合、制御部１１は、出力制御部５を制御し、処理状況検出部１がステータスパケットのｏｐｔｉｏｎフィールドから読み出した待ち時間、すなわち受信装置２００が受信バッファに溜まっていたデータを出力（印刷）して受信バッファに次の画像データを受信するための空き容量ができるまでの時間を、出力部６に表示させる（Ｓ１８）。また、制御部１１は、計時部９に「メモリＦＵＬＬ」のステータスパケットを受信してからの経過時間を計時させる。
【０１２０】
この際、「メモリＦＵＬＬ」であることを示す表示を、待ち時間とともに表示させてもよい。例えば、「プリンタが処理中です。１分後に再送して下さい。」などの表示を出力部６に行わせてもよい。なお、表示する待ち時間は、時間の経過とともにカウントダウンさせてもよい。また、この際、未送信の画像データを出力部６に表示させてもよい。あるいは、制御部１１が未送信の画像データのサムネイル画像、リスト等を作成して出力部６に表示させてもよい。なお、この場合、送信に成功した画像データと未送信の画像データとを区別可能なように、それらの画像、サムネイル、リスト等を表示させてもよい。
【０１２１】
図１０は、受信装置２００の処理待ちであることを示す情報と、送信に成功した画像データおよび未送信の画像データを示す表示とを行う場合の一例を示している。図１０では、各画像データのサムネイルの左上に表示されたチェック（レ点）が送信に成功した画像データを示しており、当初送信を予定した６つの画像データのうち４つまでが送信済みであることを示している。
【０１２２】
なお、本実施形態では、受信装置２００の処理待ちの状態である場合、この待ち時間が経過するまでは使用者が入力部３のボタンを操作しても制御部１１がこの送信指示を受け付けないようになっている。例えば、処理待ちの期間には、入力制御部４が入力部３に対して行われた操作を制御部１１に伝達しないようにしてもよく、制御部１１が入力部３に対して行われた操作を伝達されてもそれを無効にするようにしてもよい。このように、受信装置２００における処理の滞りが解消するまでは使用者の入力操作を受け付けないようにすることで、例えば使用者の指示によって誤ったデータ処理が行われることを防止できる。例えば、未送信のデータが誤って消去されたり、当初選択した画像データがわからなくなったり、同じデータが重複して送信されたりすることを防止できる。
【０１２３】
また、使い勝手向上の側面から、待ち時間が経過するまでは使用者が入力部３のボタンを操作しても制御部１１がこの送信指示を受け付けない旨を、ユーザに提示することが好ましい。例えば、図８や図９に示した「再送」の表示の色を変える（例えば灰色）、色を薄くするなど、表示を工夫することによって、ボタンを押す前から「今は操作できない」旨をユーザに理解させることができる。あるいは、ボタンを押したときに、エラーを想起させるような音（「ブーッ！」「コテッ」「ガシャーン！」など）を鳴らすことによって、間違った操作をした、ということを即時にユーザに伝えるようにしてもよい。あるいは、バイブレータを振動させたり、ＬＥＤを点灯させる、点灯させる色を変化させる、点滅させる、などの方法を用いてもよい。
【０１２４】
一方、Ｓ１７において「メモリＦＵＬＬ」ではないと判断した場合、制御部１１は、出力制御部５を制御し、処理状況検出部１の抽出した受信装置２００の状態に関する情報を出力部６に表示させる（Ｓ１９）。例えば、受信装置２００の状態がインク切れの場合、図１１に示すように、出力部６に、「インク切れです：「シアン」  取り替えて再送してください。」などの表示を行わせる。この際、図１１に示すように、送信に成功した画像データと未送信の画像データ、あるいはそれらのサムネイル画像、リスト等を出力部６に表示させてもよい。なお、この場合、例えば受信装置２００におけるインク切れ，用紙切れ等の不具合が解消されるまで（例えば、不具合が解消した旨を示すデータが受信装置２００から送信装置１００に送信されるまで）は、使用者が入力部３のボタンを操作しても制御部１１がその指示を受け付けない（あるいは無効にする）ようになっている。
【０１２５】
また、制御部１１は、Ｓ１８またはＳ１９の処理を行った後、あるいはＳ１８またはＳ１９の処理と並行して、その時点までに送信したデータなどの送信状態を示す情報（例えば複数の画像データを送信する場合にはどの画像データまで送信できたかを示す情報、あるいは各画像データを複数のデータファイルに分割して送信する場合には、どの画像データのどのデータファイルまで送信できたかを示す情報、あるいは送信に失敗した画像データやデータファイルを示す情報など）を記憶部１０に保存する（Ｓ２０）。さらに、制御部１１は、通信制御部７を制御して通信部８から受信装置２００に切断要求（ＤＩＳＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信させ（Ｓ２１）、通信を一端切断させる。
【０１２６】
その後、制御部１１は、受信装置２００における不具合が解消することを監視する（Ｓ２２）。例えば、受信装置２００における不具合が「メモリＦＵＬＬ」であった場合には、計時部９による計時時間（「メモリＦＵＬＬ」を示すステータスパケットを受信してからの経過時間）を参照し、受信装置２００から通知された待ち時間（時間Ｔ２）が経過したかどうかを判断する。そして、この待ち時間が経過した場合には、受信装置２００における不具合が解消したものと判断する。
【０１２７】
また、例えば、受信装置２００における不具合がインク切れや用紙切れなどであった場合には、インクの交換や用紙の補充に要する時間を予め想定して設定しておき、この時間が経過したときに、制御部１１が受信装置２００における不具合が解消したものとみなすようにしてもよい。この場合には、例えば、受信装置２００からステータスパケットを受信してからの経過時間を計時部９に計時させておき、その計時させた時間を制御部１１が参照するようにすればよい。
【０１２８】
また、例えば、制御部１１が、受信装置２００から不具合が解消したこと（インクが補充されたことや、用紙が補充されたことなど）を示すデータを受信したかどうかを判断するようにしてもよい。この場合、受信装置２００から送信装置１００に送信される不具合が解消したことを示すデータは、画像データの通信に用いる通信媒体（本実施形態では赤外線）とは異なる通信媒体であってもよい。また、本実施形態では、受信装置２００における不具合が解消されるまでは、使用者が入力部３のボタンを操作しても制御部１１がその指示を受け付けないものとしているが、例えば受信装置２００における不具合が解消したことを通知するためのボタンについては受け付け可能とし、このボタンが操作されたときに受信装置２００の不具合が解消したと判断するようにしてもよい。
【０１２９】
Ｓ２２において、受信装置２００の不具合が解消したと判断した場合、制御部１１は、出力制御部５を制御し、出力部６に受信装置２００の不具合が解消して通信を再開可能な状態になった旨を表示する（Ｓ２３）。図１２は、この場合における出力部６の表示画面の一例を示している。
【０１３０】
その後、制御部１１は、入力部３に対して未送信の画像データについての使用者からの再送指示があることを待機し（Ｓ２４）、再送指示があった場合には未送信の画像データ（送信を中断した画像データ）を記憶部１０から読み出し（Ｓ２５）、Ｓ２以降の処理を再び行う。つまり、使用者が通信ボタンを押して通信指示（再送指示）を行うと、制御部１１は、受信装置２００に接続要求を送信して通信を接続し（セクションを張り）、通信が中断した画像データ（送信成功を示すチェック（レ点）の無いもの）の続きから受信装置２００に再送信させる。したがって、使用者は通信指示を行うだけでよく、画像データの指定や通信接続の為の操作を行う必要がない。
【０１３１】
（１．４  受信装置２００の処理）
次に、受信装置２００における処理の流れについて、図７を参照して説明する。
【０１３２】
受信装置２００の制御部２３は、通信部２１が送信装置１００からの接続要求（ＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を受信することを、通信制御部２０を介して監視しており（Ｓ１０１）、接続応答を受信した場合には接続応答（ＣＯＮＮＥＣＴｒｅｓｐｏｎｓｅ）を返信する（Ｓ１０２）。そして、制御部２３は、計時部１８に接続要求を受信してからの経過時間の計時を開始させる（Ｓ１０３）。
【０１３３】
そして、制御部２３は、計時部１８の計時時間を監視し、所定の時間Ｔ３が経過したかどうかを判定する（Ｓ１０４）。なお、上記所定の時間Ｔ３は、通信のプロトコル等に応じて予め設定される。
【０１３４】
Ｓ１０４において所定の時間Ｔ３が経過したと判断した場合、制御部２３は、通信不可（通信エラー）と判断して通信制御部２０に送信装置１００との通信を切断させ（Ｓ１０５）、処理を終了する。
【０１３５】
Ｓ１０４において所定の時間Ｔ３が経過していない場合、制御部２３は、送信装置１００からデータを受信したかどうかを判断する（Ｓ１０６）。ここで、データを受信していないと判断した場合、制御部２３は、Ｓ１０４に戻って引き続き所定の時間Ｔ３が経過したかどうかを監視する。
【０１３６】
Ｓ１０６においてデータを受信したと判断した場合、制御部２３は、通信状況検出部１３に、受信したデータにパリティエラーやＣＲＣエラーなどの受信エラーが生じているかどうかを判定させる（Ｓ１０７）。なお、この際の判定方法は特に限定されるものではなく、従来から公知の種々の方法を用いてもよい。
【０１３７】
そして、Ｓ１０７において受信エラーがあったと判定された場合、制御部２３は、通信制御部２０を制御して通信部２１から送信装置１００にＮＡＣＫを送信させ（Ｓ１０８）、再びＳ１０３以降の処理を行う。
【０１３８】
Ｓ１０７において受信エラーがなかったと判定された場合、制御部２３は、受信したデータが切断要求であるかどうかを判断する（Ｓ１０９）。そして、切断要求であると判断した場合、制御部２３は、通信制御部２０に送信装置１００との通信を切断させ（Ｓ１０５）、処理を終了する。
【０１３９】
一方、Ｓ１０９において切断要求ではないと判断した場合、制御部２３は、前述した「メモリＦＵＬＬ」の状態を検出するために、受信のスピードと（印刷）処理のスピードとを比較する。具体的には、例えば、制御部２３は、処理状況検出部１２に、送信装置１００からのデータ受信速度Ｘ、すなわち送信装置１００から送信されてきて記憶部２２の受信バッファに格納される単位時間あたりのデータバイト数Ｘを算出させる（Ｓ１１０）。また、制御部２３は、処理状況検出部１２に、データ出力速度Ｙ、すなわち受信バッファから印刷のために読み出される単位時間あたりのデータバイト数Ｙを算出させる（Ｓ１１１）。さらに、制御部２３は、処理状況検出部１２に、データ受信速度Ｘからデータ出力速度Ｙを減算させ（Ｘ−Ｙを算出させ）、この減算結果が０よりも大きいかどうか（Ｘ−Ｙ＞０であるかどうか）を判断させる（Ｓ１１２）。
【０１４０】
Ｓ１１２においてＸ−Ｙ＞０であると判断した場合、制御部２３は、処理状況検出部１２に、Ｘ−Ｙに受信バッファがオーバーフローするまでの許容時間ＴＦを掛けた値（Ｘ−Ｙ）×ＴＦを算出させ、この（Ｘ−Ｙ）×ＴＦが受信バッファの残量（残容量）よりも大きいかどうか（受信バッファの残容量＜（Ｘ−Ｙ）×ＴＦであるかどうか）を判断させる（Ｓ１１３）。つまり、Ｓ１１２でデータ受信速度Ｘとデータ出力速度Ｙとを比較し、データ受信速度Ｘの方が速ければ受信バッファのオーバーフローが起こる可能性があると判断し、Ｓ１１３において受信バッファの残容量と、データ受信速度Ｘとデータ出力速度Ｙとの差（受信バッファ内のデータ増加速度）に受信バッファがオーバーフローするまでの許容時間ＴＦを掛けた値（ＴＦ経過した時までに受信バッファにおいて増加するデータ量）とを比較させ、このままのペースで受信した場合に時間ＴＦ以内にオーバーフローするかどうかを判断する。
【０１４１】
そして、Ｓ１１３において受信バッファの残容量が（Ｘ−Ｙ）×ＴＦよりも小さい（受信バッファの残容量＜（Ｘ−Ｙ）×ＴＦである）と判断した場合、制御部２３は、算出部１９に、受信バッファにおいてオーバーフローを起こさせないための待ち時間を算出させる（Ｓ１１４）。算出部１９は、受信バッファ内に溜まっているデータの量と、データ受信速度Ｘと、データ出力速度Ｙとに基づいて、受信バッファに次の画像データを受信するために必要な空き容量ができるまでの待ち時間を算出する。
【０１４２】
その後、制御部２３は、ステータスパケットを生成し、通信制御部２０を制御して通信部２１から送信装置１００にステータスパケットを送信させ（Ｓ１１５）、Ｓ１０３の処理に戻る。なお、この場合、制御部２３は、「メモリＦＵＬＬ」であることを示す情報を状態フィールドに載せ、待ち時間を示す情報をｏｐｔｉｏｎフィールドに載せたステータスパケットを生成する。
【０１４３】
一方、Ｓ１１２においてＸ−Ｙ＞０ではないと判断した場合、あるいはＳ１１３においてバッファ残容量＜（Ｘ−Ｆ）×ＴＦではないと判断した場合、制御部２３は、受信装置２００の状態検出を行う（Ｓ１１６）。ここでは、例えば、インク検出手段（図示せず）によってインク切れの有無を検出したり、用紙検出手段（図示せず）によって印刷に用いる用紙が用紙切れになっていないかを検出したり、搬送路検出手段（図示せず）によって紙詰まりが発生していないかを検出するなど、受信装置２００において送信装置１００から受信したデータに対する出力（印刷）処理に支障となるような不具合がないかを検出する。
【０１４４】
そして、制御部２３は、Ｓ１１６の状態検出結果に基づいて、送信装置１００から受信したデータを出力可能な状態であるかどうかどうかを判断する（Ｓ１１７）。なお、上記したＳ１１０〜Ｓ１１４の処理とＳ１１６〜Ｓ１１７の処理とを並行して行ってもよく、あるいは図７に示した例とは異なる順序で行ってもよい。
【０１４５】
Ｓ１１７において出力可能な状態ではないと判断した場合、制御部２３は、ステータスパケットを生成し、通信制御部２０を制御して通信部２１から送信装置１００にステータスパケットを送信させ（Ｓ１１５）、Ｓ１０３の処理に戻る。この場合、制御部は、Ｓ１１６で検出した不具合に応じて、不具合の原因を示す情報を状態フィールドに載せ（格納し）、不具合の詳細情報をｏｐｔｉｏｎフィールドに載せたステータスパケットを生成する。例えば、状態フィールドにはインク切れ、用紙切れ、紙詰まり等が生じたことを示す情報が載せられ、ｏｐｔｉｏｎフィールドにはインク切れになったインクの色、用紙切れになった用紙の種類，サイズなどが載せられる。
【０１４６】
一方、Ｓ１１７において出力可能な状態であると判断した場合、制御部２３は、ＡＣＫを生成し、通信制御部２０を制御して通信部２１から送信装置１００にＡＣＫを送信させ（Ｓ１１８）、Ｓ１０３の処理に戻る。
【０１４７】
（１．５  通信シーケンスの例）
図１３は、送信装置１００と受信装置２００との間の通信シーケンスを示す説明図であり、受信装置２００から送信装置１００にＮＡＣＫ応答があった場合、および受信装置２００から所定時間Ｔ１が経過しても送信装置１００に何の応答もなかった場合の例を示している。
【０１４８】
この図に示すように、まず、送信装置１００（携帯電話）から受信装置２００（プリンタ）へ通信接続の指示である接続要求（ＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）が送信される。受信装置２００は接続に対応できたことを示す接続応答（ＣＯＮＮＥＣＴｒｅｓｐｏｎｓｅ）を応答（返信）する。
【０１４９】
送信装置１００は受信装置２００からＣＯＮＮＥＣＴｒｅｓｐｏｎｓｅが返ってくると１つめの画像データＤＡＴＡ１を送信する。なお、この画像データＤＡＴＡ１は、１つの画像についての画像データを全て含むものであってもよく、あるいは１つの画像についての画像データが複数の画像データに分割されたものであってもよい。つまり、１つの画像についての画像データを１回の送信処理（１つのパケット）で送信してもよく、あるいは複数回の送信処理（複数のパケット）に分割して送信してもよい。
【０１５０】
送信装置１００から送信されたＤＡＴＡ１を受信装置２００が正常に受信できた場合、受信装置２００は正常受信できたことを示すＡＣＫを送信装置１００に返す。
【０１５１】
送信装置１００は、ＤＡＴＡ１に対するＡＣＫが返ってくると、次の画像データＤＡＴＡ２を送信する。
【０１５２】
送信装置１００から送信されたＤＡＴＡ２を受信装置２００が何らかの原因（例えば使用者の手ぶれ等）によって正常に受信できなかった場合、つまり通信自体は途切れなかったがパリティエラーやＣＲＣエラーなどの受信エラーが生じた場合、受信装置２００は送信装置１００に正常に受信できなかったことを示すＮＡＣＫを返す。つまり、受信装置２００の通信状況検出部１３が正常に受信できなかったことをＣＲＣチェックなどで検出すると、制御部２３は正常に受信できなかったことを示すＮＡＣＫを返すように通信制御部２０に指示し、通信部２１を介して送信装置１００にＮＡＣＫを送信する。
【０１５３】
送信装置１００は、ＤＡＴＡ２に対するＮＡＣＫが返ってくると、通信自体は成立しているので、ＤＡＴＡ２を受信装置２００に再送信する。この再送信したＤＡＴＡ２に対して再びＮＡＣＫが返ってきた場合には、再度ＤＡＴＡ２を送信する。この再送信（リトライ）は、予め決められた回数（Ｎ回；例えば４回）だけ繰り返される。
【０１５４】
図１３の例では、所定回数以下の２回目のリトライでＡＣＫが返ってきたので、送信装置１００は、出力部６に通信エラーが生じていたことは表示せずに、以降のデータＤＡＴＡ３，ＤＡＴＡ４，ＤＡＴＡ５を順次送信する。
【０１５５】
所定回数リトライしてもＮＡＣＫが続いている場合には、通信エラーが生じている旨（例えば「通信エラーです。再送して下さい」）を出力部６に表示して一旦リトライを中断する。このとき送信に成功した画像のサムネイルに送信成功を示す記号等（例えばチェック「ゝ」）を付加して画面に表示し、未送信の画像のサムネイルには送信成功を示す記号等を付加せずに表示（あるいは未送信を示す記号等を表示）してもよい。
【０１５６】
また、送信装置１００から受信装置２００にデータを送信した後、所定時間Ｔ１が経過しても何の応答もない場合、送信装置１００は通信エラーが生じたと判断して受信装置２００に接続要求（ＤＩＳＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信して通信を切断する。図１３の例では、ＤＡＴＡ５を送信した後所定時間Ｔ１が経過しても応答がないので、切断要求（ＤＩＳＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信することによって通信を切断している。なお、この場合、出力部６に通信エラーが生じた旨（例えば「通信不可です。」）を表示させるようにしてもよい。
【０１５７】
図１４は、送信装置１００と受信装置２００との間の通信シーケンスを示す説明図であり、受信装置２００から送信装置１００にステータスパケットが返信された場合の例を示している。
【０１５８】
この図に示すように、送信装置１００から受信装置２００に接続要求（ＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信することで通信を開始して、画像データをＤＡＴＡ１から順次送信するのは図１３と同様である。ただし、図１４の例では、ＤＡＴＡ１からＤＡＴＡ４までは全て正常に送信できたが、ＤＡＴＡ５を送信した後に、受信装置２００から送信装置１００にステータスパケットが返信されている。例えば、送信装置１００から送信した画像データが印刷待ちのために受信装置２００の受信バッファに溜まっていき、このままのペースで送信装置１００から画像データを送信し続けると受信バッファがオーバーフローしてしまうと受信装置２００の処理状況検出部１２が判断した場合などに、制御部２３がＡＣＫの代わりにステータスパケットを返信する。
【０１５９】
送信装置１００では、処理状況検出部１が受信したデータがステータスパケットであることを検出すると、上記したように制御部１１が画像データの送信を一旦停止して通信を切断し、出力部６にステータスパケットに載せられた情報に応じた表示を行うなどの処理を行う。例えば、「メモリＦＵＬＬ」の場合には図１０に示したような表示を行わせるとともに、待ち時間が経過することを監視し、待ち時間が経過したらそれを示す表示を行うなどの処理を行う。また、インク切れの場合には図１１に示したような表示を行わせる。
【０１６０】
（１．６  送信装置１００および受信装置２００の作用効果）
以上のように、本実施形態にかかる送信装置１００は、通信相手である受信装置２００におけるデータ処理状況を検出する処理状況検出部１と、送信装置１００と通信装置２００との間で生じた通信エラーなどの通信状況を検出する通信状況検出部２とを備えている。具体的には、受信装置２００から受信したデータがステータスパケットである場合には処理状況検出部１がこのステータスパケットを検出して解析し、通信中に生じた不具合が受信装置２００の状態に起因するものであると判断する。また、受信装置２００から受信したデータがＮＡＣＫである場合には、送信装置１００と通信装置２００との間で通信エラーが生じたと判断する。
【０１６１】
そして、送信装置１００の制御部１１は、通信中に生じた不具合が受信装置２００の状態に起因する場合と、通信エラーによる場合とで、その後の処理を切り替える。
【０１６２】
例えば、処理状況検出部１が、「メモリＦＵＬＬ」を示すステータスパケットを検出した場合には、データの送信を一端中断し、処理の滞りが解消するまでの待ち時間が経過したときに、送信可能な状態になった旨を出力部６に表示させ、使用者からの指示に応じて中断したデータから送信を再開する。
【０１６３】
また、インク切れ、用紙切れ、紙詰まりなどが生じていることを示すステータスパケットを受信した場合には、データの送信を一端中断し、受信装置２００における不具合に関する情報を出力部６に表示させるなどの処理を行う。
【０１６４】
また、通信状況検出部２がＮＡＣＫを検出したときには、制御部１１は、通信自体は成立しているので、通信エラーが生じたデータを再送信するリトライを行う。
【０１６５】
このように、通信の不具合（障害）が生じた場合に、その不具合が受信装置２００の状態（処理の遅滞）に起因するものであるのか、あるいは通信路の状態に起因するもの（通信エラー）であるのかを判断し、その後の処理を切り替えることで、状態に応じた最適なデータ転送を行うことができる。
【０１６６】
また、処理状況検出部１が、ステータスパケットの状態フィールドに載せられた情報に基づいて受信装置２００における処理の滞り（「メモリＦＵＬＬ」等）を検出し、ｏｐｔｉｏｎフィールドに載せられた情報に基づいて処理の滞りが解消するまでの待ち時間を検出した場合、制御部１１が、出力部６に受信装置２００における処理の滞りが解消するまでの待ち時間を表示させる。
【０１６７】
これにより、使用者は再送が可能となるまでの時間を把握できる。したがって、データ送信のために特別な状態を保持する必要がある場合でも、使用者が、その状態を保持して待機するべきか、あるいは一旦その状態を解除して待機するべきかを判断できる。例えば、指向性のある通信媒体（赤外線等）を用いており、データ送信を行う際に送信装置１００の発光部を受信装置２００の受光部に向ける必要があるような場合、使用者が、送信装置１００をそれまでの方向に向けて保持するか、一旦それまでの通信方向へ向けた構えを外してもよいかの見通しを立てることができる。
【０１６８】
また、データの送信中に通信エラーや受信装置２００の状態に起因する不具合が生じた場合、制御部１１は、送信に失敗したコンテンツ（受信装置２００が受信に失敗したコンテンツ）またはそのコンテンツを示すサムネイルやリスト等を出力部６に表示させる。これにより、使用者は、表示されたコンテンツあるいはそのサムネイルやリスト等を見て、送信に失敗したコンテンツを容易に把握することができる。
【０１６９】
（１．７  出力部の変形例）
なお、本実施形態では、主に、出力部（通知装置）６が表示部である場合について説明したが、これに限るものではない。例えば、出力部６は、スピーカ等の音声出力部であってもよく、バイブレーター等の振動出力部であってもよく、ＬＥＤ等の発光部であってもよい。
【０１７０】
したがって、本実施形態では、処理状況検出部１がステータスパケットのｏｐｔｉｏｎフィールドに基づいて受信装置２００における処理の停滞が解消するまでの待ち時間を検出した場合に、この待ち時間を表示装置からなる出力部６に表示させることで使用者に通知するようにしているが、これに限らず、例えば、待ち時間を音声出力装置からなる出力部６によって音声で出力して通知するようにしてもよい。これにより、使用者は再送が可能となるまでの時間を音声で認識できるので、送信装置１００の画面（出力部６）を見続けていなくても受信装置２００の状態を容易に把握できる。
【０１７１】
この場合、例えば、処理状況検出部１がステータスパケットを検出すると、データの送信を一旦停止し、ステータスパケットのｏｐｔｉｏｎフィールドに書かれている受信装置２００の処理停滞を解消するのに要する待ち時間を検出し、検出した待ち時間を「プリンタが処理中です。１分後に再送して下さい」などのように音声で出力してもよい。また、待ち時間が経過したときに、例えば「プリンタの処理が済みましたので送信を再開してください」などの音声を出力して使用者に知らせるようにすればよい。
【０１７２】
また、上記の待ち時間を、振動出力部からなる出力部６によって、送信装置１００の全体または一部を振動させることで使用者に通知するようにしてもよい。これにより、使用者は再送が可能となるまでの時間を触覚によって、すなわち振動を感知することによって認識でき、送信装置１００の画面（出力部６）を見続けていなくても、あるいは周囲の騒音が大きいくて音声を聞き取りにくい場合や音声を出力したくない場合でも受信装置２００の状態を容易に把握することができる。
この振動出力部は、例えば送信装置１００の一部に取り付けられ（あるいは内蔵され）、出力制御部５の制御に応じて動作することによって送信装置１００全体もしくは送信装置１００における特定の部位だけを振動させ、使用者にその振動を感知させるようになっている。
【０１７３】
この場合、例えば、処理状況検出部１がステータスパケットを検出すると、データの送信を一旦停止し、受信装置２００におけす処理の停滞を待っている状態（時間待ち）であることを、振動出力部からなる出力部６を所定の振動パターン（例えば「−・・・・  −  −」などの振動期間の長短を組み合わせたパターン。なお、「−」は振動期間の長い振動、「・」は振動期間の短い振動、「  」は振動なしの期間を示す。）で振動させて通知し、待ち時間が経過するまで通信を切断する。そして、待ち時間が経過すると、待ち時間が経過したことを示す別の振動パターン（例えば「−  −  −・−」など）で振動させて使用者に知らせる。
【０１７４】
なお、例えば図１５に示すように、複数の振動パターンと、各振動パターンの意味とを予め対応付けておくことが好ましい。これにより、使用者は、振動パターンを感じ取って受信装置２００の状態、送信装置１００の状態、送信装置１００と受信装置２００との間の通信状態などの各種情報を知ることができる。
【０１７５】
また、ＬＥＤ等の発光手段を用いる場合にも、上記の振動パターンと同様、発光期間の長短を組み合わせた発光パターンとその意味を予め対応付けしておくことで、各種情報を使用者に通知できる。
【０１７６】
また、出力部６は、表示部、音声出力部、振動出力部、発光部のいずれか２つ以上を組み合わせたものであってもよい。したがって、同じ情報を表示部に表示するとともに音声出力部によって音声でも出力したり、表示出力と振動出力とを同時に行ったりするようにしてもよい。
【０１７７】
なお、本実施形態では、選択された各画像の画像データを全て送信したときに通信を切断するようにしているが、これに限らず、例えば複数の画像の画像データを送信する場合、１つの画像の画像データを送信するごとに通信接続をやり直す（セッションを張り直す）ようにしてもよい。
【０１７８】
また、図１３の例では、１つの画像の画像データが送信される毎に送信確認（ＡＣＫ確認）を行っているが、送信確認を行う頻度はこれに限るものではない。すなわち、一度の送信で送信するデータ量は１つの画像の画像データ量と一致している必要はない。例えば、１つの画像の画像データを複数に分割し、分割した画像データ毎に送信確認を行ってもよい。この場合、どの画像のどの画像データの通信に失敗したのかをステータスパケットに記載するようにしてもよい。これにより、再送信時に送信されるデータ量を低減できる。
【０１７９】
〔実施形態２〕
（２．１  送信装置１００ｂおよび受信装置２００ｂの構成）
本発明の他の実施形態について説明する。なお、説明の便宜上、実施形態１で説明した部材と同様の機能を奏する部材については、同じ符号を付してその説明を省略する。
【０１８０】
図１６は本実施形態にかかる送信装置１００ｂの構成を示すブロック図であり、図１７は本実施形態にかかる受信装置２００ｂの構成を示すブロック図である。
【０１８１】
図１６に示すように、送信装置１００ｂは、実施形態１に示した送信装置１００の構成に加えて、サムネイル作成部３１およびサムネイルリスト作成部３２を備えている。また、図１７に示すように、受信装置２００ｂは、実施形態１に示した受信装置２００の構成に加えて、リスト作成部３３を備えている。なお、本実施形態にかかる受信装置２００ｂは、実施形態１の受信装置２００のようにステータスパケットを作成して送信する機能を備えていなくてもよい。
【０１８２】
サムネイル作成部３１は、制御部１１の指示に応じて、受信装置２００ｂに送信する画像のサムネイルを作成する。
【０１８３】
サムネイルリスト作成部３２は、制御部１１の指示に応じて、受信装置２００ｂに送信する画像のサムネイルリストを作成する。
【０１８４】
図１８は、サムネイルリスト作成部３２の作成するサムネイルリストの一例を示す説明図である。この図に示すように、サムネイルリストは、受信装置２００ｂに送信する画像を特定するためのＩＤ（Ａ０１〜Ａ０８）を記述する項目（画像ＩＤ欄）と、これらの画像のサムネイル画像へのリンクを示すサムネイル画像リンク（Ｂ０１〜Ｂ０８）を記述する項目（サムネイル画像リンク欄）と、各画像のステータスを記述する項目（ステータス欄）とから構成されている。なお、図１８の例ではステータス欄には何も記載していないが、例えば各画像のデータサイズなどを記述してもよい。
【０１８５】
受信装置２００ｂのリスト作成部３３は、送信装置１００から受信したサムネイルリストのステータス欄に画像データの受信結果を記載した返信用のサムネイルリスト（返信リスト）を作成する。
【０１８６】
図１９は、リスト作成部３３の作成するサムネイルリストの一例を示す説明図である。この図に示すように、リスト作成部３３は、送信装置１００から受信したサムネイルリストの各画像データについて、受信に成功したか失敗したかを示す情報を記載する。この図に示す例では、画像ＩＤがＡ０３とＡ０６の画像データについて、受信に失敗している。
【０１８７】
受信装置２００ｂの制御部２３は、リスト作成部３３の作成した返信用のサムネイルリストを通信部８から送信装置１００ｂに送信させる。送信装置１００ｂの制御部１１は、受信装置２００ｂから返信されてきたサムネイルリストに基づいて、その後の処理を行う。
【０１８８】
（２．２  送信装置１００ｂの処理）
本実施形態における送信装置１００ｂおよび受信装置２００ｂの処理について、図２０および図２１を参照して説明する。図２０は送信装置１００ｂにおける処理の流れを示すフロー図であり、図２１は受信装置２００ｂにおける処理の流れを示すフロー図である。
【０１８９】
まず、送信装置１００ｂの処理について説明する。送信装置１００ｂの使用者は、入力部３を操作し、記憶部１０に格納されている画像データを出力部６に表示させるとともに、受信装置２００ｂに送信したい画像を１枚または複数枚選択して指定する。制御部１１は、入力部３を介して入力される使用者からの指示に応じて、記憶部１０に格納している画像データを出力部６に表示させ、使用者の選択指示に応じて受信装置２００ｂに送信する画像データを選択する（Ｓ２０１）。
【０１９０】
次に、制御部１１は、Ｓ２０１で選択された画像のサムネイルをサムネイル作成部３１に作成させ（Ｓ２０２）、サムネイルリスト作成部３２にサムネイルリストを作成させる（Ｓ２０３）。
【０１９１】
次に、制御部１１は、入力部３を介して使用者からの送信指示が入力されることを監視する（Ｓ２０４）。送信開始指示を受け付けると、制御部１１は、通信制御部７を制御し、通信部８から受信装置２００ｂに接続要求（ＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）を送信させる（Ｓ２０５）。さらに、制御部１１は、受信装置２００ｂから接続応答（ＣＯＮＮＥＣＴｒｅｓｐｏｎｓｅ）を受信したかどうかを判断する（Ｓ２０６）。ここで、接続応答を受信していない場合には、引き続き接続応答を受信することを監視する。なお、所定時間経過しても接続応答を受信できない場合には、例えば接続要求を再送するようにしてもよく、あるいは接続できなかった旨を出力部６に表示させるようにしてもよい。
【０１９２】
Ｓ２０６において接続応答を受信したと判断した場合、制御部１１は、通信制御部７を制御し、Ｓ２０３で作成したサムネイルリストを通信部８から受信装置２００ｂに送信させる（Ｓ２０７）。そして、制御部１１は、計時部９にサムネイルリストを開始してからの経過時間の計時を開始させる（タイマーをセットする）（Ｓ２０８）。
【０１９３】
その後、制御部１１は、通信状況制御部２に計時部９の計時時間を監視させ、所定の時間Ｔ１が経過したかどうかを判定させる（Ｓ２０９）。なお、上記所定の時間Ｔ１は、通信のプロトコル等に応じて予め設定される。
【０１９４】
Ｓ２０９において時間Ｔ１が経過したと判定された場合、制御部１１は、通信エラーが生じたと判断し、出力制御部５を制御して出力部６に通信エラーが生じた旨を表示させる（Ｓ２１０）。そして、制御部１１は、サムネイルリストを記憶部１０に保存するとともに（Ｓ２１１）、通信制御部７を制御して通信部８から受信装置２００ｂに切断要求を送信させ（ｓ２１２）、通信を切断して処理を終了する。
【０１９５】
一方、Ｓ２０９において時間Ｔ１が経過していないと判定された場合、制御部１１は、受信装置２００ｂからデータ（パケット）を受信したかどうかを判断する（Ｓ２１３）。そして、受信装置２００ｂからデータを受信していない場合には引き続きＳ２０９に戻って時間Ｔ１が経過したかどうかを通信状況検出部２に判定させる。これに対して、Ｓ２１３において受信装置２００ｂからデータを受信したと判断した場合には、制御部１１は、通信状況検出部２に受信したデータがＡＣＫであるかどうかを判断させる（Ｓ２１４）。つまり、制御部１１は、通信状況検出部２に、サムネイルリストが受信装置２００ｂに正常に受信されたかどうかを判断させる。
【０１９６】
そして、通信状況検出部２がＡＣＫではないと判断した場合、制御部１１は、ＮＡＣＫを受信したと判断するとともに、該サムネイルリストの送信がＮ回目の送信であるかどうかを判断する（Ｓ２１５）。そして、該サムネイルリストの送信回数がＮ回に達していない場合には、記憶部１０に次の送信が何回目の送信であるかを示す情報を記憶させ、Ｓ２０９に戻って該サムネイルリストを再送する。制御部１１は、Ｓ２１５において何回目の送信であるか判断する際、記憶部１０に記憶させておいた送信回数に関する情報を参照する。
【０１９７】
なお、Ｓ２１５において該サムネイルリストの再送回数がＮ回目であると判断した場合、制御部１１は、上記したＳ２１０〜Ｓ２１２の処理を行って処理を終了する。
【０１９８】
一方、Ｓ２１４においてＡＣＫであると判断した場合、制御部１１は、通信制御部７を制御し、通信部８から受信装置２００ｂへＳ２０１で選択された画像データの送信を開始させる（Ｓ２１６）。なお、ここでは、画像データ毎の送信が成功かどうかの確認（ＡＣＫ、ＮＡＣＫの受信確認）は行わず、Ｓ２０１で選択された画像データを連続して送信する。つまり、制御部１１は、ビット欠けなどの通信エラーが起きていたとしても、選択された画像データを順次送信する。したがって、通信エラーが生じた場合には、受信装置２００ｂが受信する画像データは、選択された画像のうちの一部が抜けた、いわゆる歯抜け状態となる場合もある。これにより、画像データの送信に要する時間を短縮できる。
【０１９９】
その後、制御部１１は、Ｓ２０１で選択された画像データを全て送信したかどうかを判断する（Ｓ２１７）。そして、未送信の画像データが残っていると判断した場合、制御部１１は、Ｓ２１６の処理を引き続き行い、未送信の画像データを順次送信させる。
【０２００】
Ｓ２１７において、Ｓ２０１で選択された画像データを全て送信したと判断した場合、制御部１１は、通信制御部７を制御し、通信部８から受信装置２００ｂへ受信状況リクエストを送信させる（Ｓ２１８）。つまり、画像データの送信結果を記載したサムネイルリストの返信を要求させる。
【０２０１】
そして、制御部１１は、受信装置２００ｂからサムネイルリストを受信することを監視し（Ｓ２１９）、サムネイルリストを受信すると、処理状況検出部１に、サムネイルリストのステータス欄に記載されている情報に基づいて受信に失敗した画像データがあったかどうかを判断させる（Ｓ２２０）。
【０２０２】
受信に失敗した画像データがなかった場合、制御部１１は、通信制御部７を制御して通信部８から受信装置２００ｂへ切断要求を送信させ（Ｓ２２１）、処理を終了する。なお、この場合、選択された全画像の送信に成功した旨を示す表示を出力部６に行わせてもよい。
【０２０３】
一方、Ｓ２１９において受信に失敗した画像データがあったと判断した場合、制御部１１は、送信に失敗した画像データを記憶部１０から読み出し（Ｓ２２２）、Ｓ２１６以降の処理を再び行う。
【０２０４】
（２．３  受信装置２００ｂの処理）
次に、受信装置２００ｂの処理について図２１を参照して説明する。
【０２０５】
受信装置２００ｂの制御部２３は、通信部２１が送信装置１００ｂからの接続要求を受信することを、通信制御部２０を介して監視しており（Ｓ３０１）、接続応答を受信した場合には接続応答を返信する（Ｓ３０２）。そして、制御部２３は、計時部１８に接続要求を受信してからの経過時間の計時を開始させる（Ｓ３０３）。
【０２０６】
そして、制御部２３は、計時部１８の計時時間を監視し、所定の時間Ｔ３が経過したかどうかを判定する（Ｓ３０４）。なお、上記所定の時間Ｔ３は、通信のプロトコル等に応じて予め設定される。
【０２０７】
Ｓ３０４において所定の時間Ｔ３が経過したと判断した場合、制御部２３は、通信不可（通信エラー）と判断して通信制御部２０に送信装置１００ｂとの通信を切断させ（Ｓ３０５）、処理を終了する。
【０２０８】
Ｓ３０４において所定の時間Ｔ３が経過していないと判断した場合、制御部２３は、送信装置１００ｂがサムネイルリストを受信したかどうかを判断する（Ｓ３０６）。ここで、サムネイルリストを受信していないと判断した場合、制御部２３は、Ｓ３０４に戻って引き続き所定の時間Ｔ３が経過したかどうかを監視する。
【０２０９】
Ｓ３０６においてサムネイルリストを受信したと判断した場合、制御部２３は、そのサムネイルリストを記憶部２２に記憶させるとともに、通信状況検出部１３に、受信したサムネイルリストに受信エラーが生じているかどうかを判定させる（Ｓ３０７）。
【０２１０】
そして、Ｓ３０７において受信エラーがあったと判定された場合、制御部２３は、通信制御部２０を制御して通信部２１から送信装置１００ｂにＮＡＣＫを送信させ（Ｓ３０８）、再びＳ３０３以降の処理を行う。
【０２１１】
Ｓ３０７において受信エラーがなかったと判定された場合、制御部２３は、通信制御部２０を制御して通信部２１から送信装置１００ｂにＡＣＫを送信させ（Ｓ３０９）、計時部１８にＡＣＫを送信してからの経過時間の計時を開始させる（タイマーをリセットする）（Ｓ３１０）。そして、制御部２３は、計時部１８の計時時間を監視し、所定の時間Ｔ３が経過したかどうかを判定し（Ｓ３１１）、所定の時間Ｔ３が経過したと判断した場合には、通信不可（通信エラー）と判断して通信制御部２０に送信装置１００ｂとの通信を切断させ（Ｓ３０５）、処理を終了する。
【０２１２】
Ｓ３１１において所定の時間Ｔ３が経過していないと判断した場合、制御部２３は、送信装置１００ｂが画像データを受信したかどうかを判断する（Ｓ３１２）。ここで、画像データを受信していないと判断した場合、制御部２３は、Ｓ３１１に戻って引き続き所定の時間Ｔ３が経過したかどうかを監視する。
【０２１３】
Ｓ３１２において画像データを受信したと判断した場合、制御部２３は、通信状況検出部１３および処理状況検出部１２に、受信した画像データに受信エラーあるいは処理の滞りが生じているかどうかを判定させる（Ｓ３１３）。つまり、制御部２３は、処理状況検出部１２に画像データの受信中に受信バッファのオーバーフローが生じていないかを監視させ、通信状況検出部１３に通信エラーが起こっていないかを監視させる。
【０２１４】
そして、Ｓ３１１において受信バッファのオーバーフローや受信エラーがあったと判定された場合、制御部２３は、リスト作成部３３を制御し、記憶部２２に記憶させた上記サムネイルリストを読み出させ、該当する画像のステータス欄に受信に失敗した旨を記載させて再び記憶部２２に記憶させる（Ｓ３１４）。一方、Ｓ３１１において受信バッファのオーバーフローや受信エラーがなかったと判定された場合、制御部２３は、リスト作成部３３を制御し、記憶部２２に記憶させた上記サムネイルリストを読み出させ、該当する画像のステータス欄に受信に成功した旨を記載させて再び記憶部２２に記憶させる（Ｓ３１５）。
【０２１５】
その後、制御部２３は、送信装置１００ｂから受信状況リクエストを受信したかどうかを判断する（Ｓ３１６）。そして、受信状況リクエストを受信していない場合には、Ｓ３１０以降の処理を再び行う。
【０２１６】
一方、Ｓ３１６において送信装置１００ｂから受信状況リクエストを受信した判断した場合、制御部２３は、記憶部２２に記憶されているサムネイルリストを読み出し、通信制御部２０を制御して通信部２１から送信装置１００ｂに送信させる（Ｓ３１７）。
【０２１７】
その後、制御部２３は、記憶部２２に記憶されているサムネイルリストを参照し、受信失敗した画像データがあったかどうかを判断する（Ｓ３１８）。そして、受信失敗した画像データがあった場合、制御部２３は、Ｓ３１０以降の処理を再び行う。一方、受信失敗した画像データがなかった場合、制御部２３は、通信制御部２０に送信装置１００ｂとの通信を切断させ（Ｓ３１９）、処理を終了する。
【０２１８】
（２．４  通信シーケンスの例）
図２２は、送信装置１００ｂと受信装置２００ｂとの間の通信シーケンスを示す説明図である。
【０２１９】
送信装置１００ｂと受信装置２００ｂとの間で接続要求（ＣＯＮＮＥＣＴｒｅｑｕｅｓｔ）および接続応答（ＣＯＮＮＥＣＴｒｅｓｐｏｎｓｅ）をやり取りして通信接続を行うのは実施形態１と同様である。
【０２２０】
接続ができると、送信装置１００ｂはこれから送信する各画像データ（この図の例では画像データ１〜画像データ８）およびそれらのサムネイルとの対応を記述したサムネイルリストを受信装置２００ｂに送信する。そして、このサムネイルリストに対するＡＣＫを受信すると、画像データ１〜画像データ８を連続して（画像データ毎の送信確認を行わずに）受信装置２００ｂに送信する。つまり、画像データの送信中にエラーが起こっても修復はせずに続きの画像データの送信を続行する。図２２は、画像データ３および画像データ６の送信に失敗し、受信装置２００ｂにおいて正常に受信できなかった場合の例を示している。
【０２２１】
予定した画像データを全て送信すると、送信装置１００ｂは、受信装置２００ｂに「受信状況リクエスト」を送信する。
【０２２２】
受信装置２００ｂは、この「受信状況リクエスト」を受信すると、先に受信したサムネイルリストに画像データごとに受信成功、または受信失敗を記入したものを返信する。
【０２２３】
送信装置１００ｂは、受信装置２００ｂから返信されたサムネイルリストを参照し、送信に失敗した画像データ（この図の例では画像データ３および画像データ６）を認識し、送信に失敗した画像データを再送する。
【０２２４】
（２．５  再送方法の変形例１）
なお、本実施形態では、送信装置１００ｂの制御部１１が、処理状況検出部１に、受信装置２００ｂから受信したサムネイルリストを参照して送信に失敗した画像データを検出させ、該送信に失敗した画像データを自動的に再送するようにしているが、これに限るものではない。例えば、送信に失敗した画像データを出力部（表示部）６の画面に表示し、使用者の指示によってその後の処理を行うようにしてもよい。この場合の実施例を以下に示す。
【０２２５】
図２３は、受信装置２００ｂから返信されるサムネイルリストを受信した後、使用者の指示に応じてその後の処理を行う場合における、送信装置１００ｂの処理の一例を示すフロー図である。
【０２２６】
なお、送信する画像データが最初に選択された後、サムネイルリストの送信や画像データの送信を行い、受信装置２００ｂからサムネイルリストを受信するまでの処理（Ｓ２０１〜Ｓ２１９の処理）については、図２０と同様であるので、説明を省略する。
【０２２７】
Ｓ２１９においてサムネイルリストを受信したと判断した場合（Ｓ２３０）、制御部１１は、受信に失敗した画像データがあったかどうかを判断する（Ｓ２３１）。そして、受信失敗した画像データがない場合、制御部１１は、出力制御部５を制御して出力部６に選択された全ての画像の送信に成功した旨を表示させる（例えば「全画像送信に成功」と表示する）。その後、制御部１１は、通信制御部７を制御して通信部８から受信装置２００ｂへ切断要求を送信させ（Ｓ２３３）、処理を終了する。
【０２２８】
一方、Ｓ２３１において受信失敗した画像データがあると判断した場合、制御部１１は、処理状況検出部１に、受信装置２００ｂから受信したサムネイルリストを参照させて受信失敗した画像データを抽出させるともに、出力制御部５を制御して受信失敗した画像データあるいはそのサムネイルを判別できるように出力部６に表示させる（Ｓ２３４）。例えば、図２４に示すように、選択された全画像のサムネイルを表示するとともに、受信失敗した画像のサムネイルを受信成功した画像のサムネイルよりも明るく表示する。なお、図２４では、受信装置２００ｂにおいて受信に失敗して明るく表示されるサムネイルを太線で囲って示し、受信に成功して暗く表示されるサムネイルを破線で囲って示している。また、この図に示したように、受信結果の成否を示す記号等（例えば「○」または「×」）を各サムネイルに付して表示してもよい。また、受信に失敗した画像あるいはそのサムネイルだけを表示してもよい。
【０２２９】
次に、制御部１１は、入力部３を介して入力される使用者からの再送する画像についての選択指示を受け付ける（Ｓ２３５）。つまり、使用者は、Ｓ２３４で出力部に表示された内容を見て受信失敗した画像を把握し、受信失敗した画像の中から再送したい画像を選択して再送指示を入力部３に入力できるようになっている。もちろん、受信失敗した画像を全て再送するように指示してもかまわない。なお、再送を行わないように指示できるようにしてもよい。その場合には、制御部１１は、通信制御部７を制御して通信部８から受信装置２００ｂへ切断要求を送信させ、処理を終了すればよい。
【０２３０】
Ｓ２３５で再送する画像が選択されると、制御部１１は、図２０のＳ２０２〜Ｓ２１９と同様の処理を行う（Ｓ２３６）。つまり、サムネイルリスト作成部３２を制御して再送する画像についてのサムネイルリストを再生成させ、使用者からの送信指示に応じてそれを受信装置２００ｂに送信し、初回の送信処理と同様の処理を行う。
【０２３１】
このような処理を行うことにより、受信装置２００ｂから返信されるサムネイルリストを受信した後も通信の接続は保持されたままなので、使用者は、再送する画像データを指定するだけでよく、通信の再接続のための処理を行う必要がない。
【０２３２】
なお、受信装置２００ｂにおける処理については、制御部２３が、Ｓ３１８で受信失敗した画像データがあると判断した場合に、Ｓ３１０以降の処理を行うのではなく、Ｓ３０３以降の処理を行うようにする点を除いて図２１と同様の処理を行うようにすればよい。
【０２３３】
図２５は、この場合の送信装置１００ｂと受信装置２００ｂとの間での通信シーケンスを示す説明図である。
【０２３４】
この図に示すように、送信装置１００ｂから受信装置２００ｂに接続要求を送信した後、受信装置２００ｂから返信されるサムネイルリストを送信装置１００ｂが受信するまでの処理は、図２２の場合と同様である。
【０２３５】
受信装置２００ｂから返信されるサムネイルリストを受信すると、送信装置１００ｂは、そのサムネイルリストに基づいて受信失敗した画像を抽出し、受信失敗した画像またはそのサムネイルを判別可能なように出力部６に表示する。
【０２３６】
使用者は、この表示を見て通信に失敗した画像を判別し、再送する画像を選択する。制御部１１は、入力部３を介して入力される使用者からの再送する画像の選択指示を受け付けると、通信制御部７にその画像の画像データを再送信するように指示する。
【０２３７】
以上のように、本実施形態では、画像データ（コンテンツデータ）を送信する前に、サムネイルリストを送信することで、受信装置２００ｂにその後に送信する画像データの内容を通知する。これにより、その後に送信する各画像データについて送信確認を逐次行わなくても、受信装置２００ｂにおいて各画像データの通信が成功したか失敗したかを確認することができる。したがって、例えば各画像データのデータ容量が大きい場合であっても、画像データ毎あるいは各画像データを複数に分割したデータ毎に送信確認を行うことなく送信できるので、通信時間を短縮できる。
【０２３８】
また、受信装置２００ｂにおいて各画像データの通信成否を判定した結果をサムネイルリストに反映させて送信装置１００ｂに返信することで、送信装置１００ｂでは、通信結果に応じた適切な処理を行える。
【０２３９】
（２．６  再送方法の変形例２）
なお、本実施形態では、受信装置２００ｂから送信装置１００ｂに返信するサムネイルリストのステータス欄に、受信結果の成否（受信成功または受信失敗）のみを記載しているが、これに限るものではない。例えば、受信に失敗した原因、すなわち受信装置２００ｂにおける処理の滞り等に起因して失敗したのか、あるいはパリティエラーやＣＲＣエラー等の通信エラーが生じたために失敗したのかを示す情報をステータス欄に記載して返信してもよい。また、この場合、送信装置１００ｂの制御部１１は、処理状況検出部１および通信状況検出部２に受信失敗の原因を検出させ、受信装置２００ｂにおける処理の滞りに起因するのか、あるいは通信エラーであるのかを区別して出力部６（表示部）に表示させるようにしてもよい。
【０２４０】
受信装置２００ｂにおける処理の滞り等の不具合（メモリFULL等）と、通信路における通信エラーとを区別してサムネイルリストに記載し、送信装置１００ｂに返信する場合の実施例について、図３１および図３２を参照して説明する。
【０２４１】
図３１は、送信装置１００ｂが、受信装置２００ｂから返信されるサムネイルリストを受信した後、サムネイルリストのステータス欄に記載されている情報（受信装置２００ｂのステータス）に基づいて、出力部６に受信装置２００ｂの状況を表示する場合の処理の流れを示すフロー図である。なお、送信する画像データが選択された後、サムネイルリストの送信や画像データの送信を行い、受信装置２００ｂから返信されるサムネイルリストを受信するまでの処理（Ｓ２０１〜Ｓ２１９の処理）については、図２０と同様であるので、説明を省略する。
【０２４２】
Ｓ２１９においてサムネイルリストを受信したと判断した場合（Ｓ３１０１）、制御部１１は、処理状況検出部１に、サムネイルリストのステータス欄に記載されている情報に基づいて、受信に失敗した画像データがあったかどうか判断させる（Ｓ３１０２）。そして、受信失敗した画像データがない場合、制御部１１は、出力制御部５を制御して出力部６に選択された全ての画像の送信に成功した旨を表示させる（Ｓ３１０３）。その後、制御部１１は、通信制御部７を制御して通信部８から受信装置２００ｂへ切断要求を送信させ（Ｓ３１０４）、処理を終了する。
【０２４３】
一方、Ｓ３１０２において受信失敗した画像データがあると判断した場合、制御部１１は、処理状況検出部１に、サムネイルリストのステータス欄に記載されている情報に基づいて失敗理由を判断させる（Ｓ３１０５）。ここで、受信失敗した画像データのステータスが全て通信エラーであれば、制御部１１は、処理状況検出部１に、受信装置２００ｂから受信したサムネイルリストを参照させて通信エラーが生じた画像データを抽出させるとともに、出力制御部５を制御して通信エラーが生じた画像データあるいはそのサムネイルをユーザが判別できるように出力部６に表示させる（Ｓ３１１１）。
【０２４４】
その後、制御部１１は、入力部３を介して入力される使用者からの再送する画像についての選択指示を受け付ける（Ｓ３１１２）。そして、Ｓ３１１２で再送する画像が選択されると、制御部１１は、図２０のＳ２０２〜Ｓ２１９と同様の処理を行って選択された画像を送信する（Ｓ３１１３）。
【０２４５】
一方、Ｓ３１０５において、受信失敗の画像データが全て通信エラーでないと判断した場合、制御部１１は、処理状況検出部１に、失敗理由にメモリＦＵＬＬが含まれているかどうかを判断させる（Ｓ３１０６）。そして、失敗理由にメモリＦＵＬＬが含まれている場合、制御部１１は、出力制御部５を制御し、処理状況検出部１がサムネイルリストのｏｐｔｉｏｎ欄から読み出したメモリが空くまでの待ち時間を、上述した実施形態１の場合と同様に出力部６に表示させる（Ｓ３１０７）。
【０２４６】
なお、Ｓ３１０６において、失敗理由にメモリＦＵＬＬが含まれていないと判断した場合、制御部１１は、出力制御部５を制御し、処理状況検出部１がサムネイルリストのステータス欄およびｏｐｔｉｏｎ欄から読み出した失敗理由に応じた状態表示を行わせる（Ｓ３１０８）。例えば、インク切れである旨、あるいは用紙切れである旨などを示すメッセージ等を出力部６に表示させる。
【０２４７】
その後、制御部１１は、受信装置２００ｂの不具合が解消されたかどうが判断し、解消されれば、出力部６に送信が可能になったことを表示し（Ｓ３１１０）、受信失敗した画像データを表示し（Ｓ３１１１）、上記したＳ３１１２以降と同様の処理を行う。
【０２４８】
図３２は、受信装置２００ｂにおいて、送信装置１００ｂからサムネイルリストを受信した後、受信データの受信状況を判断し、サムネイルリストのステータス欄に受信状況を記載して返信する処理の流れを示すフロー図である。なお、画像データを受信したかどうかを判断するまでの処理（Ｓ３０１〜Ｓ３１２）、および、サムネイルリストのステータス欄に受信状況を記載した後の処理（Ｓ３１６〜Ｓ３１９）については、上述した図２１の処理と同様であるので、説明を省略する。
【０２４９】
Ｓ３１２において画像データを受信したと判断した場合、制御部２３は、通信状況検出部１３に、受信した画像データに受信エラーが生じているかどうかを判定させる（Ｓ３２０１）。
【０２５０】
そして、通信状況検出部１３が、受信エラーが生じたと判断した場合には、制御部２３は、リスト作成部３３を制御し、記憶部２２に記憶させた上記サムネイルリストを読み出させ、該当する画像のステータス欄に受信エラーが生じた旨を記載させて再び記憶部２２に記憶させる（Ｓ３２０２）。そして、図２１のＳ３１６以降の処理を行う。
【０２５１】
一方、Ｓ３２０１において受信エラーが生じていないと判断した場合、制御部２３は、処理状況検出部１２に、送信装置１００ｂからのデータ受信速度Ｘ、すなわち送信装置１００ｂから送信されてきて記憶部２２の受信バッファに格納される単位時間あたりのデータバイト数Ｘを算出させる（Ｓ３２０３）。また、制御部２３は、処理状況検出部１２に、データ出力速度Ｙ、すなわち受信バッファから印刷のために読み出される単位時間あたりのデータバイト数Ｙを算出させる（Ｓ３２０４）。
【０２５２】
さらに、制御部２３は、処理状況検出部１２に、データ受信速度Ｘからデータ出力速度Ｙを減算させ（Ｘ−Ｙを算出させ）、この減算結果が０よりも大きいかどうか（Ｘ−Ｙ＞０であるかどうか）を判断させる（Ｓ３２０５）。
【０２５３】
Ｓ３２０５においてＸ−Ｙ＞０であると判断した場合、制御部２３は、処理状況検出部１２に、Ｘ−Ｙに受信バッファがオーバーフローするまでの許容時間ＴＦを掛けた値（Ｘ−Ｙ）×ＴＦを算出させ、この（Ｘ−Ｙ）×ＴＦが受信バッファの残量（残容量）よりも大きいかどうか（受信バッファの残容量＜（Ｘ−Ｙ）×ＴＦであるかどうか）を判断させる（Ｓ３２０６）。
【０２５４】
そして、Ｓ３２０６において受信バッファの残容量が（Ｘ−Ｙ）×ＴＦよりも小さい（受信バッファの残容量＜（Ｘ−Ｙ）×ＴＦである）と判断した場合、制御部２３は、算出部１９に、受信バッファにおいてオーバーフローを起こさせないための待ち時間を算出させる（Ｓ３２０７）。
【０２５５】
その後、制御部２３は、リスト作成部３３を制御し、記憶部２２に記憶させた上記サムネイルリストを読み出させ、該当する画像のステータス欄およびｏｐｔｉｏｎ欄に受信装置２００ｂの状況を記載させる（Ｓ３２０８）。この場合、具体的には、該当する画像のステータス欄にメモリＦＵＬＬが生じた旨を記載させ、ｏｐｔｉｏｎ欄に待ち時間を記載させる。その後、図２１のＳ３１６以降の処理を行う。
【０２５６】
一方、Ｓ３２０５において出力速度Ｙが受信速度Ｘも速いと判断した場合、あるいはＳ３２０６において受信バッファの残容量≧（Ｘ−Ｙ）×ＴＦであると判断した場合、制御部２３は、受信装置２００ｂの状態検出を行う（Ｓ３２０９）。ここでは、例えば、インク検出手段（図示せず）によってインク切れの有無を検出したり、用紙検出手段（図示せず）によって印刷に用いる用紙が用紙切れになっていないかを検出したり、搬送路検出手段（図示せず）によって紙詰まりが発生していないかを検出するなど、受信装置２００ｂにおいて送信装置１００ｂから受信したデータに対する出力（印刷）処理に支障となるような不具合がないかを検出する。
【０２５７】
そして、制御部２３は、Ｓ３２０９の状態検出結果に基づいて、送信装置１００ｂから受信したデータを出力可能な状態であるかどうかどうかを判断する（Ｓ３２１０）。なお、上記したＳ３２０３〜Ｓ３２０７の処理とＳ３２０９〜Ｓ３２０１０の処理とを並行して行ってもよく、あるいは図３２に示した例とは異なる順序で行ってもよい。
【０２５８】
Ｓ３２１０において出力可能な状態ではないと判断した場合、制御部２３は、リスト作成部３３を制御し、記憶部２２に記憶させた上記サムネイルリストを読み出させ、該当する画像のステータス欄およびｏｐｔｉｏｎ欄に受信装置２００ｂの状況を記載させ（Ｓ３２０８）、図２１のＳ３１６以降の処理を行う。つまり、制御部２３は、Ｓ３２０９で検出した不具合に応じて、不具合の原因を示す情報を状態フィールドに、不具合の詳細情報をｏｐｔｉｏｎフィールドに記載する。例えば、状態フィールドにはインク切れ、用紙切れ、紙詰まり等が生じたことを示す情報が載せられ、ｏｐｔｉｏｎフィールドにはインク切れになったインクの色、用紙切れになった用紙の種類，サイズなどが載せられる。
【０２５９】
一方、Ｓ３２１０において出力可能な状態であると判断した場合、制御部２３は、リスト作成部３３を制御し、記憶部２２に記憶させた上記サムネイルリストを読み出させ、該当する画像のステータス欄に受信に成功した旨を記載させ（Ｓ３２１１）、図２１のＳ３１６以降の処理を行う。
【０２６０】
図３３は、受信装置２００ｂから送信装置１００ｂに送信されるサムネイルリストの一例を示す説明図である。画像ＩＤ、サムネイル画像リンクは図１９と同様である。ステータス欄には、図１９では受信成否のみを記載していたが、この実施例では受信失敗の場合にその失敗の原因（通信エラー、あるいはメモリＦＵＬＬ等の受信装置２００ｂにおける不具合など）を記載する。受信装置２００ｂの不具合の場合には、その不具合の詳細情報がｏｐｔｉｏｎ欄に記載される。例えば、実施形態１と同様、メモリＦＵＬＬの場合には待ち時間、インク切れの場合はインクの色などがｏｐｔｉｏｎ欄に記載される。
【０２６１】
〔実施形態３〕
（３．１  送信装置１００ｂおよび受信装置２００ｂの構成）
本発明のさらに他の実施形態について説明する。なお、説明の便宜上、実施形態１または２で説明した部材と同様の機能を奏する部材については、同じ符号を付してその説明を省略する。
【０２６２】
本実施形態にかかる送信装置１００ｂは、実施形態２に示した送信装置１００ｂと略同様の構成である。ただし、処理状況検出部１を備えない構成としてもよい。
【０２６３】
また、本実施形態にかかる受信装置２００ｂは、実施形態２に示した受信装置２００ｂと略同様の構成である。ただし、本実施形態では、受信装置２００ｂは、例えば画像表示を行う画像モニター等の表示装置であるものとする。つまり、出力部１７は、例えば液晶表示パネル等の表示画面である。なお、本実施形態にかかる受信装置２００ｂは、受信装置２００ｂにおける処理状況などを送信装置１００ｂに通知する機能を備えていなくてもよい。
【０２６４】
図２６は、本実施形態における送信装置１００ｂ（携帯電話）と受信装置２００ｂ（表示装置）との間で通信を行う場合の使用状況を示す説明図である。この図に示すように、送信装置１００ｂの使用者は、受信装置２００ｂに表示させたい画像の画像データを送信装置１００ｂから受信装置２００ｂに送信させる。受信装置２００ｂは、送信装置１００ｂから受信した画像等を出力部１７に表示させる。
【０２６５】
（３．２  送信装置１００ｂの処理）
本実施形態における送信装置１００ｂおよび受信装置２００ｂの処理について、図２７および図２８を参照して説明する。図２７は送信装置１００ｂにおける処理の流れを示すフロー図であり、図２８は受信装置２００ｂにおける処理の流れを示すフロー図である。
【０２６６】
まず、送信装置１００ｂにおける処理について説明する。送信装置１００ｂの使用者は、入力部３を操作し、記憶部１０に格納されている画像データを出力部６に表示させるとともに、受信装置２００ｂに送信したい画像を１枚または複数枚選択して指定する。制御部１１は、入力部３を介して入力される使用者からの指示に応じて、記憶部１０に格納している画像データを出力部６に表示させ、使用者の選択指示に応じて受信装置２００ｂに送信する画像データを選択する（Ｓ４０１）。
【０２６７】
次に、制御部１１は、Ｓ４０１で選択された画像のサムネイルをサムネイル作成部３１に作成させ（Ｓ４０２）、サムネイルリスト作成部３２にサムネイルリストを作成させる（Ｓ４０３）。
【０２６８】
さらに、制御部１１は、通信制御部７を制御し、通信部８から受信装置２００ｂに接続要求、サムネイルリスト、サムネイルを順次送信させる（Ｓ４０４〜Ｓ４０６）。なお、実施形態１および２と同様、受信装置２００ｂから接続応答、ＡＣＫ、ＮＡＣＫを受信してから次の送信を行うようにしてもよい。
【０２６９】
そして、サムネイルを送信した後、制御部１１は、通信制御部７を制御し、通信部８から受信装置２００ｂにＳ４０１で選択された画像データの送信を開始させる（Ｓ４０７）。なお、ここでは、通信の成否に関わらず、画像データを連続して送信する。つまり、制御部１１は、ビット欠けなどの通信エラーが起きていたとしても、選択された画像データを順次送信する。したがって、通信エラーが生じた場合には、受信装置２００ｂが受信する画像データは、選択された画像のうちの一部が抜けた、いわゆる歯抜け状態となる場合もある。
【０２７０】
その後、制御部１１は、選択された画像データを全て送信したかどうかを判断する（Ｓ４０８）。そして、未送信の画像データが残っていると判断した場合、制御部１１は、Ｓ４０７の処理を引き続き行い、未送信の画像データを順次送信させる。
【０２７１】
Ｓ４０８において、選択された画像データを全て送信したと判断した場合、制御部１１は、通信制御部７を制御して通信部８から受信装置２００ｂへ切断要求を送信させ（Ｓ４１０）、処理を終了する。
【０２７２】
（３．３  受信装置２００ｂの処理）
次に、本実施形態における受信装置２００ｂの処理について図２８を参照して説明する。
【０２７３】
受信装置２００ｂの制御部２３は、通信部２１が送信装置１００ｂからの接続要求を受信することを、通信制御部２０を介して監視している（Ｓ５０１）。そして、接続応答を受信すると、制御部２３は、その後に送信されてくるサムネイルリスト，サムネイル，画像データを受信可能にするための処理（例えば接続応答を返信して通信接続を行うなど）を行う（Ｓ５０２）。
【０２７４】
その後、制御部２３は、通信制御部２０を制御して送信装置１００ｂから送信されてくるサムネイルリスト、サムネイルを順次受信し（Ｓ５０３、Ｓ５０４）、記憶部２２に記憶させる。
【０２７５】
サムネイルを受信すると、制御部２３は、計時部１８にサムネイルを受信してからの経過時間の計時を開始（タイマーセット）させる（Ｓ５０５）。
【０２７６】
そして、制御部２３は、通信状況検出部２に計時部１８の計時時間を監視させ、所定の時間Ｔ１が経過したかどうかを判定させる（Ｓ５０６）。なお、上記所定の時間Ｔ１は、通信のプロトコル等に応じて適宜設定しておけばよい。
【０２７７】
Ｓ５０６において所定の時間Ｔ１が経過したと判断された場合、制御部２３は、後述するＳ５１３以降の処理を行う。
【０２７８】
一方、Ｓ５０６において所定の時間Ｔ１が経過していないと判断された場合、制御部２３は、送信装置１００ｂからデータ（パケット）を受信したかどうかを判断する（Ｓ５０７）。そして、データを受信していないと判断した場合には、制御部２３は、引き続きＳ５０７の処理を行い、画像データが受信することを監視する。
【０２７９】
Ｓ５０７においてデータを受信したと判断した場合、制御部２３は、受信したデータが切断要求であるかどうかを判断する（Ｓ５０８）。ここで、受信したデータが切断要求であると判断した場合、制御部２３は、後述するＳ５１３以降の処理を行う。
【０２８０】
Ｓ５０８において受信したデータが切断要求ではないと判断した場合、制御部２３は、受信したデータが画像データであるがどうかを判断する（Ｓ５０９）。ここで、画像データではないと判断した場合、制御部２３は、必要に応じてそのデータに応じた処理を行うとともに、Ｓ５０５の処理に戻る。
【０２８１】
Ｓ５０９において画像データであると判断した場合、制御部２３は、その画像データを正常に受信できたかどうかを判断する（Ｓ５１０）。つまり、制御部２３は、処理状況検出部１２に画像データの受信中に受信バッファのオーバーフローが生じていないかを監視させ、通信状況検出部１３に通信エラーが起こっていないかを監視させており、これらの監視結果に基づいて正常に受信できたかどうかを判断する。
【０２８２】
正常に受信できなかったと判断した場合、制御部２３は、Ｓ５０５の処理に戻る。なお、リスト作成部３３を制御して記憶部２２に記憶したサムネイルリストにおける該当する画像のステータス欄に受信に失敗した旨を記載させてからＳ５０５の処理に戻るようにしてもよい。
【０２８３】
一方、正常に受信できたと判断した場合、制御部２３は、その画像データの画像ＩＤを検出し（Ｓ５１１）、リスト作成部３３を制御して記憶部２２に記憶したサムネイルリストにおける該当する画像のステータス欄に受信に成功した旨を記載させる（Ｓ５１２）。そして、Ｓ５０５の処理に戻る。
【０２８４】
なお、Ｓ５０６においてＴ１が経過したと判断した場合、あるいはＳ５０８において切断要求を受信したと判断した場合、制御部２３は、通信制御部２０に送信装置１００ｂとの通信を切断させる。そして、制御部２３は、リスト作成部３３に、記憶部２２に記憶しているサムネイルリストを読み出させ、その時点でステータス欄に受信に成功した旨を記載されていない画像のステータス欄に受信に失敗した旨を記載させる（Ｓ５１４）。
【０２８５】
さらに、制御部２３は、出力制御部１６を制御し、上記のように作成したサムネイルリストに基づいて、受信結果（受信状況）の一覧を出力部１７に表示させ（Ｓ５１５）、処理を終了する。
【０２８６】
図２９は、Ｓ５１５において出力部１７の表示画面に表示される受信結果の一覧の例を示している。この図に示す例では、画像データ１〜８のサムネイルに、受信成功を示す「○」、受信失敗を示す「×」の記号を付加して表示している。つまり、図２９は、画像データ３および画像データ６の受信に失敗し、画像データ１，２，４，５，７，８の受信に成功した場合の例を示している。
【０２８７】
（３．４  通信シーケンスの例）
図３０は、本実施形態における送信装置１００ｂと受信装置２００ｂとの間の通信シーケンスを示す説明図である。
【０２８８】
この図に示すように、上述した各実施形態と同様、接続要求および接続応答のやり取りで通信接続を行う。なお、受信装置２００ｂが送信装置１００ｂへの返信機能を備えない場合などには、接続要求および接続応答のやりとりを省略してもかまわない。
【０２８９】
そして、通信を接続できると、送信装置１００ｂは、これから送信する各画像データのサムネイルリスト（画像データとサムネイルとの対応を記述したリスト）と、各画像のサムネイルとを受信装置２００ｂに送信する。なお、この際、図３０に示すようにＡＣＫ確認を行うようにしてもよく、ＡＣＫ確認を省略してもよい。
【０２９０】
そして、サムネイルリストおよびサムネイルを送信した後、送信装置１００ｂは送信する各画像の画像データを連続して（画像毎のＡＣＫ確認を行わずに）受信装置２００ｂに送信する。図３０の例では、画像データ３と画像データ６とが通信に失敗し、受信装置２００ｂで正常に受信できなかったことを示している。
【０２９１】
なお、受信装置２００ｂでは、処理状況検出部１２および通信状況検出部１３が各画像データを正常に受信できたかどうかを監視しており、その結果をサムネイルリストに記載していく。
【０２９２】
予定された画像データを全て送信すると、送信装置１００ｂは、切断要求を送信して通信を切断する。
【０２９３】
受信装置２００ｂは、切断要求を受信すると、サムネイルリストを参照し、各画像データのサムネイルに受信成功または受信失敗を示す記号を付して出力部１７に表示する。
【０２９４】
このように、受信に失敗した画像を識別できるように出力部１７に表示させることで、使用者がこの表示を見て受信装置２００ｂが受信に失敗した画像を把握することができる。したがって、通信に失敗した画像を選択して再送する操作を行うことで、適切な送信を行うことができる。
【０２９５】
以上のように、本実施形態では、画像データ（コンテンツデータ）を送信する前に、サムネイルリストを送信することで、受信装置２００ｂにその後に送信する画像データの内容を通知する。これにより、その後に送信する各画像データについて送信確認（ＡＣＫ確認）を逐次行わなくても、受信装置２００ｂにおいて各画像データの通信が成功したか失敗したかを確認することができる。したがって、例えば各画像データのデータ容量が大きい場合であっても、画像データ毎あるいは各画像データを複数に分割したデータ毎に送信確認を行うことなく送信できるので、通信時間を短縮できる。
【０２９６】
また、受信装置２００ｂは、送信装置１００ｂからの切断要求を受信すると、各画像データの通信成否を判定した結果を出力部１７に表示させる。これにより、使用者は、出力部１７に表示された内容を見て通信結果を知ることができ、通信結果に応じた適切な処理を行うことができる。
【０２９７】
また、上記各実施形態における送信装置の各ブロック（例えば制御部１１、処理状況検出部１、通信状況検出部２、入力制御部４、出力制御部５、通信制御部７、サムネイル作成部３１、サムネイルリスト作成部３２）は、ＣＰＵ等のプロセッサを用いてソフトウェアによって実現されるものであってもよい。また、上記各実施形態における受信装置の各ブロック（例えば制御部２３、処理状況検出部１２、通信状況検出部１３、入力制御部１５、出力制御部１６、通信制御部２０、リスト作成部３３）についても同様に、ＣＰＵ等のプロセッサを用いてソフトウェアによって実現されるものであってもよい。
【０２９８】
すなわち、上記各実施形態における送信装置および受信装置は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えた構成であってもよい。そして、本発明の目的は、上述した機能を実現するソフトウェアである送信装置および／または受信装置の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記送信装置および／または受信装置に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
【０２９９】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０３００】
また、送信装置および／または受信装置を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０３０１】
また、上記各実施形態における送信装置および／または受信装置の各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよい。
【０３０２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０３０３】
本発明は、データ送信を行う送信装置およびそれを受信する受信装置に適用できる。
【図面の簡単な説明】
【０３０４】
【図１】本発明の一実施形態にかかる送信装置の構成を示すブロック図である。
【図２】本発明の一実施形態にかかる受信装置の構成を示すブロック図である。
【図３】本発明の一実施形態にかかる送信装置および受信装置の使用状況を示す説明図である。
【図４】本発明の一実施形態にかかる送信装置と受信装置との間で通信されるデータ構造の一例を示す説明図である。
【図５】（ａ）および（ｂ）は、本発明の一実施形態において、受信装置から送信装置に送信されるステータスパケットの構成を示す説明図である。
【図６】本発明の一実施形態にかかる送信装置における処理の流れを示すフロー図である。
【図７】本発明の一実施形態にかかる受信装置における処理の流れを示すフロー図である。
【図８】本発明の一実施形態にかかる送信装置において、通信に成功した画像データと未送信の画像データとを識別可能に表示する場合の一例を示す説明図である。
【図９】本発明の一実施形態にかかる送信装置において、通信に成功した画像データと未送信の画像データとを識別可能に表示する場合の一例を示す説明図である。
【図１０】本発明の一実施形態にかかる送信装置において、受信装置の処理待ちである旨と、送信に成功した画像データおよび未送信の画像データと表示する場合の一例を示す説明図である。
【図１１】本発明の一実施形態にかかる送信装置において、受信装置で生じた不具合の内容を表示させる場合の一例を示す説明図である。
【図１２】本発明の一実施形態にかかる送信装置において、受信装置で生じた不具合が解消して通信を再開可能になった旨を表示する場合の一例を示す説明図である。
【図１３】本発明の一実施形態にかかる送信装置と受信装置との間で行われる通信のシーケンスの一例を示す説明図である。
【図１４】本発明の一実施形態にかかる送信装置と受信装置との間で行われる通信のシーケンスの一例を示す説明図である。
【図１５】本発明の一実施形態にかかる送信装置において、受信装置で生じた不具合等の各種情報を振動によって使用者に通知させる場合の、通知する情報と振動パターンとの対応関係の一例を示す説明図である。
【図１６】本発明の他の実施形態にかかる送信装置の構成を示すブロック図である。
【図１７】本発明の他の実施形態にかかる受信装置の構成を示すブロック図である。
【図１８】本発明の他の実施形態にかかる送信装置において作成されるサムネイルリストの一例を示す説明図である。
【図１９】本発明の他の実施形態にかかる受信装置において作成されるサムネイルリストの一例を示す説明図である。
【図２０】本発明の他の実施形態にかかる送信装置における処理の流れを示すフロー図である。
【図２１】本発明の他の実施形態にかかる受信装置における処理の流れを示すフロー図である。
【図２２】本発明の他の実施形態にかかる送信装置と受信装置との間で行われる通信のシーケンスの一例を示す説明図である。
【図２３】本発明の他の実施形態にかかる送信装置における処理の流れを示すフロー図である。
【図２４】本発明の他の実施形態にかかる送信装置において、通信に成功した画像データと未送信の画像データとを識別可能に表示する場合の一例を示す説明図である。
【図２５】本発明の他の実施形態にかかる送信装置と受信装置との間で行われる通信のシーケンスの一例を示す説明図である。
【図２６】本発明のさらに他の実施形態にかかる送信装置および受信装置の使用状況を示す説明図である。
【図２７】本発明のさらに他の実施形態にかかる送信装置における処理の流れを示すフロー図である。
【図２８】本発明のさらに他の実施形態にかかる受信装置における処理の流れを示すフロー図である。
【図２９】本発明のさらに他の実施形態にかかる受信装置に、受信結果の一覧を表示させる場合の一例を示す説明図である。
【図３０】本発明のさらに他の実施形態にかかる送信装置と受信装置との間で行われる通信のシーケンスの一例を示す説明図である。
【図３１】本発明の他の実施形態にかかる送信装置において、受信装置から返信されるサムネイルリストに基づいて受信装置の状況を表示する場合の処理の流れを示すフロー図である。
【図３２】本発明の他の実施形態にかかる受信装置において、送信装置からサムネイルリストを受信した後、サムネイルリストに受信状況を記載して返信する処理の流れを示すフロー図である。
【図３３】図３２の処理によって受信装置から送信装置に送信されるサムネイルリストの一例を示す説明図である。
【符号の説明】
【０３０５】
１    処理状況検出部（処理状況検出手段）
２    通信状況検出部（通信状況検出手段）
５    出力制御部
６    出力部（通知装置、表示装置）
７    通信制御部
８    通信部
９    計時部（計時手段）
１０  記憶部
１１  制御部（制御手段）
１２  処理状況検出部（処理状況検出手段、検出手段）
１３  通信状況検出部（通信状況検出手段、検出手段）
１６  出力制御部
１７  出力部（表示装置）
１８  計時部
１９  算出部（算出手段）
２０  通信制御部
２１  通信部
２２  記憶部
２３  制御部（制御手段）
３１  サムネイル作成部
３２  サムネイルリスト作成部
３３  リスト作成部（データ作成手段）
１００，１００ｂ  送信装置
２００，２００ｂ  受信装置
【図１】
2007174247.tif 000003
【図２】
2007174247.tif 000004
【図３】
2007174247.tif 000005
【図４】
2007174247.tif 000006
【図５】
2007174247.tif 000007
【図６】
2007174247.tif 000008
【図７】
2007174247.tif 000009
【図８】
2007174247.tif 000010
【図９】
2007174247.tif 000011
【図１０】
2007174247.tif 000012
【図１１】
2007174247.tif 000013
【図１２】
2007174247.tif 000014
【図１３】
2007174247.tif 000015
【図１４】
2007174247.tif 000016
【図１５】
2007174247.tif 000017
【図１６】
2007174247.tif 000018
【図１７】
2007174247.tif 000019
【図１８】
2007174247.tif 000020
【図１９】
2007174247.tif 000021
【図２０】
2007174247.tif 000022
【図２１】
2007174247.tif 000023
【図２２】
2007174247.tif 000024
【図２３】
2007174247.tif 000025
【図２４】
2007174247.tif 000026
【図２５】
2007174247.tif 000027
【図２６】
2007174247.tif 000028
【図２７】
2007174247.tif 000029
【図２８】
2007174247.tif 000030
【図２９】
2007174247.tif 000031
【図３０】
2007174247.tif 000032
【図３１】
2007174247.tif 000033
【図３２】
2007174247.tif 000034
【図３３】
2007174247.tif 000035