KR20120093369A - 휴대용 컴퓨팅 디바이스 상의 3 차원 가상 객체들을 제어하는 시스템 및 방법 - Google Patents

휴대용 컴퓨팅 디바이스 상의 3 차원 가상 객체들을 제어하는 시스템 및 방법 Download PDF

Info

Publication number
KR20120093369A
KR20120093369A KR1020127015414A KR20127015414A KR20120093369A KR 20120093369 A KR20120093369 A KR 20120093369A KR 1020127015414 A KR1020127015414 A KR 1020127015414A KR 20127015414 A KR20127015414 A KR 20127015414A KR 20120093369 A KR20120093369 A KR 20120093369A
Authority
KR
South Korea
Prior art keywords
virtual object
sensor array
detecting
motion
opposing
Prior art date
Application number
KR1020127015414A
Other languages
English (en)
Other versions
KR101499301B1 (ko
Inventor
로버트 에스 탈츠
제임스 비 캐리
Original Assignee
퀄컴 인코포레이티드
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 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20120093369A publication Critical patent/KR20120093369A/ko
Application granted granted Critical
Publication of KR101499301B1 publication Critical patent/KR101499301B1/ko

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/03Arrangements for converting the position or the displacement of a member into a coded form
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1615Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function
    • G06F1/1624Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with sliding enclosures, e.g. sliding keyboard or display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1643Details related to the display arrangement, including those related to the mounting of the display in the housing the display being associated to a digitizer, e.g. laptops that can be used as penpads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • 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]
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1636Sensing arrangement for detection of a tap gesture on the housing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/033Indexing scheme relating to G06F3/033
    • G06F2203/0339Touch strips, e.g. orthogonal touch strips to control cursor movement or scrolling; single touch strip to adjust parameter or to implement a row of soft keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

무선 디바이스 상의 3 차원 (3D) 가상 객체를 조작하는 방법이 개시되며, 이 방법은 3D 센서 어레이 상에서 누름, 범프 또는 슬라이드를 검출하는 단계, 및 누름, 범프 또는 슬라이드에 응답하여 3D 가상 객체를 이동시키는 단계를 포함한다. 게다가, 이 방법은 3D 센서 어레이 상에서 누름의 릴리즈를 검출하는 단계, 및 3D 가상 객체의 움직임을 중지시키는 단계를 포함한다.

Description

