以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下に示す実施形態はあくまでも一例であって、必ずしも以下に示す実施形態に限定されるものではない。
[実施形態1]
図1は、本発明の実施形態1に係る通信システムの概略構成の一例を示す図である。
実施形態1に係る通信システムは、図1に示すように、通信装置100と外部装置200とを有する。通信装置100と外部装置200は、無線通信によって通信を可能としている。
実施形態1では通信装置100の一例としてデジタルカメラを用いて、外部装置200の一例としてPCを用いる。また、デジタルカメラ100及びPC200は無線LAN規格「IEEE 802.11」に準拠した装置であり、無線LAN規格「IEEE 802.11」によって無線通信を実現しているものとする。以下、これらについて詳細に説明する。
<デジタルカメラ100>
図2は、本発明の実施形態1に係る通信装置の一例を示すブロック図である。デジタルカメラ100は、画像(video)データ、音声(audio)データ及び補助データをPC200に送信することができる画像ソースである。
デジタルカメラ100は、撮影モード、再生モード等の動作モードを有する。デジタルカメラ100の動作モードが撮影モードである場合、デジタルカメラ100は、被写体の撮影が可能になり、撮影された画像データ(動画データ、静止画データのいずれでもよい)を記録部103の記録媒体103aに記録することができる。また、デジタルカメラ100の動作モードが撮影モードである場合、画像データは、他の画像データとの識別のための画像データの設定情報と共に記録媒体103aに関連付けて記録される。設定情報とは、撮影された画像データに基づいて作成されたサムネイル画像やスクリーンネイル画像、画像データのファイル名等である。また、設定情報として、画像データが撮影された日付や時刻を示す撮影日時情報、撮影時のシャッタースピードや光量等の撮影パラメータを示す撮影パラメータ情報、撮影者名等の情報であっても良い。
デジタルカメラ100の動作モードが再生モードである場合は、ユーザによって選択された画像データ(動画データ、静止画データのいずれでもよい)を記録媒体103aから再生することができる。
デジタルカメラ100は、図2に示すように、CPU101、メモリ102、記録部103、通信部104、操作部105、表示部106、撮像部107、画像処理部108及び姿勢検知部109を有する。また、図3は本発明の実施形態1に係る通信装置の外観図を示すものである。
CPU101は、メモリ102に記憶されているコンピュータプログラムに従って、各部への制御や、各部から得られる情報に応じて演算処理を行う。CPU101は、PC200から通信部104を介して、得られたPC200に関する情報をメモリ102に記憶する。なお、CPU101のワークエリアは、メモリ102に限られるものではなく、ハードディスク装置等の外部記録装置であってもよい。
メモリ102は、CPU101のワークエリアとして機能するメモリであり、CPU101で使用される様々な値、データ及び情報を記憶するメモリでもある。メモリ102に記憶される情報には、デジタルカメラ100を制御するコンピュータプログラム、表示部106に表示される所定の画像データやアイコン等がある。また、メモリ102は処理待ちの静止画データ、動画データ等の画像データを一時的に保存しておくことが可能である。
記録部103は、CPU101に従い、撮影した動画データや静止画データ等の画像データを着脱可能な記録媒体103aから読み出したり、画像データを記録媒体103aに書き込んだりする。
通信部104は、無線LANモジュール104aを有する。CPU101によってデータをPC200に転送するように指示がされた場合、画像処理部108で生成されたデータと不図示のマイクロフォン部が生成した音声データとCPU101で生成された補助データとは通信部104に送出され、PC200へ転送される。通信部104でデータを受信した場合、通信部104は補助データをCPU101に供給し、受信した画像データや音声データは記録媒体103aに記録される。
操作部105は、デジタルカメラ100を操作するためのユーザインターフェースであり、デジタルカメラ100を操作するための複数のボタンを有する。ユーザからの指示は、操作部105を介してCPU101に入力される。操作部105内の各ボタンは、スイッチ、タッチパネル等により構成される。操作部105は、電源ボタン301、モード選択キー302、シャッターボタン303、データ転送モードボタン304、メニューボタン305、スタート/ストップボタン、十字ボタン、SETボタン等を有する。
電源ボタン301は、デジタルカメラ100を電源オン(ON)状態又は電源オフ(OFF)状態に変更することをCPU101に指示するボタンである。電源オン状態とは、不図示の電源(バッテリ、AC電源等)からデジタルカメラ100の全部に必要な電力を供給することができる状態である。電源オフ状態とは、不図示の電源(バッテリ、AC電源等)からデジタルカメラ100の一部又は全部への電力の供給を停止した状態である。
モード選択キー302は、デジタルカメラ100の動作モードとして、撮影モードや再生モードを選択するようにCPU101に指示するボタンである。
シャッターボタン303は、シャッターボタン303の半押しされた状態とシャッターボタン303の全押しされた状態との2つの状態を持つ。シャッターボタン303を押下することによって、静止画撮影、動画撮影時において、記録トリガを発行する。
データ転送モードボタン304は、デジタルカメラ100の動作モードをデータ転送モードへ変更させるためのボタンである。
メニューボタン305は、デジタルカメラ100のメニュー画面の表示又は非表示をCPU101に指示するボタンである。デジタルカメラ100のメニュー画面を操作することによって、デジタルカメラ100の撮影された画像データの選択やデータ転送に関する設定の変更等を行うことができる。ユーザは画像データの選択を行うためにメニューボタン305を操作することによって、メニュー画面を表示部106に表示させ、メニュー画面上に記録媒体103aに記録された静止画データ、動画データ等の画像データを一覧表示させることができる。このため、ユーザはメニュー画面を確認しながら、所望の画像データを選択することができる。また、ユーザが画像データの選択を行った場合、画像データの設定情報等を送信対象のリスト化し、リストに基づき設定情報に対応する画像データを記録部103は記録媒体103aから読み出して、通信部104に出力することもできる。
また、ユーザがメニューボタン305を操作することによって、データ転送に関する設定を変更するためのメニュー画面を表示部106に表示させることができる。そのため、ユーザは操作部105のボタンやスイッチ等を操作することによって、メニュー画面に表示されたデータ転送に関する設定を任意に変更することができる。ユーザによって、データ転送に関する設定の変更が行われた場合、変更された後の設定がメモリ102に上書き保存され、メモリ102に上書き保存されたデータ転送に関する設定に応じて、CPU101は各部を制御する。
また、ユーザはメニュー画面を操作することによって、撮影を行った後と撮影を行う前において、選択された画像データを所望の圧縮方式によって記録できるように設定することができる。これらのメニュー画面やメニュー画面を操作することによって行われた設定等はメモリ102に保存され、CPU101はこれらの設定に応じて各部を制御する。
静止画データや動画データ等の画像データを撮影する場合には、メニュー画面によってカメラの設定内容を表示しながら撮影条件の設定を行うことも可能である。また、画像データを再生するときには、選択された画像データを表示することが可能である。
表示部106は、液晶画面306等により構成される。ユーザは液晶画面306に表示されているメニュー画面等の画面を見ながらメニュー操作や撮影条件の設定等を操作することができる。
また、デジタルカメラ100の動作モードが撮影モードである場合、表示部106は、画像処理部108で生成された画像データを表示する。デジタルカメラ100の動作モードが再生モードである場合、表示部106は、記録部103が記録媒体103aから再生した画像データを表示する。また、通信部104を介して供給されるデータを表示することができる。また、表示部106には、再生した画像データを一覧表示し、ユーザに所望の画像データを選択させる等の処理を行うこともできる。
また、表示部106は、文字データ、画像データ、音声データなどを用いてデジタルカメラ100の動作状態やメッセージなどを通知する。表示部106の表示内容のうち、液晶画面306等に表示するものとしては、撮影単写/連写の情報、画像データの圧縮方式の情報、圧縮率の情報、記録画素数の情報、記録枚数の情報、残撮影できる枚数の情報等がある。また、外部の記録媒体の情報および外部記録媒体の着脱状態を示す情報や、日付、時刻の情報等が液晶画面306等に表示される。
撮像部107は、シャッターボタン303に応じてレンズ307を通して入力されてくる光を電気的な信号への変換する。撮像部107は、光学系、撮像素子、A/D変換部を備えている。光学系とは撮影レンズ群のことであり、撮影の倍率を挙げるバリエータレンズや焦点を調整するフォーカシングレンズ、撮影光量を調節する絞り及びそれらの駆動回路等が含まれている。撮像素子は光学系を介して入射した被写体光を電気信号である画像信号に変換する。撮像素子としては、例えばCCDイメージセンサーやCMOSセンサーが挙げられる。A/D変換部は撮像素子から出力される画像信号(アナログデータ)をデジタルデータ(画像データ)に変換し、画像処理部108に出力する。
画像処理部108は、撮像部107から出力された画像データ、メモリ102又は記録部103から出力された画像データに対して画素補間処理や色変換処理等の画像処理を行う。また、画像処理部108は、圧縮伸長回路を備えており、動画データ又は静止画データを各々の方式に合った圧縮方式によって圧縮伸長し、記録部103、通信部104または表示部106に出力する。
画像データの圧縮方式には、静止画データを圧縮する静止画圧縮方式と動画データを圧縮する動画圧縮方式がある。公知の静止画圧縮方式は、JPEG方式、RAW方式、sRAW方式等の圧縮方式があり、公知の動画圧縮方式には、motionJPEG方式、MPEG方式、H264方式等の圧縮方式がある。画像処理部108はこれら各種の圧縮方式に従って画像データの圧縮伸長処理が可能である。
ユーザはこれら各種の圧縮方式の中から、撮影した動画データ、静止画データを圧縮するために用いる圧縮方式を選択し、設定する。CPU101は、画像処理部108に対し、設定された圧縮方式の情報を送る。画像処理部108はCPU101からの圧縮方式の情報に応じて、圧縮方式を決定し撮影された画像データを圧縮する。
設定された圧縮方式で圧縮された画像データは圧縮方式を示す情報と共に記録媒体103aに記録される。なお、圧縮方式別に画像データを記録する記録媒体を分けても良いし、一つの記録媒体に複数の圧縮方式で圧縮された画像データが記録されていても良い。
姿勢検知部109は、姿勢情報として、デジタルカメラ100の筐体の底面に関する底面情報を検知することができる。そして、CPU101からデジタルカメラ100の姿勢情報が要求されると検知結果に基づき、デジタルカメラ100の筐体の底面情報をCPU101に返す。図4に示すように姿勢検知部109は立方体の形状をしていて、姿勢検知部109内部には図4−(a)に示すような内部に液体が入った立方体109aが設けられている。立方体109aにはxyz軸が関連付けられていて、図4−(b)に示すように、X−Y平面をA面、X−Z平面をB面、Y−Z平面をC面、A面に平行な面をD面、B面に平行な面をE面、C面に平行な面をF面と定義する。
立方体109aを構成するA〜F面の6つの各面は立方体109a内部の各面に掛かる液体の重さを検知する機能を有する。姿勢検知部109は各A〜F面に掛かる液体の重さの情報を取得し、立方体109a内の各A〜F面に掛かる液体の重さを比較することによって、立方体109aの底面がどの面であるかを検知する。
実施形態1では、図4−(b)に示すように、デジタルカメラ100の筐体をxyz軸に関連付けた場合、X−Y平面はA面、X−Z平面はB面、Y−Z平面はC面、A面に平行な面はD面、B面に平行な面はE面、C面に平行な面はF面と定義する。
図4−(b)に示された立方体109aの各A〜F面をデジタルカメラ100の筐体の各A〜F面と対応させた場合、姿勢検知部109は立方体109aの底面を検知することで、デジタルカメラ100の底面も検知することができる。
また、姿勢検知部109はCPU101からの要求に応じて、デジタルカメラ100の筐体の底面がどの面であるかを示す底面情報をCPU101に返す。このため、CPU101は姿勢検知部109から取得したデジタルカメラ100の筐体の底面情報によって、デジタルカメラ100の筐体の底面がどの面であるかを検知することができる。
なお、デジタルカメラ100の筐体の各面と立方体109aの各面を図4−(a)及び(b)に示すように、定義したが、これに限られない。
なお、通信装置100は、デジタルカメラに限るものではない。例えば、通信装置100は、一眼レフカメラ、ビデオカメラ、スチルカメラ、カメラ付き携帯電話等の撮像装置であってもよい。
<デジタルカメラ100がデータ転送モードのときの動作>
次に、図1から図5を参照し、通信システムにおいて、実施形態1に係るデジタルカメラ100で行われる処理を説明する。図5は実施形態1に係るデジタルカメラ100で行われる処理の一例を示すフローチャートである。図5のフローチャートが示す処理は、デジタルカメラ100が電源オン状態であって、ユーザによりデジタルカメラ100のデータ転送モードボタン304が押下された場合に実行される処理である。
ステップS501において、デジタルカメラ100のデータ転送モードボタン304が押下された場合、操作部105を介して、CPU101にデジタルカメラ100の状態をデータ転送モードに変更するための信号が入力される。これによって、CPU101はデジタルカメラ100の動作モードをデータ転送モードに設定する。デジタルカメラ100の動作モードがデータ転送モードに設定された場合、本フローチャートは、ステップS501からステップS502に進む。
ステップS502において、CPU101は姿勢検知部109にデジタルカメラ100の姿勢情報を返すように指示を出す。例えば、デジタルカメラ100の筐体が図4−(b)に示すような姿勢である場合、CPU101は、姿勢検知部109からデジタルカメラ100の筐体の底面情報としてデジタルカメラ100の筐体の底面はA面であるという情報を取得する。CPU101が姿勢検知部109からデジタルカメラ100の筐体の底面情報を取得した場合、本フローチャートは、ステップS502からステップS503に進む。
ステップS503において、CPU101はステップS502において取得したデジタルカメラ100の筐体の底面情報に応じて、デジタルカメラ100の筐体の底面がA面であるか否かを判定する。CPU101によって、デジタルカメラ100の筐体の底面はA面であると判定された場合(S503でYESの場合)、本フローチャートはステップS503からステップS504に進む。CPU101によって、デジタルカメラ100の筐体の底面はA面ではないと判定された場合(S503でNOの場合)、本フローチャートはステップS503からステップS508に進む。
ステップS504において、CPU101はデジタルカメラ100の画像データをPC200に転送するための転送条件を、JPEG方式で圧縮された画像データを転送するための転送モードであるJPEGデータ転送モードに設定する。CPU101によって転送条件がJPEGデータ転送モードに設定された場合、本フローチャートは、ステップS504からステップS505に進む。
ステップS505において、CPU101はPC200にデータの転送を行うためにHTTP(HyperText Transfer Protocol)等の通信プロトコルに応じて、無線通信を確立する無線通信処理を開始する。なお、HTTPはRFP(Request For Comment)2616やRFC 1945によって規定されている通信プロトコルである。なお、通信プロトコルはHTTP以外にもFTP(File Transfer Protocol)やMTP(Media Transfer Protocol)等のファイル転送に関わる通信プロトコルであっても良い。
CPU101はPC200に無線通信の接続を要求する通信確立要求信号を生成し、通信部104に通信確立要求信号をPC200に送信するように制御する。PC200がデジタルカメラ100からの通信確立要求信号を受信し、デジタルカメラ100と無線通信が確立できる状態である場合、デジタルカメラ100と無線通信を行うための通信確立応答信号をデジタルカメラ100に送信する。
そこで、ステップS506において、第2の判定として、CPU101は、無線通信が確立できる状態であるか否かを判定するため、通信部104が通信確立応答信号を受信したか否か監視を行う。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S506でYESの場合)、無線通信が確立したと判定し、本フローチャートはステップS506からステップS507に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S506でNOの場合)、無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS507において、記録部103にJPEG方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は記録媒体103aに記録された各種のデータの中から、JPEG方式の圧縮方式によって圧縮された静止画データを読み出して通信部104に出力する。CPU101は出力されたデータの転送を通信部104に行わせるように制御する。通信部104はCPU101によって供給されたJPEG方式の静止画データをPC200に転送し、本フローチャートは終了する。
ステップS508において、CPU101はステップS502において取得したデジタルカメラ100の筐体の底面情報に応じて、デジタルカメラ100の筐体の底面がB面であるか否かを判定する。CPU101によって、デジタルカメラ100の筐体の底面はB面であると判定された場合(S508でYESの場合)、本フローチャートはステップS508からステップS509に進む。CPU101によって、デジタルカメラ100の筐体の底面はB面ではないと判定された場合(S508でNOの場合)、本フローチャートはステップS508からステップS513に進む。
ステップS509において、CPU101は転送条件を、RAW方式で圧縮された画像データを転送するためのRAWデータ転送モードに設定する。CPU101によって転送条件がRAWデータ転送モードに設定された場合、本フローチャートは、ステップS509からステップS510に進む。
ステップS510において、CPU101はステップS505で行われる処理と同様に通信部104とPC200との無線通信を確立するための無線通信処理を実行する。CPU101によって無線通信処理が実行された場合、本フローチャートは、ステップS510からステップS511に進む。
ステップS511において、CPU101はステップS506で行われる処理と同様に無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S511でYESの場合)、無線通信が確立したと判定し、本フローチャートはステップS511からステップS512に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S511でNOの場合)、無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS512において、記録部103にRAW方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は記録媒体103aに記録された各種のデータの中から、RAW方式の圧縮方式によって圧縮された静止画データを読み出して通信部104に出力する。通信部104はCPU101によって供給されたRAW方式の静止画データをPC200に転送し、本フローチャートは終了する。
ステップS513において、CPU101はステップS502において取得したデジタルカメラ100の筐体の底面情報に応じて、デジタルカメラ100の筐体の底面がC面であるか否かを判定する。CPU101によって、デジタルカメラ100の筐体の底面はC面であると判定された場合(S513でYESの場合)、本フローチャートはステップS513からステップS514に進む。CPU101によって、デジタルカメラ100の筐体の底面はC面ではないと判定された場合(S513でNOの場合)、本フローチャートはステップS513からステップS518に進む。
ステップS514において、CPU101は転送条件を、sRAW方式で圧縮された画像データを転送するためのsRAWデータ転送モードに設定する。CPU101によって転送条件がRAWデータ転送モードに設定された場合、本フローチャートは、ステップS514からステップS515に進む。
ステップS515において、CPU101はステップS505で行われる処理と同様に通信部104とPC200との無線通信を確立するための無線通信処理を実行する。CPU101によって無線通信処理が実行された場合、本フローチャートは、ステップS515からステップS516に進む。
ステップS516において、CPU101はステップS506で行われる処理と同様に無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S516でYESの場合)、無線通信が確立したと判定し、本フローチャートはステップS516からステップS517に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S516でNOの場合)、無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS517において、記録部103にsRAW方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は記録媒体103aに記録された各種のデータの中から、sRAW方式の圧縮方式によって圧縮された静止画データを読み出して通信部104に出力する。通信部104はCPU101によって供給されたsRAW方式の静止画データをPC200に転送し、本フローチャートは終了する。
ステップS518において、CPU101はステップS502において取得した底面情報に応じて、デジタルカメラ100の筐体の底面がD面であるか否かを判定する。CPU101によって、デジタルカメラ100の筐体の底面はD面であると判定された場合(S518でYESの場合)、本フローチャートはステップS518からステップS519に進む。CPU101によって、デジタルカメラ100の筐体の底面はD面ではないと判定された場合(S518でNOの場合)、本フローチャートはステップS518からステップS523に進む。
ステップS519において、CPU101は転送条件を、motionJPEG方式で圧縮された画像データを転送するためのmotionJPEGデータ転送モードに設定する。CPU101によって転送条件がmotionJPEGデータ転送モードに設定された場合、本フローチャートは、ステップS519からステップS520に進む。
ステップS520において、CPU101はステップS505で行われる処理と同様にPC200にデータの転送を行うために通信部104とPC200との無線通信を確立するための無線通信処理を実行する。CPU101によって無線通信処理が実行された場合、本フローチャートは、ステップS520からステップS521に進む。
ステップS521において、CPU101はステップS506で行われる処理と同様に無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S521でYESの場合)、無線通信が確立したと判定し、本フローチャートはステップS521からステップS522に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S521でNOの場合)、無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS522において、記録部103にmotionJPEG方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は記録媒体103aに記録された各種のデータの中から、motionJPEG方式の圧縮方式によって圧縮された動画データを読み出して通信部104に出力する。通信部104はCPU101によって供給されたmotionJPEG方式の動画データをPC200に転送し、本フローチャートは終了する。
ステップS523において、CPU101はステップS502において取得した底面情報に応じて、デジタルカメラ100の筐体の底面がE面であるか否かを判定する。CPU101によって、デジタルカメラ100の筐体の底面はE面であると判定された場合(S523でYESの場合)、本フローチャートはステップS523からステップS524に進む。CPU101によって、デジタルカメラ100の筐体の底面はE面ではないと判定された場合(S523でNOの場合)、本フローチャートはステップS523からステップS528に進む。
ステップS524において、CPU101は転送条件を、H264方式で圧縮された画像データを転送するためのH264データ転送モードに設定する。CPU101によって転送条件がH264データ転送モードに設定された場合、本フローチャートは、ステップS524からステップS525に進む。
ステップS525において、CPU101はステップS505で行われる処理と同様にPC200にデータの転送を行うために通信部104とPC200との無線通信を確立するための無線通信処理を実行する。CPU101によって通信処理が実行された場合、本フローチャートは、ステップS525からステップS526に進む。
ステップS526において、CPU101はステップS506で行われる処理と同様に無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S526でYESの場合)、無線通信が確立したと判定し、本フローチャートはステップS526からステップS527に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S526でNOの場合)、無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS527において、記録部103にH264方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は記録媒体に記録された各種のデータの中から、H264方式の圧縮方式によって圧縮された動画データを読み出して通信部104に出力する。通信部104はCPU101によって供給されたH264方式の動画データをPC200に転送し、本フローチャートは終了する。
CPU101によって、デジタルカメラ100の筐体の底面がA面、B面、C面、D面及びE面のいずれでもないと判定された場合(S523でNOの場合)、CPU101によってデジタルカメラ100の筐体の底面はF面であると判定される。そして、ステップS528において、CPU101は転送条件を、全静止画データ、全動画データを含む全画像データを転送するための全データ転送モードに設定する。CPU101によって転送条件が全データ転送モードに設定された場合、本フローチャートは、ステップS528からステップS529に進む。
ステップS529において、CPU101はステップS505で行われる処理と同様にPC200にデータの転送を行うために通信部104とPC200との無線通信を確立するための無線通信処理を実行する。CPU101によって無線通信処理が実行された場合、本フローチャートは、ステップS529からステップS530に進む。
ステップS530において、CPU101はステップS506で行われる処理と同様に無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S530でYESの場合)、無線通信が確立したと判定し、本フローチャートはステップS530からステップS531に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S530でNOの場合)、無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS531において、CPU101は記録部103に全画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から全静止画データ、全動画データを読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給された全画像データをPC200に転送し、本フローチャートは終了する。
以上説明したように、本実施形態においては、デジタルカメラ100の筐体情報を検知して、デジタルカメラ100の筐体の底面に応じて送信する画像データを自動的に選択している。そして、選択した画像データを送信している。
そのため、ユーザは複雑なデータの転送条件の設定を行う必要もなく、デジタルカメラ100は設置された姿勢のまま、デジタルカメラ100の筐体の底面情報に応じた画像データの設定がされて、デジタルカメラ100からPC200にデータが送信される。
また、実施形態1に係るデジタルカメラ100は、PC200に送信する画像データの設定を変更する場合、スイッチ等の操作を行うことなくデジタルカメラ100の筐体の姿勢を変更するだけで、画像データの転送条件の設定を変更することができる。それによって、ユーザにとってわかりやすい操作で簡単に画像データの転送条件の変更を行うことができる。
このように、ユーザは画像データ送信の際、複雑なデータの条件設定や圧縮方式の設定を行うことなく、データの転送を行う際にユーザが行う操作の軽減を図ることができ、デジタルカメラ100の操作性を向上させることが可能となる。
なお、デジタルカメラ100の筐体の各面をJPEG方式等の圧縮方式による画像データと対応付けて説明したが、未転送の画像データ、ユーザに選択された画像データ、壁紙用データ等のデータ等を対応付けてデータの転送を行っても良い。
また、デジタルカメラ100の筐体の各面と対応付けられる画像データの設定は、データ転送に関する設定を変更するためのメニュー画面を表示部106に表示させ、操作部105のボタンやスイッチ等によって操作を行うことで、任意に変更することができる。
これ以外にも、特定の面が底面のときにだけ、特定の面と転送条件を対応付けて画像データの転送を行えるようにし、特定の面以外の面が底面の場合、画像データの転送を行わないようしてもいい。なお、デジタルカメラ100の筐体の底面とデータの圧縮方式を対応付けたが、データの圧縮方式以外に、動画データ、静止画データ、音声データ等を対応付けるようにしても良い。
例えば、デジタルカメラ100の筐体のC面が底面である場合、通信部104によって全静止画データがPC200に送信され、デジタルカメラ100の筐体のF面が底面である場合、通信部104によって全動画データがPC200に送信されるようにしても良い。
なお、実施形態1において、デジタルカメラ100とPC200は無線通信によってデータ転送を行っていたが、必ずしも無線通信によるデータ転送である必要はなく、有線通信によって双方向にデータ通信を可能とするものであっても良い。例えば、USBやIEEE1394を通信部104に適用してデジタルカメラ100とPC200とが通信を行うようにしてもよい。また、これに限らず、RS232CやP1284、SCSI、モデムなどを通信部104に適用してもよい。
また、姿勢検知部109の立方体の底面を検知する以外にデジタルカメラ100の筐体の底面を検知する方法として、傾斜センサやガラス管の中に水銀が封入されて密閉された構造を持つ水銀スイッチ、縦横センサ等を用いて底面を検知する方法であっても良い。
また、姿勢検知部109はデジタルカメラ100の筐体において、下の方向を向いている底面を検知する以外に、姿勢検知部109がデジタルカメラ100の筐体の底面と平行の面で、上の方向を向いている上面を検知するようにしても良い。その場合、データ転送をデジタルカメラ100の筐体の上面情報に対応付けて行っても良い。
なお、デジタルカメラ100が傾いた状態で設置される等によって、デジタルカメラ100の筐体の底面が安定しない場合、デジタルカメラ100は上述の処理を行わないものとする。また、デジタルカメラ100によってデータの転送が開始された後、デジタルカメラ100の筐体の底面が変えられたとしても、選択されたデータの転送は続行するものとする。
[実施形態2]
次に、図6から図8を参照し、本発明の実施形態2に係るデジタルカメラ100で行われる処理を説明する。実施形態2では、実施形態1と共通する部分についてはその説明を省略し、実施形態1と異なる部分を説明する。
実施形態2に係る通信システムは、図6に示すように、デジタルカメラ100とPC200との他に近接通信装置400を有する。デジタルカメラ100と近接通信装置400は、近接無線通信によって通信を可能として、PC200と近接通信装置400は、有線通信によって通信を可能としている。これによって、デジタルカメラ100とPC200は近接通信装置400を介して通信することができる。実施形態2に係る近接無線通信システムにおいて、デジタルカメラ100の通信部104と近接通信装置400とが所定の有効通信距離以内に存在する場合に通信可能である。
近接無線通信とは、有効通信距離が1m未満、特には数10cm未満であることを想定して規定された通信プロトコルに基づく無線通信を意味するものとする。
また、デジタルカメラ100と近接通信装置400とは、近接無線によって通信が可能になる近接無線モジュールをそれぞれ有し、アンテナを介し、有効通信距離が約10cm未満の「近接型」非接触通信プロトコルに従って、近接無線通信を行う。なお、本実施形態では、一例として、近接無線通信によってデータ転送を行う場合、安定してデータの転送を行うことができる有効通信距離を3cm以内として説明を行う。このような通信プロトコルとして、具体的には、ISO/IEC 15693、ISO/IEC 14434、ECMA−340 (ISO/IEC 18092)等によって規定されている規格が存在する。
図7は、本発明の実施形態2に係るデジタルカメラ100と近接通信装置400の一例を示すブロック図である。
<デジタルカメラ100>
実施形態2の通信部104は、近接無線通信を行う為の通信インターフェースであり、デジタルカメラ100と近接通信装置400とが近接無線通信が可能とするためのアンテナ104b及び近接無線モジュール104cを内蔵している。
通信部104が近接通信装置400と有効通信距離以内で近接することにより、近接通信装置400のアンテナ403aと通信部104に内蔵されているアンテナ104bとの通信距離が3cm以内になると、一定以上の誘導起電力が発生する。近接無線モジュール104cは発生した起電力によってアンテナ104bに流れる電流を検知することができる。そのため、CPU101は近接無線モジュール104cに検知される電流を監視することによって、デジタルカメラ100と近接通信装置400とが近接無線通信を行えるか否かを判定することができる。CPU101によって、近接無線通信が行えると判定された場合、通信部104は近接通信装置400と非接触による近接無線通信を開始する。
なお、近接通信装置400はPC200と接続されることにより、デジタルカメラ100内の静止画データ、動画データをPC200に転送することが可能になる。姿勢検知部109は、実施形態1と同様にデジタルカメラ100の姿勢情報としてデジタルカメラ100の筐体の底面情報を返すものとする。
<近接通信装置400>
近接通信装置400は、図7に示すように、CPU401、メモリ402、通信部403を有する。
CPU401は、メモリ402に記憶されているコンピュータプログラムに従って、各部への制御や、各部から得られる情報に応じて演算処理を行う。CPU401は、デジタルカメラ100から通信部403を介して、得られた情報をメモリ402に記憶し、また、PC200から通信部403を介して、得られたPC200に関する情報をメモリ402に記憶する。なお、CPU401のワークエリアは、メモリ402に限られるものではなく、ハードディスク装置等の外部記録装置であってもよい。
メモリ402は、CPU401のワークエリアとして機能するメモリであり、CPU401で使用される様々な値、データ及び情報を記憶するメモリでもある。メモリ402に記憶される情報には、近接通信装置400を制御するコンピュータプログラム等がある。また、メモリ402は静止画データ、動画データを一時的に保存しておくことが可能である。
通信部403は、アンテナ403a及び近接無線モジュール403bを内蔵している。アンテナ403aには、デジタルカメラ100のアンテナ104bとの通信距離が3cm以内で近接する場合、誘導起電力が発生する。
近接無線モジュール403bはこの起電力によってアンテナ403aに流れる電流を検知することができる。第1の判定として、CPU401は近接無線モジュール403bによって検知される電流を監視することによって、デジタルカメラ100及び近接通信装置400間で近接無線通信を行えるか否かを判定する。CPU401によって、デジタルカメラ100と近接通信装置400とが近接無線通信が行えると判定された場合、デジタルカメラ100と近接通信装置400とは非接触による通信を開始する。
また、通信部403はUSBケーブルやIEEE1394に準拠しており、PC200と有線によって通信を行う。CPU401からPC200にデータ転送の指示をされた場合、メモリ402に格納された画像データや音声データ、CPU401で生成された補助データ等を通信部403に送出し、PC200に転送する。また、通信部403はデジタルカメラ100から近接無線通信によって受信した画像データや音声データ、補助データ等をPC200に有線通信によって送信する。
通信部403でデジタルカメラ100またはPC200からデータを受信した場合、通信部403は補助データをCPU401に供給し、CPU401は受信したデータをメモリ402に読み込むための処理を制御する。
<デジタルカメラ100がデータ転送モードのときの動作>
次に、図6から図8を参照し、近接無線通信システムにおいて、実施形態2に係るデジタルカメラ100で行われる処理を説明する。図8は実施形態2に係るデジタルカメラ100で行われる処理の一例を示すフローチャートである。図8のフローチャートが示す処理は、デジタルカメラ100が電源オン状態であって、ユーザによりデジタルカメラ100のデータ転送モードボタン304が押下されたときに実行される処理である。
図8に示すフローチャートは、実施形態1の図5に示すフローチャートの処理と同様の処理を行う箇所ついては、図5の処理と同じ番号を付し、説明を省略する。
なお、デジタルカメラ100の筐体の各面と転送するデータの種類は、第1の実施形態と同様とし、デジタルカメラ100の筐体の底面を検出すると、検出したデジタルカメラ100の筐体の底面に対応した種類のデータを自動的に選択して転送するものとする。
ステップS801において、CPU101は近接無線モジュール104cによって検知されるアンテナ104bに流れる電流によって、近接通信装置400と通信部104との近接無線通信が可能であるか否かを判定する。CPU101によって近接無線通信が可能であると判定された場合(S801でYESの場合)、本フローチャートはステップS801からステップS503に進み、デジタルカメラ100の底面の判定を行う。CPU101によって近接無線通信が可能ではないと判定された場合、CPU101は表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合(S801でNOの場合)、本フローチャートは終了する。
ステップS505で転送条件がJPEGデータ転送モードに設定された場合、ステップS802において、CPU101は近接通信装置400にデータ転送を行うため通信部104と近接通信装置400との近接無線通信を確立する近接無線通信処理を開始する。CPU101は近接通信装置400に近接無線通信を要求する通信確立要求信号を生成し、通信部104に通信確立要求信号を近接通信装置400に送信するように制御する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS802からステップS803に進む。
ステップS803において、CPU101は近接無線通信が確立したか否かを判定するため、通信部104が通信確立応答信号を受信したか監視する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S803でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS803からステップS804に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S803でNOの場合)、近接無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS804において、記録部103にJPEG方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は記録媒体103aに記録された各種のデータの中から、JPEG方式の圧縮方式によって圧縮された静止画データを読み出して通信部104に出力する。CPU101は出力されたデータの転送を通信部104に行わせるように制御する。通信部104はCPU101によって供給されたJPEG方式の静止画データを近接通信装置400に転送する。近接通信装置400はデジタルカメラ100から転送されたJPEG方式の静止画データをPC200にUSBケーブルを介して転送する。これによって、デジタルカメラ100は近接通信装置400を介してPC200に画像データを送信することができる。通信部104によって、JPEG方式の静止画データが近接通信装置400に転送された場合、本フローチャートは終了する。
ステップS510で転送条件がRAWデータ転送モードに設定された場合、ステップS805において、CPU101はステップS802で行われる処理と同様に近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS805からステップS806に進む。
ステップS806において、CPU101はステップS803で行われる処理と同様に近接無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S806でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS806からステップS807に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S806でNOの場合)、近接無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS807において、CPU101は記録部103にRAW方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から、RAW方式の圧縮方式によって圧縮された静止画データを読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給されたRAW方式の静止画データをPC200に近接通信装置400を介して転送し、本フローチャートは終了する。
ステップS515で転送条件がsRAWデータ転送モードに設定された場合、ステップS808において、CPU101はステップS802で行われる処理と同様に近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS808からステップS809に進む。
ステップS809において、CPU101はステップS803で行われる処理と同様に近接無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S809でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS809からステップS810に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S809でNOの場合)、近接無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS810において、CPU101は記録部103にsRAW方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から、sRAW方式の圧縮方式によって圧縮された動画データを読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給されたsRAW方式の動画データをPC200に近接通信装置400を介して転送し、本フローチャートは終了する。
ステップS520で転送条件がmotionJPEGデータ転送モードに設定された場合、ステップS811において、CPU101はステップS802で行われる処理と同様に近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS811からステップS812に進む。
ステップS812において、CPU101はステップS803で行われる処理と同様に近接無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S812でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS812からステップS813に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S812でNOの場合)、近接無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS813において、CPU101は記録部103にmotionJPEG方式の圧縮方式によって圧縮された画像データを読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から、motionJPEG方式の圧縮方式によって圧縮された動画データを読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給されたmotionJPEG方式の動画データをPC200に近接通信装置400を介して転送し、本フローチャートは終了する。
ステップS520で、転送条件がmotionJPEGデータ転送モードに設定された場合、ステップS811において、CPU101はステップS802で行われる処理と同様に近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS811からステップS812に進む。
デジタルカメラ100の筐体の底面がA面、B面、C面及びD面のいずれでもないと判定された場合(S519でNOの場合)、ステップS524において、CPU101によってデジタルカメラ100の底面がE面であるか否か判定される。ステップS524おいて、CPU101に、デジタルカメラ100の筐体の底面がE面であると判定された場合(S524でYESの場合)、本フローチャートはステップS524からステップS814に進む。CPU101によって、デジタルカメラ100の筐体の底面はE面ではないと判定された場合(S524でNOの場合)、本フローチャートはステップS524からステップS529に進む。
本実施形態において、デジタルカメラ100の通信部104は図6に示したようにデジタルカメラ100の筐体のB面の近傍に設置されたアンテナ104bもデジタルカメラ100における固定の位置に設置される。近接通信装置400の通信部403に内蔵されたアンテナ403aも同様に近接通信装置400における固定の位置に設置されているため、デジタルカメラ100の姿勢に応じて、アンテナ104bとアンテナ403aとの通信距離が変わる。即ち、デジタルカメラ100の筐体のB面が底面の場合に比べ、デジタルカメラ100の筐体のE面が底面の場合、アンテナ104bとアンテナ403aの距離が遠くなる。デジタルカメラ100の筐体の底面がE面の場合、デジタルカメラ100が少しでも動いてしまうと、アンテナ104bとアンテナ403aとの距離が3cmより離れてしまう可能性がある。
ステップS524において、デジタルカメラ100の筐体の底面が通信部104の設置されたB面と平行であるE面であると判定された場合、アンテナ104bとアンテナ403aとの通信距離が3cmより離れる可能性がある。アンテナ104bとアンテナ403aとの通信距離が3cmより離れると、アンテナ104bとアンテナ403aとの間に発生する誘導起電力が減少し、ほとんど検知できなくなりアンテナ104bとアンテナ403aとの通信状態が悪くなる。アンテナ104bとアンテナ403aとの通信状態が悪くなったとしても、デジタルカメラ100と近接通信装置400とは近接無線通信の通信プロトコルに従って、近接無線通信の通信状態に応じて最適なデータの転送速度を選択するように動作する。
そのため、アンテナ104bとアンテナ403aとの距離が3cmより離れた場合であっても、CPU101は近接無線通信を維持するためにデータの転送速度を落とすように自動的に制御する。デジタルカメラ100及び近接通信装置400は近接通信を維持しながら、データの転送速度を調節するため、デジタルカメラ100から近接通信装置400に画像データの転送を行った場合、画像データのデータ量が大きいほど転送に長い時間が掛かってしまう。このように、データの転送に長く時間が掛かると、ユーザにとって、画像データの転送が正しく行われているのか、近接無線通信自体ができなくなってしまったのかを判断するのが難しかった。
データの転送速度が極端に落ちてしまったとしても、ユーザにデータの転送が行われていることを認識させるため、データの転送に時間の掛かる画像データよりもデータの転送に時間の掛からないデータ容量の小さいデータを転送する必要がある。そこで、ステップS814において、CPU101は転送条件を、画像データよりもデータ容量の小さいデータであるデジタルカメラ100の設定情報を転送するための設定情報転送モードに設定する。なお、デジタルカメラ100の設定情報とは、例えば、デジタルカメラ100のIDや記録部103に記録されている画像データのサムネイル画像や画像データのファイル情報、撮影パラメータの情報、時刻情報等の情報である。CPU101によって転送条件が設定情報転送モードに設定された場合、本フローチャートは、ステップS814からステップS815に進む。
ステップS815において、CPU101はステップS802で行われる処理と同様に近接通信装置400にデータの転送を行うために通信部104と近接通信装置400との近接無線通信を確立するための近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS815からステップS816に進む。
ステップS816において、CPU101はステップS803で行われる処理と同様に近接無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S816でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS816からステップS817に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S816でNOの場合)、近接無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS817において、CPU101は記録部103にデジタルカメラ100の設定情報を読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から、デジタルカメラ100の設定情報を読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給されたデジタルカメラ100の設定情報をPC200に近接通信装置400を介して転送し、本フローチャートは終了する。
ステップS529で、CPU101によって転送条件が全データ転送モードに設定された場合、ステップS818において、CPU101はステップS802で行われる処理と同様に近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS818からステップS819に進む。
ステップS819において、CPU101はステップS803で行われる処理と同様に近接無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S819でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS819からステップS820に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S819でNOの場合)、近接無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS820において、CPU101は記録部103に全静止画データ、全動画データを読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から、全画像データを読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給された全画像データをPC200に近接通信装置400を介して転送し、本フローチャートは終了する。
これによって、データ転送の際にユーザが行う操作の軽減を図ると共に、ユーザに負担をかけないデータ転送をスムーズに行うことができる。
また、実施形態2に係るデジタルカメラ100は、実施形態1と同様にデジタルカメラ100の筐体の底面情報に関連付けてデータの転送処理を行うので、近接無線通信システムにおいて、実施形態1と同様の利点を得ることもできる。
また、実施形態1と同様にデジタルカメラ100の筐体の底面情報を全画像データ、未転送の画像データ、ユーザに選択された画像データ、壁紙用データ等のデータを転送するためのモード等に対応付けて画像データの転送を行っても良い。
[実施形態3]
次に、図9から図14を参照し、本発明の実施形態3に係るデジタルカメラで行われる処理を説明する。実施形態3では、実施形態1及び2と共通する部分についてはその説明を省略し、実施形態1及び2と異なる部分を説明する。実施形態3は実施形態2に係る近接無線通信システムと同様に近接無線伝送技術を用いたシステムである。
実施形態3に係るデジタルカメラ100は、実施形態2と同一の近接無線通信システムにおいて、デジタルカメラ100の姿勢情報である、近接通信装置400に対するデジタルカメラ100の相対角度を示す情報に応じて送信する画像データを自動的に選択する。なお、デジタルカメラ100は、デジタルカメラ100の姿勢情報であるデジタルカメラ100の相対角度情報を、デジタルカメラ100の角度を示す角度情報及び近接通信装置400の近接通信装置400の角度を示す角度情報に基づいて取得することができる。
デジタルカメラ100と近接通信装置400のブロック図の一例を図9に示す。
<デジタルカメラ100>
実施形態3のCPU101は、近接通信装置400から近接通信装置400の角度情報を取得するように通信部104を制御し、近接通信装置400から角度情報を取得することができる。
また、CPU101は、姿勢検知部109からデジタルカメラ100の角度情報を取得し、通信部104から供給される近接通信装置400の角度情報と共に、メモリ102に格納し、二つの角度情報の差分を算出する。CPU101に算出された角度情報の差分からデジタルカメラ100の姿勢情報として、デジタルカメラ100が近接通信装置400に対してどの角度であるかを示すデジタルカメラ100の相対角度の情報を取得することができる。
姿勢検知部109はデジタルカメラ100の角度情報を検知するために図10(a)に示すように方位磁石を含んでいる。図10の方位磁石の指針が指し示すN極の向き(磁北)が0度となる方向を基準方向と定義して、方位磁石の基準方向が図10(b)に示すようにデジタルカメラ100のレンズ307から光が入ってくる方向をとなるように方位磁石は設置されている。このため、姿勢検知部109は、基準方向と方位磁石の指針との角度の差分を検知することによって、基準方向に対して、図10(c)に示す方位磁石の指針がどの角度の方向を示しているのかを知ることができる。姿勢検知部109によって検出される方位磁石の指針と基準方向との角度の差分にデジタルカメラ100の角度を対応付けることで、姿勢検知部109は方位磁石の指針と基準方向との角度の差分をデジタルカメラ100の角度情報として取得することができる。
また、姿勢検知部109は、CPU101からの要求に応じて、姿勢検知部109はデジタルカメラ100の角度情報をCPU101に出力することができる。
<近接通信装置400>
近接通信装置400は姿勢検知部109と同様に、近接通信装置400の角度情報を取得するために方位磁石を含む姿勢検知部404を有する。姿勢検知部404はデジタルカメラ100と同様の方法によって、近接通信装置400も自身の角度情報を常に検知することができる。なお、姿勢検知部404の方位磁石の基準方向は近接通信装置400に応じて任意である。
また、姿勢検知部404はCPU401からの要求に応じて、取得した近接通信装置400の角度情報をCPU401に出力することができる。
<デジタルカメラ100の相対角度情報を取得するための姿勢情報取得処理>
実施形態3に係る近接無線通信システムにおいて、デジタルカメラ100の姿勢情報であるデジタルカメラ100の相対角度を取得するための姿勢情報取得処理について、以下説明する。
図11には、デジタルカメラ100と近接通信装置400とを設置した場合の一例を示す。
図12に示すフローチャートに従ってCPU101が実行する姿勢情報取得処理について、説明していく。
ステップS1201において、CPU101は姿勢検知部109に指示を出し、姿勢検知部109によって検知されたデジタルカメラ100の角度情報を取得する。例えば、図11に示すような場合では、CPU101はデジタルカメラ100の角度情報として、315度という情報を取得する。CPU101は姿勢検知部109から角度情報を取得した場合、本フローチャートはステップ1201からステップS1202に進む。
ステップ1202において、CPU101は近接無線通信によって近接通信装置400の角度情報を取得するために近接通信装置400の角度情報要求する角度情報要求信号を送信するように通信部104を制御する。通信部104によって角度情報要求信号が送信された場合、本フローチャートはステップS1202からステップS1203に進む。
デジタルカメラ100から角度情報要求信号を通信部403が受信した場合、CPU401は姿勢検知部404に指示を出し、姿勢検知部404によって検知された近接通信装置400の角度情報を取得する。CPU401は取得した近接通信装置400の角度情報が、例えば図11に示したような場合では、近接通信装置400の角度情報として、45度という情報を取得する。CPU401は取得した近接通信装置400の角度情報を通信部403に出力し、近接通信装置400の角度情報をデジタルカメラ100に送信するように通信部403を制御する。
そのため、ステップS1203において、CPU101は、通信部104が近接通信装置400から近接通信装置400の角度情報を受信したか否かを監視する。CPU101によって通信部104が近接通信装置400の角度情報を受信したと判定された場合(S1203でYESの場合)、本フローチャートはステップS1203からステップS1204に進む。CPU101によって通信部104が近接通信装置400の角度情報を受信しなかったと判定された場合(S1203でNOの場合)、本フローチャートはステップS1203からステップS1203に戻る。
ステップS1204において、CPU101はステップS1201で取得したデジタルカメラ100の角度情報とステップS1203で取得した近接通信装置400の角度情報との二つの角度情報の差分を算出する。図11に示したような場合では、デジタルカメラ100の角度情報と近接通信装置400の角度情報との角度情報の差分は、270度となる。CPU101は算出した結果から、デジタルカメラ100の相対角度が270度であることを示す相対角度情報を検知することができる。
<デジタルカメラ100がデータ転送モードのときの動作>
次に、図9から図14を参照し、近接無線通信システムにおいて、実施形態3に係るデジタルカメラ100で行われる処理を説明する。図13は実施形態3に係るデジタルカメラ100で行われる処理の一例を示すフローチャートである。図13のフローチャートが示す処理は、デジタルカメラ100が電源オン状態であって、ユーザによりデジタルカメラ100のデータ転送モードボタン304が押下されたときに実行される処理である。図13に示すフローチャートは、実施形態1の図5に示すフローチャートの処理と同様の処理を行う箇所については、図5の処理と同じ番号を付し、説明を省略する。また、実施形態2の図8に示すフローチャートの処理と同様の処理を行う箇所については、図8の処理と同じ番号を付し、説明を省略する。
ステップS801で近接通信が可能であると判定された場合(S801でYESの場合)、ステップS1301において、CPU101は図12に示したデジタルカメラ100の相対角度情報を取得するための姿勢情報取得処理を行う。CPU101が姿勢情報取得処理を実行し、デジタルカメラ100の姿勢情報を取得した場合、本フローチャートはステップS1301からステップS1302に進む。
ステップS1302において、CPU101はステップS1301で取得されたデジタルカメラ100の相対角度情報に応じて、デジタルカメラ100の相対角度が0〜44度の範囲にあるか否かを判定する。CPU101によってデジタルカメラ100の相対角度が0〜44度の範囲にあると判定された場合(S1302でYESの場合)、本フローチャートはステップS1302からステップS505に進む。CPU101によって、デジタルカメラ100の相対角度が0〜44度の範囲にないと判定された場合(S1302でNOの場合)、本フローチャートはステップS1302からステップS1303に進む。
ステップS1303において、CPU101はステップS1301で取得されたデジタルカメラ100の相対角度情報に応じて、デジタルカメラ100の相対角度が45〜89度の範囲にあるか否かを判定する。CPU101によって、デジタルカメラ100の相対角度が45〜89度の範囲にあると判定された場合(S1303でYESの場合)、本フローチャートはステップS1303からステップS510に進む。CPU101によって、デジタルカメラ100の相対角度が45〜89度の範囲にないと判定された場合(S1303でNOの場合)、本フローチャートはステップS1303からステップS1304に進む。
ステップS1304において、CPU101はステップS1301で取得されたデジタルカメラ100の相対角度情報に応じて、デジタルカメラ100の相対角度が90〜134度の範囲にあるか否かを判定する。CPU101によってデジタルカメラ100の相対角度が90〜134度の範囲にあると判定された場合(S1304でYESの場合)、本フローチャートはステップS1304からステップS515に進む。CPU101によって、デジタルカメラ100の相対角度が90〜134度の範囲にないと判定された場合(S1304でNOの場合)、本フローチャートはステップS1304からステップS1305に進む。
ステップS1305において、CPU101はステップS1301で取得されたデジタルカメラ100の相対角度情報に応じて、デジタルカメラ100の相対角度が135〜179度の範囲にあるか否かを判定する。CPU101によって、デジタルカメラ100の相対角度が135〜179度の範囲にあると判定された場合(S1305でYESの場合)、本フローチャートはステップS1305からステップS520に進む。CPU101によって、デジタルカメラ100の相対角度が135〜179度の範囲にないと判定された場合(S1305でNOの場合)、本フローチャートはステップS1305からステップS1306に進む。
ステップS1306において、CPU101はステップS1301で取得されたデジタルカメラ100の相対角度情報に応じて、デジタルカメラ100の相対角度が180〜224度の範囲にあるか否かを判定する。CPU101によってデジタルカメラ100の相対角度が180〜224度の範囲にあると判定された場合(S1306でYESの場合)、本フローチャートはステップS1306からステップS525に進む。CPU101によって、デジタルカメラ100の相対角度が180〜224度の範囲にないと判定された場合(S1306でNOの場合)、本フローチャートはステップS1306からステップS1307に進む。
ステップS1307において、CPU101はステップS1301で取得されたデジタルカメラ100の相対角度情報に応じて、デジタルカメラ100の相対角度が225〜269度の範囲にあるか否かを判定する。CPU101によって、デジタルカメラ100の相対角度が225〜269度の範囲にあると判定された場合(S1307でYESの場合)、本フローチャートはステップS1307からステップS1308に進む。CPU101によって、デジタルカメラ100の相対角度が225〜269度の範囲にないと判定した場合(S1307でNOの場合)、本フローチャートはステップS1307からステップS1312に進む。
ステップS1308において、CPU101は転送条件を、全静止画データを転送するための全静止画転送モードに設定する。CPU101によって転送条件が全静止画転送モードに設定された場合、本フローチャートは、ステップS1308からステップS1309に進む。
ステップS1309において、CPU101はステップS802で行われる処理と同様に近接通信装置400にデータの転送を行うために通信部104と近接通信装置400との近接無線通信を確立するための近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS1309からステップS1310に進む。
ステップS1310において、CPU101はステップS803で行われる処理と同様に近接無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S1310でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS1310からステップS1311に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S1310でNOの場合)、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、近接無線通信が確立していないと判定し、本フローチャートは終了する。
ステップS1311において、CPU101は記録部103に全静止画データを読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から、全静止画データを読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給された全静止画データをPC200に近接通信装置400を介して転送し、本フローチャートは終了する。
ステップS1312において、CPU101はステップS1301で取得されたデジタルカメラ100の相対角度情報に応じて、デジタルカメラ100の相対角度が270〜314度の範囲にあるか否かを判定する。CPU101によって、デジタルカメラ100の相対角度が270〜314度の範囲にあると判定された場合(S1312でYESの場合)、本フローチャートはステップS1312からステップS1313に進む。CPU101によって、デジタルカメラ100の相対角度が270〜314度の範囲にないと判定された場合(S1312でNOの場合)、CPU101によって、デジタルカメラ100の相対角度が315〜359度の範囲にあると判定される。CPU101によって、デジタルカメラ100の相対角度が315〜359度の範囲にあると判定された場合(S1312でNOの場合)、本フローチャートはステップS1312からステップS529に進む。
ステップS1313において、CPU101は転送条件を、全動画データを転送するための全動画転送モードに設定する。CPU101によって転送条件が全動画転送モードに設定された場合、本フローチャートは、ステップS1313からステップS1314に進む。
ステップS1314において、CPU101はステップS802で行われる処理と同様に近接通信装置400にデータの転送を行うために通信部104と近接通信装置400との近接無線通信を確立するための近接無線通信処理を実行する。通信部104によって通信確立要求信号を近接通信装置400に送信された場合、本フローチャートはステップS1314からステップS1315に進む。
ステップS1315において、CPU101はステップS803で行われる処理と同様に近接無線通信が確立できる状態であるか否かを判定する。CPU101は通信部104が通信確立応答信号を受信したと検知した場合(S1315でYESの場合)、近接無線通信が確立したと判定し、本フローチャートはステップS1315からステップS1316に進む。CPU101は通信部104が通信確立応答信号を受信したと検知しなかった場合(S1315でNOの場合)、近接無線通信が確立していないと判定し、表示部106の液晶画面306にデータ転送が行えない旨を表示させるよう制御する。CPU101が表示部106にデータ転送が行えない旨を表示させた場合、本フローチャートは終了する。
ステップS1316において、CPU101は記録部103に全動画データを読み出すように指示を出す。CPU101から指示を受けた記録部103は接続されている記録媒体103aの中から、全動画データを読み出して通信部104に出力する処理を行う。通信部104はCPU101によって供給された全動画データをPC200に近接通信装置400を介して転送し、本フローチャートは終了する。
以上説明したように、近接無線通信システムにおいてデジタルカメラ100はデジタルカメラ100の相対角度情報に対応付けて近接通信装置400に送信する画像データを設定することができる。
そのため、ユーザは複雑なデータの条件設定等の操作を行うこともなく、デジタルカメラ100は設置された向きのまま、相対角度情報に応じた画像データの設定がされて、デジタルカメラ100から近接通信装置400にデータが送信される。
また、近接通信装置400に送信される画像データの設定を変更したい場合は、ユーザはデジタルカメラ100又は近接通信装置400のどちらか一方の向きを変更することによって、近接通信装置400に送信される画像データの設定を変更することができる。
これによって、ユーザは画像データ送信の際、複雑なデータの条件設定や圧縮方式の設定を行うことなく、データの転送を行う際にユーザが行う操作の軽減を図ることができ、デジタルカメラ100の操作性を向上させることが可能となる。
また、実施形態1及び2と同様にデジタルカメラ100の相対角度情報を全画像データ、未転送の画像データ、ユーザに選択された画像データ、壁紙用データ等のデータを転送する転送条件等に対応付けて画像データの転送を行っても良い。
なお、ユーザによってデータ転送モードボタン304が押下された場合、デジタルカメラ100の相対角度と転送条件との対応を示すために液晶画面306に図14に示すような表示500を表示させても良い。
[他の実施形態]
デジタルカメラ100の通信部104は、デジタルカメラ100の動作モードが転送モードに変更された場合、初めに実施形態1から3のいずれか一つの処理を行い、外部装置に送信する画像データの設定を保持し、以後その設定のままデータ転送を行ってもよい。また、デジタルカメラ100の記録部103によって複数の記録媒体に静止画データや動画データを記録している場合は、デジタルカメラ100の筐体の底面や相対角度等の姿勢情報に、データの供給先である各々の記録媒体を対応付けることができる。これによって、デジタルカメラ100の姿勢情報に応じて、転送用データの供給先を指定することや変更することも可能になる。
また、外部装置200の一例としてPC200を挙げたが、プリンタであっても良い。デジタルカメラ100及びプリンタがDPOF(Digital Print Order Format)規格に対応している場合、デジタルカメラ100はDPOFデータをプリンタに送信することにより、PCを介さずに自動的に印刷が行える。このDPOFデータはユーザが選択した画像データを特定する情報、印刷枚数、印刷方法等の印刷指定情報等を持つものである。デジタルカメラ100の動作モードが設定情報転送モードの場合、DPOFデータをプリンタに送信するようにしても良い。
また、デジタルカメラ100とプリンタとがダイレクトプリント規格に対応している場合、デジタルカメラ100によって作成される印刷仕様を姿勢情報に対応付けてプリンタに送信するようにしても良い。姿勢情報に対応付けることができる印刷仕様としては、印刷枚数/印刷品質/用紙サイズ/用紙タイプ/ファイルタイプ/日付印刷/ファイル名印刷/画像最適化/印刷レイアウト等の項目が挙げられる。
実施形態1から3において、デジタルカメラ100とPC200は無線通信によってデータ転送を行っていたが、必ずしも無線によるデータ転送である必要はない。デジタルカメラ100とPC200との両装置間を有線接続してデータ転送を行う場合であってもよい。
実施形態1及び2のように、デジタルカメラ100の姿勢と転送条件を組み合わせた場合、デジタルカメラのどの面が、どの転送条件に対応しているかをユーザは把握しておく必要がある。このような場合、デジタルカメラの液晶画面に、どの面にどういった転送条件が設定されているかを表示することでユーザの転送行為をサポートすることも考えられる。実施形態3のように、デジタルカメラ100の相対角度と転送条件を組み合わせた場合、デジタルカメラの相対角度が、どの転送条件に対応しているかをデジタルカメラの液晶画面に表示してもよい。
本発明に係る通信装置100は、実施形態1から3で説明した通信装置100に限定されるものではない。例えば、本発明に係る通信装置100は、複数の装置から構成されるシステムにより実現することも可能である。
また、実施形態1から3で説明した様々な処理及び機能は、コンピュータプログラムにより実現することも可能である。この場合、本発明に係るコンピュータプログラムは、コンピュータ(CPU等を含む)で実行可能であり、実施形態1から3で説明した様々な機能を実現することになる。本発明に係るコンピュータプログラムは、コンピュータ上で稼動しているOS(Operating System)などを利用して、実施形態1から3で説明した様々な処理及び機能を実現してもよいことは言うまでもない。
本発明に係るコンピュータプログラムは、コンピュータ読取可能な記録媒体から読み出され、コンピュータで実行されることになる。コンピュータ読取可能な記録媒体には、ハードディスク装置、光ディスク、CD−ROM、CD−R、メモリカード、ROM等を用いることができる。また、本発明に係るコンピュータプログラムは、通信インターフェースを介して外部装置からコンピュータに提供され、当該コンピュータで実行されるようにしてもよい。