JP5975794B2 - 表示制御装置、表示制御方法、プログラム及び記憶媒体 - Google Patents

表示制御装置、表示制御方法、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP5975794B2
JP5975794B2 JP2012188619A JP2012188619A JP5975794B2 JP 5975794 B2 JP5975794 B2 JP 5975794B2 JP 2012188619 A JP2012188619 A JP 2012188619A JP 2012188619 A JP2012188619 A JP 2012188619A JP 5975794 B2 JP5975794 B2 JP 5975794B2
Authority
JP
Japan
Prior art keywords
touch
point
display
points
touches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012188619A
Other languages
English (en)
Other versions
JP2014048694A5 (ja
JP2014048694A (ja
Inventor
累 鍋嶋
累 鍋嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012188619A priority Critical patent/JP5975794B2/ja
Priority to US14/012,054 priority patent/US9313406B2/en
Priority to CN201310385061.XA priority patent/CN103677621B/zh
Publication of JP2014048694A publication Critical patent/JP2014048694A/ja
Publication of JP2014048694A5 publication Critical patent/JP2014048694A5/ja
Application granted granted Critical
Publication of JP5975794B2 publication Critical patent/JP5975794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Description

本発明は、タッチパネル機能を有する表示制御装置とその表示制御方法、並びに、表示制御方法を実行するためのプログラム及び記憶媒体に関する。
近年、直感的な操作を可能としたデジタル機器として、タッチパネルを備え、タッチパネル上に表示したオブジェクトを指(指先)で操作することにより表示内容を変化させていくものが登場している。例えば、タッチパネルをタッチし、タッチした状態を維持しながら指を動かして画面を指の移動方向にスクロール移動させ、また、素早くなぞって離すことで指の移動した方向に画面を慣性スクロールさせる方法が提案されている(特許文献1参照)。なお、慣性スクロールとは、タッチした指を離した後も減速しながら画面(表示物)のスクロールを行い、最終的にスクロールを停める制御をいう。
また、タッチパネル上に表示したオブジェクトを、タッチパネル上の2本の指の距離を広げたり狭めたりするピンチ操作により、オブジェクトを拡大縮小する方法が提案されている(特許文献2参照)。更に、タッチパネル上でタッチした2点の中点を指示位置とし、指示位置に最も近い位置に表示されている画像データを、ピンチ操作後に指示位置又はその近傍に配置する技術が提案されている(特許文献3参照)。
特開昭63−174125号公報 特開2012−53623号公報 特開2008−299474号公報
しかしながら、ピンチ操作等の2本の指を使った操作後に2本の指をタッチアップさせるタイミングがずれてしまうと、ユーザの意図に反してスクロールが発生してしまう場合がある。特に、慣性スクロールの場合には、タッチ点の移動距離よりもスクロールの移動距離が長くなることがあるため、表示したい情報が所望の表示位置から大きくずれて表示されてしまうという問題がある。
本発明は、マルチタッチ操作におけるユーザの意図に反した誤動作を防ぐ表示制御技術を提供することを目的とする。
本発明に係る表示制御装置は、
表示手段に対する複数点のタッチ出可能なタッチ検出手段と、
前記タッチ検出手段が1点のタッチを検出し、その後、1点もタッチを検出しなくなるまでの間に複数点のタッチを検出していない場合は、前記1点のタッチが所定の条件を満たしたか否かにかかわらず、前記1点のタッチが移動しながら離れたことに応じて、前記1点のタッチが離れた後にも前記表示手段に表示されている表示オブジェクトをスクロールするように制御し、
前記タッチ検出手段が複数のタッチを検出し、その後、前記複数点のタッチが1点になった場合には、該1点のタッチが前記所定の条件を満たしたか否かにかかわらず、該1点のタッチが検出されている間のタッチ位置の移動に応じて、前記表示オブジェクトをスクロールするように制御し、
前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になり、且つ、該1点のタッチが前記所定の条件を満たした後に移動しながら離れた場合には、該1点のタッチが離れた後にも前記表示オブジェクトをスクロールするように制御し、
前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になり、且つ、該1点のタッチが前記所定の条件を満たさずに離れた場合には、該1点のタッチが離れた後に前記表示オブジェクトをスクロールさせないように制御する制御手段と、を備えることを特徴とする。
本発明によれば、マルチタッチ操作におけるユーザの意図に反した誤動作を防ぐことができる。
本発明の実施形態に係るデジタルカメラの外観を背面側から見て示す斜視図、及び、デジタルカメラのハードウェア構成を示すブロック図である。 第1実施形態に係る、ディスプレイに表示された拡大画像に対してドラッグ操作によるスクロールとフリック操作による慣性スクロールが行われたときの表示画像の変化を示す図である。 第1実施形態に係る、ディスプレイに表示された画像に対してピンチ操作を行い、拡大率を変更したときの表示画像の変化を示す図である。 第1実施形態に係る、ディスプレイに拡大画像が表示されている状態でタッチ入力が行われたときの画像表示制御のフローチャートである。 図4のステップS404,S410で実行されるドラッグスクロール処理のフローチャートである。 図4のステップS408で実行されるマルチタッチ処理のフローチャートである。 第2実施形態に係る、ディスプレイにインデックス表示がなされているときにドラッグ操作によるスクロール及びフリック操作による慣性スクロールが行われたときの表示の変化を示す図である。 第2実施形態に係る、ディスプレイにインデックス表示がなされているときにピンチ操作による表示枚数の変更とフォーカス移動が行われたときの表示の変化を示す図である。 第2実施形態に係る、ディスプレイにインデックス表示がなされているときにタッチ入力が行われたときの画像表示制御のフローチャートである。 図9のステップS904で実行されるドラッグスクロール処理のフローチャートである。 図9のステップS908で実行されるマルチタッチ制御処理のフローチャートである。 図9のステップS911で実行されるマルチタッチ制御処理のフローチャートである。
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。ここでは、本発明に係る表示制御装置としてデジタルカメラを取り上げることとするが、本発明はこれに限定されるものではない。
<デジタルカメラの概略構造>
図1(a)は、本発明の実施形態に係るデジタルカメラ100の外観を背面側から見て示す斜視図であり、図1(b)はデジタルカメラ100のハードウェア構成を示すブロック図である。図1(a)に示すように、デジタルカメラ100は、ディスプレイ101と、電源スイッチ102と、シャッタボタン103と、モードダイアル104と、十字キー105と、コントローラホイール106とを備える。
ディスプレイ101は、撮影画像や操作メニュー、デジタルカメラ100の設定情報等の各種の情報を表示する表示手段である。ディスプレイ101にはタッチパネル150が重畳されており、タッチパネル150に対するタッチ操作による1点の位置の検出のみならず、複数のタッチ点の位置の同時検出が可能となっている。電源スイッチ102は、デジタルカメラ100のカメラシステムの電源のオン/オフを切り替えるための操作部材である。
シャッタボタン103は、被写体に対する合焦処理や撮影処理を指示する操作部材である。モードダイアル104は、撮影モード(オートモード、絞り優先モード、シャッタ優先モード、風景モード、夜景モード等)を切り替えるための操作部材である。十字キー105は、ユーザからの各種操作を受け付ける4方向ボタンであり、上方向、下方向、左方向、右方向の4方向への操作が可能な操作部材である。ここでは、十字キー105を単一部材としているが、4方向が指示できるものであれば、十字に配置された4つの独立したボタンであってもよい。
コントローラホイール106は、回転操作可能であり、十字キー105と共に選択項目の指示等に使用される操作部材である。コントローラホイール106が回転操作されると、操作量(回転角度や回転した回数)に応じて電気的なパルス信号が発生し、このパルス信号に基づいて、CPU120(図1(b)参照)がデジタルカメラ100の各部(駆動部や処理部)の動作を制御する。なお、コントローラホイール106は、回転操作が検出できる操作部材であればどのようなものでもよく、例えば、ユーザの回転操作に応じてコントローラホイール106自体が回転してパルス信号を発生するダイヤル操作部材であってもよい。また、コントローラホイール106は、タッチセンサを備える操作部材であって、操作部材自体は回転せず、コントローラホイール106上でのユーザの指(指先)の回転動作などを検出するもの(タッチホイール)であってもよい。
デジタルカメラ100では、コネクタ111を介して、接続ケーブル112とデジタルカメラ100の本体に設けられた通信I/F136(図1(b)参照)とを接続することができるようになっている。また、デジタルカメラ100は、メモリカード等の記憶媒体116を装着する記憶媒体スロット(不図示)を備えており、記憶媒体スロットは蓋115により開閉自在となっている。なお、記憶媒体スロットに装着された記憶媒体116とCPU120との通信は、デジタルカメラ100の本体に設けられた記憶媒体I/F135(図1(b)参照)を介して可能になる。
図1(b)に示すように、デジタルカメラ100は、内部バス125と、内部バス125に接続されたCPU120と、ROM121と、RAM122とを備える。また、内部バス125には、撮像部131と、画像処理部132と、表示制御部133と、入力部134と、記憶媒体I/F135と、通信I/F136とが接続されている。内部バス125に接続される各部は、内部バス125を介して互いにデータのやりとりを行うことができる。
ROM121には、デジタルカメラ100の全体的動作や各駆動部の動作制御を行うためのプログラム及び画像処理等を行うためのプログラム等の各種のプログラムや、プログラムの実行に必要なデータ等が格納されている。RAM122は、撮影した画像データ等を保持し、また、CPU120のワークエリアとして用いられる。ROM121とRAMの機能の一部をハードディスク(HD)が担う構成であってもよい。CPU120は、ROM121に格納されたプログラムをRAM122のワークエリアに展開して実行する。これにより、デジタルカメラ100の各部の動作が制御される。
撮像部131は、撮影レンズや、CCD或いはCMOS等の撮像素子等を有し、被写体からの反射光を光学像として結像させた後、光学像を電気信号に変換する。画像処理部132は、撮像部131により撮影された動画や静止画等の画像データに対して、画素補間、現像処理、色処理、縮小処理、符号化処理、圧縮処理等を施し、画像ファイルとして記憶媒体116に記憶する。また、画像処理部132は、記憶媒体116等から読み込んだ画像ファイル(画像データ)に対して、画像をディスプレイ101に表示するための各種処理(伸張処理、復号化処理、色処理、リサイズ等)を行う。なお、撮像部131で撮影された画像信号(アナログ信号)をデジタル信号に変換してRAM122に蓄積し、蓄積されたデジタル信号を再びアナログ変換してディスプレイ101に、逐次、転送して表示することにより、電子ビューファインダ機能(スルー画像表示)が実現される。
入力部134は、ユーザによる操作を受け付け、操作に応じた制御信号を生成し、CPU120に供給する。図1(a)に示したタッチパネル150、電源スイッチ102、シャッタボタン103、モードダイアル104、十字キー105及びコントローラホイール106は、入力部134に含まれる。CPU120は、入力部134から供給される制御信号に基づいて、所定のプログラムに従ってデジタルカメラ100の各部の動作を制御する。これにより、デジタルカメラ100にユーザの操作に応じた動作を行わせることができる。
タッチパネル150は、ディスプレイ101と一体的に構成することができる。例えば、光の透過率がディスプレイ101の表示を妨げないように構成されたタッチパネル150をディスプレイ101の表示面の上層に取り付ける。そして、タッチパネル150における入力座標とディスプレイ101上の表示座標とを対応付ける。これにより、あたかも、ユーザがディスプレイ101上に表示されたオブジェクトを直接的に操作可能であるかのようなGUIを構成することができる。
表示制御部133には、CPU120がプログラムに従って生成した画像表示制御信号が供給され、表示制御部133は、受信した画像表示制御信号に基づいて表示信号を生成し、ディスプレイ101に対して出力する。これにより、ディスプレイ101に画像が表示される。また、表示制御部133は、CPU120が生成する表示制御信号に基づき、GUI(Graphical User Interface)を構成するGUI画面をディスプレイ101に表示させる。
記憶媒体インタフェース(I/F)135は、メモリカード等の記憶媒体116が記憶媒体スロットに装着された状態で、CPU120の制御に基づき、記憶媒体116からの画像データ等の読み出しや記憶媒体116に対する画像データ等の書き込みを行う。通信インタフェース(I/F)136は、CPU120の制御に基づき、通信I/F136を介して接続された外部機器や、LAN或いはインターネット等のネットワーク140に対する通信を行う。
<タッチパネル150に対する操作>
タッチパネル150に対しては、概ね、以下の(1)〜(5)の操作が可能となっている。つまり、CPU120は、タッチパネル150に対する以下の(1)〜(5)の操作や状態を検出することができるようになっている。
(1)タッチパネル150に指(指先)やペン(ペン先)で触れたこと(以下「タッチダウン」という)
(2)タッチパネル150に指やペンが触れている状態であること(以下「タッチオン」という)
(3)タッチパネル150上を指やペンが触れたまま移動していること(以下「ムーブ」という)
(4)タッチパネル150に触れていた指やペンをタッチパネル150から離したこと(以下「タッチアップ」という)
(5)タッチパネル150に何も触れていない状態であること(以下「タッチオフ」という)
これらの操作によりタッチパネル150上で指或いはペンが触れた位置若しくは離れた位置又は触れている位置の座標は、内部バス125を通じてCPU120に通知される。CPU120は、通知された情報に基づいてタッチパネル150上でどのような操作が行なわれたかを判定する。なお、ムーブ操作については、タッチパネル150上で移動する指或いはペンが触れている位置の座標の変化に基づいて、垂直成分(図1(a)の画面縦方向)と水平成分(図1(a)の画面横方向)を判定する。これにより、タッチパネル150上で移動する指或いはペンの移動方向を求めることができる。
タッチパネル150に対するタッチダウン操作から一定のムーブ操作を経てタッチアップ操作を行うという一連の操作を「ストローク」といい、素早くストロークを描く操作を「フリック」ということとする。つまり、フリックは、タッチパネル150に指を触れたままある程度の距離だけ素早く動かしてから離す操作であり、換言すれば、タッチパネル150の表面を指ではじくように素早くなぞる操作である。
本実施形態では、予め定められた所定の距離以上の距離を予め定められた所定の速度以上の速度でムーブしたことが検出され、そのままタッチアップが検出されたときに、フリック操作が行なわれたと判定することとする。また、所定の距離以上の距離を、所定速度未満の速度でムーブしたことが検出された場合には、一般的に「ドラッグ」と呼ばれる操作が行われたものと判定することとする。
また、タッチパネル150に対して2点(2カ所)に同時にタッチしている状態で、2点間の距離を狭め、その後、タッチアップを行う操作を「ピンチイン」ということとする。つまり、ピンチインは、タッチパネル150上の2点に指を触れたまま指同士を近づけた後に、タッチパネル150から指を離す操作である。換言すれば、ピンチインは、2本の指でタッチパネル150下に表示されている画像等のオブジェクトをつまむようにタッチパネル150をなぞる操作である。ピンチインとは逆に、2点を同時に指又はペンでタッチしている状態で、2点間の距離を広げ、その後、タッチアップを行う操作を「ピンチアウト」ということとする。
なお、タッチパネル150は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、画像認識方式、光センサ方式等の様々な方式のタッチパネルのうち、複数のタッチ点を同時に検出することが可能であれば、いずれの方式のものを用いてもよい。
<第1実施形態に係る動作内容>
第1実施形態に係る動作内容として、ディスプレイ101に表示された画像を拡大表示する例について説明する。ここでは、先ず、図2及び図3を参照して、画像が変化する様子について説明する。
[表示画像例]
図2は、ディスプレイ101に表示された拡大画像に対してドラッグ操作によるスクロールと、フリック操作による慣性スクロールが行われたときの表示画像の変化を示す図である。なお、「スクロール」とは、ディスプレイ101上で画像全体が移動することを指し、「慣性スクロール」とは、ディスプレイ101上でスクロールしている画像全体が減速しながら最終的に停止することを指す。
図2(a)には、ディスプレイ101に拡大画像が表示されている状態、即ち、画像全体のうちの一部の領域が拡大して表示されている状態において、タッチパネル150の1点にタッチダウンが行われた状態が示されている。なお、タッチ点は、指先部分(概ね、爪の位置)であり、後述する図3、図7及び図8でも、タッチ点は指先部分であるとする。図2(b)には、図2(a)の状態から右上方向にドラッグが行われ、拡大画像が左下から右上にスクロールした状態が示されている。このスクロールによって、ディスプレイ101に表示されている拡大画像の範囲(領域)が変化していることがわかる。
図2(c)には、図2(b)の状態でタッチしていたタッチ点でタッチアップが行われ、拡大画像が慣性スクロールしている状態が示されている。ここで、図2(c)では、右上方向のフリックを検出したために、タッチアップは行われているが、左下から右上に向かって表示画像が慣性スクロールしている。図2(d)には、図2(c)の状態から慣性スクロールが終了して表示画像が停止した状態が示されており、タッチアップ前の図2(b)と比較して、ディスプレイ101に表示されている拡大画像の範囲(領域)が変化していることがわかる。
図3は、ディスプレイ101に表示された画像に対してピンチ操作を行い、拡大率を変更したときの表示画像の変化を示す図である。図3(a)には、画像の全体がディスプレイ101に表示されているときに、タッチパネル150に対して2点でタッチダウンが行われた状態が示されている。図3(b)には、図3(a)の状態からピンチアウトが行われたことにより、画像が拡大された状態が示されている。このピンチアウトにより、ディスプレイ101には、画像の全体ではなく一部の領域が拡大されて表示されている。
図3(c)には、図3(b)の状態から1点のみがタッチアップした状態が示されている。図3(d)には、図3(c)の状態から残った1点がドラッグ操作された状態が示されている。このドラッグ操作により表示画像はスクロールしているため、図3(d)には、図3(c)とは異なる領域が表示されている。図3(e)には、図3(d)の状態から残った1点でタッチアップが行われ、表示画像が静止した状態が示されている。
第1実施形態では、最後にタッチアップしたタッチ点(図3(d)のタッチ点)の移動量(タッチ点が2点から1点になって残ったタッチ点の、2点から1点になったときの位置からタッチアップした位置までの距離)が短い場合には、慣性スクロールを行わない。これにより、ユーザの意図に反した慣性スクロールを抑制し、表示画像が大きく変わらないようにしている。
なお、図3では、ピンチアウトにより画像を拡大した例を取り上げたが、これと同様に、ピンチインにより画像を縮小する場合にも慣性スクロールの抑制が可能である。また、移動量を基準とする方法に代えて、タッチ点が2点から1点になったときの時刻から残った1点がタッチアップする時刻までの時間(タッチ継続時間)が予め定められた所定時間よりも短いときに、慣性スクロールを抑制するようにしてもよい。また、第1実施形態では、慣性スクロールのみを抑制しているが、ドラッグによるスクロールを抑制するようにしてもよい。その場合、タッチ点が2点から1点になって残ったタッチ点の移動量が予め定められた所定値よりも小さいときにはスクロールを行わないようにし、移動量が所定値以上となった場合にスクロールの抑制を解除するようにすればよい。
[表示制御処理フロー]
次に、図2及び図3に示した動作を実現する処理の手順について、図4〜図7のフローチャートを参照して説明する。図4〜図7のフローチャートに示す各処理は、CPU120がROM121に記録されたプログラムをRAM122のワークエリアに展開して実行することにより、デジタルカメラ100の各部を制御することで実現される。
図4は、ディスプレイ101に拡大画像が表示されている状態でタッチパネル150に対してタッチ入力が行われたときの画像表示制御のフローチャートである。先ず、ステップS400では、CPU120は、記憶媒体116から画像データを読み出し、ディスプレイ101に画像を表示する。ここでは、1点のタッチでのムーブがドラッグと判定されて表示画像をスクロールさせる例について説明するため、便宜的にステップS400において拡大画像がディスプレイ101に表示されたものとする。よって、ステップS400により、図2(a)のような画像表示が行われたとする。
続くステップS401では、CPU120は、タッチパネル150に対してなされたタッチ操作を検出し、タッチ点の座標を取得する(タッチ点検出ステップ)。このとき、2点タッチがなされている場合は、2点のタッチ点について座標を取得する。そして、ステップS402では、CPU120はタッチ点の数がゼロ(0)、即ち、タッチオフの状態であるか否かを判定する。CPU120は、タッチオフの状態である場合(S402でYES)、処理をステップS415へ進め、タッチオフの状態ではない場合(S402でNO)、処理をステップS403へ進める。
ステップS403では、CPU120は、タッチ点の数が1点であるか否かを判定する。CPU120は、タッチ点の数が1点である場合(S403でYES)、処理をステップS404へ進め、タッチ点の数が1点でない場合(S403でNO)、処理をステップS408へ進める。
ステップS404では、CPU120は、ドラッグスクロール処理(ドラッグにより表示画像をスクロールする処理)を実行し、その後、処理をステップS405へ進める。なお、ステップS404の処理の詳細については、図5を参照して後述する。
ステップS405では、CPU120は、タッチ点の数がゼロ(0)であるか否か、つまり、タッチアップが行われたか否かを判定する(タッチアップ検出ステップ)。ステップS405の判定は、ステップS404において取得しているタッチ点について行われる。CPU120は、タッチアップが行われていない場合(S405でNO)、処理をステップS408へ進め、タッチアップが行われた場合(S405でYES)、処理をステップS406へ進める。
ステップS406では、CPU120は、ステップS405でタッチアップしたと判定されたタッチ点のタッチアップ直前の移動速度(直前移動速度)が予め定められた所定の速度Sより大きいか否かを判定する。CPU120は、直前移動速度が速度Sよりも大きい場合(S406でYES)、処理をステップS407へ進め、直前移動速度が速度S以下の場合(S406でNO)、処理をステップS415へ進める。
ステップS407では、CPU120は、表示画像の慣性スクロール処理を行い、その後、処理をステップS415へ進める。ここで、慣性スクロールは、物理法則に従って行うため、以下の〔式1〕及び〔式2〕で移動位置を表すことができる。
X=vx×t+1/(2×a×t) ・・・ 〔式1〕
Y=vy×t+1/(2×a×t) ・・・ 〔式2〕
但し、X:X軸方向の表示位置
Y:Y軸方向の表示位置
vx:X軸方向のフリック速度
vx:Y軸方向のフリック速度
a:加速度(所定値(減速させるため負の値))
t:タッチアップ後の経過時間
ステップS403おいてタッチ点が1点でないと判定されてステップS408へ遷移するときのタッチ点の数は2点である。また、ステップS404の処理においてタッチ点が1点の場合にはステップS404の処理を終了しないようになっているため、ステップS405からステップS408へ遷移するときのタッチ点の数は2点となる。よって、ステップS408では、CPU120は、マルチタッチ処理を行う。なお、ステップS408の処理の詳細については、図6を参照して後述する。
ステップS408の終了後のステップS409では、CPU120は、タッチ点の数が1点であるか否かを判定する。ステップS409の判定は、ステップS408において取得しているタッチ点について行われる。CPU120は、タッチ点の数が1点である場合(S409でYES)、処理をステップS410へ進め、ステップS410においてドラッグスクロール処理を行い、その後、処理をステップS411へ進める。一方、ステップS408の処理においてタッチ点の数が2点の場合にはステップS408の処理を終了しないようになっているため、ステップS409でタッチ点の数が1点ではない場合のタッチ点の数はゼロ(0)であり、タッチオフの状態となる。そのため、CPU120は、ステップS409でタッチ点の数が1点でない場合(S409でNO)、処理をステップS415へ進める。
ステップS411では、CPU120は、タッチ点の数がゼロ(0)であるか否か(つまり、タッチ点がタッチアップしたか)を判定する。ステップS411の判定は、ステップS410において取得しているタッチ点について行われる。CPU120は、タッチ点の数がゼロである場合(S411でYES)、処理をステップS412へ進め、タッチ点の数がゼロでない場合(S411でNO)、処理をステップS408へ戻す。なお、ステップS410の処理においてタッチ点の数が1点でない場合にはステップS410の処理は終了しないようになっているため、ステップS411でタッチ点の数がゼロでない判定された場合のタッチ点の数は2点となる。
ステップS412では、CPU120は、タッチ点が2点から1点になって残ったタッチ点の、2点から1点になったときの位置からタッチアップした位置までの移動量(移動距離)が予め定められた所定の距離D1以上であるか否かを判定する。CPU120は、移動量が距離D1以上の場合(S412でYES)、処理をステップS413へ進め、移動量が距離D1未満の場合(S412でNO)、処理をステップS415へ進める。
ステップS413では、CPU120は、タッチ点のタッチアップ直前の移動速度が予め定められた所定の速度Sより大きいか否かを判定する。CPU120は、直前移動速度が速度Sよりも大きい場合(S413でYES)、処理をステップS414へ進め、直前移動速度が速度S以下の場合(S413でNO)、処理をステップS415へ進める。ステップS414では、CPU120は、表示画像の慣性スクロール処理を行い、その後、処理をステップS415へ進める。
ステップS415では、CPU120は、画像表示を終了させる操作(例えば、撮影モードへの移行、メニュー画面の表示指示等の他の動作モードへの移行操作、電源をOFFする操作等)があったか否かを判定する。CPU120は、終了操作がない場合(S415でNO)、処理をステップS401に戻し、終了操作があった場合(S415でYES)、処理を終了させる。
[ドラッグスクロール処理の詳細]
図5は、ステップS404,S410で実行されるドラッグスクロール処理のフローチャートである。先ず、ステップS501では、CPU120は、スクロール制御の変数x1,y1をタッチ点のX座標,Y座標としてRAM122に記憶する。続くステップS502では、CPU120は、スクロール制御の変数x2,y2(現在のタッチ点を表す)をタッチ点のX座標,Y座標としてRAM122に記憶する。そして、ステップS503では、CPU120は、スクロール制御の変数sdx,sdy(X軸、Y軸方向のタッチ点の差分)をそれぞれ、変数x2と変数x1の差分,変数y2と変数y1の差分(sdx=x2−x1,sdy=y2−y1)とする。
次に、ステップS504では、CPU120は、2点(x1,y1)と(x2,y2)の距離が予め定められた所定の距離より大きいか否かを判定する。CPU120は、2点間の距離が所定の距離より大きい場合(S504でYES)、処理をステップS505へ進め、2点間の距離が所定の距離以下の場合(S504でNO)、処理をステップS507へ進める。ステップS505では、CPU120は、表示位置X,Yからそれぞれ変数sdx,sdyを差し引き、スクロール位置の表示位置を更新する。すなわち、表示画像をX軸方向とY軸方向にスクロールする。その後、ステップS506では、CPU120は、変数x1を変数x2に、変数y1を変数y2にそれぞれ変更して、処理をステップS507へ進める。
ステップS507では、CPU120は、再度、タッチ点を取得する。続いて、ステップS508では、CPU120は、タッチ点の数が1点であるか否かを判定する。CPU120は、タッチ点の数が1点である場合(S508でYES)、処理をステップS502へ戻し、タッチ点の数が1点ではない場合(S508でNO)、処理を終了させる。
[マルチタッチ処理の詳細]
図6は、ステップS408で実行されるマルチタッチ処理のフローチャートである。先ず、ステップS601では、CPU120は、2点目がタッチダウンされたか否かを判定する。CPU120は、2点目がタッチダウンされた場合(S601でYES)、処理をステップS602へ進め、2点目がタッチダウンされていない場合(S601でNO)、処理をステップS603へ進める。
ステップS602では、CPU120は、2点のタッチ点間の距離を計測してマルチタッチ制御用の変数md1に割り当ててRAM122に記憶し、処理をステップS603へ進める。ステップS603では、CPU120は、マルチタッチ制御用の変数md2(現在の2点間の距離を表す)に現在の2点のタッチ点間の距離を設定してRAM122に記憶し、処理をステップS604へ進める。
ステップS604では、CPU120は、変数md2から変数md1を差し引いた値(差分A1=md2−md1)が予め定められた所定値以上か否かを判定する。つまり、ステップS604において、ピンチアウト操作が行われているか否かが判定される。CPU120は、差分A1が所定値以上の場合(S604でYES)、ピンチアウト操作が行われていると判定して処理をステップS605へ進め、一方、差分A1が所定値未満の場合(S604でNO)、処理をステップS606へ進める。
ステップS605では、CPU120は、画像の拡大率を上げて画像の表示を更新する(拡大表示)。続くステップS606では、CPU120は、変数md1から変数md2を差し引いた値(差分A2=md1−md2)が予め定められた所定値以上か否かを判定する。つまり、ステップS606において、ピンチイン操作が行われているか否かが判定される。差分A2が所定値以上である場合(S606でYES)、ピンチイン操作が行われていると判定して処理をステップS607へ進め、一方、差分A2が所定値未満である場合(S606でNO)、処理をステップS609へ進める。
ステップS607では、CPU120は、画像の拡大率を下げて画像の表示を更新し(縮小表示)、処理をステップS608に進める。ステップS608では、CPU120は、変数md1を変数md2に変更する。続くステップS609では、CPU120は、再度、タッチ点を取得する。そして、ステップS610では、CPU120は、タッチ点の数が2点であるか否かを判定する。CPU120は、タッチ点の数が2点である場合(S610でYES)、タッチアップがなされていないと判定して、処理をステップS603へ戻し、タッチ点の数が2点でない場合(S610でNO)、処理を終了させる。
以上に説明した図4〜図6のフローチャートに従う処理によって、図2及び図3を参照して説明したように表示画像を移動させる動作を実現することができる。
<第2実施形態に係る動作の内容>
第1実施形態では1枚の画像の拡大/縮小及びスクロール操作に伴う表示制御を取り上げたが、第2実施形態では所定の複数の項目をインデックス表示(マルチ表示)したときのタッチ操作に伴う表示制御を取り上げる。所定の項目としては、画像を取り上げることとする。なお、第1実施形態と第2実施形態は、同じ表示制御装置(つまり、その一例としてのデジタルカメラ100)での異なる場面での表示制御である。
[インデックスの表示形式]
第2実施形態では、より具体的には、ディスプレイ101に複数の画像をインデックス表示し、ユーザがタッチパネル150を操作して、スクロールや表示枚数の変更、フォーカス移動を行うときの表示制御について説明する。
第2実施形態におけるインデックス表示では、複数の画像を行列に並べて配置するものとする。また、インデックス表示における画像の配置は、ある行の左端から右端へ、続いて次の行の左端から右端という順に、画像ファイル名順、画像番号順或いは撮影日時順等の所定の順序で配置されるものとする。全ての画像を1画面に表示しきれない場合は、画面をスクロールすることによって前又は後の行に配置される画像を表示することができるものとする。更に、スクロール停止時には、選択されている画像にフォーカス枠が重畳表示されているものとし、選択されていない画像に対して容易に識別可能となっている。
なお、入力部134に含まれるズームレバーの操作によって、フォーカス枠によって選択されている画像のシングル表示への切り換えや拡大表示が可能になっている。また、入力部134に含まれる削除ボタンやプロテクトボタンの押下によって、フォーカス枠によって選択されている画像の削除や保護が可能になっている。インデックス表示で表示可能な画像の枚数(行数、列数)は、ユーザの操作によって変更することができるものとし、一度に表示する画像数を増やすと、各画像の大きさは小さくなる。
[インデックス表示に対するタッチ操作]
図7は、ディスプレイ101にインデックス表示がなされているときにドラッグ操作によるスクロール及びフリック操作による慣性スクロールが行われたときの表示の変化を示す図である。図7(a)には、スクロール操作をする前の静止状態でのインデックス表示の表示例が示されており、画像41にフォーカス枠が表示されている。図7(b)には、図7(a)の状態に対して1点でタッチダウンがなされたときの状態が示されており、このタッチダウンにより、そのタッチ点を包含する画像25にフォーカス枠が移動する。
図7(c)には、図7(b)の状態から上方向にドラッグ操作が行われて、表示画像が上の部分(番号の小さい画像)から下の部分(番号の大きい画像)に向けて変化している状態が示されている。つまり、図7(c)では、図7(b)と比較して、全ての画像が下から上に向けてスクロールしている。なお、スクロール中は、フォーカス枠は非表示となっている。
図7(d)には、図7(c)の状態からタッチ点がタッチアップし、慣性スクロールが行われている状態が示されている。図7(d)では、上方向のフリックが検出されており、そのため、下から上に向けて慣性スクロールが行われている。よって、図7(d)では、図7(c)と比較して、表示されている画像群が変わっている。図7(e)には、図7(d)の状態から慣性スクロールが終了して停止した状態が示されている。慣性スクロールが停止すると、再びフォーカス枠が表示されるようになっており、図7(e)では画像52にフォーカス枠が表示されている。なお、図7(e)での画像52のディスプレイ101上の座標は、図7(c)での画像25のディスプレイ101上の座標と同じである。
図8は、ディスプレイ101にインデックス表示がなされているときにピンチ操作により表示枚数の変更とフォーカス移動が行われたときの表示の変化を示す図である。図8(a)には、図7(a)と同じ状態、即ち、タッチオフの状態でスクロールも停止している状態が示されている。図8(b)には、図8(a)の状態から1点のタッチダウンが行われ、タッチダウンされた画像25にフォーカス枠が表示された状態が示されている。図8(c)には、図8(b)の状態に対して更に1点でのタッチダウンが行われた状態が示されており、ここでは、2点のタッチ点の中点を包含する画像32にフォーカス枠が移動するものとする。
図8(d)には、図8(c)の状態からピンチアウト操作が行われた状態が示されている。図8(e)には、ピンチアウト操作により図8(d)の状態から表示画像の数が減少した状態(7×6枚から4×3枚へ)でのインデックス表示の例が示されている。なお、フォーカス枠は、切り替える前と同じ画像(ここでは、画像32)に重畳して表示されるものとする。図8(f)には、図8(e)の状態から1点(画像30近傍のタッチ点)がタッチアップした状態が示されている。
図8(g)には、図8(f)の状態から残った1点のタッチ点で、下方向へドラッグ操作が行われた状態が示されており、ドラッグ操作の移動先であるタッチ点を包含する画像(ここでは、画像37)にフォーカス枠が移動している。このように、インデックス表示でのピンチ操作後にタッチオフ(1点もタッチされていない状態)になることなく1点でのムーブ操作が行われた場合には、このムーブ操作に応じたスクロールは行わず、ムーブ操作に応じてフォーカス枠の移動のみを行うようにする。したがって、図8(g)では、図8(f)と比較して、タッチ点の位置(指の位置)は変わっているが、インデック表示されている画像群には変化はない。
このように、ピンチアウト操作後、タッチオフとなるまでの間は、スクロール操作を受け付けないようにすることで、所望の画像を見失わずにフォーカス枠を移動させることができる。また、ドラッグ操作の移動量が短い場合には、フォーカス枠の移動も行わないようにすることで、ユーザの意図に反した誤動作の発生を抑制することができる。なお、図8にはピンチアウトにより画像を拡大した例について説明したが、ピンチインにより画像を縮小した後についても、同様の表示制御が可能である。
[表示制御処理フロー]
図7及び図8に示した動作を実現する処理の手順について、図9〜図12のフローチャートを参照して説明する。図9〜図12のフローチャートに示す各処理は、CPU120がROM121に記録されたプログラムをRAM122のワークエリアに展開して実行し、デジタルカメラ100の各部を制御することで実現される。
図9は、ディスプレイ101にインデックス表示がなされている状態でタッチパネル150に対してタッチ入力が行われたときの画像表示制御のフローチャートである。先ず、ステップS900では、CPU120は、記憶媒体116から画像を読み出し、ディスプレイ101にインデックス表示(マルチ表示)を行う。これにより、先に説明した図7(a)及び図8(a)のような表示が行われる。続くステップS901では、CPU120は、タッチ点の座標を取得する。
次に、ステップS902では、CPU120は、タッチ点の数がゼロ(0)、即ち、タッチオフの状態であるか否かを判定する。CPU120は、タッチオフの状態である場合(S902でYES)、処理をステップS913へ進め、タッチオフの状態ではない場合(S902でNO)、処理をステップS903へ進める。ステップS903では、CPU120は、タッチ点の数が1点であるか否かを判定する。CPU120は、タッチ点の数が1点である場合(S903でYES)、処理をステップS904へ進め、タッチ点の数が1点ではない場合(S903でNO)、処理をステップS908へ進める。
ステップS904では、CPU120は、ドラッグスクロール処理を実行する。なお、ステップS904のドラッグスクロール処理の詳細については、図10を参照して後述する。続くステップS905では、CPU120は、再び、タッチ点の数がゼロ(0)、即ち、タッチオフの状態であるか否かを判定する。ステップS905の判定は、ステップS904において取得しているタッチ点について行われる。CPU120は、タッチオフの状態である場合(S905でYES)、処理をステップS906へ進め、タッチオフの状態でない場合(S905でNO)、処理をステップS908へ進める。
ステップS906では、CPU120は、ステップS905でタッチオフの状態となる際にタッチアップしたタッチ点のタッチアップ直前の移動速度(直前移動速度)が所定の速度Sより大きいか否かを判定する。CPU120は、直前移動速度が速度Sよりも大きい場合(S906でYES)、処理をステップS907へ進め、直前移動速度が速度Sよりも大きくない場合(S906でNO)、処理をステップS913へ進める。ステップS907では、CPU120は、慣性スクロールを行い、その後、処理をステップS913へ進める。
ステップS903において判定がNOとなる場合には、タッチ点の数は2点である。また、ステップS904においてタッチ点が1点の場合にはステップS904の処理を終了しないようになっているため、ステップS905の判定がNOとなる場合も、タッチ点の数は2点となる。そのため、ステップS908では、CPU120は、マルチタッチ処理を実行する。なお、ステップS908のマルチタッチ処理の詳細については、図11を参照して後述する。
ステップS908の後のステップS909では、CPU120は、再び、タッチ点の数が1点であるか否かを判定する。ここで、ステップS908の処理はタッチ点の数が2点の場合には終了しないようになっているため、ステップS909でタッチ点の数が1点でないと判定された場合には、タッチ点の数はゼロ(0)、即ち、タッチオフの状態となる。また、ステップS909の判定は、ステップS908において取得しているタッチ点について行われる。そのため、CPU120は、タッチ点の数が1点である場合(S909でYES)、処理をステップS910へ進め、タッチ点の数が1点ではない場合(S909でNO)、処理をステップS913へ進める。
ステップS910では、CPU120は、タッチ点が2点から1点になって残ったタッチ点の移動量(移動距離)が所定の距離D4以上であるか否かを判定する。CPU120は、移動量が距離D4以上の場合(S910でYES)、処理をステップS911へ進め、移動量が距離D1未満の場合(S910でNO)、処理をステップS913へ進める。ステップS911では、CPU120は、フォーカス移動処理を実行する。なお、ステップS911のフォーカス移動処理の詳細については、図12を参照して後述する。
ステップS911の後のステップS912では、CPU120は、ステップS911において取得しているタッチ点の数がゼロ(0)であるか否かを判定する。ここで、ステップS911ではタッチ点の数が1点の場合には処理を終了しないようになっているため、ステップS912でタッチ点の数がゼロでないと判定されたときのタッチ点の数は2点となる。よって、CPU120は、タッチ点の数がゼロでない場合(S912でNO)、処理をステップS908へ戻す。一方、タッチ点の数がゼロである場合(S912でYES)、処理をステップS913へ進める。
ステップS913では、CPU120は、インデックス表示を終了させる操作(例えば、撮影モードへの移行、メニュー画面の表示指示等の他の動作モードへの移行操作や、電源をOFFする操作等)があったか否かを判定する。CPU120は、終了操作がなかった場合(S913でNO)、処理をステップS901へ戻し、終了操作があった場合(S913でYES)、処理を終了させる。
[ドラッグスクロール移動処理の詳細]
図10は、ステップS904で実行されるドラッグスクロール処理のフローチャートである。先ず、ステップS1001では、CPU120は、スクロール制御の変数y1にタッチ点のY座標を割り当ててRAM122に記録する。続くステップS1002では、CPU120は、スクロール制御の変数y2(現在のタッチ点のY座標を表す)をタッチ点のY座標としてRAM122に記録する。
次に、ステップS1003では、CPU120は、スクロール制御の変数sdy(Y軸方向のタッチ点の差分を表す)を変数y2と変数y1の差分(=y2−y1)とする。続いて、ステップS1004では、CPU120は、変数sdyの絶対値が所定値より大きいか否かを判定する。CPU120は、変数sdyの絶対値が所定値以下である場合(S1004でNO)、処理をステップS1007へ進め、所定値より大きい場合(S1004YES)、処理をステップS1005へ進める。
ステップS1005では、CPU120は、表示位置から変数sdyを差し引いてスクロール位置の表示位置を更新する。即ち、Y軸方向でのスクロール処理が行われる。続くステップS1006では、CPU120は、変数y1を変数y2に変更する。その後のステップS1007では、CPU120は、再度、タッチ点を取得する。そして、ステップS1008では、CPU120は、タッチ点の数が1点であるか否かを判定する。CPU120は、タッチ点の数が1点である場合(S1008でYES)、処理をステップS1002へ戻し、タッチ点の数が1点でない場合(S1008でNO)、処理を終了させる。
[マルチタッチ処理の詳細]
図11は、ステップS908で実行されるマルチタッチ制御処理のフローチャートである。先ず、ステップS1101では、CPU120は、2点目がタッチダウンされたか否かを判定する。CPU120は、2点目がタッチダウンされた場合(S1101でYES)、処理をステップS1102へ進め、タッチダウンされていない場合(S1101でNO)、処理をステップS1104へ進める。
ステップS1102では、CPU120は、マルチタッチ制御用の変数md1に現在の2点間の距離を割り当ててRAM122に記憶する。続くステップS1103では、CPU120は、2点のタッチ点の中点に最も近い画像にフォーカス枠を移動させる。その後、CPU120は、処理をステップS1104へ進める。
ステップS1104では、CPU120は、マルチタッチ制御用の変数md2(現在の2点間の距離を表す)に現在の2点間の距離を割り当ててRAM122に記憶する。ステップS1104の後のステップS1105では、CPU120は、変数md2から変数md1を差し引いた差(差分B1=md2−md1)が所定値以上か否かを判定する。即ち、ステップS1105では、ピンチアウト操作が行われているか否かが判定される。CPU120は、差分B1が所定値以上である場合(S1104でYES)、つまり、ピンチアウト操作が行われた場合、処理をステップS1106へ進め、一方、差分B1が所定値未満である場合(S1104でNO)、処理をステップS1107へ進める。
CPU120は、ステップS1106では、各々の画像の大きさを拡大し、画面に表示する画像枚数を少なくする拡大表示処理を行い、その後、処理をステップS1109へ進める。ステップS1107では、CPU120は、変数md1から変数md2を差し引いた差(差分B2=md1−md2)が所定値以上か否か、つまり、ピンチイン操作が行われているか否かを判定する。CPU120は、差分B1が所定値以上である場合(S1107でYES)、ピンチイン操作が行われたと判定して、処理をステップS1108へ進め、一方、差分B1が所定値未満である場合(S1107でNO)、処理をステップS1110へ進める。ステップS1108では、CPU120は、各々の画像の大きさを縮小し、画面に表示する画像枚数を多くする縮小表示処理を行う。続くステップS1109では、CPU120は、変数md1を変数md2に変更する。その後、CPU120は、処理をステップS1110へ進める。
ステップS1110では、CPU120は、再度、タッチ点を取得する。続いて、ステップS1111では、CPU120は、タッチ点の数が2点であるか否かを判定する。CPU120は、タッチ点の数が2点である場合(S1111でYES)、処理をステップS1104へ戻し、タッチ点の数が2点でない場合(S1111でNO)、処理を終了させる。
[フォーカス移動処理の詳細]
図12は、ステップS911で実行されるフォーカス移動処理のフローチャートである。先ず、ステップS1201では、CPU120は、タッチ点のX座標,Y座標をそれぞれ変数X1,変数Y1としてRAM122に記憶する。ステップS1201の後のステップ1202では、CPU120はタッチ点のX座標、Y座標をそれぞれ変数X2、変数Y2とし、RAM122に記憶する。
ステップS1202の後のステップS1203では、CPU120は、2点(X1,Y1),(X2,Y2)間の距離が所定値以上であるか否かを判定する。即ち、ステップS1203では、ドラッグ操作が行われているか否かが判定される。CPU120は、2点間距離が所定値以上である場合(S1203でYES)、つまり、ドラッグ操作が行われている場合、処理をステップS1206へ進め、一方、2点間距離が所定値未満である場合(S1203でNO)、処理をステップS1204へ進める。
ステップS1204では、CPU120は、再度、タッチ点を取得する。続くステップS1205では、CPU120は、タッチ点の数が1点であるか否かを判定する。CPU120は、タッチ点の数が1点である場合(S1205でYES)、処理をステップS1202へ戻し、一方、1点ではない場合(S1205でNO)、処理を終了させる。
ステップS1206では、CPU120は、点(X2、Y2)を包含する画像が存在するか否かを判定する。CPU120は、点(X2、Y2)を包含する画像が存在する場合(S1206でYES)、処理をステップS1207へ進め、一方、点(X2、Y2)を包含する画像が存在しない場合(S1206でNO)、処理をステップS1208へ進める。
ステップS1207では、CPU120は、点(X2,Y2)を包含する画像にフォーカス枠を移動させる。続くステップS1208では、CPU120は、再度、タッチ点を取得する。次に、ステップS1209では、CPU120は、タッチ点の数が1点であるか否かを判定する。CPU120は、タッチ点の数が1点である場合(S1209でYES)、処理をステップS1210へ進め、タッチ点の数が1点でない場合(S1209でNO)、処理を終了させる。ステップS1210では、CPU120は、タッチ点のX座標,Y座標をそれぞれX2,Y2として、処理をステップS1206へ戻す。
以上に説明した図9〜図12のフローチャートに従う処理によって、図7及び図8を参照して説明したように表示画像を移動させる動作を実現することができる。
<その他の実施形態>
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
例えば、図4〜図6及び図9〜図12の各フローチャートの制御は、上記実施形態では、CPU120が行うとしたが、複数のハードウェア(CPUやMPU)が処理を分担することで、表示制御装置全体の制御を行ってもよい。
また、上記実施形態では、ディスプレイ101にシングル表示、拡大表示/縮小表示或いはマルチ表示(インデックス表示)された画像に対してマルチタッチ操作を行った場合について説明したが、これに限られない。即ち、本発明は、マルチタッチ操作の直後の、全点がタッチアップする前の1点タッチによる慣性スクロール又はスクロールを抑制するものであるので、マルチタッチ操作と1点タッチによるスクロール操作が可能な場面であれば適用可能である。すなわち、Web画面、地図、図面、文書等のコンテンツを表示する場面に適用することができる。
更に、上記実施形態では、本発明をデジタルカメラに適用して説明したが、本発明は、マルチタッチ操作によりディスプレイに表示された表示画像を変形させたり移動させたりすることができる全ての機器に対して適用することができる。例えば、本発明は、マルチタッチ操作が可能なパーソナルコンピュータやPDA、携帯電話端末、携帯型画像ビューワ、デジタルフォトフレーム、ゲーム機、電子ブックリーダ、ディスプレイ付きプリンタ装置、ディスプレイ付き音楽プレーヤ等の機器に対して適用可能である。
101 ディスプレイ
120 CPU
121 ROM
122 RAM
133 表示制御部
150 タッチパネル

Claims (18)

  1. 表示手段に対する複数点のタッチ出可能なタッチ検出手段と、
    前記タッチ検出手段が1点のタッチを検出し、その後、1点もタッチを検出しなくなるまでの間に複数点のタッチを検出していない場合は、前記1点のタッチが所定の条件を満たしたか否かにかかわらず、前記1点のタッチが移動しながら離れたことに応じて、前記1点のタッチが離れた後にも前記表示手段に表示されている表示オブジェクトをスクロールするように制御し、
    前記タッチ検出手段が複数のタッチを検出し、その後、前記複数点のタッチが1点になった場合には、該1点のタッチが前記所定の条件を満たしたか否かにかかわらず、該1点のタッチが検出されている間のタッチ位置の移動に応じて、前記表示オブジェクトをスクロールするように制御し、
    前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になり、且つ、該1点のタッチが前記所定の条件を満たした後に移動しながら離れた場合には、該1点のタッチが離れた後にも前記表示オブジェクトをスクロールするように制御し、
    前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になり、且つ、該1点のタッチが前記所定の条件を満たさずに離れた場合には、該1点のタッチが離れた後に前記表示オブジェクトをスクロールさせないように制御する制御手段と、を備えることを特徴とする表示制御装置。
  2. 前記制御手段は、タッチが離れた後に前記表示オブジェクトをスクロールする場合、前記タッチが離れる直前のタッチ位置の移動速度に応じた速度で前記表示オブジェクトを減速させながらスクロールさせ、その後、スクロールを停止させるように制御することを特徴とする請求項1記載の表示制御装置。
  3. 前記制御手段は、1点のタッチが検出されている間のタッチ位置の移動に応じて前記表示オブジェクトをスクロールする場合、前記タッチ位置の移動距離に相当する距離で前記表示オブジェクトのスクロールを行うように制御することを特徴とする請求項1記載の表示制御装置。
  4. 前記制御手段は、前記タッチ検出手段が複数のタッチを検出した場合、該複数点のタッチのタッチ位置の変化に応じた処理を行うように制御することを特徴とする請求項1乃至3のいずれか1項に記載の表示制御装置。
  5. 前記制御手段は、前記タッチ検出手段が複数のタッチを検出した場合、該複数点のタッチ位置のそれぞれの相対位置の変化に応じた処理を行うように制御することを特徴とする請求項4に記載の表示制御装置。
  6. 記制御手段は、前記タッチ検出手段が点のタッチを検出した場合、該2点のタッチのタッチ位置間の距離が広がったことに応じて前記表示オブジェクトを拡大して表示するように制御することを特徴とする請求項に記載の表示制御装置。
  7. 前記制御手段は、前記タッチ検出手段が2点のタッチを検出した場合、該2点のタッチのタッチ位置間の距離が狭まったことに応じて前記表示オブジェクトを縮小して表示するように制御することを特徴とする請求項5又は6に記載の表示制御装置。
  8. 前記制御手段は、前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になり、且つ、該1点のタッチが前記所定の条件とは異なる他の条件を満たした場合に、前記1点のタッチが検出されている間の前記1点のタッチ位置の移動に応じて前記表示オブジェクトをスクロールするように制御することを特徴とする請求項1乃至7のいずれか1項に記載の表示制御装置
  9. 前記制御手段は、前記タッチ検出手段が1点のタッチを検出し、その後、タッチが1つも検出されなくなるまでに複数点のタッチを検出していたか否かにかかわらず、タッチが1つも検出されなくなる直前のタッチ位置の移動速度が所定速度以下であった場合には、タッチが1つも検出されなくなった後に前記表示オブジェクトをスクロールさせないように制御することを特徴とする請求項1乃至8のいずれか1項に記載の表示制御装置。
  10. 前記所定の条件は、前記タッチ検出手段が複数点のタッチを検出し、その後、該複数点のタッチが1点になった後の該1点のタッチのタッチ位置の移動距離が所定距離以上であることを特徴とする請求項1乃至9のいずれか1項に記載の表示制御装置。
  11. 前記所定の条件は、前記タッチ検出手段が複数点のタッチを検出し、その後、該複数点のタッチが1点になった後の該1点のタッチの継続時間が所定時間以上であることを特徴とする請求項1乃至9のいずれか1項に記載の表示制御装置。
  12. 表示手段に対する複数点のタッチを検出可能なタッチ検出手段を有する表示制御装置の制御方法であって、
    前記タッチ検出手段が1点のタッチを検出し、その後、1点もタッチを検出しなくなるまでの間に複数点のタッチを検出していない場合は、前記1点のタッチが所定の条件を満たしたか否かにかかわらず、前記1点のタッチが移動しながら離れたことに応じて、前記1点のタッチが離れた後にも前記表示手段に表示されている表示オブジェクトをスクロールするように制御し、
    前記タッチ検出手段が複数のタッチを検出し、その後、前記複数点のタッチが1点になった場合には、該1点のタッチが前記所定の条件を満たしたか否かにかかわらず、該1点のタッチが検出されている間のタッチ位置の移動に応じて、前記表示オブジェクトをスクロールするように制御し、
    前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になり、且つ、該1点のタッチが前記所定の条件を満たした後に移動しながら離れた場合には、該1点のタッチが離れた後にも前記表示オブジェクトをスクロールするように制御し、
    前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になり、且つ、該1点のタッチが前記所定の条件を満たさずに離れた場合には、該1点のタッチが離れた後に前記表示オブジェクトをスクロールさせないように制御する制御ステップを備えることを特徴とする表示制御装置の制御方法。
  13. 表示手段に対する複数点のタッチを検出可能なタッチ検出手段と、
    前記タッチ検出手段が1点のタッチを検出し、その後、1点もタッチを検出しなくなるまでの間に複数点のタッチを検出していない場合には、該1点のタッチが検出されている間の該1点のタッチのタッチ位置の移動に応じて、前記表示手段に表示されている複数の項目をスクロールするように制御すると共に、該1点のタッチが移動しながら離れたことに応じて、該1点のタッチが離れた後にも前記項目をスクロールするように制御し、
    前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になった場合には、前記複数の項目をスクロールせずに、該1点のタッチが所定の条件を満たした後の該1点のタッチ位置に応じて前記複数の項目の中から選択される項目を変更するように制御する制御手段と、を備えることを特徴とする表示制御装置。
  14. 前記制御手段は、前記タッチ検出手段が複数点のタッチを検出した場合に、該複数点のタッチのタッチ位置の変化に応じた処理を行うように制御することを特徴とする請求項13に記載の表示制御装置。
  15. 前記制御手段は、前記タッチ検出手段が2点のタッチを検出した場合、該2点のタッチのタッチ位置間の距離が狭まったことに応じて、前記表示手段に表示される項目の数を増やして表示するように制御することを特徴とする請求項14に記載の表示制御装置。
  16. 表示手段に対する複数点のタッチを検出可能なタッチ検出手段を有する表示制御装置の制御方法であって、
    前記タッチ検出手段が1点のタッチを検出し、その後、1点もタッチを検出しなくなるまでの間に複数点のタッチを検出していない場合には、該1点のタッチが検出されている間の該1点のタッチのタッチ位置の移動に応じて、前記表示手段に表示されている複数の項目をスクロールするように制御すると共に、該1点のタッチが移動しながら離れたことに応じて、該1点のタッチが離れた後にも前記項目をスクロールするように制御し、
    前記タッチ検出手段が複数点のタッチを検出し、その後、前記複数点のタッチが1点になった場合には、前記複数の項目をスクロールせずに、該1点のタッチが所定の条件を満たした後の該1点のタッチ位置に応じて前記複数の項目の中から選択される項目を変更するように制御する制御ステップを備えることを特徴とする表示制御装置の制御方法。
  17. コンピュータを請求項1乃至11,13乃至15のいずれか1項に記載された表示生後装置の各手段として機能させるためのプログラム。
  18. コンピュータを請求項1乃至11,13乃至15のいずれか1項に記載された表示生後装置の各手段として機能させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
JP2012188619A 2012-08-29 2012-08-29 表示制御装置、表示制御方法、プログラム及び記憶媒体 Active JP5975794B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012188619A JP5975794B2 (ja) 2012-08-29 2012-08-29 表示制御装置、表示制御方法、プログラム及び記憶媒体
US14/012,054 US9313406B2 (en) 2012-08-29 2013-08-28 Display control apparatus having touch panel function, display control method, and storage medium
CN201310385061.XA CN103677621B (zh) 2012-08-29 2013-08-29 具有触摸面板功能的显示控制设备和显示控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012188619A JP5975794B2 (ja) 2012-08-29 2012-08-29 表示制御装置、表示制御方法、プログラム及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2014048694A JP2014048694A (ja) 2014-03-17
JP2014048694A5 JP2014048694A5 (ja) 2015-10-15
JP5975794B2 true JP5975794B2 (ja) 2016-08-23

Family

ID=50187078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012188619A Active JP5975794B2 (ja) 2012-08-29 2012-08-29 表示制御装置、表示制御方法、プログラム及び記憶媒体

Country Status (3)

Country Link
US (1) US9313406B2 (ja)
JP (1) JP5975794B2 (ja)
CN (1) CN103677621B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6257255B2 (ja) * 2013-10-08 2018-01-10 キヤノン株式会社 表示制御装置及び表示制御装置の制御方法
US20150268827A1 (en) * 2014-03-24 2015-09-24 Hideep Inc. Method for controlling moving direction of display object and a terminal thereof
JP6399834B2 (ja) * 2014-07-10 2018-10-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US20170242545A1 (en) * 2014-08-22 2017-08-24 Sharp Kabushiki Kaisha Touch panel device
JP6415330B2 (ja) * 2015-01-15 2018-10-31 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法
CN105045484B (zh) * 2015-07-06 2018-04-17 腾讯科技(深圳)有限公司 操作处理方法及电子设备
JP6978826B2 (ja) * 2016-01-08 2021-12-08 キヤノン株式会社 表示制御装置及びその制御方法、プログラム、並びに記憶媒体
JP6758921B2 (ja) * 2016-06-01 2020-09-23 キヤノン株式会社 電子機器及びその制御方法
JP2018013745A (ja) * 2016-07-23 2018-01-25 キヤノン株式会社 電子機器およびその制御方法
DE112017003248B4 (de) * 2016-07-29 2022-05-19 Fujifilm Corporation Kamera, Einstellverfahren der Kamera und Einstellprogramm der Kamera
JP6860368B2 (ja) * 2017-02-06 2021-04-14 キヤノン株式会社 電子機器、その制御方法、プログラム及び記憶媒体
JP7023621B2 (ja) * 2017-06-05 2022-02-22 キヤノン株式会社 電子機器およびその制御方法
JP2019021021A (ja) * 2017-07-18 2019-02-07 京セラドキュメントソリューションズ株式会社 表示制御装置、及び表示制御方法
KR20220048245A (ko) * 2020-10-12 2022-04-19 엘지전자 주식회사 무선 디바이스 및 무선 시스템
CN112799546A (zh) * 2021-01-26 2021-05-14 广州创知科技有限公司 一种触控检测方法、装置、交互平板和存储介质
CN113238709A (zh) * 2021-06-02 2021-08-10 北京字节跳动网络技术有限公司 一种基于触控板的控制方法、装置和设备
WO2024080838A1 (ko) * 2022-10-14 2024-04-18 삼성전자 주식회사 키보드 입력의 오타 보정을 위한 전자 장치 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0693241B2 (ja) 1987-01-14 1994-11-16 富士通株式会社 フアイル検索装置
US5825352A (en) * 1996-01-04 1998-10-20 Logitech, Inc. Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad
TWI248576B (en) * 2004-07-05 2006-02-01 Elan Microelectronics Corp Method for controlling rolling of scroll bar on a touch panel
JP2008299474A (ja) 2007-05-30 2008-12-11 Sony Corp 表示制御装置および方法、表示装置、撮像装置、並びに、プログラム
EP2306286A4 (en) * 2008-07-17 2016-05-11 Nec Corp INFORMATION PROCESSING APPARATUS, STORAGE MEDIUM ON WHICH A PROGRAM HAS BEEN RECORDED, AND METHOD FOR MODIFYING OBJECT
US20110090155A1 (en) 2009-10-15 2011-04-21 Qualcomm Incorporated Method, system, and computer program product combining gestural input from multiple touch screens into one gestural input
US20110179381A1 (en) 2010-01-21 2011-07-21 Research In Motion Limited Portable electronic device and method of controlling same
JP5597069B2 (ja) 2010-08-31 2014-10-01 キヤノン株式会社 画像編集装置、その制御方法、及び、プログラム
JP5226051B2 (ja) * 2010-09-24 2013-07-03 シャープ株式会社 コンテンツ表示装置、コンテンツ表示方法、プログラム、および記録媒体
KR101726607B1 (ko) 2010-10-19 2017-04-13 삼성전자주식회사 휴대 단말기의 화면 제어 방법 및 장치
JP5304763B2 (ja) 2010-10-22 2013-10-02 アイシン・エィ・ダブリュ株式会社 画像表示装置、画像表示方法及びプログラム
JP2012127791A (ja) * 2010-12-15 2012-07-05 Aisin Aw Co Ltd ナビゲーション装置およびその制御方法並びにプログラム

Also Published As

Publication number Publication date
CN103677621B (zh) 2016-07-06
JP2014048694A (ja) 2014-03-17
US9313406B2 (en) 2016-04-12
US20140063321A1 (en) 2014-03-06
CN103677621A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
JP5975794B2 (ja) 表示制御装置、表示制御方法、プログラム及び記憶媒体
US11262908B2 (en) Method of adjusting an UI and user terminal using the same
US10547778B2 (en) Image display device for displaying an image in an image display area, and storage medium storing image display program for displaying an image in an image display area
JP5511573B2 (ja) 表示制御装置及びその制御方法、並びにプログラム及び記憶媒体
JP5906097B2 (ja) 電子機器、その制御方法、プログラム、及び記録媒体
JP5889028B2 (ja) 動画記録装置及びその制御方法、コンピュータプログラム、記憶媒体
WO2013136708A1 (en) Information processing apparatus for controlling an image based on duration and distance of a touch input, method, and non - transitory computer - readable medium
JP6161418B2 (ja) 画像形成装置、画像形成装置の制御方法、並びにコンピュータプログラム
WO2016196988A1 (en) Quick review of captured image data
JP6647103B2 (ja) 表示制御装置およびその制御方法
KR102205283B1 (ko) 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
EP3191927B1 (en) Method and device for executing applications through application selection screen
JP5220157B2 (ja) 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
JP2017215838A (ja) 電子機器及びその制御方法
JP2011034512A (ja) 表示制御装置及び表示制御方法
CN116916152A (zh) 电子装置、控制方法和存储介质
JP6071543B2 (ja) 電子機器及び電子機器の制御方法
WO2018132709A1 (en) A method of navigating panels of displayed content
JP6779778B2 (ja) 表示制御装置およびその制御方法
JP6762723B2 (ja) 記録装置、記録装置の制御方法およびプログラム
JP6362110B2 (ja) 表示制御装置、その制御方法、プログラム、及び記録媒体
JP7030527B2 (ja) 電子機器、情報処理方法、プログラム及び記憶媒体
JP6759023B2 (ja) 表示制御装置、その制御方法、およびプログラム、並びに記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150826

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160615

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160719

R151 Written notification of patent or utility model registration

Ref document number: 5975794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151