휴대용 컴퓨팅 디바이스 상의 3 차원 가상 객체들을 제어하는 시스템 및 방법{SYSTEM AND METHOD OF CONTROLLING THREE DIMENSIONAL VIRTUAL OBJECTS ON A PORTABLE COMPUTING DEVICE}
본 발명은 휴대용 컴퓨팅 디바이스 상의 3 차원 가상 객체들을 제어하는 시스템 및 방법에 관한 것이다.
휴대용 컴퓨팅 디바이스 (PCD; Portable Computing Device) 들은 어디에서나 아주 흔히 볼 수 있다. 이들 디바이스들은 셀룰러 전화기들, 휴대용 정보 단말기 (PDA) 들, 휴대용 게임 콘솔들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수도 있다. 많은 휴대용 컴퓨팅 디바이스들은, 사용자가 그 디바이스와 상호작용하여 커맨드들을 입력할 수도 있는 터치 스크린 인터페이스를 포함한다. 게다가, 터치 스크린 인터페이스는 다중 아이템들, 예를 들어, 애플리케이션 아이콘들, 썸네일들, 타일들, 또는 이들의 조합을 디스플레이하는데 이용될 수도 있다.
디스플레이된 아이템들 중 일부는 3 차원 (3D) 가상 객체들일 수도 있다. 애플리케이션에 따라, 디스플레이 내에서 3D 가상 객체를 이리저리 이동시키는 것이 유리할 수도 있다.
따라서, 휴대용 컴퓨팅 디바이스에서 3D 가상 객체들을 제어하는 개선된 시스템 및 방법이 필요하다.
도면들에 있어서, 동일한 참조 부호들은, 다르게 나타내고 있지 않다면, 여러 도면들 전반에 걸쳐 동일한 부분들을 지칭한다.
도 1 은 닫힌 상태 (closed position) 의 제 1 양태의 휴대용 컴퓨팅 디바이스 (PCD) 의 정면 평면도이다.
도 2 는 열린 상태 (open position) 의 제 1 양태의 PCD 의 정면 평면도이다.
도 3 은 제 1 양태의 PCD 의 블록도이다.
도 4 는 제 2 양태의 PCD 의 단면도이다.
도 5 는 제 2 양태의 PCD 의 다른 단면도이다.
도 6 은 제 3 양태의 PCD 의 단면도이다.
도 7 은 제 4 양태의 PCD 의 단면도이다.
도 8 은 PCD 에서 3D 가상 객체들을 제어하는 제 1 양태의 방법을 예시한 흐름도이다.
도 9 는 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 1 부분을 예시한 흐름도이다.
도 10 은 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 2 부분을 예시한 흐름도이다.
도 11 은 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 3 부분을 예시한 흐름도이다.
도 12 는 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 4 부분을 예시한 흐름도이다.
도 13 은 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 5 부분을 예시한 흐름도이다.
도 14 는 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 6 부분을 예시한 흐름도이다.
도 15 는 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 7 부분을 예시한 흐름도이다.
도 16 은 PCD 에서 3D 가상 객체들을 제어하는 제 2 양태의 방법의 제 8 부분을 예시한 흐름도이다.
도 17 은 PCD 디스플레이 상에서 앞으로 이동하는 3D 가상 객체의 도면이다.
도 18 은 PCD 디스플레이 상에서 뒤로 이동하는 3D 가상 객체의 도면이다.
도 19 는 PCD 디스플레이 상에서 왼쪽으로 이동하는 3D 가상 객체의 도면이다.
도 20 은 PCD 디스플레이 상에서 오른쪽으로 이동하는 3D 가상 객체의 도면이다.
도 21 은 PCD 디스플레이 상에서 위로 이동하는 3D 가상 객체의 도면이다.
도 22 는 PCD 디스플레이 상에서 아래로 이동하는 3D 가상 객체의 도면이다.
도 23 은 PCD 디스플레이 상에서 회전하는 3D 가상 객체의 도면이다.
도 24 는 PCD 디스플레이 상에서 스퀴징되는 3D 가상 객체의 도면이다.
도 25 는 PCD 디스플레이 상에서 비스듬히 (at an angle) 이동하는 3D 가상 객체의 도면이다.
단어 "예시적인" 은 여기서 "예, 경우, 또는 예시로서 기능하는 것" 을 의미하는데 사용된다. 여기에 "예시적인" 것으로 설명된 임의의 양태가 반드시 다른 양태들에 비해 바람직하거나 유리한 것처럼 해석될 필요는 없다.
본 설명에서, 용어 "애플리케이션" 은 또한 목적 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들 및 패치들과 같이, 실행가능한 컨텐트를 갖는 파일들을 포함할 수도 있다. 또한, 여기에 지칭된 "애플리케이션" 은, 공개될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이, 사실상 실행가능하지 않은 파일들도 포함할 수도 있다.
용어 "컨텐트" 는 또한, 목적 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들 및 패치들과 같이, 실행가능한 컨텐트를 갖는 파일들을 포함할 수도 있다. 또한, 여기에 지칭된 "컨텐트" 는, 개방될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이, 사실상 실행가능하지 않은 파일들도 포함할 수도 있다.
본 설명에서 사용한 바와 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템" 등은 컴퓨터 관련 엔티티, 즉, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 (software in execution) 중 어느 하나를 지칭하는 것으로 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행가능한 것, 실행 스레드, 프로그램 및/또는 컴퓨터일 수도 있지만, 이들로 제한되지는 않는다. 예시로, 컴퓨팅 디바이스 상에서 실행중인 애플리케이션과 컴퓨팅 디바이스 양자는 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 컴퓨터 상에 국부배치될 수도 있고, 및/또는 2 개 이상의 컴퓨터들 간에 분산될 수도 있다. 또한, 이들 컴포넌트들은 각종 데이터 구조들이 저장되어 있는 각종 컴퓨터 판독가능 매체로부터 실행할 수도 있다. 컴포넌트들은, 로컬 및/또는 원격 프로세스들을 통하여, 이를 테면 (예를 들어, 로컬 시스템, 분산 시스템 내의 다른 컴포넌트와 상호작용하고, 및/또는 신호를 통하여 다른 시스템들과 인터넷과 같은 네트워크를 통해 상호작용하는 하나의 컴포넌트로부터의 데이터와 같은) 하나 이상의 데이터 패킷들을 갖는 신호에 따라 통신할 수도 있다.
처음에 도 1 및 도 2 를 참조하면, 일 예시적인 휴대용 컴퓨팅 디바이스 (PCD) 가 도시되고, 일반적으로 100 으로 표시된다. 도시한 바와 같이, PCD (100) 는 하우징 (102) 을 포함할 수도 있다. 하우징 (102) 은 상부 하우징부 (104) 및 하부 하우징부 (106) 를 포함할 수도 있다. 도 1 은, 상부 하우징부 (104) 가 디스플레이 (108) 를 포함할 수도 있다는 것을 도시한다. 특정 양태에서, 디스플레이 (108) 는 터치 스크린 디스플레이일 수도 있다. 상부 하우징부 (104) 는 또한 트랙볼 입력 디바이스 (110) 를 포함할 수도 있다. 게다가, 도 1 에 도시한 바와 같이, 상부 하우징부 (104) 는 파워 온 버튼 (112) 및 파워 오프 버튼 (114) 을 포함할 수도 있다. 도 1 에 도시한 바와 같이, PCD (100) 의 상부 하우징부 (104) 는 복수의 표시등들 (indicator lights) (116) 및 스피커 (118) 를 포함할 수도 있다. 각 표시등 (116) 은 발광 다이오드 (LED) 일 수도 있다.
특정 양태에서, 도 2 에 나타낸 바와 같이, 상부 하우징부 (104) 는 하부 하우징부 (106) 에 대하여 이동가능하다. 구체적으로, 상부 하우징부 (104) 는 하부 하우징부 (106) 에 대하여 슬라이드가능할 수도 있다. 도 2 에 도시한 바와 같이, 하부 하우징부 (106) 는 멀티-버튼 키보드 (120) 를 포함할 수도 있다. 특정 양태에서, 멀티-버튼 키보드 (120) 는 표준 쿼티 (QWERTY) 키보드일 수도 있다. 멀티-버튼 키보드 (120) 는, 상부 하우징부 (104) 가 하부 하우징부 (106) 에 대하여 이동될 때 보여질 수도 있다. 도 2 는 또한, PCD (100) 가 하부 하우징부 (106) 상에 리셋 버튼 (122) 을 포함할 수도 있다는 것을 예시한다.
도 3 을 참조하면, 제한이 아닌 일 예시적인 양태의 휴대용 컴퓨팅 디바이스 (PCD) 가 도시되고, 일반적으로 320 으로 표시된다. 도시한 바와 같이, PCD (320) 는, 함께 커플링되는 디지털 신호 프로세서 (324) 와 아날로그 신호 프로세서 (326) 를 포함하는 온-칩 시스템 (322) 을 포함한다. 온-칩 시스템 (322) 은 2 개보다 더 많은 프로세서들을 포함할 수도 있다. 예를 들어, 온-칩 시스템 (322) 은, 즉 도 32 와 함께 이하 설명한 바와 같이, 4 개의 코어 프로세서들 및 ARM 11 프로세서를 포함할 수도 있다.
도 3 에 예시한 바와 같이, 디지털 신호 프로세서 (324) 에는 디스플레이 제어기 (328) 및 터치 스크린 제어기 (330) 가 커플링된다. 차례로, 디스플레이 제어기 (328) 및 터치 스크린 제어기 (330) 에는 온-칩 시스템 (322) 외부의 터치 스크린 디스플레이 (332) 가 커플링된다.
도 3 은 또한, 비디오 인코더 (334), 예를 들어, PAL (phase alternating line) 인코더, SECAM (sequential couleur a memoire) 인코더, 또는 NTSC (national television system(s) committee) 인코더가 디지털 신호 프로세서 (324) 에 커플링된다는 것을 나타낸다. 게다가, 비디오 인코더 (334) 및 터치 스크린 디스플레이 (332) 에는 비디오 증폭기 (336) 가 커플링된다. 또한, 비디오 증폭기 (336) 에는 비디오 포트 (338) 가 커플링된다. 도 3 에 나타낸 바와 같이, 디지털 신호 프로세서 (324) 에는 유니버설 시리얼 버스 (USB; universal serial bus) 제어기 (340) 가 커플링된다. 또한, USB 제어기 (340) 에는 USB 포트 (342) 가 커플링된다. 디지털 신호 프로세서 (324) 에는 메모리 (344) 및 가입자 식별 모듈 (SIM; subscriber identity module) 카드 (346) 가 또한 커플링될 수도 있다. 게다가, 도 3 에 도시한 바와 같이, 디지털 신호 프로세서 (324) 에는 디지털 카메라 (348) 가 커플링될 수도 있다. 일 예시적인 양태에서, 디지털 카메라 (348) 는 CCD (charge-coupled device) 카메라 또는 CMOS (complementary metal-oxide semiconductor) 카메라이다.
도 3 에 추가 예시한 바와 같이, 아날로그 신호 프로세서 (326) 에는 스테레오 오디오 CODEC (350) 이 커플링될 수도 있다. 더욱이, 스테레오 오디오 CODEC (350) 에는 오디오 증폭기 (352) 가 커플링될 수도 있다. 일 예시적인 양태에서, 오디오 증폭기 (352) 에는 제 1 스테레오 스피커 (354) 및 제 2 스테레오 스피커 (356) 가 커플링된다. 도 3 은, 스테레오 오디오 CODEC (350) 에 마이크로폰 증폭기 (358) 가 또한 커플링될 수도 있다는 것을 도시한다. 추가적으로, 마이크로폰 증폭기 (358) 에는 마이크로폰 (360) 이 커플링될 수도 있다. 특정 양태에서, 스테레오 오디오 CODEC (350) 에는 주파수 변조 (FM) 라디오 튜너 (362) 가 커플링될 수도 있다. 또한, FM 라디오 튜너 (362) 에는 FM 안테나 (364) 가 커플링된다. 게다가, 스테레오 오디오 CODEC (350) 에는 스테레오 헤드폰 (366) 이 커플링될 수도 있다.
도 3 은 또한, 아날로그 신호 프로세서 (326) 에 무선 주파수 (RF) 트랜시버 (368) 가 커플링될 수도 있다는 것을 나타낸다. RF 트랜시버 (368) 및 RF 안테나 (372) 에는 RF 스위치 (370) 가 커플링될 수도 있다. 도 3 에 도시한 바와 같이, 아날로그 신호 프로세서 (326) 에는 키패드 (374) 가 커플링될 수도 있다. 또한, 아날로그 신호 프로세서 (326) 에는 마이크로폰을 가진 모노 헤드셋 (376) 이 커플링될 수도 있다. 게다가, 아날로그 신호 프로세서 (326) 에는 바이브레이터 디바이스 (378) 가 커플링될 수도 있다. 도 3 은 또한, 온-칩 시스템 (322) 에 전력 공급장치 (380) 가 커플링될 수도 있다는 것을 도시한다. 특정 양태에서, 전력 공급장치 (380) 는, 전력을 요구하는 PCD (320) 의 각종 컴포넌트들에 전력을 제공하는 직류 (DC) 전력 공급장치이다. 게다가, 특정 양태에서, 전력 공급장치는, AC 전력원에 접속되는 교류 (AC)-DC 변압기로부터 유도되는 재충전가능한 DC 배터리 또는 DC 전력 공급장치이다.
도 3 은, PCD (320) 가 3D 터치 제어기 (382) 를 포함할 수도 있다는 것을 나타낸다. 3D 터치 제어기 (382) 는 독립형 (stand-alone) 제어기일 수도 있고, 또는 메모리 (344) 내의 소프트웨어 제어기일 수도 있다. 게다가, 3D 터치 제어기 (382) 는, 단독으로, 또는 프로세서들 (324, 326) 과 함께, 여기에 설명된 방법 단계들 중 하나 이상을 실행하는 수단으로서 기능할 수도 있다.
도 3 은 또한, PCD (320) 가 햅틱 피드백 시스템 (384) 도 포함할 수도 있다는 것을 나타낸다. 햅틱 피드백 시스템 (384) 은, 사용자가 3D 가상 객체의 움직임을 제어할 때 사용자에게 햅틱 피드백을 제공하는데 이용될 수도 있다. 여기에 설명된 각종 센서들은, 여기에 통합된 햅틱 출력 디바이스들을 포함할 수도 있고, 이 햅틱 출력 디바이스들은, 사용자가 3D 가상 객체를 그래빙 (grabbing) 할 때 사용자에게 터치 피드백을 렌더링하는데 이용될 수도 있다. 햅틱 출력 디바이스들은 압전 액추에이터들, 진동촉각 (vibrotactile) 액추에이터들, 또는 이들의 조합을 포함할 수도 있다. 예를 들어, 햅틱 출력 디바이스들은, 여러 위치에서 3D 가상 객체의 텍스처 또는 피처들을 시뮬레이팅하는 사용자의 엄지손가락 또는 집게손가락에 대한 촉각 (touch sensations) 을 생성할 수 있다.
도 3 에 나타낸 바와 같이, 터치 스크린 디스플레이 (332), 비디오 포트 (338), USB 포트 (342), 카메라 (348), 제 1 스테레오 스피커 (354), 제 2 스테레오 스피커 (356), 마이크로폰 (360), FM 안테나 (364), 스테레오 헤드폰 (366), RF 스위치 (370), RF 안테나 (372), 키패드 (374), 모노 헤드셋 (376), 바이브레이터 (378), 및 전력 공급장치 (380) 는 온-칩 시스템 (322) 의 외부에 있다.
특정 양태에서, 여기에 설명된 방법 단계들 중 하나 이상은 메모리 (344) 에 컴퓨터 프로그램 명령들로서 저장될 수도 있다. 이들 명령들은 여기에 설명된 방법들을 수행하기 위하여 프로세서 (324, 326) 에 의해 실행될 수도 있다. 게다가, 프로세서들 (324, 326), 메모리 (344), 3D 터치 제어기 (382), 디스플레이 제어기 (328), 터치 스크린 제어기 (330), 또는 이들의 조합은 디스플레이/터치 스크린 (332) 에 디스플레이된 가상 키보드를 제어하기 위하여 여기에 설명된 방법 단계들 중 하나 이상을 실행하는 수단으로서 기능할 수도 있다.
도 4 및 도 5 는 일반적으로 400 으로 표시된 다른 양태의 PCD 를 예시한다. 도 4 및 도 5 는 PCD (400) 를 단면도로 도시한다. 도시한 바와 같이, PCD (400) 는 하우징 (402) 을 포함할 수도 있다. 특정 양태에서, 도 3 과 함께 도시된 엘리먼트들 중 하나 이상이 내부 하우징 (402) 내에 배치되거나, 다르게는 설치될 수도 있다. 그러나, 명료함을 위해, 하우징 (402) 내에는, 프로세서 (404) 와 그 프로세서에 접속된 메모리 (406) 만이 도시된다.
도 4 및 도 5 는, 상측 (top) 터치/압력 센서 (410) 및 하측 (bottom) 터치/압력 센서 (412) 가 하우징 (402) 내에 설치되거나, 다르게는 하우징 (402) 상에 배치될 수도 있다는 것을 나타낸다. 더욱이, 좌측 터치/압력 센서 (414) 및 우측 터치/압력 센서 (416) 가 하우징 (402) 내에 설치되거나, 다르게는 하우징 (402) 상에 배치될 수도 있다. 도 5 는 또한, PCD (400) 가 정면 (front) 터치/압력 센서 (418) 를 포함할 수도 있고, 후면 (back) 터치/압력 센서 (420) 가 하우징 (402) 내에 설치되거나, 다르게는 하우징 (402) 상에 배치될 수도 있다는 것을 예시한다. 특정 실시형태에서, 정면 터치/압력 센서 (418) 는 터치 감응 디스플레이일 수도 있다. 터치/압력 센서들 (410, 412, 414, 416, 418, 420) 은 3D 센서 어레이로서 기능할 수도 있다. 게다가, 3D 가상 객체들이 디스플레이될 때, 3D 센서 어레이는 활성화될 수도 있고, 여기에 설명된 방법들 중 하나 이상에 따라 3D 가상 객체의 활성 제어를 제공할 수도 있다. 3D 센서 어레이는, 3D 터치 제어기 (또는 다른 제어기/프로세서) 와 함께, PCD (400) 상의 누름, 터치, 릴리즈 (release), 스퀴즈 (squeeze), 슬라이드, 플릭 (flick), 범프 (bump) 등을 검출하는 수단으로서 기능할 수도 있다.
도 6 은 일반적으로 600 으로 표시된, 또 다른 양태의 PCD 를 예시한다. 도 6 은 PCD (600) 를 단면도로 도시한다. 도시한 바와 같이, PCD (600) 는 하우징 (602) 을 포함할 수도 있다. 특정 양태에서, 도 3 과 함께 도시된 엘리먼트들 중 하나 이상은 내부 하우징 (602) 내에 배치되거나, 다르게는 설치될 수도 있다. 그러나, 명료함을 위해, 하우징 (602) 내에는 프로세서 (604) 및 그 프로세서에 접속된 메모리 (606) 만이 도시된다.
추가적으로, PCD (600) 는 하우징 (602) 의 외부면 상에 배치된 감압 (pressure sensitive) 레이어 (608) 를 포함할 수도 있다. 특정 실시형태에서, 감압 레이어 (608) 는 하우징 (602) 상에 디포짓 (deposit) 되거나, 다르게는 배치되는 압전 재료를 포함할 수도 있다. 감압 레이어 (608) 는 3D 센서 어레이로서 기능할 수도 있고, PCD 상의 여러 위치들에서의 터치를 검출하는데 이용될 수도 있다. 게다가, 3D 가상 객체들이 디스플레이될 때, 3D 센서 어레이는 활성화될 수도 있고, 여기에 설명된 방법들 중 하나 이상에 따라 3D 가상 객체의 활성 제어를 제공할 수도 있다. 3D 센서 어레이는, 3D 터치 제어기 (또는 다른 제어기/프로세서) 와 함께, PCD (700) 상의 누름, 터치, 릴리즈, 스퀴즈, 슬라이드, 플릭, 범프 등을 검출하는 수단으로서 기능할 수도 있다.
도 7 은 일반적으로 700 으로 표시된, 다른 양태의 PCD 를 나타낸다. 도 7 은 PCD (700) 를 단면도로 도시한다. 도시한 바와 같이, PCD (700) 는 하우징 (702) 을 포함할 수도 있다. 특정 양태에서, 도 3 과 함께 도시된 엘리먼트들 중 하나 이상은 내부 하우징 (702) 내에 배치되거나, 다르게는 설치될 수도 있다. 그러나, 명료함을 위해, 하우징 (702) 내에는 프로세서 (704) 및 그 프로세서에 접속된 메모리 (706) 만이 도시된다.
추가적으로, PCD (700) 는 PCD (700) 내에서 프로세서 (704) 에 접속된 제 1 자이로스코프 (708), 제 2 자이로스코프 (710), 및 가속도계 (712) 를 포함할 수도 있다. 자이로스코프들 (708, 710) 및 가속도계 (712) 는, PCD (700) 가 범프되는 때, 그리고 PCD (700) 가 범프되는 방향을 검출하는데 이용될 수도 있다. 3D 가상 객체들이 디스플레이될 때, 자이로스코프들 (708, 710) 및 가속도계 (712) 는 여기에 설명된 방법들 중 하나 이상에 따라 3D 가상 객체의 활성 제어를 제공할 수도 있다. 자이로스코프들 (708, 710) 및 가속도계 (712) 는, 3D 터치 제어기 (또는 다른 제어기/프로세서) 와 함께, PCD (700) 에서의 범프, 셰이크 (shake), 다른 움직임 등을 검출하는 수단으로서 기능할 수도 있다. 게다가, 자이로스코프들 (708, 710) 및 가속도계 (712) 는 범프와 관련된 힘을 검출 및 결정할 수도 있다.
도 8 을 참조하면, 3D 가상 객체들의 3 차원 제어를 제공하는 제 1 양태의 방법이 도시되고, 일반적으로 800 으로 표시된다. 블록 802 에서 시작하여, 실행 루프 (do loop) 에 진입할 수도 있으며, 여기서 3D 가상 객체가 디스플레이될 때, 다음의 단계들이 수행될 수도 있다. 블록 904 에서, 3D 터치 센서 어레이는, 예를 들어 제어기, 프로세서, 또는 이들의 조합에 의해 활성화될 수도 있다.
판단 806 으로 이동하여, 3D 터치 제어기는, 3D 터치 센서 어레이의 후면으로부터 누름이 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 후면으로부터 누름이 검출된다면, 방법 800 은 블록 808 로 진행될 수도 있고, 3D 가상 객체는, 마치 사용자가 3D 가상 객체를 밀고 있는 것처럼, 누름을 감지하고 있는 센서로부터 멀리 이동될 수도 있다. 판단 810 에서, 3D 터치 제어기는, 릴리즈가 검출되는지 여부를 결정할 수도 있으며, 즉, 3D 터치 제어기는, 사용자가 3D 터치 센서 어레이의 센서를 여전히 터치하고 있는지 여부를 결정할 수도 있다. 릴리즈가 검출되지 않는다면, 방법 800 은 블록 808 로 되돌아갈 수도 있고, 3D 가상 객체는 디스플레이에서 계속 이동할 수도 있다. 그렇지 않고, 릴리즈가 검출된다면, 블록 812 에서, 3D 가상 객체는 디스플레이에서의 이동을 중지할 수도 있다. 그 후, 방법 900 은 판단 814 로 진행될 수도 있다.
판단 806 으로 되돌아가, 누름이 검출되지 않는다면, 방법 800 은 바로 판단 814 로 나아갈 수도 있다. 판단 814 에서, 3D 터치 제어기는, 3D 터치 센서 어레이 상에서 범프가 검출되는지 여부를 결정할 수도 있다. 3D 터치 제어기는, 가속도계 및 그 가속도계에 접속된 자이로스코프를 이용함으로써 범프가 검출되는지 여부를 결정할 수도 있다. 게다가, 3D 터치 제어기는 가속도계 및 자이로스코프를 이용하여 범프와 관련된 힘 및 범프의 방향을 결정할 수도 있다. 판단 814 로 되돌아가, 3D 터치 센서 어레이의 후면으로부터 범프가 검출된다면, 방법 800 은 블록 816 으로 진행될 수도 있고, 3D 가상 객체는 디스플레이에서, 범프에 대응하는, 예를 들어, 범프와 관련된 힘에 대응하는 거리로 범프의 위치로부터 멀리 이동될 수도 있다. 그 후, 방법 800 은 판단 818 로 이동할 수도 있다.
판단 814 로 되돌아가, 3D 터치 센서 어레이의 후면으로부터 범프가 검출되지 않는다면, 방법 800 은 바로 판단 818 로 이동할 수도 있다. 판단 818 에서, 3D 터치 제어기는, 3D 객체가 클로즈되는지 여부, 즉, 3D 객체가 더 이상 디스플레이되지 않는지 여부를 결정할 수도 있다. 3D 객체가 클로즈되지 않는다면, 방법 800 은 판단 806 으로 되돌아갈 수도 있고, 방법 800 은 여기에 설명한 바와 같이 계속될 수도 있다. 그렇지 않고, 3D 객체가 클로즈된다면, 방법 800 은 종료될 수도 있다.
이제 도 9 를 참조하면, 3D 가상 객체들의 3 차원 제어를 제공하는 제 2 양태의 방법이 도시되며, 일반적으로 900 으로 표시된다. 블록 902 에서 시작하여, 실행 루프에 진입할 수도 있으며, 여기서 3D 가상 객체가 디스플레이될 때, 다음의 단계들이 수행될 수도 있다. 블록 904 에서, 3D 터치 센서 어레이는, 예를 들어 제어기, 프로세서, 또는 이들의 조합에 의해 활성화될 수도 있다.
판단 906 으로 이동하여, 3D 터치 제어기는, 3D 터치 센서 어레이의 후면으로부터 누름이 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 후면으로부터 누름이 검출된다면, 방법 900 은 블록 908 로 진행될 수도 있고, 3D 가상 객체는, 마치 사용자가 3D 가상 객체를 뒤에서부터 밀고 있는 것처럼, 디스플레이에서 앞으로 이동될 수도 있다. 판단 910 에서, 3D 터치 제어기는, 릴리즈가 검출되는지 여부를 결정할 수도 있고, 즉, 3D 터치 제어기는, 사용자가 3D 터치 센서 어레이의 후면 센서를 여전히 터치하고 있는지 여부를 결정할 수도 있다. 릴리즈가 검출되지 않는다면, 방법 900 은 블록 908 로 되돌아갈 수도 있고, 3D 가상 객체는 디스플레이에서 앞으로 계속 이동할 수도 있다. 그렇지 않고, 릴리즈가 검출된다면, 블록 912 에서, 3D 가상 객체는 디스플레이에서의 앞으로의 이동을 중지할 수도 있다. 그 후, 방법 900 은 판단 914 로 진행될 수도 있다.
판단 906 으로 되돌아가, 후면으로부터 누름이 검출되지 않는다면, 방법 900 은 바로 판단 914 로 나아갈 수도 있다. 판단 914 에서, 3D 터치 제어기는, 3D 터치 센서 어레이의 정면으로부터 누름이 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 정면으로부터 누름이 검출된다면, 방법 900 은 블록 916 으로 진행될 수도 있고, 3D 가상 객체는, 마치 사용자가 3D 가상 객체를 정면으로부터 밀고 있는 것처럼, 디스플레이에서 뒤로 이동될 수도 있다. 판단 918 에서, 3D 터치 제어기는, 릴리즈가 검출되는지 여부를 결정할 수도 있으며, 즉, 3D 터치 제어기는, 사용자가 3D 터치 센서 어레이의 정면 센서를 여전히 터치하고 있는지 여부를 결정할 수도 있다. 릴리즈가 검출되지 않는다면, 방법 900 은 블록 916 으로 되돌아갈 수도 있고, 3D 가상 객체는 디스플레이에서 뒤로 계속 이동할 수도 있다. 그렇지 않고, 릴리즈가 검출된다면, 블록 920 에서, 3D 가상 객체는 디스플레이에서의 뒤로의 이동을 중지할 수도 있다. 그 후, 방법 900 은 도 10 의 판단 1002 로 진행될 수도 있다. 판단 914 로 되돌아가, 정면으로부터 누름이 검출되지 않는다면, 방법 900 은 바로 도 10 의 판단 1002 로 나아갈 수도 있다.
도 10 의 판단 1002 에서, 3D 터치 제어기는, 3D 터치 센서 어레이의 좌측으로부터 누름이 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 좌측으로부터 누름이 검출된다면, 방법 900 은 블록 1004 로 진행될 수도 있고, 3D 가상 객체는, 마치 사용자가 3D 가상 객체를 왼쪽으로부터 밀고 있는 것처럼, 디스플레이에서 오른쪽으로 이동될 수도 있다. 판단 1006 으로 이동하여, 3D 터치 제어기는, 릴리즈가 검출되는지 여부를 결정할 수도 있으며, 즉, 3D 터치 제어기는, 사용자가 3D 터치 센서 어레이의 좌측 센서를 여전히 터치하고 있는지 여부를 결정할 수도 있다. 릴리즈가 검출되지 않는다면, 방법 900 은 블록 1004 로 되돌아갈 수도 있고, 3D 가상 객체는 디스플레이에서 오른쪽으로 계속 이동할 수도 있다. 그렇지 않고, 릴리즈가 검출된다면, 블록 1008 에서, 3D 가상 객체는, 디스플레이에서의 오른쪽으로의 이동을 중지할 수도 있다. 그 후, 방법 900 은 도 10 의 판단 1010 으로 진행될 수도 있다. 판단 1002 로 되돌아가, 좌측으로부터 누름이 검출되지 않는다면, 방법 900 은 바로 판단 1010 으로 나아갈 수도 있다.
도 10 의 판단 1010 에서, 3D 터치 제어기는, 3D 터치 센서 어레이의 우측으로부터 누름이 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 우측으로부터 누름이 검출된다면, 방법 900 은 블록 1012 로 진행될 수도 있고, 3D 가상 객체는, 마치 사용자가 3D 가상 객체를 오른쪽으로부터 밀고 있는 것처럼, 디스플레이에서 왼쪽으로 이동될 수도 있다. 판단 1014 로 이동하여, 3D 터치 제어기는, 릴리즈가 검출되는지 여부를 결정할 수도 있으며, 즉, 3D 터치 제어기는, 사용자가 3D 터치 센서 어레이의 우측 센서를 여전히 터치하고 있는지 여부를 결정할 수도 있다. 릴리즈가 검출되지 않는다면, 방법 900 은 블록 1012 로 되돌아갈 수도 있고, 3D 가상 객체는 디스플레이에서 왼쪽으로 계속 이동할 수도 있다. 그렇지 않고, 릴리즈가 검출된다면, 블록 1016 에서, 3D 가상 객체는 디스플레이에서의 왼쪽으로의 이동을 중지할 수도 있다. 그 후, 방법 900 은 도 11 의 판단 1102 로 진행될 수도 있다. 판단 1010 으로 되돌아가, 좌측으로부터 누름이 검출되지 않는다면, 방법 900 은 바로 도 11 의 판단 1102 로 나아갈 수도 있다.
도 11 의 판단 1102 로 이동하여, 3D 터치 제어기는, 3D 터치 센서 어레이의 하측 (bottom) 으로부터 누름이 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 하측으로부터 누름이 검출된다면, 방법 900 은 블록 1104 로 진행될 수도 있고, 3D 가상 객체는, 마치 사용자가 3D 가상 객체를 하측으로부터 밀고 있는 것처럼, 디스플레이에서 위로 이동될 수도 있다. 판단 1106 으로 이동하여, 3D 터치 제어기는, 릴리즈가 검출되는지 여부를 결정할 수도 있으며, 즉, 3D 터치 제어기는, 사용자가 3D 터치 센서 어레이의 하측 센서를 여전히 터치하고 있는지 여부를 결정할 수도 있다. 릴리즈가 검출되지 않는다면, 방법 900 은 블록 1104 로 되돌아갈 수도 있고, 3D 가상 객체는 디스플레이에서 위로 계속 이동할 수 도 있다. 그렇지 않고, 릴리즈가 검출된다면, 블록 1108 에서, 3D 가상 객체는 디스플레이에서의 위로의 이동을 중지할 수도 있다. 그 후, 방법 900 은 판단 1110 으로 진행될 수도 있다. 판단 1102 로 되돌아가, 좌측으로부터 누름이 검출되지 않는다면, 방법 900 은 바로 판단 1110 으로 나아갈 수도 있다.
도 11 의 판단 1110 에서, 3D 터치 제어기는, 3D 터치 센서 어레이의 상측으로부터 누름이 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 상측으로부터 누름이 검출된다면, 방법 900 은 블록 1112 로 진행될 수도 있고, 3D 가상 객체는, 마치 사용자가 3D 가상 객체를 상측으로부터 밀고 있는 것처럼, 디스플레이에서 아래로 이동될 수도 있다. 판단 1114 로 이동하여, 3D 터치 제어기는, 릴리즈가 검출되는지 여부를 결정할 수도 있으며, 즉, 3D 터치 제어기는, 사용자가 3D 터치 센서 어레이의 상측 센서를 여전히 터치하고 있는지 여부를 결정할 수도 있다. 릴리즈가 검출되지 않는다면, 방법 900 은 블록 1112 로 되돌아갈 수도 있고, 3D 가상 객체는 디스플레이에서 아래로 계속 이동할 수도 있다. 그렇지 않고, 릴리즈가 검출된다면, 블록 1116 에서, 3D 가상 객체는 디스플레이에서의 아래로의 이동을 중지할 수도 있다. 그 후, 방법 900 은 도 12 의 판단 1202 로 진행될 수도 있다. 판단 1110 으로 되돌아가, 상측으로부터 누름이 검출되지 않는다면, 방법 900 은 바로 도 12 의 판단 1202 로 나아갈 수도 있다.
도 12 의 판단 1202 로 진행하여, 3D 터치 제어기는, 3D 터치 센서 어레이의 후면으로부터 범프가 검출되는지 여부를 결정할 수도 있다. 3D 터치 제어기는, 가속도계 및 그 가속도계에 접속된 자이로스코프를 이용함으로써 범프가 검출되는지 여부를 결정할 수도 있다. 게다가, 3D 터치 제어기는, 가속도계 및 자이로스코프를 이용하여 범프와 관련된 힘 및 범프의 방향을 결정할 수도 있다. 판단 1202 로 되돌아가, 3D 터치 센서 어레이의 후면으로부터 범프가 검출된다면, 방법 900 은 블록 1204 로 진행될 수도 있고, 3D 가상 객체는, 범프에 대응하는, 예를 들어, 범프와 관련된 힘에 대응하는 거리로 디스플레이에서 앞으로 이동될 수도 있다. 그 후, 방법 900 은 판단 1206 으로 이동할 수도 있다. 판단 1202 로 되돌아가, 3D 터치 센서 어레이의 후면으로부터 범프가 검출되지 않는다면, 방법 900 은 바로 판단 1206 으로 이동할 수도 있다.
판단 1206 으로 이동하여, 3D 터치 제어기는, 3D 터치 센서 어레이의 정면으로부터 범프가 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 정면으로부터 범프가 검출된다면, 방법 900 은 블록 1208 로 이동할 수도 있으며, 3D 가상 객체는, 범프에 대응하는, 예를 들어 범프와 관련된 힘에 대응하는 거리로 디스플레이에서 뒤로 이동될 수도 있다. 그리고 나서, 방법 900 은 판단 1210 으로 이동할 수도 있다. 판단 1206 으로 되돌아가, 3D 터치 센서 어레이의 정면으로부터 범프가 검출되지 않는다면, 방법 900 은 바로 판단 1210 으로 이동할 수도 있다.
판단 1210 에서, 3D 터치 제어기는, 3D 터치 센서 어레이의 좌측으로부터 범프가 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 좌측으로부터 범프가 검출된다면, 방법 900 은 블록 1212 로 이동할 수도 있으며, 3D 가상 객체는, 범프에 대응하는, 예를 들어, 범프와 관련된 힘에 대응하는 거리로 디스플레이에서 오른쪽으로 이동될 수도 있다. 그 후, 방법 900 은 도 13 의 판단 1302 로 이동할 수도 있다. 판단 1210 으로 되돌아가, 3D 터치 센서 어레이의 좌측으로부터 범프가 검출되지 않는다면, 방법 900 은 바로 도 13 의 판단 1302 로 이동할 수도 있다.
이제 도 13 을 참조하면, 판단 1302 에서, 3D 터치 제어기는, 3D 터치 센서 어레이의 우측으로부터 범프가 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 우측으로부터 범프가 검출된다면, 방법 900 은 블록 1304 로 진행될 수도 있고, 3D 가상 객체는, 범프에 대응하는, 예를 들어, 범프와 관련된 힘에 대응하는 거리로 디스플레이에서 왼쪽으로 이동될 수도 있다. 그 후, 방법 900 은 판단 1306 으로 이동할 수도 있다. 판단 1302 로 되돌아가, 3D 터치 센서 어레이의 우측으로부터 범프가 검출되지 않는다면, 방법 900 은 바로 판단 1306 으로 이동할 수도 있다.
판단 1306 에서, 3D 터치 제어기는, 3D 터치 센서 어레이의 상측으로부터 범프가 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 상측으로부터 범프가 검출된다면, 방법 900 은 블록 1308 로 이동할 수도 있으며, 3D 가상 객체는, 범프에 대응하는, 예를 들어, 범프와 관련된 힘에 대응하는 거리로 디스플레이에서 아래로 이동될 수도 있다. 다음에, 방법 900 은 판단 1310 으로 이동할 수도 있다. 판단 1306 으로 되돌아가, 3D 터치 센서 어레이의 상측으로부터 범프가 검출되지 않는다면, 방법 900 은 바로 판단 1310 으로 이동할 수도 있다.
판단 1310 으로 나아가, 3D 터치 제어기는, 3D 터치 센서 어레이의 하측으로부터 범프가 검출되는지 여부를 결정할 수도 있다. 3D 터치 센서 어레이의 하측으로부터 범프가 검출된다면, 방법 900 은 블록 1312 로 이동할 수도 있으며, 3D 가상 객체는, 범프에 대응하는, 예를 들어, 범프와 관련된 힘에 대응하는 거리로 디스플레이에서 위로 이동될 수도 있다. 그리고 나서, 방법 900 은 도 14 의 판단 1402 로 이동할 수도 있다. 판단 1310 으로 되돌아가, 3D 터치 센서 어레이의 하측으로부터 범프가 검출되지 않는다면, 방법 900 은 바로 도 14 의 판단 1402 로 이동할 수도 있다.
도 14 의 판단 1402 에서, 3D 터치 제어기는, 대향 센서 터치가 검출되는지 여부를 결정할 수도 있다. 대향 센서 터치는, 사용자가 실질적으로 동시에 상측 센서와 하측 센서를 터치하는 것, 실질적으로 동시에 좌측 센서와 우측 센서를 터치하는 것, 또는 실질적으로 동시에 정면 센서와 후면 센서를 터치하는 것을 포함할 수도 있다. 대향 센서 터치가 검출된다면, 방법 900 은 블록 1404 로 이동할 수도 있으며, 3D 터치 제어기는 디스플레이 내에서 3D 가상 객체가 사용자에 의해 가상으로 그래빙되는 것을 허용할 수도 있다. 대향 센서 터치가 검출되지 않는다면, 방법 900 은 바로 도 16 의 판단 1616 으로 나아갈 수도 있으며, 이는 이하 상세하게 설명된다.
판단 1406 으로 이동하여, 3D 터치 제어기는, 센서들 중 하나 또는 양자 상에서 퀵 (quick) 슬라이드가 검출되는지 여부를 결정할 수도 있다. 퀵 슬라이드는 플리킹 모션 (flicking motion) 과 유사하다. 판단 1406 에서 퀵 슬라이드가 검출된다면, 방법 900 은 블록 1408 로 이동할 수도 있으며, 3D 가상 객체는 퀵 슬라이드의 속도에 기초하여 퀵 슬라이드 모션의 방향에 수직인 축 둘레로 선회될 수도 있다. 이 축은 전-후 (front-to-back), 상-하 (top-to-bottom), 또는 좌-우 (left-to-right) 일 수도 있다. 블록 1408 로부터, 방법 900 은 판단 1410 으로 이동할 수도 있다. 판단 1406 으로 되돌아가, 퀵 슬라이드가 검출되지 않는다면, 방법 900 은 바로 판단 1410 으로 나아갈 수도 있다.
판단 1410 에서, 3D 터치 제어기는, 양자의 센서들 상에서 대립 모션이 검출되는지 여부를 결정할 수도 있다. 양자의 센서들 상에서 대립 모션이 검출된다면, 방법 900 은 블록 1412 로 이동할 수도 있으며, 3D 가상 객체는 그 모션의 방향에 수직인 축 둘레로 회전될 수도 있다. 이 축은 전-후, 상-하, 또는 좌-우일 수도 있다. 다음에, 판단 1414 에서, 3D 터치 제어기는, 그 모션이 중지되는지 여부를 결정할 수도 있다. 모션이 중지되지 않는다면, 방법 900 은 블록 1412 로 되돌아갈 수도 있고, 3D 가상 객체는 중심축 둘레로 계속 회전할 수도 있다. 모션이 중지된다면, 방법 900 은 블록 1416 으로 나아갈 수도 있고, 3D 가상 객체의 대응 회전이 중지될 수도 있다. 그리고 나서, 방법 900 은 도 15 의 판단 1502 로 나아갈 수도 있다. 판단 1410 으로 되돌아가, 센서들 상에서 대립 모션이 검출되지 않는다면, 방법 900 은 바로 도 15 의 판단 1502 로 이동할 수도 있다.
이제 도 15 를 참조하면, 판단 1502 에서, 3D 터치 제어기는, 양자의 센서들 상에서 단방향 모션이 검출되는지 여부를 결정할 수도 있다. 양자의 센서들 상에서 단방향 모션이 검출된다면, 방법 900 은 블록 1504 로 이동할 수도 있으며, 3D 가상 객체는 그 모션의 방향과 평행인 축을 따라 슬라이드될 수도 있다. 이 축은 전-후, 상-하, 또는 좌-우일 수도 있다. 판단 1506 에서, 3D 터치 제어기는, 그 모션이 중지되는지 여부를 결정할 수도 있다. 모션이 중지되지 않는다면, 방법 900 은 블록 1504 로 되돌아갈 수도 있고, 3D 가상 객체는 축을 따라 계속 슬라이드할 수도 있다. 모션이 중지된다면, 방법 900 은 블록 1508 로 나아갈 수도 있고, 3D 가상 객체의 대응 슬라이딩이 중지될 수도 있다. 그 후, 방법 900 은 판단 1510 으로 나아갈 수도 있다. 판단 1502 로 되돌아가, 센서들 상에서 단방향 모션이 검출되지 않는다면, 방법 900 은 바로 판단 1510 으로 이동할 수도 있다.
판단 1510 에서, 3D 터치 제어기는, 센서들 중 하나 상에서 모션이 검출되는지 여부를 결정할 수도 있다. 센서들 중 하나 상에서 모션이 검출된다면, 방법 900 은 블록 1512 로 이동할 수도 있으며, 3D 가상 객체는, 모션이 검출되는 센서의 반대인 3D 가상 객체의 표면 (face), 또는 측면 (side) 둘레로 회전될 수도 있다. 다음에, 판단 1514 에서, 3D 터치 제어기는, 그 모션이 중지되는지 여부를 결정할 수도 있다. 모션이 중지되지 않는다면, 방법 900 은 블록 1512 로 되돌아갈 수도 있고, 3D 가상 객체는 여기에 설명한 바와 같이 계속 회전할 수도 있다. 모션이 중지된다면, 방법 900 은 블록 1516 으로 나아갈 수도 있고, 3D 가상 객체의 대응 회전이 중지될 수도 있다. 그리고 나서, 방법 900 은 도 16 의 판단 1602 로 나아갈 수도 있다. 판단 1510 으로 되돌아가, 센서들 중 하나 상에서 모션이 검출되지 않는다면, 방법 900 은 바로 도 16 의 판단 1602 로 이동할 수도 있다.
도 16 의 판단 1602 로 진행하여, 3D 터치 제어기는, 스퀴즈가 검출되는지 여부를 결정할 수도 있다. 즉, 3D 터치 제어기는, 모션 없이 2 개의 대향 센서들 상에서 장기간 (prolonged) 접촉이 존재하는지 여부를 결정할 수도 있다. 대안으로, 3D 터치 제어기는, 사용자가 대향 센서들을 누르고 있는지 여부를 결정할 수도 있다. 스퀴즈가 검출된다면, 방법 900 은 블록 1604 로 이동할 수도 있으며, 3D 가상 객체는 가상으로 스퀴징될 수도 있으며, 즉, 3D 가상 객체의 형상은, 마치 2 개의 객체들 사이에서 가상으로 스퀴징되고 있는 것처럼 변할 수도 있다.
판단 1606 으로 이동하여, 3D 터치 제어기는, 검출된 스퀴즈가 종료했는지, 즉, 사용자가 양자의 센서들로부터 그 또는 그녀의 손가락을 릴리즈했는지 여부를 결정할 수도 있다. 스퀴즈 제스처가 종료되지 않는다면, 방법 900 은 블록 1604 로 되돌아갈 수도 있고, 3D 가상 객체는 계속 스퀴징될 수도 있다. 스퀴즈 제스처가 중지된다면, 방법 900 은 블록 1608 로 나아갈 수도 있고, 3D 가상 객체의 가상 스퀴징이 종료되거나, 다르게는 중지될 수도 있다.
그 후, 판단 1610 에서, 3D 터치 제어기는, 3D 가상 객체가 탄성이 있는지 여부를 결정할 수도 있다. 3D 가상 객체의 탄성은 사용자에 의해, 소프트웨어 프로그램에 의해, 소프트웨어 프로그래머에 의해, 또는 이들의 조합에 의해 결정될 수도 있다. 3D 가상 객체가 탄성이 없다면, 방법 900 은 블록 1612 로 이동할 수도 있으며, 3D 가상 객체의 새로운 형상이 유지될 수도 있다. 3D 가상 객체가 탄성이 있다면, 방법 900 은 블록 1614 로 이동할 수도 있으며, 3D 가상 객체의 형상은 그의 원래의 형상으로 되돌아갈 수도 있다. 블록 1612 및 블록 1614 로부터, 방법 900 은 판단 1616 으로 진행될 수도 있다.
판단 1616 에서, 3D 터치 제어기는, 인접 센서들, 예를 들어 좌측 센서와 상측 센서, 좌측 센서와 하측 센서, 좌측 센서와 후면 센서, 좌측 센서와 정면 센서, 우측 센서와 상측 센서, 우측 센서와 하측 센서, 우측 센서와 후면 센서, 우측 센서와 정면 센서, 또는 이들의 조합 상에서 터치가 검출되는지 여부를 결정할 수도 있다. 인접 센서들 상에서 터치가 검출된다면, 방법 900 은 블록 1618 로 나아갈 수도 있고, 3D 가상 객체는, 마치 사용자가 객체를 가상으로 핀칭 (pinching) 하고 있는 것처럼, 인접 센서들로부터 멀리 비스듬히 (at an angle) 이동될 수도 있다. 다음에, 방법 900 은 판단 1620 으로 이동할 수도 있다. 판단 1616 으로 되돌아가, 인접 센서들 상에서 터치가 검출되지 않는다면, 방법 900 은 바로 판단 1620 으로 이동할 수도 있으며, 여기에 설명한 바와 같이 계속된다.
판단 1620 에서, 3D 터치 제어기는, 3D 객체가 클로즈되는지 여부, 즉, 3D 객체가 더 이상 디스플레이되지 않는지 여부를 결정할 수도 있다. 3D 객체가 클로즈되지 않는다면, 방법 900 은 도 9 의 판단 906 으로 되돌아갈 수도 있다. 그렇지 않고, 3D 객체가 클로즈된다면, 방법 900 은 종료될 수도 있다.
도 17 은 3D 가상 객체 (1702) 가 디스플레이되어 있는 PCD (1700) 를 도시한다. 3D 가상 객체 (1702) 는 제 1 위치에서 파선 (dashed line) 으로 도시되고, 제 2 위치에서 실선으로 도시된다. 도시한 바와 같이, 3D 가상 객체 (1702) 는 후면 센서 상의 누름, 후면 센서 상의 범프, PCD (1700) 의 후면 상의 범프, 2 개의 센서들 상의 그랩 및 슬라이드, 또는 이들의 조합으로 인해 디스플레이에서 앞으로 이동될 수도 있다.
도 18 은 3D 가상 객체 (1802) 가 디스플레이되어 있는 PCD (1800) 를 도시한다. 3D 가상 객체 (1802) 는 제 1 위치에서 파선으로 도시되고, 제 2 위치에서 실선으로 도시된다. 도시한 바와 같이, 3D 가상 객체 (1802) 는 정면 센서 상의 누름, 정면 센서 상의 범프, PCD (1800) 의 정면 상의 범프, 2 개의 센서 상의 그랩 및 슬라이드, 또는 이들의 조합으로 인해 디스플레이에서 뒤로 이동될 수 있다.
도 19 를 참조하면, PCD (1900) 는 3D 가상 객체 (1902) 가 디스플레이된 상태로 예시된다. 3D 가상 객체 (1902) 는 제 1 위치에서 파선으로 도시되고, 제 2 위치에서 실선으로 도시된다. 도시한 바와 같이, 3D 가상 객체 (1902) 는, 좌측 센서 상의 누름, 좌측 센서 상의 범프, PCD (1900) 의 좌측 상의 범프, 2 개의 센서들 상의 그랩 및 슬라이드, 또는 이들의 조합으로 인해 디스플레이에서 왼쪽에서 오른쪽으로 이동될 수 있다.
도 20 을 참조하면, PCD (2000) 는 3D 가상 객체 (2002) 가 디스플레이된 상태로 도시된다. 3D 가상 객체 (2002) 는 제 1 위치에서 파선으로 도시되고, 제 2 위치에서 실선으로 도시된다. 도시한 바와 같이, 3D 가상 객체 (2002) 는 우측 센서 상의 누름, 우측 센서 상의 범프, PCD (2000) 의 우측 상의 범프, 2 개의 센서들 상의 그랩 및 슬라이드, 또는 이들의 조합으로 인해 디스플레이에서 오른쪽에서 왼쪽으로 이동될 수 있다.
도 21 은 3D 가상 객체 (2102) 가 디스플레이된 상태의 PCD (2100) 를 예시한다. 3D 가상 객체 (2102) 는 제 1 위치에서 파선으로 도시되고, 제 2 위치에서 실선으로 도시된다. 도시한 바와 같이, 3D 가상 객체 (2102) 는 하측 센서 상의 누름, 하측 센서 상의 범프, PCD (2100) 의 하측 상의 범프, 2 개의 센서들 상의 그랩 및 슬라이드, 또는 이들의 조합으로 인해 디스플레이에서 위로 이동될 수 있다.
도 22 는 3D 가상 객체 (2202) 가 디스플레이된 상태의 PCD (2200) 를 도시한다. 3D 가상 객체 (2202) 는 제 1 위치에서 파선으로 도시되고, 제 2 위치에서 실선으로 도시된다. 도시한 바와 같이, 3D 가상 객체 (2202) 는 상측 센서 상의 누름, 상측 센서 상의 범프, PCD (2200) 의 상측 상의 범프, 2 개의 센서들 상의 그랩 및 슬라이드, 또는 이들의 조합으로 인해 디스플레이에서 아래로 이동될 수 있다.
도 23 을 참조하면, PCD (2300) 는 3D 가상 객체 (2302) 가 디스플레이된 상태로 도시된다. 도시한 바와 같이, 3D 가상 객체 (2302) 는 하나의 센서 상의 슬라이드, 2 개의 센서들 상의 그랩 및 대향 슬라이드, 또는 이들의 조합으로 인해 디스플레이에서 회전될 수 있다.
이제 도 24 를 참조하면, PCD (2400) 는 3D 가상 객체 (2402) 가 디스플레이된 상태로 도시된다. 도시한 바와 같이, 3D 가상 객체 (2402) 는 2 개의 대향 센서들이 눌리고 유지되기 때문에 스퀴징될 수 있다. 3D 가상 객체 (2402) 는 여기에 설명한 바와 같이, 새로운 형상을 유지할 수도 있고, 또는 원래의 형상으로 되돌아갈 수도 있다.
도 25 는 3D 가상 객체 (2502) 가 디스플레이된 상태의 PCD (2500) 를 도시한다. 3D 가상 객체 (2502) 는 제 1 위치에서 파선으로 도시되고, 제 2 위치에서 실선으로 도시된다. 도시한 바와 같이, 3D 가상 객체 (2502) 는 2 개의 인접 센서들 상의 누름에 응답하여 디스플레이에서 비스듬히 이동될 수 있다.
여기에 설명된 방법 단계들이 반드시 상기 설명한 바와 같은 순서로 수행될 필요가 있는 것은 아니라는 것이 이해될 것이다. 게다가, "그 후 (thereafter)", "그리고 나서 (then)", "next (다음에)" 등과 같은 단어들은 그 방법 단계들의 순서를 제한하는 것으로 의도되지 않는다. 이들 단어들은 단순히 독자에게 방법 단계들의 설명을 안내하는데 이용된다.
여기에 설명한 바와 같은 구조의 구성의 경우, 사용자는 3D 가상 객체의 움직임을 제어할 수도 있다. 사용자는 3D 가상 객체를 그래빙하고 3D 가상 객체를 회전 또는 슬라이드할 수도 있다. 더욱이, 사용자는 3D 가상 객체를 PCD 상의 임의의 방향으로 밀고, 슬라이드, 또는 범프할 수 있다. 3D 가상 객체를 제어하는 것은, PCD 상에서 게임을 실시할 때, PCD 상에서 다른 애플리케이션들을 동작시킬 때, 3D 메뉴 아이템들을 이동 또는 제어할 때, 또는 이들의 조합에서 유용할 수도 있다. 게다가, 사용자는 이미 이동중인 3D 가상 객체를 그래빙 및 중지할 수도 있다. 사용자는 예를 들어 2 개의 대향 센서들을 터치함으로써 그래빙 (grabbing) 제스처를 이용하여, 이동중인 3D 가상 객체를 그래빙할 수도 있다. 그리고 나서 사용자는 3D 가상 객체를 중지할 수도 있다. 또한, 사용자는 이미 이동중인 3D 가상 객체를 중지하기 위하여 센서를 탭핑할 수도 있다. 대안으로, 사용자는 이동중인 3D 가상 객체의 모션을 변경하기 위하여 센서 또는 센서들을 탭핑할 수도 있다.
하나 이상의 예시적인 양태들에서, 상기 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 구현될 수도 있다. 소프트웨어에 구현된다면, 그 기능들은 머신 판독가능 매체, 즉 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장 또는 송신될 수도 있다. 컴퓨터 판독가능 매체는 일 장소로부터 타 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체와 컴퓨터 저장 매체 양자를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 매체일 수도 있다. 제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 이용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체라 적절히 불리게 된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신된다면, 매체의 정의에는, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들이 포함된다. 디스크 (disk) 및 디스크 (disc) 는 여기에 사용한 바와 같이, 콤팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광 디스크 (optical disc), 디지털 다기능 디스크 (digital versatile disc; DVD), 플로피 디스크 (floppy disk) 및 블루-레이 디스크 (blu-ray disc) 를 포함하며, 여기서 디스크 (disk) 는 보통 데이터를 자기적으로 재생시키는 한편, 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생시킨다. 상기의 조합이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
선택된 양태들이 상세하게 예시 및 설명되었지만, 다음의 특허청구항에 의해 정의한 바와 같이, 다양한 대체 및 변경이 본 발명의 사상 및 범위로부터 벗어남 없이 여기에 행해질 수도 있다는 것이 이해될 것이다.

