(58)【調査した分野】(Int.Cl.,DB名)
第1のタッチ操作で前記所定のタッチ操作が行われた後、1箇所もタッチされていない状態となり、その後に行われた第2のタッチ操作が前記第1のタッチ操作の終了から所定時間内であり、当該第2のタッチ操作によるマルチタッチ操作を検出した場合には、前記表示制御手段は、当該第2のタッチ操作による前記所定のタッチ操作を検出していなくとも、当該第2のタッチ操作によるマルチタッチ操作を行う複数のタッチ位置に基づく位置ではなく、前記表示対象の表示範囲の中央の位置を基準として拡大または縮小するように制御することを特徴とする請求項1から12のいずれか1項に記載の表示制御装置。
【発明を実施するための形態】
【0009】
以下に、本発明を実施するための形態について詳細に説明する。本実施形態では、表示制御装置を撮像装置であるデジタル一眼レフカメラに適用した例について説明する。
【0010】
<装置構成>
図1及び
図2を参照して、本実施形態のデジタルカメラの構成及び機能について説明する。
【0011】
まず、
図1を参照して、本実施形態のデジタルカメラ(以下、カメラ)100の外観構成について説明する。
【0012】
図1(a)はカメラ100の前面斜視図であり、
図1(b)はカメラ100の背面斜視図である。
【0013】
図1において、表示部101は、画像や各種情報を表示する、カメラ本体の背面に設けられたLCDなどの表示デバイスである。また、表示部101は、静止画撮影後の静止画再生や記録中の動画表示、及びライブビュー表示機能を併せ持っている。シャッターボタン102は撮影指示を行うための押しボタン式の操作部材である。モードダイヤル103はカメラ100の動作モードを切り替えるための回転式の操作部材である。メインダイヤル104は、シャッター速度や絞りなどの設定値が変更できる回転式の操作部材である。
【0014】
メニューボタン105は、各種の設定可能なメニュー画面を表示部101に表示するための操作部材である。撮影設定ボタン106は、静止画や動画などの撮影モードにおける各種の撮影条件を設定するための操作部材である。十字キー107は、上、下、左、右のいずれかを押し込むことで、十字キー107の押した部分に応じた操作が可能な移動指示部材である。SETボタン108は押しボタンであり、主に選択項目の決定などに用いられる。拡大ボタン109は、ライブビュー中における拡大表示のオン/オフ、及び拡大表示中の拡大率の変更を行うための操作部材である。また、拡大ボタン109は、再生モードでは再生画像を拡大し、拡大率を増加させるための操作部材である。縮小ボタン110は、拡大された再生画像の拡大率を減少させ、画面を縮小表示するための操作部材である。なお、拡大ボタン109や縮小ボタン110による拡大処理および縮小処理では、常に表示部101の画面(画像)の中央を基準に画像が拡大または縮小される。
【0015】
その他、本実施形態のカメラ100は、電源のオン/オフを切り替える電源スイッチやライブビュー表示のオン/オフを切り替えるライブビューボタンなどを備える。また、カメラ100には、ユーザがカメラ100を構えた際に右手で握りやすい形状を有するグリップ部が設けられている。
【0016】
図2は、本実施形態のカメラ100の内部構成を示している。
【0017】
図2において、撮影レンズ204はズームレンズ、フォーカスレンズを含むレンズ群である。シャッター205は絞り機能を備える。撮像部206は被写体の光学像を電気信号に変換するCCDやCMOS等で構成される撮像素子である。A/D変換器207は、アナログ信号をデジタル信号に変換する。A/D変換器207は、撮像部206から出力されるアナログ信号をデジタル信号に変換するために用いられる。バリア203は、カメラ100の、撮影レンズ204を含む撮像系を覆うことにより、撮影レンズ204、シャッター205、撮像部206を含む撮像系の汚れや破損を防止する。なお、撮影レンズ204はカメラ100に固定されているものであっても取り外し可能なものであってもよい。
【0018】
画像処理部202は、A/D変換器207からのデータ、または、メモリ制御部208からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部202では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部201が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部202ではさらに、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
【0019】
A/D変換器207からの出力データは、画像処理部202及びメモリ制御部208を介して、或いは、メモリ制御部208を介してメモリ209に直接書き込まれる。メモリ209は、撮像部206によって得られ、A/D変換器207によりデジタルデータに変換された画像データや、表示部101に表示するための画像データを格納する。メモリ209は、所定枚数の静止画や所定時間の動画および音声を格納するのに十分な記憶容量を備えている。
【0020】
また、メモリ209は画像表示用のメモリ(ビデオメモリ)を兼ねている。D/A変換器210は、メモリ209に格納されている画像表示用のデータをアナログ信号に変換して表示部101に供給する。こうして、メモリ209に書き込まれた表示用の画像データはD/A変換器210を介して表示部101により表示される。表示部101は、LCD等の表示器上に、D/A変換器210からのアナログ信号に応じた表示を行う。A/D変換器207によって一旦A/D変換され、メモリ209に蓄積されたデジタル信号をD/A変換器210においてアナログ変換し、表示部101に逐次転送して表示することで、電子ビューファインダ(EVF)として機能し、ライブビューによるスルー画像の表示を行える。表示部101は、ユーザが自由にカメラ100に対して表示面の方向や角度を変更したり、回転させることができるバリアングルモニタである。
【0021】
不揮発性メモリ214は、電気的に消去・記憶可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ214には、システム制御部201の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する表示制御処理のフローチャートを実行するためのプログラムのことである。
【0022】
システム制御部201は、カメラ100全体を制御する。前述した不揮発性メモリ214に記憶されたプログラムを実行することで、後述する本実施形態の表示制御処理を実現する。213はシステムメモリであり、RAMが用いられる。システムメモリ213には、システム制御部201の動作用の定数、変数、不揮発性メモリ214から読み込んだプログラム等を展開する。また、システム制御部201はメモリ209、D/A変換器210、表示部101等を制御することにより表示制御も行う。
【0023】
システムタイマー212は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
【0024】
モードダイヤル103、第1シャッタースイッチ102a、第2シャッタースイッチ102b、操作部215はシステム制御部201に各種の動作指示を入力するための操作手段である。
【0025】
モードダイヤル103は、システム制御部201の動作モードを静止画撮影モード、動画記録モード、再生モードなどのいずれかに切り替える。静止画撮影モードに含まれるモードとして、オートモード、オートシーン判別モード、マニュアルモード、シーン別撮影モード、プログラムAEモード、カスタムモードなどがある。モードダイヤル103で、静止画撮影モードに含まれるこれらのモードのいずれかに直接切り替えられる。あるいは、モードダイヤル103で静止画撮影モードに一旦切り替えた後に、静止画撮影モードに含まれるこれらのモードのいずれかに、他の操作部材を用いて切り替えるようにしてもよい。同様に、動画記録モードにも複数のモードが含まれていてもよい。
【0026】
第1シャッタースイッチ102aは、カメラ100に設けられたシャッターボタン102の操作途中、いわゆる半押し(撮影準備指示)でオンとなり第1シャッタースイッチ信号SW1を発生する。第1シャッタースイッチ信号SW1により、AF処理、AE処理、AWB処理、EF処理等の動作を開始する。
【0027】
第2シャッタースイッチ102bは、シャッターボタン102の操作完了、いわゆる全押し(撮影指示)でオンとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部201は、第2シャッタースイッチ信号SW2により、撮像部206からの信号読み出しから記録媒体223に画像データを書き込むまでの一連の撮影処理の動作を開始する。
【0028】
操作部215の各操作部材は、表示部101に表示される種々の機能アイコンを選択操作することなどにより、シーンごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタンなどがある。例えば、メニューボタン105が押されると各種の設定可能なメニュー画面が表示部101に表示される。ユーザは、表示部101に表示されたメニュー画面と、十字キー107やSETボタン108とを用いて直感的に各種設定を行うことができる。
【0029】
なお、操作部215の1つとして、表示部101に対する接触を検出可能なタッチパネル101bを有する。タッチパネル101bと表示部101とは一体的に構成することができる。例えば、タッチパネル101bを光の透過率が表示部101の表示を妨げないように構成し、表示部101の表示面の上層に取り付ける。そして、タッチパネル101bにおける入力座標と、表示部101上の表示座標とを対応付ける。これにより、あたかもユーザが表示部101上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。システム制御部201はタッチパネル101bへの以下のタッチ操作、あるいはタッチ状態を検出可能である。
・タッチパネル101bを指やペンで触れたこと(以下、タッチダウン(Touch−Down)と呼ぶ)。
・タッチパネル101bを指やペンで触れている状態であること(以下、タッチオン(Touch−On)と呼ぶ)。
・タッチパネル101bを指やペンで触れたまま移動していること(以下、タッチムーブ(Touch−Move)と呼ぶ)。
・タッチパネル101bへ触れていた指やペンを離したこと(以下、タッチアップ(Touch−Up)と呼ぶ)。
・タッチパネル101bに何も触れていない状態(以下、タッチオフ(Touch−Off)と呼ぶ)。
【0030】
これらの操作・状態や、タッチパネル101b上に指やペンが触れている位置座標は内部バスを通じてシステム制御部201に通知され、システム制御部201は通知された情報に基づいてタッチパネル101b上にどのような操作が行われたかを判定する。タッチムーブについてはタッチパネル101b上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル101b上の垂直成分・水平成分毎に判定できる。またタッチパネル101b上をタッチダウンから一定のタッチムーブを経てタッチアップをしたとき、ストロークを描いたこととする。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル101b上に指を触れたままある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル101b上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でタッチムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行われたと判定できる。また、所定距離以上を、所定速度未満でタッチムーブしたことが検出された場合はドラッグが行われたと判定するものとする。また、タッチパネル101bに対して2箇所(2点)を同時に指又はペンでタッチしている状態で、2点間の距離を狭める操作をピンチインと呼ぶ。つまり、ピンチインは、タッチパネル101b上の2点に指を触れたまま指同士を近づける操作(複数箇所のタッチ位置同士の距離を近づける操作)である。換言すれば、ピンチインは、2本の指でタッチパネル101b下に表示されている画像等のオブジェクトをつまむようにタッチパネル101bをなぞる操作である。ピンチインとは反対に、2点を同時に指又はペンでタッチしている状態で、2点間の距離を広げる操作(複数箇所のタッチ位置同士の距離を広げる操作)をピンチアウトと呼ぶ。タッチパネル101bは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネル101bのうちいずれの方式のものを用いても良い。
【0031】
電源制御部219は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部219は、その検出結果及びシステム制御部201の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体223を含む各部へ供給する。
【0032】
電源部220は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、リチウムイオン電池等の二次電池、ACアダプタ等からなる。記録媒体I/F222は、メモリカードやハードディスク等の記録媒体223とのインターフェースである。記録媒体223は、撮影された画像を記録するためのメモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
【0033】
その他、本実施形態のカメラ100は、無線アンテナや有線ケーブルによって外部機器と通信可能に接続し、映像や音声の送受信を行う通信部を有する。外部機器としては、パーソナルコンピュータやプリンタ、他のデジタルカメラや携帯電話の一種であるスマートフォン、各種サービス提供サーバなどが想定される。
【0034】
なお、ハードウェアの構成は
図2に示すものに限定されず、例えば1つのハードウェアが表示制御、通信制御、撮影制御、画像処理制御等を行い、カメラ100の各手段として機能してもよい。また、複数のハードウェアが協働して1つの手段として機能してもよい。
【0035】
<表示制御処理の説明>次に、
図3乃至
図5を参照して、本実施形態のカメラ100の表示制御動作について説明する。
【0036】
図3は表示部101の表示画面に表示されている画像を拡大表示する際に、ピンチアウトによる2点のタッチ位置の中心を基準に拡大表示する第1の拡大処理と、タッチ位置に基づかない画面中央を基準として拡大表示する第2の拡大処理を行ったときの表示例を示している。
【0037】
図3(a)は表示部101の表示画面に画像全体を拡大しないで表示した状態である。
図3(b)は表示画面へのピンチアウトによるタッチ位置の中心(中点)を基準に拡大表示を行う第1の拡大処理の表示例である。
図3(b)では2点のタッチ位置の中心301を基準として2点のタッチ位置の距離に応じた拡大率で画像を拡大する。すなわち、拡大の前後(
図3(a)と
図3(b))で、拡大基準となるタッチ位置の中心301に位置する被写体部分(
図3(a)、(b)の例では女性の鼻のあたり)の表示画面上での位置が変わらない。一方、拡大の前後(
図3(a)と
図3(b))で、拡大基準となるタッチ位置の中心301以外の被写体部分は、拡大に伴ってタッチ位置の中心301を中心とした同心円状に位置が変わる。例えば
図3(b)の女性の左耳は、
図3(a)の女性の左耳より大きくなって左に移動しており、
図3(b)の女性の右耳は、
図3(a)の女性の右耳より大きくなって右に移動している。このような第1の拡大処理では、拡大して見たい位置(例えば女性の顔)に2本の指で同時にタッチした後に指を広げれば、見たい位置が大きく移動することなく拡大される。
図3(b)の例では、女性の顔が拡大後に画面外にはみ出すことなく視認できる状態である。このように、第1の拡大処理では、ユーザが拡大して見たい位置を、少ない操作手順で直感的に拡大して確認することができる。
【0038】
図3(c)はタッチ位置に基づかない画面中央を基準として拡大表示を行う第2の拡大処理の第1の表示例である。
図3(c)ではタッチ検出された位置に関わらず、表示画面(画像の表示されている領域)の中央302を基準として2点のタッチ位置の距離に応じた拡大率で画像を拡大する。すなわち、拡大の前後(
図3(a)と
図3(c))で、拡大基準となる表示画面の中央302に位置している被写体部分(
図3(a)、(c)の例では女性の胸のあたり)の表示画面上での位置が変わらない。一方、拡大の前後(
図3(a)と
図3(c))で、拡大基準となる表示画面の中央302以外の被写体部分は、拡大に伴って表示画面の中央302を中心とした同心円状に位置が変わる。このような表示画面の中央302と拡大の基準点が一致していると、拡大前後で画面中央を中心とした同心円状で被写体部分の位置が変わるため、拡大前後の画像の位置関係がわかりやすくなる。また、表示画面の中央302を拡大基準とする拡大は、拡大前後で画面中央を中心とした同心円状で被写体部分の位置が変わるという意味で撮影時の光学ズームと同じであり、直観的である。また、拡大ボタン109を用いた場合にも、画面(画像の表示領域)の中央(画像の表示領域の中央に位置している画像の部分)を基準として拡大表示が行われる(第2の拡大処理が行われる)。また、画像の表示領域と、他の表示物の表示領域とを分けた画面を表示した場合(不図示)に、画像が表示されていない他の表示物の表示領域の位置にピンチ操作が行われた場合にも画像の表示領域の中央を基準として拡大表示が行われる(第2の拡大処理が行われる)。
【0039】
図3(d)はタッチ位置に基づかない第2の拡大処理の第2の表示例であり、表示画面(画像)の一辺の端部303を中心として拡大表示を行う場合を示している。
図3(d)は、画像の端部303付近にある被写体などを拡大して確認したい場合に有効な処理である。画像を拡大した状態で、画像の端部が表示される範囲を表示している場合、ユーザは、画像の端部に注目していると想定できる。画像の端部303は表示画面の端部に表示されることが多いが、ユーザが表示画面の端部においてピンチ操作(ピンチアウト)を行って2点のタッチ位置に基づく拡大表示を行うことは困難である。そこで、本実施形態では、
図3(d)のように画像の端部を含む一部分を表示している場合には、ピンチアウト/ピンチインに応じて、表示されている端部(辺)の中央(
図3(d)の例では左端部の上下中央である端部303)を基準として拡大/縮小処理を行う。これによって、表示画面の端部に対してピンチ操作を行うことなく、画面中央でピンチアウトを行えば画像の端部303を基準に拡大表示を行うことができる。
図3(c)のように画面中央基準で拡大する場合は、画像の端部303は表示画面の表示範囲の外側に移動してしまうが、画像の端部303を基準とした拡大では、端部303を中心とした同心円状で被写体部分の位置が変わる。従って、
図3(d)の状態で画像の左の端部303を基準とした拡大を行うと、拡大に伴って左に移動する部分はない。このように拡大表示を行うことで、拡大後に左端部を見るためにタッチムーブで表示位置を変更する必要がなくなるという利点がある。
【0040】
図3(e)はタッチ位置に基づかない第2の拡大処理の第3の表示例であり、表示画面(画像)の二辺が交差する角部304を中心として拡大処理を行う場合を示している。
図3(e)では、画像の端部であって、特に表示画面の角部にある被写体などを拡大して見たい場合などに有効な処理である。本実施形態では、
図3(e)のように画像の頂点部(角部)を含む一部分を表示している場合には、ピンチアウト/ピンチインに応じて、表示されている頂点部(角部)の中央(
図3(e)の例では画像の右下頂点である角部304)を基準として拡大/縮小処理を行う。画像の角部304を基準とした拡大では、角部304を中心とした同心円状で被写体部分の位置が変わる。従って
図3(e)の状態で画像の角部304を基準とした拡大を行うと、拡大に伴って右及び下に移動する部分はない。すなわち、角部304に位置する被写体部分は、拡大前後で表示画面の右下から移動しない。これにより、ユーザは表示画面の角部に対してピンチ操作を行うことなく、画面中央でピンチアウトを行えば2点のタッチ位置の距離に応じた拡大率で画像の角部304が表示範囲外とならないように拡大表示を行うことができる。
【0041】
図4は表示画面へのピンチ操作により画像を拡大表示する際に、タッチ位置に基づいた第1の拡大処理を行うか、タッチ位置に基づかない第2の拡大処理を行うかをピンチ操作前から継続する所定のタッチ操作(タッチムーブ)に応じて切り替えた場合の表示例を示している。本実施形態では、ピンチアウトが検出される前にタッチムーブにより画像の表示位置を変更する操作が行われた場合には第2の拡大処理を行い、ピンチアウトが検出される前にタッチムーブにより画像の表示位置を変更する操作が行われていない場合には第1の拡大処理を行うように制御する。
【0042】
図4(a)は表示部101の表示画面に画像全体を拡大しないで表示した状態である。
図4(b)は
図4(a)の表示状態からピンチアウトにより拡大表示を行った状態である。
図4(b)では、ピンチアウトが検出される前にタッチムーブにより画像の表示位置が変更されていないため、タッチ位置に基づく第1の拡大処理を行う。すなわち、
図4(b)では、2点のタッチ位置の中心401を基準として2点のタッチ位置の距離に応じた拡大率で画像を拡大表示するので、ユーザは拡大して見たい部分(タッチ位置の中心付近)の拡大に伴う移動量が少なくなるように拡大でき、ピンチアウトにより2点のタッチ位置の距離を調整しながら拡大表示を行うことができる。
【0043】
図4(c)は、
図4(b)で拡大された画像の表示状態から1点(1箇所)でのタッチムーブにより画像の表示位置(表示範囲)を変更した場合の表示例であり、タッチムーブを行った後もタッチが離されずにタッチオンが維持されている。拡大中のように、表示対象(画像)の一部分を表示している場合に、タッチムーブによって表示範囲を変更した(スクロールした)場合、ユーザは、見たい部分(注目部分)が画面中央に表示されるように表示範囲を変更したものと想定される。
図4(c)の例では、タッチムーブによって、画像のうち、
図4(b)で大部分が画面左外側(表示範囲外)に位置していた、女性が右手に持った花が表示画面内に収まるように表示位置が変更されている。このように画面中央付近に移動させた花の部分が注目部分であると考えられる。注目被写体である花を画面内に表示させた結果、ユーザは、花をもっと拡大して見たいと考えるかもしれない。
図4(d)は、本実施形態を適用しない場合の例であり、1点目でのタッチムーブによって
図4(c)の表示状態とした後、1点目のタッチを離すことなく追加で2点目のタッチを行い、ピンチアウトにより拡大処理した場合を説明した図である。1点目と2点目のタッチの中央402を基準として画像を拡大する第1の拡大処理を行うと、拡大後の表示状態は
図4(d)のようになる。
図4(d)では、タッチムーブにより
図4(c)のように画面中央に移動させた被写体の注目部分(花)が画面の表示範囲の外側(左外側)に移動し、注目部分の大部分が見えなくなってしまっている。これでは、ユーザは拡大した花を見ることができない。拡大された注目部分を見るには、ユーザは、更にタッチムーブを行い、注目部分が表示画面に収まるように画像の表示位置を変更し直す必要がある。
【0044】
一方、
図4(e)は、本実施形態を適用した例であり、1点目でのタッチムーブによって
図4(c)の表示状態とした後、1点目のタッチを離すことなく追加で2点目のタッチを行い、ピンチアウトにより拡大処理した場合を説明した図である。本実施形態では、この場合は前述の第2の拡大処理を行う。すなわち、この場合の拡大/縮小の基準位置は表示画面の中央403となり、
図4(c)から拡大した後の表示状態は
図4(e)のようになる。
図4(e)では、タッチムーブにより
図4(c)のように画面中央に移動させた被写体の注目部分(花)が拡大されて表示画面内に位置している。すなわち、ユーザは、更なるタッチムーブを行うことなく、拡大した花を見ることができる。ピンチアウト後に更なるタッチムーブを行うことなく注目部分を見ることができるメリットは、表示部101の画面サイズが大きい場合は、タッチ位置を大きく移動するタッチ操作を省くことができるため特に大きい。なお、
図4(d)及び
図4(e)におけるピンチ操作は同様であるが、第1の拡大処理を行う場合と、第2の拡大処理を行う場合とで拡大処理を行った結果が異なっている。
【0045】
図4(f)は、
図4(b)の拡大画像の表示状態からタッチムーブにより画像の表示位置を変更した状態を示している。
図4(f)では画像の右端まで表示範囲を変更(すなわち、画像の右端が表示画面内に達するまで表示範囲を移動)するタッチムーブを行った場合の表示例を示し、タッチムーブを行った後もタッチダウンが維持されている。このように表示対象(画像)の端部まで表示範囲を変更した場合、表示されている表示対象(画像)の端部が注目部分であると考えられる。例えば本実施形態のように表示対象が撮像画像である場合、撮影したかった被写体が画像内に収まっているか、あるいは、余計な被写体が写っていないかを確認するために、端部を注目部分とすることがある。注目被写体である画像端部を画面内に表示させた結果、ユーザは、端部をもっと拡大して見たいと考えるかもしれない。
【0046】
図4(g)は、本実施形態を適用しない場合の例であり、1点目でのタッチムーブによって
図4(f)の表示状態とした後、1点目のタッチを離すことなく追加で2点目のタッチを行い、ピンチアウトにより拡大処理した場合を説明した図である。1点目と2点目のタッチの中央404を基準として画像を拡大する第1の拡大処理を行うと、拡大後の表示状態は
図4(g)のようになる。
図4(g)では、タッチムーブにより
図4(f)のように表示範囲に収めた画像の端部(右端)が表示範囲の外側(右外側)に移動し、注目部分であった右端が見えなくなってしまっている。これでは、ユーザは、撮影したかった被写体が画像内に収まっているか、あるいは、余計な被写体が写っていないかを確認することができない。拡大された注目部分(右端部)を見るには、ユーザは、更にタッチムーブを行い、注目部分(右端部)が表示画面に収まるように画像の表示位置を変更し直す必要がある。
【0047】
一方、
図4(h)は、本実施形態を適用した例であり、1点目でのタッチムーブによって
図4(f)の表示状態とした後、1点目のタッチを離すことなく追加で2点目のタッチを行い、ピンチアウトにより拡大処理した場合を説明した図である。本実施形態では、この場合は前述の第2の拡大処理を行う。すなわち、この場合の拡大/縮小の基準位置は画像の端部405となり、
図4(f)から拡大した後の表示状態は
図4(h)のようになる。なお、拡大縮小の基準となる端部405は、表示されている端部(辺)の長さ方向の中点である。画面の端部の一辺の長さ方向の中点、
図4(h)では、タッチムーブにより
図4(f)のように表示範囲内に移動させた被写体の注目部分(画像右端)が拡大されて表示画面内に位置している。すなわち、ユーザは、更なるタッチムーブを行うことなく、拡大した右端を見ることができ、撮影したかった被写体が右端より内側に収まっているか、あるいは、余計な被写体が右端に写っていないかを確認することができる。
図4(g)及び
図4(h)におけるピンチ操作は同様であるが、第1の拡大処理を行う場合と、第2の拡大処理を行う場合とで拡大処理を行った結果が異なっている。また、
図3(e)で説明したように、表示範囲が表示対象の頂点/角に達している場合(言い換えれば表示対象の連続した2辺に達している場合)には、表示範囲に達している頂点を基準として拡大縮小を行う。
【0048】
図5は、本実施形態のカメラ100による画像を拡大または縮小する表示制御処理を示している。なお、
図5の処理は、不揮発性メモリ214に格納されたプログラムを、システムメモリ213に展開してシステム制御部201が実行することにより実現される。また、
図5の処理は、カメラ100の動作モードが再生モードなどに設定され、記録媒体223から画像を読み出して表示部101に表示している状態で、表示部101(タッチパネル101b)へのタッチ(タッチダウン)操作が検出されると開始される。
【0049】
S501では、システム制御部201は、タッチムーブフラグをオフに変更し、S502に進む。
【0050】
S502では、システム制御部201は、表示部101に表示されている画像が拡大表示中であるか否かを判定し、拡大表示中である場合はS503に進み、拡大表示中でない場合はS506に進む。
【0051】
S503では、システム制御部201は、1箇所がタッチされた状態でのタッチムーブが検出されたか否かを判定し、検出された場合はS504に進み、検出されなかった場合はS506に進む。
【0052】
S504では、システム制御部201は、S50
3で検出されたタッチムーブの移動量に応じて拡大表示中の画像の表示位置を変更し、S505に進む。なお、
図5のフローチャートでは省略しているが、拡大表示中でない場合(S502でNOと判定される場合)に、1箇所がタッチされた状態でのタッチムーブが検出された場合は、表示されている画像を他の画像に切り替える画像切替を行うものとする。
【0053】
S505では、システム制御部201は、タッチムーブフラグをオンに変更し、S506に進む。ただし、S504でタッチムーブが所定量以上移動していない場合(移動量が小さい場合)、タッチムーブフラグは変更しなくてもよい。これは、タッチムーブフラグの設定がオンかオフかに応じて、ピンチアウトによる拡大処理を、タッチ位置に基づく第1の拡大処理とするか、タッチ位置に基づかない第2の拡大処理とするかを切り替えるが、表示位置を微調整するために僅かに移動しただけでタッチムーブフラグがオンに設定されてしまうと、拡大処理の基準位置が不用意に変動してしまい、ユーザの意図に合わないことがあるためである。すなわち、拡大表示位置の移動が行われるタッチムーブがあっても、表示位置の移動が所定量未満のわずかな移動であれば、タッチムーブフラグはオンにしない(後述のピンチ操作による拡大処理は第1の拡大処理となる)。なお、S504、S505の処理は、タッチオフの状態から1点(1箇所)でのタッチダウンを検出した場合に行われる1点(1箇所)のタッチによるタッチ操作(シングルタッチでの操作)に応じた処理である。タッチオフの状態から複数点(複数箇所)での同時または略同時のタッチダウンを検出した場合はS501,S502の処理の後、S503はNOと判定され、後述のS506に進む。
【0054】
S506では、システム制御部201は、全てのタッチ箇所のタッチアップが検出されたか否か判定し、検出された場合はタッチオフになったので本フローチャートの処理を終了し、検出されなかった場合はS507に進む。
【0055】
S507では、システム制御部201は、タッチパネルの複数箇所(2箇所)にタッチ操作(2点以上のタッチ)が行われるマルチタッチ操作であるか否か判定し、マルチタッチでない場合はS502に進み、マルチタッチの場合はS508に進む。タッチオフの状態から1点(1箇所)でのタッチダウンを検出した後、タッチアップせずに2点目のタッチダウンがあった場合に、S507でマルチタッチ操作であると判定される。また、タッチオフの状態から複数点(複数箇所)での同時または略同時のタッチダウンを検出した場合も、S501、S502の処理の後、S503はNOと判定され、S506でマルチタッチ操作であると判定される。なお、本実施形態では3点(3箇所)以上のタッチでも、3点目以上のタッチは無視して2点タッチによるマルチタッチ操作として処理するものとする。ただし、3点(3箇所)以上のタッチ操作に対応する機能を割り当てた場合は、S507ではNOと判定し、3点以上のタッチに応じた処理を行うものとしても良い。
【0056】
S508では、システム制御部201は、ピンチ操作(ピンチアウトまたはピンチイン)が行われたか否か判定し、行われた場合はS509に進み、行われていない場合はS507に戻る。
【0057】
S509では、システム制御部201は、タッチムーブフラグがオンか否かを判定し、オンの場合はS511に進み、オフの場合はS510に進む。
【0058】
S510では、システム制御部201は、ピンチ操作に応じて2点のタッチ位置の中心を基準として画像の拡大処理(第1の拡大処理)または縮小処理を行い、S507に戻る。これによって、前述の
図4(a)から
図4(b)に変化するような拡大処理が行われる。なお、ピンチ操作の途中で表示範囲が画像の端部に達したとしても、拡大縮小の基準は2点のタッチ位置の中心を基準としたままとする。この場合、画像の端部を超えた範囲が表示されないように、拡大または縮小後の表示範囲を随時補正(オフセット)する。すなわち、2点のタッチ位置の中心を基準として拡大または縮小した場合に表示範囲が画像の端部を超える場合には、表示範囲の端と画像の端部が一致するようにする。
【0059】
S511では、システム制御部201は、画像の端部が画像の表示領域(画面)の端部に表示されているか(表示範囲が画像の端まで達しているか)否かを判定し、表示されている場合はS513に進み、表示されていない場合はS512に進む。画像の頂点(角)が画像の表示領域(画面)に表示されている場合も画像の端部が画像の表示領域(画面)の端部に表示されている場合に含み、S513に進む。この判定は、シングルタッチでのタッチムーブによるスクロール(表示範囲の変更)操作によって画像の端部が画像の表示領域(画面)の端部に表示されているか否かの判定である。前述の通り、拡大/縮小に伴って画像の端部が画像の表示領域(画面)の端部に達した場合はこの判定ではYESとは判定されない。
【0060】
S512では、システム制御部201は、表示画面(画像の表示領域)の中央を基準として画像の拡大処理(第2の拡大処理)または縮小処理を行い、S507に戻る。これによって、前述の
図4(c)から
図4(d)に変化するような拡大処理が行われる。すなわち、シングルタッチのタッチムーブによって注目部分が表示範囲内の中央付近に位置するように表示範囲を変更した後、タッチを離すことなくマルチタッチ操作でのピンチアウトを行うことで、注目部分を拡大して確認することができる。
【0061】
S513では、システム制御部201は、表示画面の端部に位置している画像の端部を基準として画像の拡大処理(第2の拡大処理)または縮小処理を行い、S507に戻る。前述した通り、表示範囲が画像の1端部に達していた場合には、その端部の長さ方向中点が拡大/縮小の基準点となる。表示範囲が画像の連続する2端部に達していた場合(画像の頂点、角に達していた場合)は、その2端部の頂点(角)が拡大/縮小の基準点となる。S513の処理によって、前述の
図4(f)から
図4(h)に変化するような拡大処理が行われる。
【0062】
以上の処理によれば、シングルタッチでのタッチムーブによって表示範囲を変更した後、タッチを離すことなくピンチアウトを行うことで、画面中央または画像の端を基準とした第2の拡大処理が行われる。また、シングルタッチでのタッチムーブによって表示範囲を変更することなくピンチアウトを行うことで、2箇所のタッチ位置の中点を基準とした第1の拡大処理が行われる。さらに、タッチオフからのタッチダウンを検出する度にタッチムーブフラグはオフされるので、シングルタッチのタッチムーブによって表示範囲を変更した後であっても、一旦タッチを離してからシングルタッチでのタッチムーブを伴わないピンチアウトを行うことで、2箇所のタッチ位置の中点を基準とした第1の拡大処理が行われる。このように、本実施形態によれば、ピンチアウトを行う前にタッチムーブによる表示範囲の変更が行われたか否かに応じてタッチ位置に基づく拡大表示を行うか、タッチ位置に基づかない拡大表示を行うかを切り替えるので、ユーザの意図に合った拡大表示を行うことができるようになる。
【0063】
なお、本実施形態において、2点タッチを検出したことに応じて、拡大処理の基準位置に、
図3の301のような図形や記号の表示や、ハイライト表示を行うことで、拡大の基準位置をユーザに通知するようにしてもよい。ユーザは画面に表示された通知を見ることで、本実施形態のS510、S512、S513のように状況に応じて変化する拡大縮小の基準位置を把握することができるので、目的の位置(注目部分)を混乱なく快適に拡大する操作を行うことができる。
【0064】
また、本実施形態では、説明を簡単にするため、ピンチアウトによる拡大処理の例を説明したが、ピンチインによる縮小処理でも同様である。すなわち、本実施形態の表示制御はピンチアウトに限定されず、ピンチインであっても適用可能である。また、本実施形態では、表示対象を画像としたが、これに限らず、表示領域よりも広い表示対象の一部の範囲を表示するものであれば適用可能である。すなわち、文書、画像や文書を含むWebページ、地図などの少なくともいずれかであってもよい。
【0065】
<変形例>
上述の実施形態では、タッチオフした後、シングルタッチによるタッチムーブを伴わないピンチ操作があった場合は、タッチ位置に基づいた位置を拡大縮小の基準位置とする第1の拡大処理を行う例を説明した。変形例として、一旦タッチオフとなった後であっても、前回のタッチ操作から所定時間内のタッチ操作であれば前回のタッチ操作と同じ基準の拡大処理を行ってもよい。これを実現する処理としてはまず、前述の
図5のS506でYESと判定されると(全てのタッチがタッチアップしたと判定すると)、次回のタッチ操作までの時間を計るタイマーをスタートする。あるいは、マルチタッチ操作を行っていた複数箇所のタッチのうち1点を残して他のタッチがタッチアップし、シングルタッチの状態となったらタイマーをスタートするものとしても良い。その後、タッチオフの状態を経て、再びタッチダウンがあった場合に、S501の前に、タイマーをスタートしてから所定時間が経過しているか否かを判定する。所定時間は、ユーザが前回のタッチ操作から連続した一連のタッチ操作を行っているとみなせる程度の時間であり、例えば50〜500msec程度である。所定時間を経過していた場合はS501に進んでタッチムーブフラグをオフし、続いて前述の
図5のS502以降の処理を行う。一方、所定時間を経過していない場合は前述のS501の処理を行うことなく、すなわちタッチムーブフラグをオフすることなく、前述の
図5のS502以降の処理を行う。このようにタッチムーブフラグをオフしないようにすれば、タッチオフとなる前の前回のタッチ操作(第1のタッチ操作)でシングルタッチによるタッチムーブを行い、タッチムーブフラグがオンとなっていればオンが継続される。従って今回のタッチ操作(第2のタッチ操作)でシングルタッチによるタッチムーブを伴わないピンチアウト操作を行っても、タッチ位置に基づかない第2の拡大処理(S512またはS513の処理)が行われる。このようにすると、1回のピンチアウトでは所望の倍率まで拡大できなかった場合に、すぐに次のピンチアウト操作を行って更に拡大する場合に、前回のピンチアウトと拡大の基準位置を同じとすることができる。すなわち、連続したピンチ操作を行う場合に拡大・縮小の基準位置が変わらず、好適である。その他の部分は前述の実施形態と同様である。
【0066】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0067】
なお、システム制御部201の制御は1つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
【0068】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0069】
また、上述した実施形態においては、本発明をデジタルカメラに適用した場合を例にして説明したが、これはこの例に限定されず、タッチパネルに対するタッチ操作に応じて画像の拡大や縮小、移動などの表示制御が可能な装置であれば適用可能である。すなわち、本発明は、パーソナルコンピュータやその一種であるタブレット端末、携帯電話端末やその一種であるスマートフォン(眼鏡型端末や腕時計型端末を含む)、PDA(携帯情報端末)、携帯型の画像ビューワ、音楽プレーヤ、ゲーム機、電子ブックリーダ、プリンタ、スキャナ、ファクシミリ或いは複写機などの機能が搭載された事務機器、医療機器などに適用可能である。
【0070】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。