(57)【要約】【構成】ＣＰＵ３２は、送信のために指定された画像ファイルのサイズが大きいほど多い回数を設定し、画像ファイルを指定間隔で部分量ずつ送信するファイル送信処理を設定された回数だけ実行する。画像ファイルは、ＩｒＤＡコントローラ２８によって部分量ずつデータパケットにデコードされ、デコードされたデータパケットはIrSimple 1.0規格に準拠する片方向通信機能を利用してＩｒＤＡモジュール３０から送信される。指定間隔が示す数値は、ファイル送信処理が１回行われる毎にＣＰＵ３２によって変更される。【効果】ファイルサイズの増大に起因するデータ送信の失敗率の増加を抑えることができる。【選択図】図１
2009239411.tif 000002
【特許請求の範囲】
【請求項１】
指定データのサイズが大きいほど多い回数を設定する設定手段、
前記指定データを指定間隔で部分量ずつ送信する送信処理を前記設定手段によって設定された回数だけ実行する送信手段、および
前記指定間隔が示す数値を前記送信処理が１回行われる毎に変更する変更手段を備える、データ送信装置。
【請求項２】
前記変更手段は、前記設定手段によって設定された回数が多いほど前記指定間隔の初期値を小さくする初期設定手段、および前記指定間隔が示す数値を増大方向に変更する数値変更手段を含む、請求項１記載のデータ送信装置。
【請求項３】
前記設定手段は、前記指定データのサイズを１または２以上の閾値と比較する比較手段、および前記比較手段の比較結果に応じて異なる回数を設定する回数設定手段を含む、請求項１または２記載のデータ送信装置。
【請求項４】
前記指定データはＤＣＴ変換を施された画像データを含む、請求項１ないし３のいずれかに記載のデータ送信装置。
【請求項５】
前記送信手段はＩｒＳｉｍｐｌｅの片方向通信機能を利用して前記送信処理を実行する、請求項１ないし４のいずれかに記載のデータ送信装置。
【請求項６】
データ送信装置のプロセッサに、
指定データのサイズが大きいほど多い回数を設定する設定ステップ、
前記指定データを指定間隔で部分量ずつ送信する送信処理を前記設定ステップによって設定された回数だけ実行する送信ステップ、および
前記指定間隔が示す数値を前記送信処理が１回行われる毎に変更する変更ステップを実行させるための、データ送信プログラム。
【請求項７】
データ送信装置によって実行されるデータ送信方法であって、
指定データのサイズが大きいほど多い回数を設定する設定ステップ、
前記指定データを指定間隔で部分量ずつ送信する送信処理を前記設定ステップによって設定された回数だけ実行する送信ステップ、および
前記指定間隔が示す数値を前記送信処理が１回行われる毎に変更する変更ステップを備える、データ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ送信装置に関し、特に指定データを外部の受信器に送信する、データ送信装置に関する。
【背景技術】
【０００２】
この種の装置の一例が、特許文献１に開示されている。この背景技術によれば、送信するデータパケットに格納されたデータの重要性に応じて、リトライフラグが“再送信要”または“再送信不要”に指定される。これによって、重要性の低いデータについては送信エラーの発生に関係なく再送信処理は常に省略される一方、重要性の高いデータについては送信エラーの発生に応答して再送信処理が実行される。この結果、重要性の低いデータの送信エラーに起因する処理動作の遅延を防止しつつ、重要性の高いデータを確実に相手方に送信することができる。
【特許文献１】特開２００２−２３７８６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、背景技術では、相手方との双方向通信によって送信エラーを検出するようにしているため、複雑な通信制御が要求されるという問題がある。通信制御の複雑さは双方向通信の代わりに片方向通信を採用することで低減されるが、片方向通信では送信データのサイズの増大に伴ってデータ送信の失敗率が増大する。
【０００４】
それゆえに、この発明の主たる目的は、サイズの増大に起因するデータ送信の失敗率の増加を抑えることができる、データ送信装置を提供することである。
【課題を解決するための手段】
【０００５】
この発明に従うデータ送信装置(10：実施例で相当する参照符号。以下同じ)は、指定データのサイズが大きいほど多い回数を設定する設定手段(S3~S7, S41~S49)、指定データを指定間隔で部分量ずつ送信する送信処理を設定手段によって設定された回数だけ実行する送信手段(S11)、および指定間隔が示す数値を送信処理が１回行われる毎に変更する変更手段(S9, S13)を備える。
【０００６】
設定手段は、指定データのサイズが大きいほど多い回数を設定する。送信手段は、指定データを指定間隔で部分量ずつ送信する送信処理を設定手段によって設定された回数だけ実行する。変更手段は、指定間隔が示す数値を送信処理が１回行われる毎に変更する。
【０００７】
つまり、指定データを送信する回数は、指定データのサイズが増大するほど多くなる。また、指定間隔が示す数値は、送信処理が１回行われる毎に変更される。これによって、サイズの増大に起因するデータ送信の失敗率の増加を抑えることができる。
【０００８】
好ましくは、変更手段は、設定手段によって設定された回数が多いほど指定間隔の初期値を小さくする初期設定手段(S9)、および指定間隔が示す数値を増大方向に変更する数値変更手段(S13)を含む。また好ましくは、設定手段は、指定データのサイズを１または２以上の閾値と比較する比較手段(S3, S41, S43)、および比較手段の比較結果に応じて異なる回数を設定する回数設定手段(S5, S7, S45~S49)を含む。
【０００９】
好ましくは、指定データはＤＣＴ変換を施された画像データを含む。また好ましくは、送信手段はＩｒＳｉｍｐｌｅの片方向通信機能を利用して送信処理を実行する。
【００１０】
この発明に従うデータ送信プログラムは、データ送信装置(10)のプロセッサ(32)に、指定データのサイズが大きいほど多い回数を設定する設定ステップ(S3~S7, S41~S49)、指定データを指定間隔で部分量ずつ送信する送信処理を設定ステップによって設定された回数だけ実行する送信ステップ(S11)、および指定間隔が示す数値を送信処理が１回行われる毎に変更する変更ステップ(S9, S13)を実行させるための、データ送信プログラムである。
【００１１】
この発明に従うデータ送信方法は、データ送信装置(10)によって実行されるデータ送信方法であって、指定データのサイズが大きいほど多い回数を設定する設定ステップ(S3~S7, S41~S49)、指定データを指定間隔で部分量ずつ送信する送信処理を設定ステップによって設定された回数だけ実行する送信ステップ(S11)、および指定間隔が示す数値を送信処理が１回行われる毎に変更する変更ステップ(S9, S13)を備える。
【発明の効果】
【００１２】
この発明によれば、指定データを送信する回数は、指定データのサイズが増大するほど多くなる。また、指定間隔が示す数値は、送信処理が１回行われる毎に変更される。これによって、サイズの増大に起因するデータ送信の失敗率の増加を抑えることができる。
【００１３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１４】
図１を参照して、この実施例のディジタルカメラ１０は、光学レンズ１２を含む。被写界の光学像は、光学レンズ１２を経て撮像装置１４の撮像面に照射される。キー入力装置３４によってカメラモードが選択されかつ記録操作が実行されると、ＣＰＵ３２によってドライバ１６が起動される。ドライバ１６は、撮像面を露光し、かつこれによって生成された電荷を撮像面から読み出す。撮像装置１４からは、読み出された電荷に基づく生画像データが出力される。
【００１５】
カメラ処理回路１８は、撮像装置１４から出力された生画像データに色分離，白バランス調整，ＹＵＶ変換などの処理を施し、ＹＵＶ形式の画像データを生成する。生成された画像データは、メモリ制御回路２０を介してＳＤＲＡＭ２２に書き込まれる。Ｉ／Ｆ２４は、ＳＤＲＡＭ２２に確保された画像データをメモリ制御回路２０を通して読み出し、読み出された画像データをＪＰＥＧ方式（ＤＣＴ変換を含む方式）で圧縮し、圧縮画像データを収めた画像ファイルを記録媒体２６に記録する。
【００１６】
キー入力装置３４によって転送モードが選択されかつ所望の画像ファイルが選択されると、ＣＰＵ３２は、選択された画像ファイルの読み出しをＩ／Ｆ４２に命令する。画像ファイルは、Ｉ／Ｆ２４によって記録媒体２６から読み出され、メモリ制御回路２０を通してＳＤＲＡＭ２２に書き込まれる。
【００１７】
ＣＰＵ３２はまた、読み出された画像ファイルのサイズを閾値ＴＨ１（＝たとえば１Ｍバイト）と比較し、ファイルサイズが閾値ＴＨ１を上回るとき送信カウント値ＳＮＤ＿ＣＮＴを“２”に設定する一方、ファイルサイズが閾値ＴＨ１以下のとき送信カウント値ＳＮＤ＿ＣＮＴを“１”に設定する。
【００１８】
ＣＰＵ３２は続いて、送信カウント値ＳＮＤ＿ＣＮＴに対応する送信間隔を図２に示すレジスタ３２ｒから検出し、検出された送信間隔に従うファイル送信処理の実行をＩｒＤＡコントローラ２８に命令する。図２を参照して、送信間隔は、ＳＮＤ＿ＣＮＴ＝２に対応して１００マイクロ秒を示し、ＳＮＤ＿ＣＮＴ＝１に対応して６００マイクロ秒を示す。ＩｒＤＡコントローラ２８に与えられる命令には、レジスタ３２ｒから検出された送信間隔を示す間隔情報が含まれる。
【００１９】
ＩｒＤＡコントローラ２８は、ＳＤＲＡＭ２２に格納された画像ファイルをこの間隔情報が示す間隔で部分量（＝たとえば２Ｋバイト）ずつ読み出し、読み出された部分量のファイルデータをＩｒＤＡ規格に適合するデータパケットにエンコードする。エンコードされたデータパケットは、ＩｒＤＡモジュール３０によって図４に示す受信装置４０に送信される。
【００２０】
ＣＰＵ３２は、このようなファイル送信処理が１回行われる毎に送信カウント値ＳＮＤ＿ＣＮＴをディクリメントし、送信カウント値ＳＮＤ＿ＣＮＴが“１”以上のとき上述のファイル送信処理の実行をＩｒＤＡコントローラ２８に再度命令する一方、送信カウント値ＳＮＤ＿ＣＮＴが“０”を示すときスピーカユニット３６を通して“送信完了”を報知する。
【００２１】
したがって、ファイル送信処理が複数回実行される場合、データパケットの送信間隔は回毎に異なる。また、データパケットの送信間隔の初期値はファイルサイズが大きいほど小さくされ、データパケットの送信間隔はファイル送信処理が実行される毎に延長される。
【００２２】
ＩｒＤＡコントローラ２８は、IrDA(Infrared Data Association)において国際標準とされたIrSimple 1.0規格に準拠する片方向通信機能（Home Appliance
Profile）を利用してファイル送信処理を実行する。この片方向通信機能は、IrSS（IrSimpleShot）とも呼ばれる。したがって、ファイル送信処理は、画像ファイルのサイズが閾値ＴＨ１以下のとき図３（Ａ）に示す要領で実行され、画像ファイルのサイズが閾値ＴＨ１を上回るとき図３（Ｂ）に示す要領で実行される。
【００２３】
図３（Ａ）によれば、まずＳＮＲＭパケットが９６００ｂｐｓの速度で送信され、続いてデータパケットが４Ｍｂｐｓの速度で６００マイクロ秒毎に送信される。ＤＩＳＣパケットは、末尾のデータパケットに続いて４Ｍｂｐｓの速度で送信される。図３（Ｂ）によれば、データパケットは１回目のファイル送信処理において１００マイクロ秒毎に送信され、２回目のファイル送信処理において６００マイクロ秒毎に送信される。なお、１つのデータパケットの送信には、４ミリ秒程度の時間が費やされる。
【００２４】
図４を参照して、ＣＰＵ５８は、キー入力装置６０によって転送モードが選択されたとき、受信カウント値ＲＣＶ＿ＣＮＴを“１”に設定し、かつＩｒＤＡコントローラ４４にファイル受信処理の実行を命令する。ディジタルカメラ１０から送信されたＳＮＲＭパケットおよびデータパケットは、ＩｒＤＡモジュール４２によって受信される。ＩｒＤＡコントローラ４４はＳＮＲＡＭパケットに続いて繰り返し受信されるデータパケットをファイルデータにデコードし、デコードされたファイルデータをメモリ制御回路４６を通してＳＤＲＡＭ４８に書き込む。
【００２５】
ＤＩＳＣパケットが受信されると、ＣＰＵ２８は、受信カウント値ＲＣＶ＿ＣＮＴをインクリメントし、かつ画像ファイルを構成する全データパケットの受信に成功したか否かをＳＤＲＡＭ４８の格納状態を参照して判別する。全データパケットの受信に成功した場合、ＣＰＵ２８は、スピーカユニット６２に通して“受信成功”を報知する。
【００２６】
これに対して、少なくとも一部のデータパケットの受信に失敗した場合、つまりデータパケットの取りこぼしが発生した場合、ＣＰＵ２８は、受信カウント値ＲＣＶ＿ＣＮＴが“２”を上回るか否かを判別し、ＲＣＶ＿ＣＮＴ≦２であれば既定の切断処理を経て上述のファイル受信処理の実行をＩｒＤＡコントローラ４４に再度命令する一方、ＲＣＶ＿ＣＮＴ＞２であればスピーカユニット６２を通して“受信失敗”を報知する。
【００２７】
全データパケットの受信に成功した場合、所望の画像ファイルがＳＤＲＡＭ４８に確保される。確保された画像ファイルは、メモリ制御回路４６によって読み出され、Ｉ／Ｆ５０によって記録媒体５２に記録される。
【００２８】
キー入力装置６０によって再生モードが選択された状態で所望の画像ファイルが選択されると、Ｉ／Ｆ５０は、選択された画像ファイルに格納された圧縮画像データを記録媒体５２から読み出し、読み出された圧縮画像データをＪＰＥＧ方式で伸長する。伸長された画像データは、メモリ制御回路４６によってＳＤＲＡＭ４８に書き込まれる。ＬＣＤドライバ５４は、こうしてＳＤＲＡＭ４８に格納された画像データをメモリ制御回路４６を通して読み出し、読み出された画像データに基づいてＬＣＤモニタ５６を駆動する。この結果、再生画像がモニタ画面に表示される。
【００２９】
ＣＰＵ３２は、図５に示す送信タスクを含む複数のタスクを並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ３８に記憶される。
【００３０】
まずステップＳ１で転送すべき画像ファイルのサイズを取得し、取得されたファイルサイズが閾値ＴＨ１（＝たとえば１Ｍバイト）を上回るか否かをステップＳ３で判別する。ここでＹＥＳであればステップＳ５で送信カウント値ＳＮＤ_ＣＮＴを“２”に設定する一方、ＮＯであればステップＳ７で送信カウント値ＳＮＤ＿ＣＮＴを“１”に設定する。
【００３１】
ステップＳ９ではレジスタ３２ｒを参照してデータパケットの送信間隔を調整する。送信間隔は、ＳＮＤ＿ＣＮＴ＝２に対応して１００マイクロ秒に設定され、ＳＮＤ＿ＣＮＴ＝１に対応して６００マイクロ秒に設定される。送信間隔が調整されると、ステップＳ１１でファイル送信処理の実行をＩｒＤＡコントローラ２８に命令する。画像ファイルを構成するデータパケットは、ステップＳ９で設定された送信間隔で部分量ずつ送信される。ファイル送信処理が完了すると、ステップＳ１３で送信カウント値ＳＮＤ＿ＣＮＴをディクリメントする。ステップＳ１５では送信カウント値ＳＮＤ＿ＣＮＴが“０”を示すか否かを判別し、ＮＯであればステップＳ９に戻る一方、ＹＥＳであればステップＳ１７で“送信完了”を報知して送信タスクを終了する。
【００３２】
ＣＰＵ５８は、図６に示す受信タスクを含む複数のタスクを並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ６４に記憶される。
【００３３】
まずステップＳ２１で受信カウント値ＲＣＶ＿ＣＮＴを“１”に設定し、ステップＳ２３でファイル受信処理の実行をＩｒＤＡコントローラ４４に命令する。ファイル受信処理が完了すると、ステップＳ２５で受信カウント値ＲＣＶ＿ＣＮＴをインクリメントする。ステップＳ２７では全データパケットの受信に成功したか否かを判別し、ステップＳ３１では受信カウント値ＲＣＶ＿ＣＮＴが“２”を上回るか否かを判別する。ステップＳ２７およびＳ３１のいずれもＮＯであれば、ステップＳ３７における切断処理を経てステップＳ２３に戻る。また、ステップＳ２７でＹＥＳであればステップＳ３３で“受信成功”を報知し、ステップＳ３１でＹＥＳであればステップＳ３５で“受信失敗”を報知する。ステップＳ３３またはＳ３５の処理が完了すると、受信タスクを終了する。
【００３４】
以上の説明から分かるように、ＣＰＵ３２は、送信のために指定された画像ファイル（指定データ）のサイズが大きいほど多い回数を設定し(S3~S7)、画像ファイルを指定間隔で部分量ずつ送信するファイル送信処理を設定された回数だけ実行する(S11)。画像ファイルは、ＩｒＤＡコントローラ２８によって部分量ずつデータパケットにデコードされ、デコードされたデータパケットはIrSimple 1.0規格に準拠する片方向通信機能を利用してＩｒＤＡモジュール３０から送信される。指定間隔が示す数値は、ファイル送信処理が１回行われる毎にＣＰＵ３２によって変更される(S9, S13)。
【００３５】
つまり、画像ファイルを送信する回数は、画像ファイルのサイズが増大するほど多くなる。また、指定間隔が示す数値は、ファイル送信処理が１回行われる毎に変更される。これによって、ファイルサイズの増大に起因するデータ送信の失敗率の増加を抑えることができる。
【００３６】
なお、この実施例によれば、送信カウント値ＳＮＤ＿ＣＮＴはファイルサイズに応じて２つの値のいずれか一方に設定されるが、送信カウント値ＳＮＤ＿ＣＮＴは３つ以上の値のいずれか１つに設定するようにしてもよい。ただし、３つの値のいずれか１つを送信カウント値ＳＮＤ＿ＣＮＴに設定するためには、図５に示すステップＳ３〜Ｓ７に代えて図７に示すステップＳ４１〜Ｓ４９の処理を実行する必要があり、ステップＳ９では図８に示すレジスタ３２ｒを参照して送信間隔を調整する必要がある。
【００３７】
図５によれば、ファイルサイズは、ステップＳ４１で閾値ＴＨ１と比較され、ステップＳ４３で閾値ＴＨ０と比較される。ここで、閾値ＴＨ１およびＴＨ０の間には、ＴＨ１＞ＴＨ０の関係が成り立つ。送信カウント値ＳＮＤ＿ＣＮＴは、ファイルサイズ＞ＴＨ１のときステップＳ４５で“３”に設定され、ＴＨ１≧ファイルサイズ＞ＴＨ０のときステップＳ４７で“２”に設定され、そしてＴＨ０≧ファイルサイズのとき“１”に設定される。
【００３８】
また、この実施例では、ＪＰＥＧ方式で圧縮された画像ファイルを送信することを想定しているが、これに代えてＭＰＥＧ方式またはＨ．２６４方式で圧縮された画像ファイルを送信するようにしてもよく、さらには送信ファイルは画像ファイルに限られるものではない。
【００３９】
さらに、この実施例では、送信されるデータパケットは１００Ｋバイトのファイルデータに相当するが、ファイルデータのサイズはデータパケット間で変動させてもよい。
【図面の簡単な説明】
【００４０】
【図１】この発明の一実施例の構成を示すブロック図である。
【図２】図１実施例に適用されるレジスタの構成の一例を示す図解図である。
【図３】（Ａ）はファイルサイズが閾値以上のときの図１実施例の動作の一部を示す図解図であり、（Ｂ）はファイルサイズが閾値を下回るときの図１実施例の動作の一部を示す図解図である。
【図４】図１実施例から送信されたファイルを受信する受信装置の構成の一例を示すブロック図である。
【図５】図１実施例に適用されるＣＰＵの動作の一部を示すフロー図である。
【図６】図６実施例に適用されるＣＰＵの動作の一部を示すフロー図である。
【図７】他の実施例に適用されるＣＰＵの動作の一部を示すフロー図である。
【図８】他の実施例に適用されるレジスタの構成の一例を示す図解図である。
【符号の説明】
【００４１】
１０  …ビデオカメラ
１４  …撮像装置
２６  …記録媒体
２８  …ＩｒＤＡコントローラ
３０  …ＩｒＤＡモジュール
３２  …ＣＰＵ
【図１】
2009239411.tif 000003
【図２】
2009239411.tif 000004
【図３】
2009239411.tif 000005
【図４】
2009239411.tif 000006
【図５】
2009239411.tif 000007
【図６】
2009239411.tif 000008
【図７】
2009239411.tif 000009
【図８】
2009239411.tif 000010