Claims (40)

  1. 무선 디바이스에서 3 차원 (3D) 가상 객체들을 조작하는 방법으로서,
    3D 센서 어레이 상에서 누름을 검출하는 단계; 및
    상기 누름에 응답하여 3D 가상 객체를 이동시키는 단계를 포함하는, 3D 가상 객체들의 조작 방법.
  2. 제 1 항에 있어서,
    상기 3D 센서 어레이 상에서 상기 누름의 릴리즈 (release) 를 검출하는 단계; 및
    상기 3D 가상 객체를 중지시키는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  3. 제 1 항에 있어서,
    상기 3D 센서 어레이 상에서 범프 (bump) 를 검출하는 단계; 및
    상기 범프에 응답하여 상기 3D 가상 객체를 이동시키는 단계를 더 포함하며,
    상기 3D 가상 객체는 상기 범프에 기초하여 생성된 거리를 이동하는, 3D 가상 객체들의 조작 방법.
  4. 제 1 항에 있어서,
    상기 3D 센서 어레이 중의 2 개의 대향 센서들 각각 상에서 터치를 검출하는 단계; 및
    상기 3D 가상 객체를 가상으로 그래빙 (grabbing) 하는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  5. 제 4 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 어느 하나의 센서 상에서 퀵 (quick) 슬라이드를 검출하는 단계; 및
    상기 퀵 슬라이드의 방향에 대응하는 방향으로, 그리고 상기 퀵 슬라이드의 속도에 기초한 속도로 상기 3D 가상 객체를 선회시키는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  6. 제 4 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 대립 모션을 검출하는 단계; 및
    상기 대립 모션의 방향에 기초한 방향에서의 상기 3D 가상 객체의 중심 둘레로 상기 3D 가상 객체를 회전시키는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  7. 제 4 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 단방향 모션을 검출하는 단계; 및
    상기 단방향 모션의 방향에 기초한 방향으로 상기 3D 가상 객체를 슬라이드시키는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  8. 제 4 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 하나의 센서 상에서 모션을 검출하는 단계; 및
    상기 모션의 방향에 기초한 방향에서의 상기 2 개의 대향 센서들 중 하나의 센서의 반대 측면 둘레로 상기 3D 가상 객체를 회전시키는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  9. 제 4 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈 (squeeze) 를 검출하는 단계; 및
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈에 기초한 방향으로 상기 3D 가상 객체를 가상으로 스퀴징하는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  10. 제 9 항에 있어서,
    상기 3D 가상 객체가 탄성이 있는지 여부를 결정하는 단계;
    상기 3D 가상 객체가 탄성이 없다면 상기 3D 가상 객체의 새로운 형상을 유지하는 단계; 및
    상기 3D 가상 객체가 탄성이 있다면 상기 3D 가상 객체를 원래의 형상으로 되돌아가게 하는 단계를 더 포함하는, 3D 가상 객체들의 조작 방법.
  11. 휴대용 컴퓨팅 디바이스로서,
    3 차원 (3D) 센서 어레이 상에서 누름을 검출하고;
    상기 누름에 응답하여 3D 가상 객체를 이동시키도록 동작가능한 프로세서를 포함하는, 휴대용 컴퓨팅 디바이스.
  12. 제 11 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 상에서 상기 누름의 릴리즈 (release) 를 검출하고;
    상기 3D 가상 객체를 중지시키도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  13. 제 11 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 상에서 범프 (bump) 를 검출하고;
    상기 범프에 응답하여 상기 3D 가상 객체를 이동시키도록 동작가능하며,
    상기 3D 가상 객체는 상기 범프에 기초하여 생성된 거리를 이동하는, 휴대용 컴퓨팅 디바이스.
  14. 제 11 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 중의 2 개의 대향 센서들 각각 상에서 터치를 검출하고;
    상기 3D 가상 객체를 가상으로 그래빙 (grabbing) 하도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  15. 제 14 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 어느 하나의 센서 상에서 퀵 (quick) 슬라이드를 검출하고;
    상기 퀵 슬라이드의 방향에 대응하는 방향으로, 그리고 상기 퀵 슬라이드의 속도에 기초한 속도로 상기 3D 가상 객체를 선회시키도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  16. 제 14 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 대립 모션을 검출하고;
    상기 대립 모션의 방향에 기초한 방향에서의 상기 3D 가상 객체의 중심 둘레로 상기 3D 가상 객체를 회전시키도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  17. 제 14 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 단방향 모션을 검출하고;
    상기 단방향 모션의 방향에 기초한 방향으로 상기 3D 가상 객체를 슬라이드시키도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  18. 제 14 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 하나의 센서 상에서 모션을 검출하고;
    상기 모션의 방향에 기초한 방향에서의 상기 2 개의 대향 센서들 중 하나의 센서의 반대 측면 둘레로 상기 3D 가상 객체를 회전시키도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  19. 제 14 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈 (squeeze) 를 검출하고;
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈에 기초한 방향으로 상기 3D 가상 객체를 가상으로 스퀴징하도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  20. 제 19 항에 있어서,
    상기 프로세서는 또한 :
    상기 3D 가상 객체가 탄성이 있는지 여부를 결정하고;
    상기 3D 가상 객체가 탄성이 없다면 상기 3D 가상 객체의 새로운 형상을 유지하며;
    상기 3D 가상 객체가 탄성이 있다면 상기 3D 가상 객체를 원래의 형상으로 되돌아가게 하도록 동작가능한, 휴대용 컴퓨팅 디바이스.
  21. 휴대용 컴퓨팅 디바이스로서,
    3 차원 (3D) 센서 어레이 상에서 누름을 검출하는 수단; 및
    상기 누름에 응답하여 3D 가상 객체를 이동시키는 수단을 포함하는, 휴대용 컴퓨팅 디바이스.
  22. 제 21 항에 있어서,
    상기 3D 센서 어레이 상에서 상기 누름의 릴리즈 (release) 를 검출하는 수단; 및
    상기 3D 가상 객체를 중지시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  23. 제 21 항에 있어서,
    상기 3D 센서 어레이 상에서 범프 (bump) 를 검출하는 수단; 및
    상기 범프에 응답하여 상기 3D 가상 객체를 이동시키는 수단을 더 포함하며,
    상기 3D 가상 객체는 상기 범프에 기초하여 생성된 거리를 이동하는, 휴대용 컴퓨팅 디바이스.
  24. 제 21 항에 있어서,
    상기 3D 센서 어레이 중의 2 개의 대향 센서들 각각 상에서 터치를 검출하는 수단; 및
    상기 3D 가상 객체를 가상으로 그래빙 (grabbing) 하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  25. 제 24 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 어느 하나의 센서 상에서 퀵 (quick) 슬라이드를 검출하는 수단; 및
    상기 퀵 슬라이드의 방향에 대응하는 방향으로, 그리고 상기 퀵 슬라이드의 속도에 기초한 속도로 상기 3D 가상 객체를 선회시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  26. 제 24 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 대립 모션을 검출하는 수단; 및
    상기 대립 모션의 방향에 기초한 방향에서의 상기 3D 가상 객체의 중심 둘레로 상기 3D 가상 객체를 회전시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  27. 제 24 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 단방향 모션을 검출하는 수단; 및
    상기 단방향 모션의 방향에 기초한 방향으로 상기 3D 가상 객체를 슬라이드시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  28. 제 24 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 하나의 센서 상에서 모션을 검출하는 수단; 및
    상기 모션의 방향에 기초한 방향에서의 상기 2 개의 대향 센서들 중 하나의 센서의 반대 측면 둘레로 상기 3D 가상 객체를 회전시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  29. 제 24 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈 (squeeze) 를 검출하는 수단; 및
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈에 기초한 방향으로 상기 3D 가상 객체를 가상으로 스퀴징하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  30. 제 29 항에 있어서,
    상기 3D 가상 객체가 탄성이 있는지 여부를 결정하는 수단;
    상기 3D 가상 객체가 탄성이 없다면 상기 3D 가상 객체의 새로운 형상을 유지하는 수단; 및
    상기 3D 가상 객체가 탄성이 있다면 상기 3D 가상 객체를 원래의 형상으로 되돌아가게 하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스.
  31. 머신 판독가능 매체로서,
    3 차원 (3D) 센서 어레이 상에서 누름을 검출하기 위한 적어도 하나의 명령; 및
    상기 누름에 응답하여 3D 가상 객체를 이동시키기 위한 적어도 하나의 명령을 포함하는, 머신 판독가능 매체.
  32. 제 31 항에 있어서,
    상기 3D 센서 어레이 상에서 상기 누름의 릴리즈 (release) 를 검출하기 위한 적어도 하나의 명령; 및
    상기 3D 가상 객체를 중지시키기 위한 적어도 하나의 명령을 더 포함하는, 머신 판독가능 매체.
  33. 제 31 항에 있어서,
    상기 3D 센서 어레이 상에서 범프 (bump) 를 검출하기 위한 적어도 하나의 명령; 및
    상기 범프에 응답하여 상기 3D 가상 객체를 이동시키기 위한 적어도 하나의 명령을 더 포함하며,
    상기 3D 가상 객체는 상기 범프에 기초하여 생성된 거리를 이동하는, 머신 판독가능 매체.
  34. 제 31 항에 있어서,
    상기 3D 센서 어레이 중의 2 개의 대향 센서들 각각 상에서 터치를 검출하기 위한 적어도 하나의 명령; 및
    상기 3D 가상 객체를 가상으로 그래빙 (grabbing) 하기 위한 적어도 하나의 명령을 더 포함하는, 머신 판독가능 매체.
  35. 제 34 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 어느 하나의 센서 상에서 퀵 (quick) 슬라이드를 검출하기 위한 적어도 하나의 명령; 및
    상기 퀵 슬라이드의 방향에 대응하는 방향으로, 그리고 상기 퀵 슬라이드의 속도에 기초한 속도로 상기 3D 가상 객체를 선회시키기 위한 적어도 하나의 명령을 더 포함하는, 머신 판독가능 매체.
  36. 제 34 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 대립 모션을 검출하기 위한 적어도 하나의 명령; 및
    상기 대립 모션의 방향에 기초한 방향에서의 상기 3D 가상 객체의 중심 둘레로 상기 3D 가상 객체를 회전시키기 위한 적어도 하나의 명령을 더 포함하는, 머신 판독가능 매체.
  37. 제 34 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 상에서 단방향 모션을 검출하기 위한 적어도 하나의 명령; 및
    상기 단방향 모션의 방향에 기초한 방향으로 상기 3D 가상 객체를 슬라이드시키기 위한 적어도 하나의 명령을 더 포함하는, 머신 판독가능 매체.
  38. 제 34 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 중 하나의 센서 상에서 모션을 검출하기 위한 적어도 하나의 명령; 및
    상기 모션의 방향에 기초한 방향에서의 상기 2 개의 대향 센서들 중 하나의 센서의 반대 측면 둘레로 상기 3D 가상 객체를 회전시키기 위한 적어도 하나의 명령을 더 포함하는, 머신 판독가능 매체.
  39. 제 34 항에 있어서,
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈 (squeeze) 를 검출하기 위한 적어도 하나의 명령; 및
    상기 3D 센서 어레이 중의 상기 2 개의 대향 센서들 각각 사이의 스퀴즈에 기초한 방향으로 상기 3D 가상 객체를 가상으로 스퀴징하기 위한 적어도 하나의 명령을 더 포함하는, 머신 판독가능 매체.
  40. 제 39 항에 있어서,
    상기 3D 가상 객체가 탄성이 있는지 여부를 결정하는 수단;
    상기 3D 가상 객체가 탄성이 없다면 상기 3D 가상 객체의 새로운 형상을 유지하는 수단; 및
    상기 3D 가상 객체가 탄성이 있다면 상기 3D 가상 객체를 원래의 형상으로 되돌아가게 하는 수단을 더 포함하는, 머신 판독가능 매체.
