特許第6122037号(P6122037)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サムスン エレクトロニクス カンパニー リミテッドの特許一覧

特許6122037端末機におけるコンテンツ移動方法及び装置
<>
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000002
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000003
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000004
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000005
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000006
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000007
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000008
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000009
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000010
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000011
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000012
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000013
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000014
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000015
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000016
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000017
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000018
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000019
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000020
  • 特許6122037-端末機におけるコンテンツ移動方法及び装置 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6122037
(24)【登録日】2017年4月7日
(45)【発行日】2017年4月26日
(54)【発明の名称】端末機におけるコンテンツ移動方法及び装置
(51)【国際特許分類】
   G06F 3/0488 20130101AFI20170417BHJP
   G06F 3/0485 20130101ALI20170417BHJP
   G06F 3/041 20060101ALI20170417BHJP
【FI】
   G06F3/0488
   G06F3/0485
   G06F3/041 595
【請求項の数】18
【全頁数】25
(21)【出願番号】特願2014-558666(P2014-558666)
(86)(22)【出願日】2013年2月6日
(65)【公表番号】特表2015-515043(P2015-515043A)
(43)【公表日】2015年5月21日
(86)【国際出願番号】KR2013000939
(87)【国際公開番号】WO2013125804
(87)【国際公開日】20130829
【審査請求日】2016年2月5日
(31)【優先権主張番号】10-2012-0019351
(32)【優先日】2012年2月24日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】503447036
【氏名又は名称】サムスン エレクトロニクス カンパニー リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】キ・ウォン・イ
(72)【発明者】
【氏名】サン・ホン・キム
【審査官】 間野 裕一
(56)【参考文献】
【文献】 特表2012−503223(JP,A)
【文献】 特開2010−170479(JP,A)
【文献】 特開2013−92942(JP,A)
【文献】 特開2006−68385(JP,A)
【文献】 米国特許出願公開第2010/0149115(US,A1)
【文献】 米国特許出願公開第2011/0043456(US,A1)
【文献】 米国特許出願公開第2011/0119620(US,A1)
【文献】 米国特許出願公開第2009/0262089(US,A1)
【文献】 特開2010−86230(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 − 3/0489
G06F 3/041 − 3/047
G06F 3/033 − 3/039
(57)【特許請求の範囲】
【請求項1】
タッチスクリーンを有する端末機におけるコンテンツ移動方法であって、
前記タッチスクリーン上でタッチ地点を検出するステップと、
前記タッチ地点を原点に設定するステップと、
前記原点から現在タッチ地点までの移動の位置変化量を算出するステップと、
前記算出された位置変化量が前記原点を基準に予め設定されたしきい領域を外れる場合、前記移動の方向を決定するステップと、
前記決定された方向にコンテンツを移動させるステップと、を含み、
前記移動の方向が決定されれば、前記しきい領域のサイズを再設定するステップと、
前記再設定後に算出された位置変化量と前記再設定されたしきい領域の比較結果に基づいて、前記決定された方向を維持するか否かを決定するステップと、
前記決定された方向を維持することに決定した場合、前記決定された方向に前記コンテンツを移動させるステップと、をさらに含む
ことを特徴とする、コンテンツ移動方法。
【請求項2】
前記再設定するステップは、前記しきい領域のサイズを拡大するステップを含む
ことを特徴とする、請求項1に記載のコンテンツ移動方法。
【請求項3】
前記再設定するステップは、前記決定された移動方向が垂直(Y軸)方向の場合、前記しきい領域で第1のX軸しきい値を第2のX軸しきい値に拡大するステップをさらに含む
ことを特徴とする、請求項2に記載のコンテンツ移動方法。
【請求項4】
前記決定された方向を維持するか否かを決定するステップは、
前記決定された移動方向が垂直(Y軸)方向の場合、前記拡大後に算出された位置変化量のX軸変化量と前記第2のX軸しきい値とを比較するステップと、
前記X軸変化量が前記第2のX軸しきい値を超過しない場合、移動方向を前記垂直方向に維持するステップと、を含む
ことを特徴とする、請求項3に記載のコンテンツ移動方法。
【請求項5】
前記拡大後、算出された位置変化量のY軸変化量が所定の値を超過する場合、前記第2のX軸しきい値を第3のX軸しきい値に拡大するステップをさらに含む
ことを特徴とする、請求項4に記載のコンテンツ移動方法。
【請求項6】
前記再設定するステップは、前記決定された移動方向が水平(X軸)方向の場合、前記しきい領域で第1のY軸しきい値を第2のY軸しきい値に拡大するステップをさらに含む
ことを特徴とする、請求項2に記載のコンテンツ移動方法。
【請求項7】
前記決定された方向を維持するか否かを決定するステップは、
前記決定された移動方向が水平(X軸)方向の場合、前記拡大後に算出された位置変化量のY軸変化量と前記第2のY軸しきい値とを比較するステップと、
前記Y軸変化量が前記第2のY軸しきい値を超過しない場合、移動方向を前記水平方向に維持するステップと、を含む
ことを特徴とする、請求項6に記載のコンテンツ移動方法。
【請求項8】
前記拡大後、算出された位置変化量のX軸変化量が所定の値を超過する場合、前記第2のY軸しきい値を第3のY軸しきい値に拡大するステップをさらに含む
ことを特徴とする、請求項7に記載のコンテンツ移動方法。
【請求項9】
前記原点が前記現在タッチ地点の以前に検出されたタッチ地点である
ことを特徴とする、請求項1に記載のコンテンツ移動方法。
【請求項10】
前記しきい領域のサイズは、画面のサイズ及び解像度のうち、少なくとも1つにより決定される
ことを特徴とする、請求項1に記載のコンテンツ移動方法。
【請求項11】
コンテンツを表示する表示部と、
前記表示されたコンテンツに対するタッチジェスチャーに応答してタッチイベントを発生するタッチスクリーンと、
前記タッチスクリーンから入力されたタッチイベントに基づいて前記表示されるコンテンツを移動させるように制御する制御部と、を含み、
前記制御部は、
前記タッチスクリーン上でタッチ地点を検出し、
前記タッチ地点を原点に設定し、
前記原点から現在タッチ地点までの移動の位置変化量を算出し、
前記算出された位置変化量が前記原点を基準に予め設定されたしきい領域を外れる場合、前記移動の方向を決定し、
前記決定された方向に前記コンテンツを移動させるように制御し、
前記制御部が、
前記移動の方向が決定されれば、前記しきい領域のサイズを再設定し、
前記再設定後に算出された位置変化量と前記再設定されたしきい領域の比較結果に基づいて、前記決定された方向を維持するか否かを決定し、
前記決定された方向を維持することに決定した場合、前記決定された方向に前記コンテンツを移動させるようにさらに制御する
ことを特徴とする、コンテンツ移動装置。
【請求項12】
前記制御部が、
前記コンテンツの方向の決定後、前記しきい領域のサイズを拡大するようにさらに制御する
ことを特徴とする、請求項11に記載のコンテンツ移動装置。
【請求項13】
前記制御部が、
前記決定された方向が垂直(Y軸)方向の場合、前記しきい領域で第1のX軸しきい値を第2のX軸しきい値に拡大するようにさらに制御する
ことを特徴とする、請求項12に記載のコンテンツ移動装置。
【請求項14】
前記制御部が、
前記決定された方向が垂直(Y軸)方向の場合、前記拡大後に算出された位置変化量のX軸変化量と前記第2のX軸しきい値とを比較し、
前記X軸変化量が前記第2のX軸しきい値を超過しない場合、前記方向を前記垂直方向に維持するようにさらに制御する
ことを特徴とする、請求項13に記載のコンテンツ移動装置。
【請求項15】
前記制御部が、
前記拡大後、算出された位置変化量のY軸変化量が所定の値を超過する場合、前記第2のX軸しきい値を第3のX軸しきい値に拡大するようにさらに制御する
ことを特徴とする、請求項14に記載のコンテンツ移動装置。
【請求項16】
前記制御部が、
前記決定された方向が水平(X軸)方向の場合、前記しきい領域で第1のY軸しきい値を第2のY軸しきい値に拡大するようにさらに制御する
ことを特徴とする、請求項13に記載のコンテンツ移動装置。
【請求項17】
前記制御部が、
前記決定された方向が水平(X軸)方向の場合、前記拡大後に算出された位置変化量のY軸変化量と前記第2のY軸しきい値とを比較し、
前記Y軸変化量が前記第2のY軸しきい値を超過しない場合、前記方向を前記水平方向に維持するようにさらに制御する
ことを特徴とする、請求項16に記載のコンテンツ移動装置。
【請求項18】
タッチスクリーンを有する端末機によって読み取り可能な記録媒体であって、
前記端末機に、
前記タッチスクリーン上でタッチ地点を検出する手順と、
前記タッチ地点を原点に設定する手順と、
前記原点から現在タッチ地点までの移動の位置変化量を算出する手順と、
前記算出された位置変化量が前記原点を基準に予め設定されたしきい領域を外れる場合、前記移動の方向を決定する手順と、
前記決定された方向にコンテンツを移動させる手順と
前記移動の方向が決定されれば、前記しきい領域のサイズを再設定する手順と、
前記再設定後に算出された位置変化量と前記再設定されたしきい領域の比較結果に基づいて、前記決定された方向を維持するか否かを決定する手順と、
前記決定された方向を維持することに決定した場合、前記決定された方向に前記コンテンツを移動させる手順と、
を実行させる命令を格納したことを特徴とする、記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子装置におけるコンテンツ表示管理方法に関し、特に、タッチスクリーン表示装置のコンテンツを移動させるための方法及び装置に関する。
【背景技術】
【0002】
ディスプレイを有する携帯電子装置(例:スマートフォン、タブレットPC)は小さい画面を有する。そのために、あるズーム(拡大/縮小配分率)(即ち、ある字サイズまたはイメージサイズを提供するズーム)が行われる場合、コンテンツのページの一部のみが画面に表示されることがある。多くのデザインはユーザがページをスクロール(scroll)できるようにしてくれる。スクロールによりページの異なる部位が画面に表示される。結局、全体ページは段階的に見えるようになる。例えば、ページは画面より大きく拡大された1つのイメージでありうる。よって、そのイメージはより大きい画面のみで同時に表示される。装置は一般的に、ユーザがコンテンツの多くの部分を見ることができるようにコンテンツを360度自由にスクロールできるようにしてくれる。しかしながら、ユーザの意図しない操作ミスや移動方向に対する測定誤差などによりユーザが意図しない方向にコンテンツが移動してしまう問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、前述した問題点を解決するために案出したものであって、ユーザの単純な操作ミスや移動方向に対する測定誤差などを勘案してコンテンツを一定の方向に移動させて表示するコンテンツ移動方法及び装置を提供することをその目的とする。
【課題を解決するための手段】
【0004】
本発明に従うタッチスクリーンを有する端末機におけるコンテンツ移動方法は、上記タッチスクリーン上でタッチ地点を検出するステップ、上記タッチ地点を原点に設定するステップ、上記原点から現在タッチ地点までの移動の位置変化量を算出するステップ、上記算出された位置変化量が上記原点を基準に予め設定されたしきい領域を外れる場合、上記移動の方向を決定するステップ、及び上記決定された方向にコンテンツを移動させるステップを含むことができる。
【0005】
本発明のコンテンツ移動装置は、コンテンツを表示する表示部、上記表示されたコンテンツに対するタッチジェスチャーに応答してタッチイベントを発生するタッチスクリーン、及び上記タッチスクリーンから入力されたタッチイベントに基づいて上記表示されるコンテンツを移動させるように制御する制御部を含み、上記制御部は、上記タッチスクリーン上でタッチ地点を検出し、上記タッチ地点を原点に設定し、上記原点から現在タッチ地点までの移動の位置変化量を算出し、上記算出された位置変化量が上記原点を基準に予め設定されたしきい領域を外れる場合、上記移動の方向を決定し、上記決定された方向に上記コンテンツを移動させるように制御することができる。
【発明の効果】
【0006】
本発明のコンテンツ移動方法及び装置によれば、コンテンツをユーザが意図した一定の方向に移動させて表示することができる効果がある。
【図面の簡単な説明】
【0007】
図1】本発明のコンテンツ移動装置の画面及びこれを通じて表示されるコンテンツを示す概念図である。
図2】本発明に従うスクロールの発生及び方向を判断するためのアルゴリズムを説明するための概念図である。
図3】本発明に従う垂直方向へのコンテンツ移動過程を説明するための概念図である。
図4】本発明に従う水平方向へのコンテンツ移動過程を説明するための概念図である。
図5】本発明に従う非線形(non-linear)(非直線)方向へのコンテンツ移動過程を説明するための概念図である。
図6】本発明の一実施形態に係るコンテンツ移動装置のブロック構成図である。
図7】本発明の一実施形態に係る制御部の構成を示す図である。
図8】本発明の一実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。
図9】本発明の別の実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。
図10】しきい領域の原点を再設定する過程を説明するための概念図である。
図11】本発明の更に別の実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。
図12】本発明の別の実施形態に係る制御部の構成を示す図である。
図13】本発明の更に別の実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。
図14】本発明の一実施形態に係る垂直スクロール方法を説明するための図である。
図15】本発明の一実施形態に係る垂直スクロール方法を説明するための図である。
図16】本発明の一実施形態に係る水平スクロール方法を説明するための図である。
図17】本発明の一実施形態に係る水平スクロール方法を説明するための図である。
図18】本発明の別の実施形態に係る垂直スクロール方法を説明するための図である。
図19】本発明の別の実施形態に係る垂直スクロール方法を説明するための図である。
図20】本発明の別の実施形態に係る水平スクロール方法を説明するための図である。
【発明を実施するための形態】
【0008】
以下、添付した図面を参照して本発明の好ましい実施形態によるタッチスクリーンを用いたコンテンツ移動方法及び装置について詳細に説明する。但し、本発明を説明するに当たって、関連した公知機能または構成に対する具体的な説明が本発明の要旨を曖昧にすることがあると判断される場合、その詳細な説明は省略する。
【0009】
本発明の詳細な説明の前に、以下で使われる用語や単語は、通常的または辞典的な意味に限定して解釈されてはならず、本発明の技術的思想に符合する意味及び概念として解釈されなければならない。したがって、本明細書及び図面は、本発明の好ましい実施形態に過ぎないものであり、本発明の技術的思想を全て代弁するものではないので、本出願時点においてこれらを置き替えることができる多様な均等物及び変形例がありえることを理解すべきである。また、添付の図面において、一部の構成要素は誇張、省略、または概略的に図示され、各構成要素のサイズは実際のサイズを正確に反映するものでない。したがって、本発明は、添付した図面に描かれた相対的なサイズや間隔により制限されるものではない。
【0010】
本発明に従うコンテンツを移動させるための装置は、ポインティング装置またはユーザタッチ入力に反応する。以下、‘ポインタ’は、カーソルをコントロールするか、またはタッチスクリーンに接触する物理的なポインティング装置として定義できる。または、‘ポインタ’はスクリーンに接触するユーザの指として定義できる。本発明に従う装置は、携帯電話、スマートフォン、タブレットPC、ハンドヘルド(hand-held)PC、PMP(Portable Multimedia Player)、PDA(Personal Digital Assistant)、音楽再生機(例:MP3プレーヤー)、携帯型ゲーム端末機、及びディジタル放送プレーヤーなど、全ての情報通信機器とマルチメディア機器、及びそれに対する応用機器に適用できることは自明である。ここで、ポインティング装置には、周知のように、ライトペン、スタイラス(stylus)、マウス、タッチパッド、トラックボール、及びタッチスクリーンのタッチ入力手段(touch input means)などがある。以下の説明ではポインティング装置をタッチスクリーンと仮定して説明する。
【0011】
図1は、本発明のコンテンツ移動装置の画面及びこれを通じて表示されるコンテンツを示す概念図である。
【0012】
図1を参照すると、コンテンツ移動装置は、コンテンツページ(contents page)120(以下、‘コンテンツ’)の一部を画面110に表示する。即ち、現在ズーム設定(current zoom setting)で、コンテンツは画面110より大きいサイズを有する。ここで、コンテンツ120は、写真、ウェブページ、または文書などになることができる。コンテンツ移動装置は、スクロールが発生すれば、スクロールの方向にコンテンツ120を移動させてコンテンツの新たな部位を表示する。例えば、ユーザが下向にスクロールすれば、コンテンツの新たな部位が画面の上部分に表れながら相対的に画面の下にあった今まで表示されていた部位は消えるようになる。ここで、スクロールは、“ユーザが画面の特定地点をタッチ入力手段(例:ユーザ指)で接触した状態でタッチ入力手段を所定方向に移動させるジェスチャー”が検出されれば、このようなジェスチャーに反応する動作を意味する。このようなスクロールはドラッグともいう。一方、ユーザは一定の方向にスクロールしようとするが、コンテンツ移動装置で感知されるスクロールの方向はユーザの意図とは異なり、一定でないことがある。このようなスクロール方向に対してコンテンツ移動装置が敏感に反応するようになれば、ユーザが意図しない方向にコンテンツ120を移動させる問題がある。スクロール途中には、始めにスクロールが始まった時より意図しない操作ミスがより多く発生することがある。例えば、ユーザが親指でスマートフォンの画面を上にスクロールする場合、親指が放物線を描いて移動するようになる。即ち、スクロール初期には親指の移動方向が垂直に近いが、徐々に移動するほど曲線方向になる。したがって、ユーザの意図(垂直方向)とは異なり、該当コンテンツが放物線方向に移動する問題がある。このような問題を解決するために、本発明の実施形態は、非線形ドラッグ(non-linear drag)がタッチスクリーン上で検出されても(ここで、検出された非線形性(detected nonlinearity)は予め設定された限界(predetermined limits)以内である)、コンテンツの線形動き(linear movement)(例:X(垂直)またはY(水平)方向動き)を作り出すためのアルゴリズムを提供する。
【0013】
図2は、本発明に係るスクロールの開始(initiation)及び方向を決定する方法を説明するための概念図である。
【0014】
概して、方法は、表示されたコンテンツに対する初期タッチポイント220を囲む初期しきい領域230を確立(establishing)する過程を含む。初期タッチポイントから初期しきい領域を越えて現在タッチポイントに移動するドラッグが検出される。コンテンツは、現在タッチポイントが予め設定されたX及びYチャンネルの外側であれば、ドラッグの方向に移動される。コンテンツは、現在タッチポイントがXチャンネルまたはYチャンネルの内側であれば、X方向のみに、またはY方向のみに移動する。
【0015】
特に、図2の例示において、ユーザは、タッチスクリーン210でポイント220を初めてタッチしたと仮定する。ポイント220の中心点は座標x0,y0である。符号220で示された円はスクリーンに接触したタッチ入力手段の領域を表す。装置は、座標x0,y0(タッチ領域の平均)を正確に設定するためにタッチ領域の中心点を計算する。以下、ポイント220は原点(start point)または以前ポイント(previous point)と称される。後者(以前ポイント)は、ポイント220からのドラッグ動作(drag operation)に従う新たなタッチポイントの位置を扱う文脈で使われる。普通、スクリーン210でテキストの列(row)は水平(X方向)に向かう。初期しきい領域230は原点220を囲むように設定される。図2の例示において、しきい領域230は、X方向のチャンネル(X oriented channel)XC(“Xチャンネル”)とY方向のチャンネル(Y oriented channel)YC(“Yチャンネル”)との交差により境界をなす領域として定義される。Xチャンネルは初期幅Wcを有する。Yチャンネルは初期幅Wyを有する。原点220から始まったドラッグがしきい領域230を越えたことが検出されれば、ドラッグの現在ポイント(言い換えると、breach point)の位置が検出される。breach pointがXチャンネル内(within)であれば、装置は、コンテンツを、(原点のX座標と関連した)現在ポイントのX成分(component)に対応する量(amount)だけX方向に移動させる。breach pointがYチャンネル内であれば、装置は、コンテンツを、現在ポイントのY成分に対応する量だけY方向に移動させる。したがって、このような場合、ユーザのドラッグ移動が若干歪んでも、コンテンツはユーザが意図したXまたはY方向に動く。ドラッグが初期しきい領域230を越えてコンテンツがXまたはY方向に移動すれば、少なくともXチャンネルまたはYチャンネルの幅は拡張(再設定)できる。その後、装置は、拡張されたチャンネル内でドラッグが継続維持されるか否かを決定する。仮に、続けて維持される場合、コンテンツは同一なXまたはY方向に続けて移動する。
【0016】
仮に、ユーザが初期に原点220から非線形的に(即ち、斜めに、または対角線に)ドラッグを遂行することによってbreach pointがX及びYチャンネルの外側であれば、装置は、コンテンツを、XまたはY方向でない、ドラッグの方向に移動させる。図2の例示において、初期しきい領域は四角形(rectangular or square)でありうる。これによって、非線形breach pointは、四角形の4コーナーのうち、ある箇所で発生することができる。代案的に、しきい領域は、XYチャンネルに続く“L”形態と、X及びYチャンネルに延長した上記“L”の脚(legs)を有するように予め決定されることもできる。このようなオプション(option)において、以上の余裕(more leeway)は非直線方向にしきい領域の初期違反を確認するように提供される。
【0017】
図2を参照すると、X軸変化量(dx=x−xn−1;ここで、xn−1は以前ポインティング地点220の座標であり、xは現在ポインティング地点の座標であり、nは0または正の整数を表す)がX軸しきい値(Xth)を超過し、Y軸変化量(dy=y−yn−1)がY軸しきい値(Yth)以下の場合、コンテンツ移動装置は、スクロールの方向を水平、即ちX軸と判断し、水平方向にコンテンツを移動させて表示する。例えば、コンテンツ移動装置はdx(原点から始まったドラッグ移動のX成分)だけ水平方向にコンテンツを移動させて表示する。一方、dx≦Xthであり、dy>Ythであれば、コンテンツ移動装置は、スクロールの方向を垂直、即ちY軸と判断し、垂直方向にコンテンツを移動させて表示する。例えば、コンテンツ移動装置はdy(ドラッグ移動のY成分)だけ垂直方向にコンテンツを移動させて表示する。また、dx>Xthであり、dy>Ythであれば、コンテンツ移動装置は、スクロールの方向を非直線方向と判断し、非直線方向にコンテンツを移動させて表示する。例えば、コンテンツ移動装置は、水平方向にdxだけ、かつ垂直方向にdyだけコンテンツを移動させて表示する。また、dx及びdy全てが該当しきい値以下であれば、コンテンツ移動装置は、原点220でまだスクロールが発生していないと判断し、コンテンツを移動させない。言い換えると、画面に対するユーザのタッチが原点220で“Xth及びYthにより定まるしきい領域230(図2参照)”を外れる場合のみに、コンテンツ移動装置はスクロールが発生したと判断するようになる。
【0018】
前述したことによれば、しきい領域230の原点220は、タッチ入力手段が初めてタッチしてドラッグが始まったポイントでありうる。また、タッチ入力手段がドラッグしてから予め設定された時間の間ある一ポイントで止めれば、該当ポイントが原点220に設定されることもできる。後者の場合、装置はあるその次のドラッグを原点220から開始する新たなドラッグとして再設定することができる。また、後者の場合、X及びYチャンネルの幅は初期の幅に再設定できる。
【0019】
しきい領域は、スクロール途中に拡大できる。即ち、スクロールが始まれば、コンテンツ移動装置は、しきい領域を段階的に拡大して初期設定された方向にスクロールが維持できるようにする。例えば、スクロールの方向が垂直として決定されれば、X軸しきい値は既存より2倍大きくなることがある。また、垂直を維持した状態でY軸変化量(dy)が、例えば原点を基準に2cmを超過すれば、X軸しきい値は既存より3倍大きくなることがある。また、スクロールが中断されれば、X軸しきい値は既存値にまた設定できる。ピクセル(pixel)単位で説明すれば、初期に設定される第1しきい領域は、例えば16ピクセル(例:正四角形、直四角形、16ピクセルを含んだ(encompassing)L形態の領域)でありうる。スクロールが始まれば、新たなしきい領域は32ピクセルに設定できる。Y軸変化量(dy)が一定の距離を超過すれば、64ピクセルに拡大できる。このように、しきい領域はスクロールの移動によって段階的に拡大できる。ここで、拡大される回数は2回と例示されたが、1回またはそれ以上になることができる。
【0020】
図3から図5は、本発明に従う垂直、水平、及び非線形方向へのコンテンツ移動過程を説明するための概念図である。図3を参照すると、装置の画面320は、最初に、コンテンツページ330の中央部分P2を表示する。コンテンツ移動装置は、スクロールの方向310が右側(X方向)に決定されれば、画面320を基準にコンテンツ330を右側に移動させて表示する。即ち、コンテンツページ330の左側部分P1が、右側方向へのスクロール後、スクリーン320に表示される。図示してはいないが、スクロールの方向が左側に決定されれば、コンテンツ移動装置は、コンテンツページ330の右側部分P3をスクリーン320に表示する。また、図4を参照すると、本発明のコンテンツ移動装置は、スクロールの方向410が上側に決定されれば、画面420を基準にコンテンツ430を上側に移動させて表示する。図示してはいないが、スクロールの方向が下側に決定されれば、画面を基準にコンテンツを下側に移動させて表示する。また、図5を参照すると、本発明のコンテンツ移動装置は、スクロールの方向510が非線形方向、即ち北東側に決定されれば、画面520を基準にコンテンツ530を北東側に移動させて表示する。図示してはいないが、本発明のコンテンツ移動装置は他の非線形方向にコンテンツを移動させて表示することができる。ここに使われる‘非線形’は、ある斜め方向を指す。これによって、4つの対角線方向以上の移動が可能である。好ましくは、360度自由なスクロール移動が可能である。
【0021】
図6は、本発明の一実施形態に係るコンテンツ移動装置のブロック構成図である。図6を参照すると、本発明のコンテンツ移動装置600は、タッチスクリーン610、キー入力部620、表示部630、格納部640、無線通信部650、カメラ660、及び制御部670を含んでなる。
【0022】
装置600は、画面より大きいサイズのコンテンツの一部を表示する間にスクロールが発生すれば、発生したスクロールの方向を決定する。装置600は、上記決定されたスクロールの方向に基づいてコンテンツを移動させてコンテンツの他の部位を表示する。また、装置600はタッチの位置を検出する。そして、装置600は最初タッチ地点をしきい領域の原点に固定することができる。タッチの移動後、他の地点で所定の時間の間タッチの位置変動がなければ、装置600は該当地点を原点に再設定することができる。ユーザがタッチ入力手段(例:指またはスタイラス)を解除(release)しない以上、即ちユーザが続けてタッチを維持する間は、最初タッチ地点がスクロールの原点として続けて維持できる。また、装置600は、原点を現在タッチ地点が検出された時点(t)を基準に以前時点(tn−1)で検出されたタッチ地点に設定することもできる。また、装置600は、スクロールが始まれば、しきい領域を拡大して初期設定された方向にスクロールを維持することができる。例えば、装置600は480*800解像度の4インチ(inch)画面を有するスマートフォンに適用できる。このようなスマートフォンの場合、初期しきい領域のサイズは32ピクセルになることができる。そして、スクロールが発生した後にはしきい領域のサイズが128ピクセルに変更できる。このようなしきい領域のサイズは、前述した解像度及び画面サイズの他にも、タッチスクリーン110のタッチ感度、タッチスクリーン110のタッチ方式、実験結果(例えば、ユーザのタッチ習慣と関連したパターン情報)などを通じて決定されることもできる。
【0023】
装置600の各構成を以下に具体的に説明する。
【0024】
タッチスクリーン610は、表示部630の前面に取り付けられ、タッチスクリーン610に対するタッチに応答してアナログ信号(例:タッチイベント)を生成し、アナログ信号をディジタル信号にA/D変換して制御部670に伝達する。これによって、制御部670は、タッチスクリーン610から入力されるタッチイベントを検出して上記した構成を制御することができる。ユーザジェスチャーは、タッチ(Touch)とタッチジェスチャー(Touch gesture)とに大別される。ここで、タッチジェスチャーは、タップ(Tap)、ダブルタップ(Double Tap)、ロングタップ(long tap)、ドラッグ(Drag)、ドラッグアンドドロップ(Drag & Drop)、フリック(Flick)、及びプレス(Press)などに区分できる。ここで、タッチは、ユーザが画面のある一地点(point)にタッチ入力手段(例:指やスタイラスペン)を接触(contact)する操作である。ポイントにより囲まれた領域はタッチ入力手段の物理的な領域に依存的である。領域の中心座標は原点に決定される。“タッチ”はタッチスクリーン上に接触した状態を意味する。“タッチジェスチャー”はタッチ開始からタッチ解除までの移動を意味する。タップは、ある一地点をタッチした後、タッチ入力手段の移動無しに該当地点でタッチ入力手段をタッチ解除(release)する操作であり、ダブルタップはある一地点を連続して2回タップする操作であり、ロングタップは、タップより相対的に長くタッチした後、タッチ入力手段の移動無しに該当地点でタッチ入力手段を離す操作であり、ドラッグはある一地点をタッチした状態で指を所定方向に移動させる操作であり、ドラッグアンドドロップは、ドラッグした後、タッチ入力手段を離す操作であり、フリックは、跳ねるように、ドラッグに比べてタッチ入力手段を早く移動させた後、離す操作を意味する。プレスは、タッチ入力手段により一地点をタッチした後、該当地点を押さえる操作である。タッチスクリーン610は、圧力センサーを備え、タッチされた地点の圧力を感知することができる。感知された圧力情報は制御部670に伝達され、制御部670は感知された圧力情報に基づいてタッチとプレスを区分することができる。タッチスクリーン610は、抵抗膜方式(resistive type)、静電容量方式(capacitive type)、及び電磁誘導方式(electromagnetic induction type)などが適用できる。制御部670は、タッチスクリーン610から入力されたタッチイベントでタッチジェスチャーを検出し、検出されたタッチジェスチャーに基づいてコンテンツの移動方向を決定するようになる。特に、コンテンツの一部が表示される間にしきい領域230(図2参照)を外れるスクロールが発生すれば、制御部670は、スクロールの方向を決定し、決定された方向にコンテンツを移動させる。
【0025】
キー入力部620は、数字または文字情報の入力を受けて、各種の機能を設定するための多数の入力キー及びファンクションキーを含むことができる。上記ファンクションキーは、特定機能を遂行するように設定された方向キー、サイドキー、及びショートカットキーなどを含むことができる。また、キー入力部620は、ユーザ設定及び携帯端末機100の機能制御と関連したキー信号を生成して制御部670に伝達する。キー信号は、電源オン/オフ信号、ボリューム調節信号、画面オン/オフ信号などに区分できる。制御部670は、このようなキー信号に応答して上記した構成を制御する。また、キー入力部620は、多数個のキーを含むクォーティーキーパッド、3*4キーパッド、4*3キーパッドなどを含むことができる。そして、キー入力部620は、携帯端末機のタッチスクリーン610がフルタッチスクリーン形態にサポートされた場合、携帯端末機600のケース側面に形成される画面オン/オフ及び携帯端末機オン/オフなどのための少なくとも1つのサイドキーのみを含むこともできる。
【0026】
表示部630は、制御部670の制御下に、制御部670から入力を受けた映像データをアナログ信号に変換して表示する。即ち、表示部630は、携帯端末機の利用に従う多様な画面、例えば、ロック画面、ホーム画面、アプリケーション(以下、縮めて‘アプリ(App)’という)実行画面、メニュー画面、キーパッド画面、メッセージ作成画面、インターネット画面などを提供することができる。ロック画面は、表示部630の画面が付けば表示される映像として定義できる。ロック解除のための特定タッチイベントが発生すれば、制御部670は表示される映像をロック画面からホーム画面またはアプリ実行画面などに切り換えることができる。ホーム画面は多数のアプリに各々対応する多数のアプリアイコンを含む映像として定義できる。多数のアプリアイコンのうちのいずれか1つがユーザにより選択されれば、制御部670は、該当アプリ、例えば、電子書籍アプリを実行し、表示される映像をその実行画面に切り換えることができる。
【0027】
表示部630は、液晶表示装置(Liquid Crystal Display:LCD)、OLED(Organic Light Emitted Diode)、AMOLED(Active Matrix Organic Light Emitted Diode)などの平板表示パネルの形態に形成できる。
【0028】
表示部630は、左目イメージと右目イメージを表示することができ、表示される左/右目イメージに対してユーザが奥行き感を感じることができるようにする3D具現部を含むことができる。このような3D具現部は、表示部630の上に積層される形態に構成できる。3D具現部は、ユーザの左右両目に各々左目イメージと右目イメージが認識されるようにする。3D具現方式は、周知のように、眼鏡方式と無眼鏡方式とに区分される。3D具現方式は公知の技術であるので、その具体的な説明は省略する。
【0029】
格納部640は、携帯端末機のオペレーティングシステム(OS:Operating System)及び本発明に必要なアプリケーションをはじめとして、多様なデータを格納することができる。格納部640は、本発明の実施形態に従う機能動作に必要な応用プログラムをはじめとして、表示部630に出力される画面イメージなどを格納する。そして、格納部640は、タッチスクリーン610の運用のためのキーマップやメニューマップなどを格納することができる。ここで、キーマップ及びメニューマップは各々多様な形態になることができる。即ち、キーマップは、キーボードマップや3*4キーマップ、クォーティーキーマップなどになることができ、現在活性化されている応用プログラムの制御のための制御キーマップになることもできる。また、メニューマップは、現在活性化されている応用プログラムの制御のためのメニューマップになることもできる。
【0030】
格納部640は、大きくプログラム領域とデータ領域を含むことができる。プログラム領域は、コンテンツ移動装置のブーティング及び上述した各構成の運用のためのオペレーティングシステム、多様なユーザ機能、例えば通話機能のサポートのためのユーザ機能、インターネットサーバーに接続するためのウェブブラウザ、その他の音源を再生するためのMP3ユーザ機能、写真などを再生するためのイメージ出力機能、動画再生機能などを各々サポートするための応用プログラムなどを格納することができる。特に、本発明のプログラム領域は、スクロールの開始(initiation)を検出し、スクロールの方向を決定するためのアルゴリズムと、スクロールの出発点及びしきい領域(例:上述したようにX及びYチャンネルの幅を再設定)の再設定のためのアルゴリズムを格納することができる。データ領域は、コンテンツ移動装置の使用によって発生するデータが格納される領域であって、フォンブックデータ、ウィジュット機能に従う少なくとも1つのアイコン及び多様なコンテンツを格納することができる。特に、データ領域は、コンテンツの一部が表示される間に発生したスクロールの最初原点及び再設定された原点などを一時的に格納することができる。また、データ領域は、原点を最初タッチ地点(x,y)に設定するか、または以前タッチ地点(xn−1,yn−1)に設定するかを表す第1原点設定値を格納することができる。また、データ領域は、最初タッチ地点(x,y)が原点に設定される場合、再設定された原点を表す第2原点設定値を格納することができる。このような原点設定値はユーザにより設定できる。即ち、制御部670は、タッチスクリーン610またはキー入力部620を通じて入力された設定値を格納部640に伝達し、格納部640は、伝達を受けた設定値をデータ領域に格納することができる。
【0031】
無線通信部650は、音声通話、画像通話、またはデータ通信を制御部670の制御下に遂行する。このために、無線通信部650は、送信される信号の周波数を上向き変換及び増幅する無線周波数送信部と、受信される信号の周波数を低雑音増幅及び下向き変換する無線周波数受信部などを含むことができる。また、無線通信部650は、移動通信モジュール(例えば、第3世代(3-Generation)移動通信モジュール、第3.5世代(3.5-Generation)移動通信モジュール、または第4世代(4-Generation)移動通信モジュールなど)、及びワイファイ(Wi-Fi)モジュールを含むことができる。
【0032】
カメラ660は、映像を撮影し、撮影したイメージを制御部670に出力するものであって、装置の前面に配置される前面カメラ及び後面に配置される後面カメラを含むことができる。
【0033】
制御部670は、携帯端末機600の全般的な動作及び携帯端末機600の内部構成の間の信号流れを制御し、データを処理する機能を遂行する。そして、制御部670はバッテリーから内部構成への電源供給を制御する。また、制御部670はプログラム領域に格納された各種アプリケーションを実行する。特に、本発明に従う制御部670は検出されたタッチジェスチャーに応答してスクロールを遂行する。このために、制御部670は図7に示すような構成を備えることができる。
【0034】
図7は、本発明の一実施形態に係る制御部の構成を示す図である。図7を参照すると、制御部670は、タッチジェスチャー検出部710、位置変化算出部720、比較部730、方向決定部740、コンテンツ移動部750、及び原点設定部760を含んでなることができる。
【0035】
タッチジェスチャー検出部710は、タッチスクリーン610に連結され、タッチスクリーン610からタッチイベントを受信し、受信したタッチイベントからユーザのタッチジェスチャーを検出する。即ち、タッチジェスチャー検出部710は、タッチ地点、タッチの移動距離、タッチの移動方向、タッチの速度などを検出することができる。位置変化算出部720は、タッチジェスチャー検出部710からタッチジェスチャーと関連したタッチ情報を受信し、受信したタッチ情報に基づいて原点から現在タッチ地点までの位置変化量、即ちX軸変化量(dxまたは△x(x−x))及びY軸変化量(dyまたは△y(y−y))を算出する。比較部730は、X軸変化量及びY軸変化量を各々予め設定されたX軸しきい値とY軸しきい値と比較する。方向決定部740は、比較部730の比較結果に基づいてタッチの移動方向を決定する。コンテンツ移動部750は、方向決定部673により決定された方向にコンテンツを移動させ、表示部630を制御して上記移動したコンテンツの該当部位を表示するようにする。原点設定部760は、タッチジェスチャー検出部710から入力されたタッチ情報及び格納部140に格納された原点設定値に基づいて原点を設定する。例えば、原点設定部760は最初タッチ地点(x,y)を原点に設定することができる。そして、原点設定部760は、タッチの移動後、現在タッチ地点(x,y)で所定の時間の間タッチの位置変動がない場合、現在タッチ地点(x,y)を原点に再設定することができる。また、原点設定部760は以前タッチ地点(xn−1,yn−1)を原点に設定することができる。原点設定部760は、再設定された原点を比較部730に伝達する。図7に示すような構成を有する制御部670の動作について図8から図10を参照して具体的に説明する。
【0036】
図8は、本発明の一実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。図8を参照すると、ステップ801で、表示部630は、制御部670の制御によって画面より大きいサイズのコンテンツの一部を画面に表示する。即ち、表示部はコンテンツの一部を現在のズームレベルで表示する。コンテンツの全体が同時にタッチスクリーン610の上に表示できない。ステップ802で、制御部670は、画面、即ち、タッチスクリーン610に対するタッチの位置変化を感知する。位置変化が感知されれば、ステップ803で、制御部670は現在タッチ地点(x,y)を検出する。ここで、現在タッチ地点を検出する方法は多様である。例えば、制御部670は、タッチスクリーン610から入力されるタッチの位置値を一定周期毎に適切にサンプリングして現在タッチ地点を検出することができる。そして、ステップ803で、制御部670は、原点、即ち最初タッチ地点(x,y)から現在タッチ地点(x,y)までの位置変化量(△x,△y)を算出する。次に、制御部670は、X軸変化量(△x=x−x)及びY軸変化量(△y=y−y)を各々X軸しきい値(Xth)及びY軸しきい値(Yth)と比較する。
【0037】
ステップ804で、制御部670は、△x及び△y全てがそのしきい値と等しいか、または小さいか否かを判断する。判断の結果、等しいか小さい場合、スクロールが発生していないと判断してステップ810に進行し、そうでない場合にはスクロールが発生したと判断してスクロールの方向を決定するためにステップ805に進行する。
【0038】
ステップ805で、制御部670は、△xがXth以下であり、△yがYthを超過するか否かを判断する。判断の結果、△xがXth以下であり、△yがYthを超過する場合には、スクロールの方向を垂直(Y軸)方向に決定する。これによって、ステップ806で、制御部670は、dy(=y−yn−1)だけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ810に進行する。ここで、ステップ810への進行は省略できる。例えば、制御部670は、ドロップが発生しても、Y軸方向にスクロールを続けて維持することができる。それからスクロールを中断する命令(例えば、タップ)が発生すれば、スクロールを中断することができる。一方、ステップ805での判断の結果、△xがXth以下でない場合には、ステップ807に進行する。
【0039】
ステップ807で、制御部670は、△xがXthを超過し、△yがYth以下か否かを判断する。判断の結果、△xがXthを超過し、△yがYth以下の場合には、スクロールの方向を水平(X軸)方向に決定する。これによって、ステップ808で、制御部670は、dx(=x−xn−1)だけ水平(X軸)方向にコンテンツを移動させるように表示部630を制御した後、ステップ810に進行する。ここで、ステップ810への進行は省略できる。
【0040】
一方、制御部670は、ステップ807での判断の結果、△yがYth以下でない場合、即ち△x及び△y全てが該当しきい値を超過する場合には、スクロールの方向を対角線方向に決定する。これによって、ステップ809で、表示制御部674は、dxだけX軸方向、かつdyだけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ810に進行する。ここで、ステップ810への進行は省略できる。
【0041】
ステップ810で、制御部670はドロップの発生有無を判断する。判断の結果、ドロップが発生した場合には、プロセスを終了する。ステップ810での判断の結果、スクロール途中の場合、即ちタッチ移動中、またはタッチ移動がストップした状態の場合には、制御部670は、ステップ803に戻って、コンテンツの移動のための上述した過程を繰り返す。
【0042】
図8を参照して説明した本発明の一実施形態によれば、スクロールがしきい領域230を外れたか否かの基準になるスクロールの出発点は、タッチ移動がストップしたか否かに関わらず、タッチが解除されなければ最初タッチ地点に維持される。勿論、ストップした位置はスクロールの原点に再設定できる。
【0043】
図9は、本発明の別の実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。図9を参照すると、ステップ901で、表示部630はコンテンツの一部を画面に表示する。ステップ902で、制御部670はタッチスクリーン610に対するタッチの位置変化を感知する。位置変化が感知されれば、ステップ903で、制御部670は原点を設定する。原点は初期には最初タッチ地点(x,y)になることができる。また、ステップ903で、制御部670は、タッチの移動後、現在タッチ地点(x,y)で所定の時間の間タッチの位置変動がない場合、現在タッチ地点(x,y)を原点に再設定することができる。また、ステップ903で、制御部670は現在タッチ地点(x,y)を検出する。また、ステップ903で、制御部670は、原点から現在タッチ地点(x,y)までの位置変化量(△x,△y)を算出する。次に、制御部670は、X軸変化量(△x)及びY軸変化量(△y)を各々X軸しきい値(Xth)及びY軸しきい値(Yth)と比較する。ステップ904で、制御部670は、△x及び△y全てがそのしきい値と等しいか、または小さいか否かを判断する。判断の結果、等しいか小さい場合、スクロールが発生していないと判断してステップ910に進行し、そうでない場合には、スクロールが発生したと判断してスクロールの方向を決定するためにステップ905に進行する。
【0044】
ステップ905で、制御部670は、△xがXth以下であり、△yがYthを超過するか否かを判断する。判断の結果、△xがXth以下であり、△yがYthを超過する場合には、スクロールの方向を垂直(Y軸)方向に決定する。これによって、ステップ906で、制御部670は、dy(=y−yn−1)だけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ910に進行する。一方、ステップ905での判断の結果、△xがXth以下でない場合には、ステップ907に進行する。
【0045】
ステップ907で、制御部670は、△xがXthを超過し、△yがYth以下か否かを判断する。判断の結果、△xがXthを超過し、△yがYth以下の場合には、スクロールの方向を水平(X軸)方向に決定する。これによって、ステップ908で、制御部670は、dx(=x−xn−1)だけ水平(X軸)方向にコンテンツを移動させるように表示部630を制御した後、ステップ910に進行する。
【0046】
一方、制御部670は、ステップ907での判断の結果、△yがYth以下でない場合、即ち△x及び△y全てが該当しきい値を超過する場合には、スクロールの方向を対角線方向に決定する。これによって、ステップ909で、表示制御部674は、dxだけX軸方向、かつdyだけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ910に進行する。
【0047】
ステップ910で、制御部670はドロップの発生有無を判断する。判断の結果、ドロップが発生した場合には、プロセスを終了する。ステップ910での判断の結果、スクロール途中の場合、即ちタッチ移動中、またはタッチ移動がストップした状態の場合には、プロセスはステップ911に進行される。ステップ911で、制御部670は、タッチ位置を追跡してタッチがストップされたか否かを判断する。判断の結果、タッチがストップされず、続けて動く場合、ステップ903に戻る。一方、タッチ位置が予め設定された時間の間元通りの場合には、ステップ912で、制御部670は、ストップした位置をスクロールの出発点である原点に再設定する。そして、制御部670は、再設定された原点を基準に現在位置を獲得するようになり、このように獲得した現在位置に基づいてスクロール発生有無スクロールの方向を決定するための過程を遂行するようになる。
【0048】
図10は、しきい領域の原点を再設定する過程を説明するための図である。図10を参照すると、制御部670は、画面1010で第1地点1020(x,y)を原点に設定し、これを基準に第1しきい領域1040を設定する。以後、タッチ位置が第2地点1030(x,y)に移動され、その地点でストップした場合、制御部670は、第2地点1030(x,y)を原点に設定し、第2地点1030を基準に第2しきい領域を設定する。ここで、第2地点1030でのストップは、第2地点でタッチ接触(touch contact)の中断(cessation)の検出または予め設定された時間の間第2地点で動かない接触(stationary contact)の検出により決定できる。一方、制御部670は、現在タッチ地点が検出された時点(t)を基準に、以前時点(tn−1)で検出されたタッチ地点を原点に設定することもできる。現在のしきい領域は以前にタッチされた地点に基づいて設定できる。
【0049】
図11は、本発明の更に別の実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。図11を参照すると、ステップ1101で、表示部630は、制御部670の制御下にコンテンツの一部を画面に表示する。ステップ1102で、制御部670は、タッチスクリーン610に対するタッチの位置変化を感知する。位置変化が感知されれば、ステップ1103で、制御部670は現在タッチ地点(x,y)を検出する。そして、ステップ1103で、制御部670は、直前に検出されたタッチ地点(xn−1,yn−1)を原点に設定する。また、ステップ1103で、制御部670は、設定された原点、即ち以前タッチ地点(xn−1,yn−1)から現在タッチ地点(x,y)までの位置変化量(dx,dy)を算出する。次に、制御部670は、X軸変化量(dx)及びY軸変化量(dy)を各々X軸しきい値(Xth)及びY軸しきい値(Yth)と比較する。
【0050】
ステップ1104で、制御部670は、dx及びdy全てがそのしきい値と等しいか、または小さいか否かを判断する。判断の結果、等しいか小さい場合、スクロールが発生していないと判断してステップ1110に進行し、dx及びdyのうち、少なくとも1つが各々そのしきい値より大きい場合には、スクロールが発生したと判断してスクロールの方向を決定するためにステップ1105に進行する。
【0051】
ステップ1105で、制御部670は、dxがXth以下であり、dyがYthを超過するか否かを判断する。判断の結果、dxがXth以下であり、dyがYthを超過する場合には、スクロールの方向を垂直(Y軸)方向に決定する。これによって、ステップ1106で、制御部670は、dyだけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ1110に進行する。一方、ステップ1105での判断の結果、dxがXth以下でない場合には、ステップ1107に進行する。
【0052】
ステップ1107で、制御部670は、dxがXthを超過し、dyがYth以下か否かを判断する。判断の結果、dxがXthを超過し、dyがYth以下の場合には、スクロールの方向を水平(X軸)方向に決定する。これによって、ステップ1108で、制御部670は、dxだけ水平(X軸)方向にコンテンツを移動させるように表示部630を制御した後、ステップ1110に進行する。
【0053】
一方、制御部670は、ステップ1107での判断の結果、dyがYth以下でない場合、即ちdx及びdy全てが該当しきい値を超過する場合には、スクロールの方向を非線形(non-linear)方向に決定する。これによって、ステップ1109で、表示制御部674は、dxだけX軸方向、かつdyだけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ1110に進行する。
【0054】
ステップ1110で、制御部670はタッチ解除(touch release)の発生有無を判断する。判断の結果、タッチ解除が発生した場合には、プロセスを終了する。ステップ1110での判断の結果、スクロール途中の場合、即ちタッチ移動中、またはタッチ移動がストップされた状態の場合には、制御部670は、ステップ1103に戻ってコンテンツの移動のための上述した過程を繰り返す。
【0055】
制御部670は、スクロールが始まれば、しきい領域を段階的に拡大して初期設定された方向にスクロールが維持されるようにすることができる。このために、制御部670は図12に図示したような構成を備えることができる。
【0056】
図12は、本発明の別の実施形態に係る制御部の構成を示す図である。図12を参照すると、制御部670は、タッチジェスチャー検出部1210、位置変化算出部1220、比較部1230、方向決定部1240、コンテンツ移動部1250、及びしきい領域設定部1260を含んでなることができる。
【0057】
タッチジェスチャー検出部1210は、タッチスクリーン610に連結され、タッチスクリーン610からタッチイベントを受信し、受信したタッチイベントからユーザのタッチジェスチャーを検出する。即ち、タッチジェスチャー検出部1210は、タッチ地点、タッチの移動距離、タッチの移動方向、タッチの速度などを検出することができる。位置変化算出部1220は、タッチジェスチャー検出部1210からタッチジェスチャーに関連したタッチ情報を受信し、受信したタッチ情報に基づいて原点から現在タッチ地点までの位置変化量、即ちX軸変化量(dxまたは△x)及びY軸変化量(dyまたは△y)を算出する。比較部1230は、X軸変化量及びY軸変化量を各々予め設定されたX軸しきい値とY軸しきい値と比較する。方向決定部1240は、比較部1230の比較結果に基づいてタッチの移動方向を決定する。コンテンツ移動部1250は、方向決定部673により決定された方向にコンテンツを移動させ、表示部630を制御して上記移動したコンテンツの該当部位を表示するようにする。コンテンツの移動が始まれば、しきい領域設定部1260はしきい領域を拡大する。例えば、画面サイズが4インチのスマートフォンの場合、初期しきい領域のサイズは32ピクセルであり、コンテンツの移動が始まれば128ピクセルに拡大できる。そして、しきい領域設定部1260は、拡大されたしきい領域の情報を比較部1230に伝達する。しきい領域設定部1260は、しきい領域を縮小することもできる。例えば、スクロールがストップされれば、拡大されたしきい領域が縮小できる。また、スクロールが始まれば、しきい領域は初期に設定されたサイズより縮小されることもできる。図12に示すような構成を有する制御部670の動作について図12から図20を参照して具体的に説明する。
【0058】
図13は、本発明の更に別の実施形態に係るコンテンツ移動方法を説明するためのフローチャートである。図13を参照すると、ステップ1301で、表示部630は、制御部670の制御によって画面より大きいサイズのコンテンツの一部を画面に表示する。ステップ1302で、制御部670は、画面、即ちタッチスクリーン610に対するタッチの位置変化を感知する。位置変化が感知されれば、ステップ1303で、制御部670は現在タッチ地点(x,y)を検出する。そして、ステップ1303で、制御部670は直前に検出されたタッチ地点(xn−1,yn−1)を原点に設定する。また、ステップ1303で、制御部670は、設定された原点、即ち以前タッチ地点(xn−1,yn−1)から現在タッチ地点(x,y)までの位置変化量(dx,dy)を算出する。次に、制御部670は、X軸変化量(dx)及びY軸変化量(dy)を各々X軸しきい値(Xth)及びY軸しきい値(Yth)と比較する。
【0059】
ステップ1304で、制御部670は、dx及びdy全てがそのしきい値と等しいか、または小さいか否かを判断する。判断の結果、等しいか小さい場合、スクロールが発生していないと判断してステップ1312に進行し、dx及びdyのうちの少なくとも1つが各々そのしきい値より大きい場合にはスクロールが発生したと判断してスクロールの方向を決定するためにステップ1305に進行する。
【0060】
ステップ1305で、制御部670は、dxがXth以下であり、dyがYthを超過するか否かを判断する。判断の結果、dxがXth以下であり、dyがYthを超過する場合には、スクロールの方向を垂直(Y軸)方向に決定する。これによって、ステップ1306で、制御部670は、dyだけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ1310に進行する。ステップ1305での判断の結果、dxがXth以下でない場合にはステップ1307に進行する。
【0061】
ステップ1307で、制御部670は、dxがXthを超過し、dyがYth以下か否かを判断する。判断の結果、dxがXthを超過し、dyがYth以下の場合には、スクロールの方向を水平(X軸)方向に決定する。これによって、ステップ1308で、制御部670は、dxだけ水平(X軸)方向にコンテンツを移動させるように表示部630を制御した後、ステップ1310に進行する。
【0062】
制御部670は、ステップ1307での判断の結果、dyがYth以下でない場合、即ち、dx及びdy全てが該当しきい値を超過する場合には、スクロールの方向を対角線方向に決定する。これによって、ステップ1309で、表示制御部674は、dxだけX軸方向、かつdyだけY軸方向にコンテンツを移動させるように表示部630を制御した後、ステップ1310に進行する。
【0063】
ステップ1310で、制御部670は、現在設定されたしきい領域のサイズが予め設定された最大値(Max)か否かを判断する。例えば、画面サイズが4インチのスマートフォンの場合、最大値は128ピクセルでありうる。最大値の場合、プロセスはステップ1312に進行される。最大値でない場合、ステップ1311で、制御部670は、しきい領域を拡大した後、ステップ1312に進行する。例えば、現在設定されたしきい領域のサイズが32ピクセル(横*縦(4*8))の場合、制御部670は、しきい領域の横及び縦を各々2倍、即ち128ピクセル(横*縦(8*16))に拡大する。
【0064】
ステップ1312で、制御部670はドロップの発生有無を判断する。判断の結果、ドロップが発生した場合には、プロセスを終了する。ステップ1312での判断の結果、スクロール途中の場合、即ち、タッチ移動中、またはタッチ移動がストップされた状態の場合には、制御部670はステップ1303に戻ってコンテンツの移動のための上述した過程を繰り返す。
【0065】
図13を参照して説明した本発明の更に別の実施形態によれば、スクロールがしきい領域230を外れたか否かの基準になるスクロールの出発点は、タッチ移動がストップされたか否かに関わらず、タッチが解除することがないと、最初タッチ地点に維持される。勿論、ストップされた位置はスクロールの出発点に再設定できる。また、図13を参照して説明した本発明の更に別の実施形態によれば、制御部670は、スクロールが始まれば、しきい領域を拡大して初期設定された方向にスクロールが維持されるようにすることができる。ここで、しきい領域の拡大は、上述したように、一回のこともあり、またはその以上のこともある。例えば、画面サイズが4インチのスマートフォンの場合、しきい領域は、スクロールが始まる時、その時に1回のみ拡大できる。画面サイズが10インチのタブレットPCの場合、しきい領域は、スクロールが始まった時と、スクロールの方向が垂直(Y軸)方向であり、X軸変化量(dx)が32ピクセルを超過する時、このように、2回拡大できる。即ち、拡大の回数の最大に拡大可能なしきい領域のサイズは画面サイズによって決定できる。勿論、このような決定因子は、画面サイズのみに限定されるものでなく、解像度、タッチスクリーン110のタッチ感度、タッチスクリーン110のタッチ方式、実験結果(例えば、ユーザのタッチ習慣と関連したパターン情報)などになることができる。
【0066】
図14及び図15は、本発明の一実施形態に係る垂直スクロール方法を説明するための図である。図14及び図15を参照すると、ユーザは、コンテンツを垂直(Y軸)方向にスクロールしようとする意図を有している。ところが、実際のユーザのタッチジェスチャー(一般的に、ドラッグ移動)は、図15に示すように、ユーザの意図とは異なり、放物線方向1510に移動している。本実施形態は、このようなエラーを認識し、若干の放物線のドラッグであるにもかかわらず、ドラッグ移動がY方向になるように制御する。
【0067】
制御部670は、タッチスクリーン610から受信したタッチイベントからタッチジェスチャーを検出し、検出されたタッチジェスチャーから原点(0,0)から現在タッチ地点までの位置変化量、即ち、X軸変化量(△x=x−x)及びY軸変化量(△y=y−y)を算出する。そして、算出された△x及び△yを各々第1のX軸しきい値(Xth1)と第1のY軸しきい値(Yth1)と比較する。比較の結果、△xはXth1より小さく、△yはYth1より大きい場合、ステップ1401で、制御部670はコンテンツを垂直(Y軸)方向に移動させる。その後、ステップ1402で、制御部670は△xを算出する。この際、ステップ1402で、制御部670は△yも算出することができる。また、ステップ1403で、制御部670は、X軸しきい値を初期値(Xth1)より大きく設定する。ここで、X軸しきい値の設定は、図2と関連した上述した初期Yチャンネルの幅を広めることと同一である。その後、制御部670は、大きく設定された第2のX軸しきい値(Xth2)を△xと比較する。
【0068】
ステップ1404で、制御部670は、△xが第2のX軸しきい値(Xth2)より大きいか否かを判断する。△xが第2のX軸しきい値(Xth2)を超過しない場合、ステップ1405で、制御部670はスクロールの方向を垂直方向に維持する。即ち、図15に示すように、実際に検出されたスクロール方向は放物線方向1510であるが、制御部670はY軸方向にコンテンツをスクロールする。△xが第2のX軸しきい値(Xth2)を超過する場合、ステップ1406で、制御部670は方向を非線形(non-linear)方向に切り換える。
【0069】
図15を参照すると、X軸しきい値がXth1からXth2(Xth2≧Xth1)に拡大される時、Y軸しきい値もYth1からYth2(Yth2≧Yth1)に拡大できる。Y軸変化量(△y)が例えば、Yth2を超過すれば、X軸しきい値は、Xth2から第3のX軸しきい値、即ち、Xth3(Xth3≧Xth2)にまた拡大できる。
【0070】
図16及び図17は、本発明の一実施形態に係る水平スクロール方法を説明するための図である。図16及び図17を参照すると、ユーザはコンテンツを水平(X軸)方向にスクロールしようとする意図を有している。ところが、実際のユーザのタッチジェスチャーは、図17に示すように放物線方向1710に移動している。本実施形態は、このようなエラーを認識し、若干の放物線のドラッグであるにもかかわらず、ドラッグ移動がX方向になるように制御する。
【0071】
制御部670は、タッチスクリーン610から受信したタッチイベントからタッチジェスチャーを検出し、検出されたタッチジェスチャーから原点(0,0)から現在タッチ地点までの位置変化量、即ち、X軸変化量(△x=x−x)及びY軸変化量(△y=y−y)を算出する。そして、算出された△x及び△yを各々第1のX軸しきい値(Xth1)と第1のY軸しきい値(Yth1)と比較する。比較の結果、△xはXth1より大きく、△yはYth1より小さい場合、ステップ1601で、制御部670はコンテンツを水平(X軸)方向に移動させる。その後、ステップ1602で、制御部670は△yを算出する。この際、ステップ1602で、制御部670は△xも算出することができる。また、ステップ1603で、制御部670は、Y軸しきい値を初期値(Yth1)より大きく設定する。ここで、Y軸しきい値の設定は、図2と関連した上述した初期Xチャンネルの幅を広めることと同一である。その後、制御部670は、大きく設定された第2のY軸しきい値(Yth2)を△yと比較する。
【0072】
ステップ1604で、制御部670は、△yがYth2より大きいか否かを判断する。△yがYth2を超過しない場合、ステップ1605で、制御部670はスクロールの方向を水平方向に維持する。即ち、図17に示すように、実際に検出されたスクロール方向は放物線方向1710であるが、制御部670はX軸方向にコンテンツをスクロールする。△yがYth2を超過する場合、ステップ1606で、制御部670は方向を非線形(non-linear)方向に切り換える。
【0073】
図17を参照すると、Y軸しきい値がYth1からYth2(Yth2>Yth1)に拡大される時、X軸しきい値もXth1からXth2(Xth2>Xth1)に拡大できる。X軸変化量(△x)が例えば、Xth2を超過すれば、Y軸しきい値は、Yth2から第3のY軸しきい値、即ち、Yth3(Yth3>Yth2)にまた拡大できる。
【0074】
図18及び図19は、本発明の別の実施形態に係る垂直スクロール方法を説明するための図である。図18及び図19を参照すると、ステップ1801で、制御部670はコンテンツを垂直方向1910に移動させる。ステップ1802で、制御部670は、現在時点tの時、X軸変化量(dx=x−xn−1)を算出する。ステップ1803で、制御部670は、原点、即ち以前タッチ地点(xn−1,yn−1)を基準に第1のX軸しきい値(Xth,n)を設定する。ここで、第1のX軸しきい値(Xth,n)のサイズは、以前に設定された値(Xth,n−1)より大きいことも、小さいこともある。また、変わり無しで維持されることもできる。そして、ステップ1803で、制御部670は、第1のX軸しきい値(Xth,n)をdxと比較する。
【0075】
ステップ1804で、制御部670は、dxが第1のX軸しきい値(Xth,n)より大きいか否かを判断する。dxが第1のX軸しきい値(Xth,n)を超過しない場合、ステップ1805で、制御部670はスクロールの方向を垂直方向に維持する。即ち、図19に示すように、現在時点(t)で実際に検出されたスクロール方向は放物線方向1920であるが、制御部670は垂直方向1910にコンテンツをスクロールする。dxが第1のX軸しきい値(Xth,n)を超過する場合、ステップ1806で、制御部670は方向を対角線方向に切り換える。
【0076】
図19を参照すると、次の時点(tn+1)になれば、制御部670は、次のタッチ地点(xn+1,yn+1)を検出し、原点(x,y)を基準に第2のX軸しきい値(Xth,n+1)を設定する。ここで、第2のX軸しきい値(Xth,n+1)は、以前値(Xth,n)より大きいことも、小さいこともある。また、変わり無しでそのまま維持されることもできる。
【0077】
図20は、本発明の別の実施形態に係る水平スクロール方法を説明するための図である。図20を参照すると、ステップ2001で、制御部670はコンテンツを水平方向に移動させる。ステップ2002で、制御部670は、現在時点tの時、Y軸変化量(dy=y−yn−1)を算出する。ステップ2003で、制御部670は、原点、即ち以前タッチ地点(xn−1,yn−1)を基準に第1のY軸しきい値(Yth,n)を設定する。ここで、第1のY軸しきい値(Yth,n)のサイズは、以前に設定された値(Yth,n−1)より大きいことも、小さいこともある。また、変わり無しでそのまま維持されることもできる。そして、ステップ2003で、制御部670は、第1のY軸しきい値(Xth,n)をdyと比較する。
【0078】
ステップ2004で、制御部670は、dyが第1のY軸しきい値(Yth,n)より大きいか否かを判断する。dyが第1のY軸しきい値(Yth,n)を超過しない場合、ステップ2005で、制御部670はスクロールの方向を水平方向に維持する。dyが第1のY軸しきい値(Yth,n)を超過する場合、ステップ2006で、制御部670は方向を対角線方向に切り換える。次の時点(tn+1)になれば、制御部670は、次のタッチ地点(xn+1,yn+1)を検出し、原点(x,y)を基準に第2のY軸しきい値(Yth,n+1)を設定する。ここで、第2のY軸しきい値(Yth,n+1)は、以前値(Yth,n)より大きいことも、小さいこともある。また、変わり無しでそのまま維持されることもできる。
【0079】
ディジタル機器のコンバージェンス(convergence)趨勢によって変形が非常に多様であるので全て列挙することはできないが、本発明に従う携帯端末機600は、GPSモジュール、振動モータ、加速度センサーなどのように前述していない構成をさらに含むことができる。また、本発明の携帯端末機600は、その提供形態によって上記した構成で特定構成が除外されるか、または他の構成に取り替えることもできる。
【0080】
前述したような本発明に従うコンテンツ移動方法は、多様なコンピュータ手段を通じて遂行できるプログラム命令で具現されてコンピュータにより読み取り可能な記録媒体に記録できる。ここで、記録媒体は、プログラム命令、データファイル、データ構造などを含むことができる。また、プログラム命令は、本発明のために特別に設計され構成されたもの、またはコンピュータソフトウェア当業者に公知されて使用可能なものでありうる。また、記録媒体には、ハードディスク、フロッピー(登録商標)ディスク、及び磁気テープのような磁気記録媒体(Magnetic Media)、CD−ROM、DVDのような光記録媒体(Optical Media)、フロプティカルディスク(Floptical Disk)のような磁気−光記録媒体(Magneto-Optical Media)、及びROM、RAM、フラッシュメモリなどのハードウェア装置が含まれる。また、プログラム命令には、コンパイラーにより作られるような機械語コードだけでなく、インタープリターなどを使用してコンピュータにより実行できる高級言語コードが含まれる。ハードウェア装置は、本発明を遂行するために1つ以上のソフトウェアモジュールとして動作するように構成できる。
【0081】
本発明のコンテンツ移動方法及び装置は、前述した実施形態に限定されず、本発明の技術思想が許容する範囲で多様に変形して実施することができる。
【符号の説明】
【0082】
600 携帯端末機
610 タッチスクリーン
620 キー入力部
630 表示部
640 格納部
650 無線通信部
660 カメラ
670 制御部
710,1210 タッチジェスチャー検出部
720,1220 位置変化算出部
730,1230 比較部
740,1240 方向決定部
750,1250 コンテンツ移動部
760 原点設定部
1260 しきい領域設定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20