KR1020127015414A 2009-11-17 2010-11-16 휴대용 컴퓨팅 디바이스 상의 3 차원 가상 객체들을 제어하는 시스템 및 방법 KR101499301B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/619,930 2009-11-17
US12/619,930 US8922583B2 (en) 2009-11-17 2009-11-17 System and method of controlling three dimensional virtual objects on a portable computing device
PCT/US2010/056909 WO2011062919A1 (en) 2009-11-17 2010-11-16 System and method of controlling three dimensional virtual objects on a portable computing device

Publications (2)

Publication Number Publication Date
KR20120093369A true KR20120093369A (ko) 2012-08-22
KR101499301B1 KR101499301B1 (ko) 2015-03-05

Family

ID=43480470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127015414A KR101499301B1 (ko) 2009-11-17 2010-11-16 휴대용 컴퓨팅 디바이스 상의 3 차원 가상 객체들을 제어하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US8922583B2 (ko)
EP (1) EP2502130B1 (ko)
JP (1) JP5694354B2 (ko)
KR (1) KR101499301B1 (ko)
CN (2) CN102667674A (ko)
TW (1) TW201120803A (ko)
WO (1) WO2011062919A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220065899A (ko) * 2018-01-24 2022-05-20 애플 인크. 3d 모델들에 대한 시스템 전체 거동을 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
US11740755B2 (en) 2017-08-31 2023-08-29 Apple Inc. Systems, methods, and graphical user interfaces for interacting with augmented and virtual reality environments

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8018440B2 (en) 2005-12-30 2011-09-13 Microsoft Corporation Unintentional touch rejection
US8531414B2 (en) * 2010-02-03 2013-09-10 Bump Technologies, Inc. Bump suppression
KR20120000663A (ko) * 2010-06-28 2012-01-04 주식회사 팬택 3d 객체 처리 장치
US8988365B2 (en) 2010-09-01 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Input precision method for minimizing erroneous entries stemming from instability of a mobile device using an accelerometer and apparatus to detect a shake and apparatus and computer program thereof
US20120090902A1 (en) * 2010-10-13 2012-04-19 Sunrex Technology Corp. Touch pad
JP5694883B2 (ja) * 2011-08-23 2015-04-01 京セラ株式会社 表示機器
US8743069B2 (en) 2011-09-01 2014-06-03 Google Inc. Receiving input at a computing device
EP2587347A3 (en) * 2011-10-25 2016-01-20 Broadcom Corporation Portable computing device including a three-dimensional touch screen
KR20130066260A (ko) * 2011-12-12 2013-06-20 엘지전자 주식회사 이동 단말기
US9519419B2 (en) * 2012-01-17 2016-12-13 Microsoft Technology Licensing, Llc Skinnable touch device grip patterns
US9582122B2 (en) 2012-11-12 2017-02-28 Microsoft Technology Licensing, Llc Touch-sensitive bezel techniques
EP2730983A1 (fr) * 2012-11-13 2014-05-14 ETA SA Manufacture Horlogère Suisse Mode d'activation d'une montre électronique
CN103838944A (zh) * 2012-11-22 2014-06-04 鸿富锦精密工业(深圳)有限公司 回力镖游戏模拟系统及方法
TWI479433B (zh) * 2012-12-10 2015-04-01 Hon Hai Prec Ind Co Ltd 觸控裝置及其控制方法
JP5594402B2 (ja) * 2012-12-20 2014-09-24 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム
US9817565B2 (en) * 2013-07-23 2017-11-14 Blackberry Limited Apparatus and method pertaining to the use of a plurality of 3D gesture sensors to detect 3D gestures
CN103425433A (zh) * 2013-09-04 2013-12-04 广州小瓦智能科技有限公司 智能化人机界面系统及其控制方法
KR102271637B1 (ko) 2013-09-27 2021-07-02 센셀, 인크. 저항성 터치 센서 시스템 및 방법
US10013092B2 (en) 2013-09-27 2018-07-03 Sensel, Inc. Tactile touch sensor system and method
US11221706B2 (en) 2013-09-27 2022-01-11 Sensel, Inc. Tactile touch sensor system and method
US20150261330A1 (en) * 2014-03-11 2015-09-17 Lumi Stream Inc. Method of using finger surface area change on touch-screen devices - simulating pressure
US9477337B2 (en) 2014-03-14 2016-10-25 Microsoft Technology Licensing, Llc Conductive trace routing for display and bezel sensors
EP3120223A1 (en) * 2014-03-21 2017-01-25 Immersion Corporation System, method and computer-readable medium for force-based object manipulation and haptic sensations
US10726593B2 (en) * 2015-09-22 2020-07-28 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
WO2016152388A1 (ja) * 2015-03-23 2016-09-29 株式会社村田製作所 タッチ式入力装置
KR101656518B1 (ko) * 2015-05-14 2016-09-09 이상백 탄력 버튼을 제공하는 사용자 단말기, 그를 이용한 특정 기능 실행 방법 및 사용자 인터페이스
US10750161B2 (en) * 2015-07-15 2020-08-18 Fyusion, Inc. Multi-view interactive digital media representation lock screen
WO2017019991A1 (en) * 2015-07-29 2017-02-02 Sensel Inc. Systems and methods for manipulating a virtual environment
CN105700873B (zh) * 2015-12-31 2019-06-25 联想(北京)有限公司 信息处理方法及电子设备
US10088947B2 (en) 2016-03-25 2018-10-02 Sensel Inc. System and method for detecting and characterizing force inputs on a surface
CN107137924A (zh) * 2017-05-03 2017-09-08 深圳二郎神工业设计有限公司 感压触控高精度控制输入的控制模块和遥控手柄
CN108052253B (zh) * 2017-12-28 2020-09-25 灵图互动(武汉)科技有限公司 一种虚拟现实展示内容制作方法
CN110740309B (zh) * 2019-09-27 2022-05-03 北京字节跳动网络技术有限公司 一种图像显示方法、装置、电子设备及存储介质
US11099664B2 (en) 2019-10-11 2021-08-24 Hovsep Giragossian Talking multi-surface keyboard
US20230009427A1 (en) * 2021-07-08 2023-01-12 Hyundai Mobis Co., Ltd. Display control system using knobs

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597347B1 (en) * 1991-11-26 2003-07-22 Itu Research Inc. Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom
USRE40891E1 (en) * 1991-11-26 2009-09-01 Sandio Technology Corp. Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom
US5335557A (en) * 1991-11-26 1994-08-09 Taizo Yasutake Touch sensitive input control device
JP3421167B2 (ja) 1994-05-03 2003-06-30 アイティユー リサーチ インコーポレイテッド 接触式制御用入力機器
JP3120779B2 (ja) 1998-04-24 2000-12-25 日本電気株式会社 ディスプレイ表示のスクロール方式
US6097114A (en) 1998-08-17 2000-08-01 Nikon Corporation Compact planar motor having multiple degrees of freedom
SE513866C2 (sv) 1999-03-12 2000-11-20 Spectronic Ab Hand- eller fickburen elektronikapparat samt handstyrd inmatningsenhet
US7688306B2 (en) 2000-10-02 2010-03-30 Apple Inc. Methods and apparatuses for operating a portable device based on an accelerometer
US6661239B1 (en) * 2001-01-02 2003-12-09 Irobot Corporation Capacitive sensor systems and methods with increased resolution and automatic calibration
JP2003199868A (ja) * 2002-01-07 2003-07-15 Konami Co Ltd 連携演出表示方法
US6860152B2 (en) 2002-04-26 2005-03-01 Team Corporation High frequency multiple degree of freedom vibration test machine
US7184025B2 (en) * 2002-05-31 2007-02-27 Microsoft Corporation Altering a display on a viewing device based upon a user controlled orientation of the viewing device
FR2858073B1 (fr) * 2003-07-24 2007-08-10 Adentis Procede et systeme de commande gestuelle d'un appareil
US7212111B2 (en) * 2003-12-30 2007-05-01 Motorola, Inc. Method and system for use in emergency notification and determining location
US7758425B2 (en) * 2004-06-21 2010-07-20 Weike (S) Ptd Ltd Virtual card gaming system
KR20070058696A (ko) 2004-10-04 2007-06-08 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 조명 제어를 위한 사용자 인터페이스를 갖는 조명 장치
US20090256809A1 (en) 2008-04-14 2009-10-15 Sony Ericsson Mobile Communications Ab Three-dimensional touch interface
GB0901858D0 (en) * 2009-02-05 2009-03-11 Schoegler Benjaman W Data input device and sound generating device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11740755B2 (en) 2017-08-31 2023-08-29 Apple Inc. Systems, methods, and graphical user interfaces for interacting with augmented and virtual reality environments
KR20220065899A (ko) * 2018-01-24 2022-05-20 애플 인크. 3d 모델들에 대한 시스템 전체 거동을 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들

Also Published As

Publication number Publication date
KR101499301B1 (ko) 2015-03-05
JP5694354B2 (ja) 2015-04-01
WO2011062919A1 (en) 2011-05-26
JP2013511773A (ja) 2013-04-04
TW201120803A (en) 2011-06-16
EP2502130A1 (en) 2012-09-26
EP2502130B1 (en) 2018-05-30
US20110115784A1 (en) 2011-05-19
CN102667674A (zh) 2012-09-12
CN110109512A (zh) 2019-08-09
US8922583B2 (en) 2014-12-30

Similar Documents

Publication Publication Date Title
KR101499301B1 (ko) 휴대용 컴퓨팅 디바이스 상의 3 차원 가상 객체들을 제어하는 시스템 및 방법
US20110126094A1 (en) Method of modifying commands on a touch screen user interface
JP6226574B2 (ja) ハプティックフィードバックコントロールシステム
TWI454966B (zh) 手勢控制方法及手勢控制裝置
KR100801089B1 (ko) 터치 및 드래그를 이용하여 제어 가능한 모바일 장치 및 그조작 방법
JP5793426B2 (ja) グラフィカルユーザインターフェースとの物理的相互作用を解釈するためのシステムと方法
US20140298273A1 (en) Systems and Methods for Implementing Three-Dimensional (3D) Gesture Based Graphical User Interfaces (GUI) that Incorporate Gesture Reactive Interface Objects
US20140368441A1 (en) Motion-based gestures for a computing device
US20110116665A1 (en) System and method of providing three-dimensional sound at a portable computing device
KR20120095989A (ko) 터치 스크린 사용자 인터페이스 상의 아이템들을 스크롤하는 방법
KR20110021903A (ko) 제스처 컨트롤을 위한 사용자 인터페이스
JPWO2016114269A1 (ja) 情報処理装置およびその制御方法
CN103176744A (zh) 一种显示设备及其信息处理方法
US20130012319A1 (en) Mechanism for facilitating hybrid control panels within gaming systems
US11567658B2 (en) Devices and methods for processing inputs using gesture recognizers
CN103353826A (zh) 一种显示设备及其信息处理方法
KR20170074782A (ko) 전자기기, 전자기기의 제어 방법, 및 기억매체
WO2015039434A1 (zh) 一种终端、终端控制方法及装置
US20160328077A1 (en) Touch sensor
CN103353827A (zh) 一种显示设备及其信息处理方法
CN103345358A (zh) 一种显示设备及其信息处理方法
US20240085994A1 (en) Reconfigurable computer mouse
JP2009054131A (ja) 制御装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 5