KR20160027775A - 터치 입력 처리 방법 및 그 장치 - Google Patents

터치 입력 처리 방법 및 그 장치 Download PDF

Info

Publication number
KR20160027775A
KR20160027775A KR1020140116324A KR20140116324A KR20160027775A KR 20160027775 A KR20160027775 A KR 20160027775A KR 1020140116324 A KR1020140116324 A KR 1020140116324A KR 20140116324 A KR20140116324 A KR 20140116324A KR 20160027775 A KR20160027775 A KR 20160027775A
Authority
KR
South Korea
Prior art keywords
area
touch input
electronic device
lock window
input
Prior art date
Application number
KR1020140116324A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020140116324A priority Critical patent/KR20160027775A/ko
Priority to AU2015312632A priority patent/AU2015312632A1/en
Priority to CN201580035303.XA priority patent/CN106662975A/zh
Priority to PCT/KR2015/009245 priority patent/WO2016036135A1/en
Priority to EP15183452.0A priority patent/EP2993572A1/en
Priority to US14/843,117 priority patent/US10509530B2/en
Publication of KR20160027775A publication Critical patent/KR20160027775A/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/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
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • 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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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
    • 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

Abstract

터치 입력을 처리하는 전자 장치가 개시된다. 상기 전자 장치는, 기능적으로 구분되는 제1 영역 및 제2 영역을 갖는 디스플레이, 터치 입력의 발생 지점을 판단하는 판단 모듈, 및 상기 발생 지점이 상기 제2 영역 내에 위치하는 경우 상기 전자 장치의 상태에 따라 상기 터치 입력을 처리하도록 설정된 처리 모듈을 포함할 수 있다. 이 외에, 명세서를 통해 파악되는 다른 실시 예들이 가능하다.

Description

터치 입력 처리 방법 및 그 장치{Method and Apparatus for Processing Touch Input}
본 발명의 다양한 실시 예들은 사용자가 전자 장치를 이용할 때 발생할 수 있는 의도되지 않은 터치 입력을 방지하는 기술과 관련된다.
일반적으로 스마트폰이나 태블릿과 같은 전자 장치는 터치 스크린 패널(touch screen panel, TSP)을 탑재하고 있다. 이와 같은 전자 장치는 디스플레이에 대한 터치 입력을 인식할 수 있다.
사용자가 전자 장치를 잡는(grip) 형태에 따라 의도하지 않은 터치 입력이 발생할 수 있다. 예를 들어 왼손으로 적당한 크기의 스마트폰을 잡을 때, 엄지 또는 나머지 네 개의 손가락에 의해 디스플레이의 좌측 또는 우측 가장자리 영역에 터치 입력이 발생할 수 있다. 다만 이와 같은 의도되지 않은 터치 입력은 전자 장치의 구조(예: 전자 장치의 측면의 라운드 처리 또는 측면과 전면이 약 90도의 각을 이루는 구조) 혹은 베젤 영역의 존재로 어느 정도 방지할 수 있다.
한편 2013년 1월, Las Vegas에서 개최된 CES(Consumer Electronics Show)에서는 디스플레이의 한쪽(오른쪽) 측면이 곡면 디스플레이(curved display)로 확장되는 형태를 갖는 스마트폰의 프로토타입(prototype)이 공개되었다. 이 외에도 Samsung의 Galaxy Round나 LG의 G Flex와 같이 곡면 디스플레이를 탑재한 제품들이 시장에 출시되고 있다.
플렉서블 디스플레이(flexible display) 또는 곡면 디스플레이 기술이 발전함에 따라 측면 영역으로 디스플레이가 확장되는 전자 장치가 제공될 수 있다. 이와 같은 전자 장치에 기존의 터치 입력에 관한 기술이 동일하게 적용될 경우, 사용자가 일반적인 방식으로 전자 장치를 잡게 되면 측면 영역에서 의도하지 않은 터치 입력이 빈번하게 발생할 수 있다.
예를 들어, 전자 장치는 실행 중인 어플리케이션이 멀티 터치(2중 터치)를 지원하는 경우, 서로 다른 두 지점에 대한 터치 입력을 정상적으로 처리할 수 있다. 그러나 측면 또는 후면에 디스플레이가 구비된 전자 장치에 있어서, 사용자가 멀티 터치를 위해 디스플레이의 서로 다른 지점을 터치하더라도 만약 측면 또는 후면에 영역에 의도하지 않은 터치 입력이 발생하고 있다면, 전자 장치는 처리 가능한 입력의 수(예: 2개)보다 많은 입력을 정상적으로 처리할 수 없게 된다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 기능적으로 구분되는 제1 영역 및 제2 영역을 갖는 디스플레이, 터치 입력의 발생 지점을 판단하는 판단 모듈, 및 상기 발생 지점이 상기 제2 영역 내에 위치하는 경우 상기 전자 장치의 상태에 따라 상기 터치 입력을 처리하도록 설정된 처리 모듈을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 사용자가 의도하지 않은 터치 입력을 제외하고 사용자에 의해 의도된 터치 입력이 어플리케이션으로 전달되도록 하여, 사용자 편의성이 향상될 수 있다.
도 1은 다양한 실시 예에 따른 전자 장치에서 발생하는 터치 입력의 처리 방식을 나타낸다.
도 2는 다양한 실시 예에 따른 잠금 윈도우를 이용하여 터치 입력을 처리하는 전자 장치를 나타낸다.
도 3은 다양한 실시 예에 따른 터치 입력 처리 방법을 나타낸다.
도 4는 다양한 실시 예에서 잠금 윈도우의 상태가 변경되는 예시를 나타낸다.
도 5는 다양한 실시 예에 따른 터치 입력의 수에 따른 터치 입력 처리 방법을 나타낸다.
도 6은 다양한 실시 예에 따른 멀티 터치를 처리하는 방법을 나타낸다.
도 7은 잠금 윈도우의 크기가 전자 장치의 디스플레이 영역 전체가 아닌 일부만을 덮을 경우 그 최적의 크기를 찾기 위해 추가로 구현되는 윈도우 설정 모듈(windowing module)의 구조를 나타낸다.
도 8은 윈도우 설정 모듈(windowing module)의 구성 요소 중 하나인 제스처 감지기(Gesture Detector)의 기본 동작을 나타낸다.
도 9는 윈도우 설정 모듈(windowing module)의 구성 요소 중 하나인 파지 감지기(Grip Detector)의 기본 동작을 나타낸다.
도 10은 윈도우 설정 모듈(windowing module)을 사용하여 잠금 윈도우를 파지 영역에만 국한하였을 경우 얻을 수 있는 장점을 나타낸다.
도 11은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 12은 다양한 실시 예에 따른 전자 장치 1201의 블록도 1200을 나타낸다.
도 13은 다양한 실시 예에 따른 프로그램 모듈 1310의 블록도 1300을 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시 예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자 장치(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller’s machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 발명의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 전자 장치에서 발생하는 터치 입력의 처리 방식을 나타낸다.
도 1을 참조하면, 다양한 실시 예에 따른 전자 장치의 디스플레이는 적어도 2개 또는 그 이상의 영역을 포함할 수 있다. 다만 설명의 편의를 위하여 평면 디스플레이 영역(예: 영역 111) 및 그 우측면에 곡면 디스플레이 영역(예: 영역 112)을 갖는 디스플레이(예: 예시 110)를 도시하였으며, 디스플레이를 제외한 다른 전자 장치의 구성은 그 도시를 생략하였다.
본 발명의 다양한 실시 예에서, 전자 장치의 디스플레이는 기능적으로 둘 이상의 영역으로 구분될 수 있다. 예를 들어, 예시 110에서 디스플레이 영역 111과 디스플레이 영역 112는 하나의 디스플레이 패널(display panel)이지만, 해당 영역의 기능은 구분될 수 있다. 예를 들어, 디스플레이 영역 111은 일반적인 어플리케이션(예: 메시지 어플리케이션, 일정 관리 어플리케이션, 인터넷 어플리케이션 등)이 실행되는 영역으로, 디스플레이 영역 112는 자주 사용하는 어플리케이션의 아이콘 등이 표시되는 영역으로 구분될 수 있다.
다양한 실시 예에서, 디스플레이의 영역은 다양한 방식으로 구분될 수 있다. 예를 들어, 디스플레이는 메인 영역과 보조 영역, 평면 영역과 곡면 영역, 전면 영역과 측면 영역, 전면 영역과 후면 영역, 시야각 내에서 보이는 영역과 보이지 않는 영역 또는 위 영역 중 셋 이상이 조합된 영역 등으로 구분될 수 있다. 혹은 보다 일반적으로 디스플레이는 제1 영역과 제2 영역으로 구분될 수 있다. 이하에서는 일반적인 어플리케이션이 실행되거나 사용자가 의도적으로 입력하려는 영역을 제1 영역으로, 상대적으로 사용자의 의도하지 않은 입력이 발생하기 쉬운 영역을 제2 영역으로 구분하여 설명한다. 다만 이와 같은 구분이 발명의 실시 예를 한정하고자 하는 것은 아니다.
한편 본 명세서에서 디스플레이라는 용어는, LCD 패널에 터치 스크린 패널(TSP)이 결합된 애드-온 방식(add-on type), LCD 패널에 터치 스크린 패널이 내장된 온-셀 방식(on-cell type), 및 LCD 패널에 터치 기능이 내장된 인-셀 방식(in-cell type)과 같은 다양한 방식의 터치 입력 기능을 지원하는 디스플레이를 포함하는 개념으로 이해될 수 있다.
다양한 실시 예에서, 디스플레이 상에 입력된 터치 이벤트는 전자 장치 내에서 도시된 프로세스 100을 따라 처리될 수 있다. 예를 들어, 터치 이벤트가 발생하면 터치 IC 101에 의해 터치 이벤트의 발생 사실 및 발생 지점이 판단될 수 있다. AP 103은 상기 발생 지점이 디스플레이에서 기능적으로 구분된 영역 중 어느 영역에 해당하는지 판단하고, 잠금 윈도우 105로 터치 이벤트를 제공할 수 있다.
잠금 윈도우 105는 터치 이벤트가 제공되면, 잠금 윈도우 105의 상태에 따라 이 터치 이벤트를 자체적으로 처리할지 어플리케이션 107로 전달할지 여부를 결정할 수 있다. 예를 들어, 잠금 윈도우 105가 활성화(active) 또는 인에이블(enable) 상태인 경우 터치 이벤트는 잠금 윈도우 105에서 자체적으로 처리되며 어플리케이션 107로 전달되지 않을 수 있다. 또한, 예를 들어 잠금 윈도우 105가 비활성화 또는 디스에이블(disable) 상태인 경우, 터치 이벤트는 어플리케이션 107로 전달될 수 있다.
도 1의 예시 110은 사용자가 터치 입력 T1을 통해 디스플레이 영역 111에서 드래그 동작을 수행하는 예시를 나타낸다. 이 경우, 전자 장치를 쥔 사용자의 손 또는 전자 펜 등의 입력도구에 의해 의도하지 않은 터치 입력 T2가 발생할 수 있다. 터치 IC 101은 터치 입력 T1 및 T2를 인식하고 발생 지점에 대한 정보를 AP 103으로 제공할 수 있다.
AP 103은 터치 입력 T1과 T2가 각각 디스플레이의 어느 영역에 해당하는지 판단할 수 있다. 예를 들어, AP 103은 터치 입력 T1은 영역 111에서, 터치 입력 T2는 영역 112에 해당하는 것으로 판단할 수 있다.
AP 103은 영역 112에 대응되는 터치 입력 T2를 잠금 윈도우 105로 제공할 수 있다. 만약 잠금 윈도우 105가 인에이블 상태인 경우, 터치 입력 T2는 어플리케이션 107로 전달되지 않는다. 그 결과 터치 입력 T1에 의한 스크롤이 정상적으로 동작할 수 있다. 만약 잠금 윈도우 105가 디스에이블 상태인 경우, 터치 입력 T2는 어플리케이션 107로 전달될 수 있다.
도 1의 예시 120은 사용자가 영역 121에 대한 터치 입력 T1 및 T2를 통해 이미지를 축소하는 등의 멀티 터치 동작을 수행하는 예시를 나타낸다. 이 경우, 전자 장치를 쥔 사용자의 손 또는 전자 펜 등의 입력도구에 의해 의도하지 않은 터치 입력 T3 및 T4가 영역 122에서 발생할 수 있다. 이 경우, 잠금 윈도우 105가 인에이블 상태인 경우, 터치 입력 T3와 T4는 잠금 윈도우 105에서 처리될 수 있고, 그 결과 사용자가 의도한 터치 입력 T1 및 T2는 정상적으로 처리될 수 있다.
도 1의 예시 130은 영역 131에서 시작된 터치 입력 T1이 영역 132까지 이동하는 예시를 나타낸다. 종래 기술에 따르면 이러한 경우 영역 132에 위치한 아이콘이 선택되면서 아이콘에 대응하는 어플리케이션 또는 기능이 영역 131에 실행되거나, 전자 장치의 동작 환경(예: Wi-Fi 사용 여부)이 변경될 수 있다. 그러나 본 발명의 다양한 실시 예에 따르면 영역 132에 대응되는 잠금 윈도우가 인에이블인 경우, 터치 입력 T1이 영역 132까지 이동하더라도 사용자가 원래 사용하던 어플리케이션(영역 131에서 실행 중이던 어플리케이션)의 동작을 그대로 유지할 수 있다.
도 1의 예시 140은 터치 입력 T1이 영역 142 상에서 이동(예: 스크롤)되는 경우를 나타낸다. 영역 142는 전자 장치의 화면 밝기나 소리의 크기 등을 조절하기 위한 영역으로 사용될 수 있다. 다양한 실시 예에서, 사용자는 영역 142에 대응되는 잠금 윈도우의 상태를 디스에이블 상태로 변경한 후, 조절이 완료되면 자동 또는 수동으로 다시 인에이블 상태로 변경하여 설정된 값(예: 화면 밝기, 소리의 크기 등)이 유지될 수 있도록 할 수 있다. 잠금 윈도우의 상태를 변경하는 다양한 실시 예에 대해서는 후술한다.
도 1에 도시된 예시는 전자 장치에 입력 가능한 여러 유형의 입력 패턴 중 일부를 설명한 것이고 본 발명의 실시 예를 한정하고자 하는 것은 아니다.
도 1에서 설명된 하드웨어 및/또는 소프트웨어로 구현되는 발명의 동작을 구성하는 요소들은 다양한 방식으로 표현될 수 있다. 예를 들어, 터치 입력의 발생 사실 및 발생 지점을 판단하는 터치 IC 101은 입력 위치에 대한 판단 모듈과 같이 표현될 수 있다. 또한, AP(application processor) 103은 프로세서 또는 제어 모듈, 처리 모듈 등으로 표현될 수 있다. 잠금 윈도우 105는 잠금 레이어(lock layer), 잠금 윈도우 프레임(lock window frame) 또는 디스플레이 영역 또는 디스플레이 상에 표시되는 객체의 터치 입력 관리 모듈 등으로 표현될 수 있다. 상기 터치 입력은 디스플레이 영역에 대한 직접 터치 입력뿐만 아니라 근접 터치 입력도 포함할 수 있다. 잠금 윈도우는 GUI를 포함할 수도 있고 포함하지 않을 수도 있다. GUI를 포함하는 경우 잠금 윈도우의 상태를 변경할 수 있는 GUI를 더 포함할 수 있다. 어플리케이션 107은 실행되고 있는 어플리케이션 또는 터치 입력에 의해 실행될 어플리케이션 등을 의미할 수 있다. 다양한 실시 예에서, 잠금 윈도우 105와 어플리케이션 107은 어플리케이션 레이어(application layer)에서 동작할 수 있으며 또는 잠금 윈도우는 OS에서 제공하는 서비스나 기능으로도 동작할 수 있다.
도 2는 다양한 실시 예에 따른 잠금 윈도우를 이용하여 터치 입력을 처리하는 전자 장치를 나타낸다.
도 2를 참조하면, 전자 장치 200은 터치 기능을 지원하는 디스플레이 210 및 터치 입력을 처리하기 위한 하드웨어 220을 포함할 수 있다. 또한 전자 장치 200은 커널 230 위에 터치 입력을 처리하기 위한 다양한 레이어를 포함할 수 있다. 예를 들어, OS 입력 프레임워크 240, 윈도우 매니저 250, 메인/서브 잠금 윈도우 262/262, 어플리케이션 271, 272 등이 전자 장치 200에 포함될 수 있다. 보다 일반적인 예시가 도 11을 참조하여 설명된다.
다양한 실시 예에서, 디스플레이 210은 메인 영역 211과 서브 영역 212로 구분될 수 있다. 이와 같은 구분은 예시적인 것이며, 디스플레이 210은 기능적으로 구분되는 제1 영역과 제2 영역을 포함할 수 있다. 예를 들어 디스플레이 210은 편평한 면을 갖는 제1 영역과, 상기 제1 영역과 기능적으로 구분되며 (물리적으로는 연결될 수도 있는) 상기 제1 영역에서 연장되는 곡면을 갖는 제2 영역을 가질 수 있다.
다양한 실시 예에서, 터치 IC 221은 디스플레이 210에서 발생한 터치 이벤트를 인식하고 터치 이벤트가 발생한 지점(좌표)를 판단할 수 있다. 터치 IC 221은 터치 패널의 정전 용량의 변화 등에 기초하여 해당 이벤트 발생 지점을 판단할 수 있다. 보다 일반적으로 터치 IC 221은 일종의 판단 모듈로 이해될 수 있으며, 상기 판단 모듈은 정전식 외에도 감압식, 광학적(예: 적외선 방식, 초음파 방식 등)을 사용하는 터치 패널에서 발생한 이벤트의 발생 지점을 판단할 수 있다. 또한 도 12에 도시된 모듈을 통해 디스플레이 좌표를 판단할 수 있는 입력(예: 제스처, 근거리 통신, 원거리 통신데이터, 음성신호)을 받아 이벤트 발생 지점을 판단할 수 있다.
다양한 실시 예에서 터치 IC 221은 AP(Application processor) 223으로 터치 입력을 인터럽트와 같은 방식으로 상기 터치 이벤트(신호)를 커널 230으로 전달할 수 있다.다양한 실시 예에서, AP 223은 일종의 처리 모듈로 이해될 수 있다. AP 223은 전자 장치 200에서 이루어지는 다양한 동작을 제어하고 처리한다. AP 223이 SoC(system on chip) 형태로 제공되는 경우, AP 223은 연산 작업 외에도 그래픽 처리(GPU 기능) 및/또는 통신 기능(CP, communication processor)의 기능도 수행할 수 있다. AP 223이 수행할 수 있는 다양한 기능들이 도 12를 참조하여 설명된다.
다양한 실시 예에서, AP 223은 상기 터치 이벤트가 발생한 지점(좌표)에 근거하여, 상기 발생 지점이 메인 영역 211에 해당하는지 서브 영역 212에 해당하는지 판단할 수 있다. AP 223은 이 판단에 기초하여 윈도우 매니저 250가 터치 입력을 서브 잠금 윈도우 262로(또는 메인 잠금 윈도우 261 또는 어플리케이션 271로) 전달하도록 할 수 있다.
다양한 실시 예에서, I2C 드라이버 231을 통해 수신된 터치 이벤트는 TSP 드라이버 233을 통해 OS 입력 프레임워크(예: 안드로이드 입력 프레임워크)에 전달되고, 다시 윈도우 매니저 250에 전달될 수 있다. 윈도우 매니저 250은 미들웨어(예: 도 13의 미들웨어 1330) 또는 안드로이드 기반 운영체제의 어플리케이션 프레임워크 레이어에 포함될 수 있다.
윈도우 매니저 250은 AP 223의 판단 결과에 기반하여 터치 이벤트를 메인 잠금 윈도우 261 또는 서브 잠금 윈도우 262로 전달할 수 있다. 예를 들어, 터치 이벤트가 서브 영역 212에서 발생된 것으로 판단되면, 윈도우 매니저 250은 터치 이벤트를 서브 잠금 윈도우 262로 전달할 수 있다.
또한 윈도우 매니저 250은 전자 장치의 서브 영역 전체를 잠글 수도 있으며, 서브 영역에서 사용자가 입력을 진행하는 경우에는 먼저 감지된 입력에 의해 서브 영역의 일부만을 잠그는 잠금 윈도우를 설정할 수 있다. 이 경우, 서브 영역에 설정되는 잠금 윈도우는 서브 영역을 일정 비율로 분할한 형태일 수도 있으며, 터치 이벤트가 발생한 영역의 형태에 맞춘 임의의 폐곡선 혹은 이를 포함하는 적절한 크기의 도형일 수 있다.
서브 잠금 윈도우 262가 인에이블 상태인 경우 터치 이벤트는 어플리케이션 272로 전달되지 않을 수 있다. 서브 잠금 윈도우 262가 디스에이블 상태인 경우 터치 이벤트는 어플리케이션 272로 전달될 수 있다. 예를 들어, 서브 잠금 윈도우 262가 인에이블 상태인 경우 서브 영역 212에서 발생된 터치 이벤트는 어플리케이션 272로 전달되지 않고 (메인 잠금 윈도우 261이 존재하지 않거나 디스에이블 상태인 경우에) 메인 영역 211에서 발생된 터치 이벤트가 어플리케이션 271로 전달되어 사용자가 의도한 정상적인 터치 입력이 동작할 수 있다.
다양한 실시 예에서, 어플리케이션 271은 메인 영역 211에서 실행되고 어플리케이션 272는 서브 영역 212에서 실행될 수 있다. 또한, 어플리케이션 271과 어플리케이션 272는 서로 다른 어플리케이션일 수도 있고, 하나의 어플리케이션이 다른 형태 또는 기능을 지원하며 각각의 영역에서 실행되는 것일 수도 있다. 예를 들어, 동영상 재생 어플리케이션의 경우 메인 영역 211에는 동영상 화면이 재생(어플리케이션 271에 대응)되고, 서브 영역 212에는 재생/볼륨을 제어할 수 있는 제어 메뉴(목록, 이전, 다음, 일시중지, 재생, 음소거 등)가 출력(어플리케이션 272에 대응)될 수 있다. 이 경우 서브 영역 212의 잠금 윈도우 262가 인에이블 상태로 설정되어 있으면 사용자가 전자 장치 200을 잡는 방법에 따라 발생하는 급작스런 재생 정지나 볼륨 최대(업)과 같은 현상을 방지할 수 있다.
도 3, 도 5, 도 6은 다양한 실시 예에 따른 터치 입력 처리 방법을 나타낸다. 먼저 도 3은 하나의 터치 이벤트가 발생하고 있을 경우 이를 처리하는 방법이다.
도 3은 다양한 실시 예에 따른 터치 입력 처리 방법을 나타낸다.
동작 310에서 전자 장치(예: 전자 장치 200)는 터치 입력을 인식할 수 있다. 예를 들어 터치 패널 또는 터치 기능을 구비한 디스플레이 상에 사용자의 손이나 스타일러스 등을 이용한 터치 입력이 발생한 경우, 판단 모듈(예: 터치 IC)은 터치 입력에 따른 터치 이벤트가 발생하였음을 인식할 수 있다. 또한 판단 모듈은 터치 입력이 발생한 지점(예: 좌표)을 함께 인식할 수 있다. 터치 입력은 근접 터치 입력일 수도 있으며 터치 대신 디스플레이 좌표를 판단할 수 있는 다른 형태의 입력도 가능하다.
동작 320에서 전자 장치는 터치 입력의 발생 지점이 디스플레이의 어느 영역에 해당하는지 여부를 판단할 수 있다. 예를 들어 전자 장치의 프로세서(예: 처리 모듈)는 기능적으로 구분된 복수의 영역 중 상기 발생 지점이 대응되는 영역을 판단할 수 있다. 이하에서는 설명의 편의를 위해 전자 장치의 디스플레이는 제1 영역과 제2 영역으로 구분되고, 제1 영역이 전자 장치의 메인 디스플레이 영역인 경우에 대하여 설명한다.
동작 330에서 전자 장치는 발생 지점이 제2 영역에 해당한다고 판단되면 동작 340 이후의 프로세스를 수행할 수 있다. 발생 지점이 제2 영역에 해당되지 않는다고 판단되면(예를 들어, 제1 영역이라고 판단되면) 프로세스 A를 수행할 수 있다. 프로세스 A는 예를 들어, 제1 영역에서 실행 중인(디스플레이 되는 중인) 어플리케이션으로 상기 터치 입력을 전달하는 동작일 수 있다.
동작 340에서 전자 장치는 제2 영역의 잠금 윈도우가 인에이블 상태인지 여부를 판단할 수 있다. 잠금 윈도우가 인에이블 상태인 경우 전자 장치는 동작 350을 수행하고, 인에이블 상태가 아닌 경우(디스에이블 상태인 경우) 전자 장치는 동작 360을 수행할 수 있다.
동작 350에서, 즉 제2 영역에 대응되는 잠금 윈도우의 상태가 인에이블 상태인 경우, 전자 장치는 잠금 윈도우에서 터치 입력이 처리되도록 할 수 있다. 예를 들어, 처리 모듈은 잠금 윈도우가 인에이블 상태인 경우 잠금 윈도우로 전달된 터치 입력은 어플리케이션(예를 들어, 제2 영역에서 실행/디스플레이 되는 어플리케이션)으로 전달되지 않고 무시될 수 있다. 다른 예시로서, 처리 모듈은 잠금 윈도우로 전달된 터치 입력에 대응하여 진동 효과가 발생하거나, 제2 영역에 소정의 텍스트(예: 이 영역의 터치 입력이 제한되어 있습니다)가 디스플레이 되거나, 색상이나 이미지의 변화와 같은 효과가 제공되도록 할 수 있다. 다양한 실시 예에서, 사용자는 의도하지 않은 입력이 발생하고 있다는 사실을 인지하지 못한 채로 터치 기능을 이용할 수도 있고, 또는 의도하지 않은 입력이 발생하고 있다는 사실에 대한 알림/효과 등을 제공 받아 전자 장치를 잡는(grip) 방식 등을 조절할 수 있다. 또 다른 예시로서, 서브 영역의 일부를 잠그는 윈도우를 설정하여 잠금 윈도우의 영역을 최소화하는 동작을 구현하여 최소화된 잠금 윈도우에서 발생한 이벤트는 무효화하고 나머지 서브 영역에 입력을 받아들여 사용자의 입력 제스처를 정의하는 방법이 제공된다. 이 방법은 도 7과 도 8을 참조하여 보다 자세하게 설명한다.
동작 360에서, 즉 제2 영역에 대응되는 잠금 윈도우의 상태가 디스에이블 상태인 경우, 전자 장치는 터치 입력을 어플리케이션(제2 영역에서 실행/디스플레이 되는 어플리케이션)으로 전달할 수 있다. 예를 들어, 처리 모듈은 잠금 윈도우가 디스에이블 상태인 경우 터치 입력을 어플리케이션으로 전달하여 아이콘이 선택되거나, 장치 설정을 변경하거나, 다른 메뉴로 진입하는 등의 동작을 수행할 수 있다. 예를 들어, 전자 장치의 처리 모듈은 제2 영역에서 소정의 어플리케이션이 선택되어 제1 영역에 실행되도록 하거나, 제2 영역의 소정 아이콘/토글 메뉴 등을 선택하여 통신 설정을 변경(Wi-Fi, Cellular, Bluetooth 등의 On/Off)하거나, 전체 어플리케이션 목록을 디스플레이 하는 등의 동작이 수행되도록 할 수 있다.
다양한 실시 예에서, 제2 영역에 대응되는 잠금 윈도우(예: 서브 잠금 윈도우 262)의 상태는 상황에 따라 변경될 수 있다. 이하에서는 잠금 윈도우의 상태가 변경되는 예시를 도 4를 참조하여 설명한다.
도 4는 다양한 실시 예에서 잠금 윈도우의 상태가 변경되는 예시를 나타낸다.
도 4를 참조하면, 전자 장치의 디스플레이는 제1 영역 411 및 제2 영역 412를 포함할 수 있다. 예를 들어, 제1 영역 411에는 인터넷, 동영상, 사진 어플리케이션들이 실행 및 디스플레이 될 수 있다. 제2 영역 412에는 전자 장치의 설정을 변경하기 위한 오브젝트(예: 오브젝트 401), 즐겨찾는 어플리케이션 아이콘(예: 아이콘 401), 기타 다양한 메뉴(예: 메뉴 403)가 디스플레이 될 수 있다. 한편 이하에서는 편의상 제1 영역 411에 대응되는 잠금 윈도우는 제1 잠금 윈도우로, 제2 영역 412에 대응되는 잠금 윈도우는 제2 잠금 윈도우로 구분하여 설명한다.
다양한 실시 예에서 잠금 윈도우의 상태는 제1 영역 411과 제2 영역 412의 잠금 윈도우 상태에 따라 상대적으로 결정될 수 있다. 예를 들어, 제1 잠금 윈도우(예: 메인 잠금 윈도우 261)의 상태가 인에이블인 경우, 제2 잠금 윈도우(예: 서브 잠금 윈도우 262)의 상태는 디스에이블로 설정될 수 있다. 이와 같은 상황에서는, 예를 들어 전자 장치의 메인 디스플레이가 잠금 상태인 경우 서브 디스플레이의 터치 입력을 허용하여 화면 밝기, 소리/진동/무음의 설정, 데이터 네트워크 사용 유무 등이 사용자 의도에 따라 변경될 수 있도록 할 수 있다. 만약 사용자가 제1 잠금 윈도우를 디스에이블 상태로 변경하면(예: 전자 장치 또는 메인 디스플레이의 잠금 해제가 발생하면), 사용자가 제1 영역 411에 터치 입력을 할 것으로 예상될 수 있고, 처리 모듈은 이 경우 제2 잠금 윈도우가 인에이블 상태로 변경되도록 할 수 있다.
종합하면, 처리 모듈은 제1 잠금 윈도우가 인에이블 상태가 되면 제2 잠금 윈도우를 디스에이블 상태로, 제1 잠금 윈도우가 디스에이블 상태가 되면 제2 잠금 윈도우를 인에이블 상태로 변경할 수 있다.
다양한 실시 예에서, 제2 잠금 윈도우의 상태는 소정의 사용자 입력에 의해 변경될 수 있다. 예를 들어, 사용자 입력이 ON/OFF 버튼 401을 ON 상태 또는 OFF 상태로 이동시키는지 여부에 따라 제2 잠금 윈도우의 상태가 변경될 수 있다. 예를 들어, 버튼 401을 점선 영역의 아래에서 위로 이동하는 터치 입력이 발생하면, 처리 모듈은 윈도우 매니저를 통해 해당 입력이 (인에이블 상태인) 제2 잠금 윈도우로 전달되도록 할 수 있다. 제2 잠금 윈도우는 상기 터치 입력이 수신되면 제2 잠금 윈도우의 상태를 일종의 트리거(trigger)로 인식하고, 그 상태를 인에이블 상태에서 디스에이블 상태로 변경할 수 있다.
상기 예시는 다양한 사용자 입력의 일 예시로서 다양한 변형이 가능하다. 예를 들어, 사용자가 소정의 아이콘 401을 제2 영역 412에서 제1 영역 411 방향으로 이동시키는 입력에 의해 제2 잠금 윈도우가 디스에이블 상태가 될 수 있다. 또는 사용자가 소정의 아이콘 405을 제1 영역 411에서 제2 영역 412 방향으로 이동시키는 입력(예: 입력 406)에 의해 제2 잠금 윈도우가 인에이블 상태가 될 수 있다. (그 역도 가능하다.)
다양한 실시 예에서, 제2 잠금 윈도우의 상태는 물리 버튼(또는 물리 키)의 입력에 의해 변경될 수 있다. 예를 들어, 슬립(sleep) 버튼(미도시)이 눌러지면 전자 장치의 제1 영역 411에 해당하는 화면이 꺼질(turn off) 수 있다. 이 경우 전자 장치가 잠금 상태로 진입하거나 제1 잠금 윈도우의 상태가 인에이블 될 수 있다. 전술한 예시를 참고하면, 제1 잠금 윈도우 상태가 인에이블 되면서 제2 잠금 윈도우의 상태가 디스에이블 될 수 있다. 사용자가 슬립 버튼을 한번 더 누르면 제2 잠금 윈도우의 상태도 인에이블 상태(즉, 전자 장치의 디스플레이를 통한 터치 입력이 어플리케이션에 전혀 전달되지 않는 상태)가 될 수 있다. 만약 이 상태에서 슬립 버튼이 한번 더 눌러지면 제1 영역 411의 디스플레이가 켜지면서(turn on) 특정 화면(예: 홈 화면 또는 잠금 해제를 위한 비밀번호/패턴 입력용 화면 등)이 디스플레이 될 수 있다.
다양한 실시 예에서, 전자 장치가 잠금 상태에 있는 것과 잠금 윈도우가 인에이블 되어 있는 상태는 구별될 수 있다. 예를 들어, 전자 장치가 잠금 상태에 있어서 제1 영역 411에 잠금 해제를 위한 UI(user interface)가 제공되는 경우, 제1 잠금 윈도우는 디스에이블 상태일 수 있다. 만약 이 상태에서 사용자가 슬립 버튼을 누르는 경우, 전자 장치의 잠금 상태는 그대로 유지되면서 제1 잠금 윈도우가 인에이블 될 수 있다. 동시에 제2 잠금 윈도우가 디스에이블 될 수 있으며, 사용자는 전자 장치의 잠금 상태를 유지하면서 제2 영역 412를 통한 입력을 수행할 수 있다.
다양한 실시 예에서, 전자 장치는 여러 종류의 센서(예: 도 8에 도시된 센서 840A 내지 840M)를 구비할 수 있고, 이 센서를 통해 측정/감지되는 정보를 이용하여 잠금 윈도우의 상태를 변경할 수 있다. 예를 들어, 전자 장치는 자이로 센서를 포함하고, 전자 장치의 처리 모듈은 자이로 센서에 의해 감지된 전자 장치의 기울기에 따라 잠금 윈도우의 상태를 변경할 수 있다. 예를 들어 동작 404에 의해 전자 장치가 일반 모드(상태 410)에서 가로 모드(landscape mode)(상태 420)로 변경되는 경우, 전자 장치는 멀티미디어 또는 Youtube와 같은 인터넷 컨텐츠 감상을 위해 동작할 수 있다. 이러한 경우 전자 장치는 제2 잠금 윈도우를 디스에이블 상태로 변경할 수 있다. 이와 같은 동작에 의해 사용자는 제1 영역 411의 컨텐츠에 영향을 주지 않으면서 제2 영역 412에 디스플레이 된 제어 메뉴를 조작할 수 있다. 다른 실시 예에서, 전자 장치는 위 경우에 제2 잠금 윈도우를 인에이블 상태로 변경하여 사용자가 컨텐츠를 감상할 때 제2 영역 412에 터치 입력이 발생하더라도 컨텐츠 감상에 영향을 주지 않도록(예: 다음 컨텐츠로 건너뛰거나 음소거가 되는 등의 동작이 발생하지 않도록) 할 수 있다. 다른 실시 예에서 카메라를 통해 사용자의 얼굴 또는 시선을 식별하여 잠금 영역 또는 잠금 윈도우의 상태를 변경할 수 있다. 다른 실시예에서 마이크를 통해 수신되는 음성 정보를 통해 잠금 영역 또는 잠금 윈도우의 상태를 변경할 수 있다.
도 5는 다양한 실시 예에 따른 터치 입력의 수에 따른 터치 입력 처리 방법을 나타낸다. 이하의 설명에서 전술한 설명과 중복되거나 대응 또는 유사한 내용은 그 설명이 생략될 수 있다.
동작 510에서 전자 장치는 현재 제1 영역에 실행 중인 어플리케이션이 인식 가능한 터치 입력의 수(M개)를 판단할 수 있다. 예를 들어, 어플리케이션이 하나의 터치 입력(선택, 스크롤 등)만 인식 가능한 경우 M=1이 된다. 만약 어플리케이션이 확대/축소와 같은 멀티 터치를 지원하는 경우 M=2가 된다. 만약 어플리케이션이 3중 터치(화면 해상도 변경) 또는 4점 터치(주로 태블릿 계열의 전자 장치에서 지원하는 어플리케이션 종료 또는 전환)를 지원하는 경우에는 각각 M=3 또는 M=4가 된다.
다양한 실시 예에서, 동일 어플리케이션이라 하더라도 실행 상태에 따라 M 값은 변경될 수 있다. 예를 들어, 갤러리 어플리케이션에서 이미지 목록이 출력되는 경우 스크롤이나 선택만이 가능하므로 M=1일 수 있다. 그러나 특정 이미지가 선택되면 이미지의 확대/축소가 가능하므로 M=2가 될 수 있다.
동작 520에서 전자 장치는 복수(N개)의 터치 입력을 수신할 수 있다. 예를 들어, 사용자가 의도한 이미지 확대를 위한 멀티 터치(2 지점에 대한 터치) 및 파지에 의한 의도하지 않은 측면 터치가 수신될 수 있다.
동작 530에서 발생한 터치 입력의 수 N과 어플리케이션이 인식 가능한 터치 입력의 수 M이 비교될 수 있다. 만약 N이 M보다 큰 경우 전자 장치는 동작 540을 수행하고, 그렇지 않은 경우(N이 M보다 작거나 같은 경우) 동작 570을 수행할 수 있다.
N이 M보다 큰 경우, 즉 어플리케이션이 인식 가능한 터치의 수 보다 인식된 터치 입력이 많은 경우에는 사용자가 의도하지 않은 터치 입력이 발생했을 확률이 높다. 따라서 의도하지 않은 입력, 예를 들어 제1 어플리케이션이 실행/디스플레이 되고 있지 않은 제2 영역에 발생한 사용자 입력을 제거하기 위한 동작 540 내지 560이 수행될 수 있다. 이하에서는 제2 영역에 대응하는 잠금 윈도우(예: 제2 잠금 윈도우)가 인에이블 상태인 것으로 가정하고 설명한다.
동작 540, 동작 550은 도 3의 동작 320, 동작 330에 각각 대응될 수 있다. 예를 들어, 동작 540에서 전자 장치는 복수의 터치 입력 각각의 발생 지점이 제2 영역인지 여부를 판단할 수 있다. 전자 장치의 처리 모듈은 동작 550에서, 판단 결과 터치 입력의 발생 지점이 제2 영역이라면 동작 560을, 발생 지점이 제2 영역이 아니라면 동작 570을 수행할 수 있다.
동작 560에서, 발생 지점이 제2 영역인 경우 전자 장치는 터치 입력을 무시할 수 있다. 그 결과 발생한 N개의 터치 입력 중, 제1 영역에 의도적으로 입력된 정상적인 수의 터치 입력에 따른 동작(예: 어플리케이션의 제어 등)이 수행될 수 있다. 혹은 동작 560에서 추가적인 윈도우 설정 모듈(windowing module)에 제2 영역에서 발생한 입력을 전달하여 추가적으로 분석하여 제2 영역의 일부 영역만을 차단하는 잠금 윈도우를 설정하여 제2 영역에서의 입력을 처리할 수도 있다.
동작 570에서, 판단 결과 터치 입력의 발생 지점이 제2 영역이 아닌 경우, 설령 발생된 터치 입력의 수가 어플리케이션의 수보다 많다 하더라도 처리 모듈은 일반적인 멀티 터치 입력으로 처리(예: N개의 입력 중 일부(M개)만 랜덤하게 처리하거나, 아예 터치 입력을 처리하지 않음)할 수 있다. 또한 동작 570에서 처리 모듈은 싱글 터치(예: 동작 530에서 N이 M보다 작고, N=1인 경우) 입력을 처리할 수 있다.
도 6은 다양한 실시 예에 따른 멀티 터치를 처리하는 방법을 나타낸다. 이하의 설명에서 전술한 설명과 중복되거나 대응 또는 유사한 내용은 그 설명이 생략될 수 있다.
동작 601에서 전자 장치의 판단 모듈(예: 터치 IC 221)은 특정 지점(좌표)에 대한 터치 입력에 의해 발생되는 터치 이벤트를 인식할 수 있다. 동작 603에서 전자 장치의 처리 모듈(예: AP 223)은 터치 이벤트가 OS 프레임 워크(예: OS 입력 프레임워크 240)로 전달되도록 할 수 있다. 또한 동작 605에서 터치 이벤트는 윈도우 매니저(예: 윈도우 매니저 250)로 전달될 수 있다.
동작 607에서 윈도우 매니저는 상기 터치 이벤트가 디스플레이의 제1 영역에서 발생한 것인지 판단할 수 있다. 만약 터치 이벤트가 제1 영역이 아닌 영역, 예를 들어 제2 영역에서 발생한 것으로 판단되면, 동작 B가 수행될 수 있다. 동작 B는 예를 들어, 도 3에 도시된 동작 340 이후의 프로세스에 해당할 수 있다.
동작 607에서 상기 터치 이벤트가 제1 영역에서 발생한 것으로 판단되면, 처리 모듈은 동작 609에서 상기 터치 이벤트가 멀티 터치를 구성하는지 판단할 수 있다. 예를 들어, 처리 모듈은 상기 터치 이벤트와 함께 멀티 터치를 구성하는 다른 터치 입력이 있는지 판단할 수 있다. 판단 결과 멀티 터치를 구성하는 다른 터치 입력이 있는 경우, 처리 모듈은 동작 615에서 이 터치 입력들 중 제2 영역에서 발생한 터치 입력이 있는지 판단할 수 있다.
제2 영역에서 발생한 터치 입력이 있는 경우, 동작 617에서 처리 모듈은 제2 영역에 대응되는 제2 잠금 윈도우의 상태에 따라 동작 619 또는 동작 623을 수행할 수 있다. 구체적으로, 제2 잠금 윈도우의 상태가 인에이블 상태인 경우 제2 영역에서 발생한 터치 입력은 제2 잠금 윈도우에서 처리될 수 있다. 이 경우, 멀티 터치를 구성하는 입력 중 제2 영역에서 발생한 터치 입력을 제외한 나머지 터치 입력은 제1 영역의 어플리케이션으로 제공 및 처리될 수 있다. 또한 동작 619에서, 전자 장치는 추가적인 윈도우 설정 모듈(windowing module)에 제2 영역에서 발생한 입력을 전달할 수 있다. 윈도우 설정 모듈은 전달받은 입력을 분석하여 제2 영역의 일부 영역만을 차단하는 잠금 윈도우를 설정하고, 이 잠금 윈도우에 기초하여 제2 영역에서의 입력을 처리할 수도 있다. 이에 대한 구체적인 방법은 후술한다.
만약 동작 617에서 제2 잠금 윈도우가 디스에이블 상태인 경우 일반적인 멀티 터치로 처리될 수 있다. 도 6의 실시 예에서는 제1 영역에 터치 입력이 있는지 여부를 기준으로 프로세스를 수행하므로(동작 607 참조), 제1 영역과 제2 영역에 걸쳐 멀티 터치 입력이 발생하고, 양 영역에 대한 잠금 윈도우가 디스에이블 상태인 경우, 이러한 멀티 터치는 제1 영역에 디스플레이되는 어플리케이션에 우선 적용될 수 있다. 예를 들어, 제1 영역에서 이미지 확대를 위한 2점 터치 입력(입력 A, B)을 유지하다가 어느 하나의 터치 입력(입력 B)이 제2 영역의 위치로 이동한 경우, 그 입력(입력 B)에 해당하는 지점에 소정 아이콘이 디스플레이 되어 있어도, 제1 영역에서 수행 중이던 이미지 확대 동작에 우선 적용될 수 있다.
다시 동작 609로 돌아가서, 만약 동작 607에서 제1 영역에서 발생한 터치 입력이 다른 입력과 함께 멀티 터치를 구성하지 않는 경우(예: 싱글 터치), 제1 잠금 윈도우의 상태에 따라 해당 터치 입력을 처리할 수 있다. 예를 들어, 동작 611에서 제1 잠금 윈도우가 인에이블 상태인 경우, 처리 모듈은 동작 613에서 제1 잠금 윈도우에서 터치 입력이 처리되도록 할 수 있다. 이 동작은 도 3에서 동작 350을 참조하여 설명한 예시에 대응될 수 있다. 만약 동작 611에서 제1 잠금 윈도우가 인에이블 상태가 아닌 경우(예를 들어, 제1 잠금 윈도우가 디스에이블 상태이거나, 제1 잠금 윈도우가 없는 경우 등), 처리 모듈은 동작 621에서 제1 어플리케이션으로 터치 이벤트를 전달할 수 있다.
도 7은 상기 도 3의 동작 350과 도 5의 동작 560, 도 6의 동작 619에서 수행되는 제2 잠금 윈도우에서 터치 입력을 처리하기 위한 동작 중, 제2 영역(예: 서브 영역) 전체가 아닌 일부분에 대한 잠금 윈도우를 설정하기 위해 구현되는 윈도우 설정 모듈(windowing module) 700에 대한 예시적인 구성을 나타낸다.
윈도우 설정 모듈(windowing module) 700은 윈도우로 잠기지 않는 서브영역에서 일어날 수 있는 이벤트를 정의하고 감지하는 제스처 감지 모듈(gesture detector, or gesture detecting module) 710, 사용자의 파지(grip) 제스처를 판별하기 위한 그립감지 모듈(grip detector, or grip detecting module) 720을 포함할 수 있다. 또한 윈도우 설정 모듈 700은 하드웨어 또는 소프트웨어 모듈의 상황에 따라 이벤트 처리 모듈(event handler. or event handling module) 730전자 장치을 포함하여 구현되거나 포함하지 않고 구현될 수 있다. 다양한 실시 예에서, 윈도우 설정 모듈(windowing module) 700은 윈도우 매니저 250에 포함되어 구현되거나 윈도우 매니저 250과 연관되어 동작하도록 별개로 구현될 수 있다.
전자 장치는 윈도우 설정 모듈(windowing module) 700에서 터치 이벤트를 각각 분석하여 상기 터치 이벤트의 전달 여부를 결정할 수 있다. 또한 전자 장치는 윈도우 설정 모듈 700을 이용하여 사전에 정의된 새로운 이벤트를 발생시키거나 전달할 수 있다. 이때 윈도우 설정 모듈(windowing module) 700에 포함된 제스처 감지 모듈 710)과 그립 감지 모듈 720은 순차적으로 동작(예: 제스처 감지 모듈 710 동작 후 그립 감지 모듈 720이 동작, 또는 그 반대)하거나, 병렬로 동작(예: 제스처 감지 모듈 710과 그립 감지 모듈 720이 독립적으로 동작)할 수도 있다.
도 8은 다양한 실시 예에서 활용 가능한 제스처 감지 모듈 710의 기본 동작 방법을 나타낸 것이다. 동작 801에서, 터치 입력에 의해 발생한 이벤트가 전자장치의 임의의 다른 하드웨어 혹은 소프트웨어 모듈로부터 제스처 감지 모듈 710으로 전달될 수 있다.
동작 802에서는 사용자에 의해 의도되지 않은 제스처에 해당되는 입력들에 대한 필터링을 실시할 수 있다. 필터링 된 입력들은 강제로 취소되거나 무시될 수 있다. 이를 통해 사전 정의된 제스처인지 여부를 조사하는 계산량 혹은 빈도를 줄일 수 있다.
사용자에 의해 의도되지 않은 제스처(또는 그 입력)은 그 입력 패턴이 전자 장치에 미리 저장 또는 정의되어 있을 수 있다. 예를 들어, 사용자 혹은 전자 장치 제조자가 의도적으로 설정한 항구적인 입력 방지 구간(Dead zone)이나 센서 내의 특정 위치에 대한 입력, 특정 시간 이상 접촉이 유지되는 동작, 특정 면적 이상 감지되는 단일 입력, 터치 감지 센서(이를 테면 제스처 센서 1240A)의 감지 가능한 터치 입력의 개수가 모두 입력된 이후에 들어오는 입력, 터치 감지 센서의 감지 가능한 터치 입력의 개수가 모두 입력된 이후에 새로 들어온 입력이 있을 경우 가장 오래 전에 발생한 입력, 또는 이들의 조합일 수 있다. 상술한 조건/규칙들은 전자 장치의 제조사 또는 전자 장치의 사용자에 의해 갱신되거나 변경, 추가, 삭제 될 수 있다.
동작 802에서 필터링 되지 않은 입력은 동작 803으로 전달될 수 있다. 동작 803에서 전자 장치(예: 제스처 감지 모듈 710)는 사용자가 서브 영역을 활용하기 위해 사전 정의한 제스처에 대한 조건을 검사하여 전달받은 입력인지 여부를 검사할 수 있다. 이때 가능한 제스처는 전자 장치 제조자 혹은 사용자에 의해 정의될 수 있다. 즉, 서브 영역에서 이루어지는 스크롤(scrolling), 드래그(dragging), 리볼빙(revolving), 확장(expanding), 확대, 축소 등의 동작 및 각 동작을 수행하는 입력 조건이 정의될 수 있다. 이러한 입력 조건은 특정 입력의 지속시간, 접촉 면적, 입력이 시계열상으로 만드는 경로의 길이나 각도 또는 패턴, 다른 센서에서 전달받은 조건 등 전자 장치에 구비된 모든 이용 가능한 하드웨어 혹은 소프트웨어로부터 전달 받을 수 있는 물리량들을 조합하여 정의될 수 있다.
만약 전달받은 입력이 사전 정의한 이벤트에 해당될 경우, 동작 805에서 전자 장치는 새로운 제스처 이벤트를 생성하여 다른 모듈(예: 다른 하드웨어 모듈, 소프트웨어 모듈, 또는 어플리케이션 소프트웨어 등)로 생성한 이벤트를 전달할 수 있다. 일부 실시 예에서는, 상기 이벤트의 전달과 함께 필요에 따라 전달 받은 입력도 그대로 같이 전달할 수 있다.
만약 동작 803에서 전달받은 입력이 사전 정의한 이벤트가 아닐 경우, 전자 장치는 판단을 유보하며 동작 804에서 전달받은 입력을 다른 하드웨어 혹은 소프트웨어 모듈로 전달할 수 있다.
다양한 실시 예에서, 동작 802에서 전달받은 입력이 의도된 제스처로 생각될 수 없는 입력으로 판단되었을 경우, 동작 806에서 전자 장치는 전달받은 입력을 취소 혹은 무시하는 이벤트를 발생시켜 다른 하드웨어 혹은 소프트웨어 모듈로 전달할 수 있다.
도 9는 다양한 실시 예에서 활용 가능한 그립 감지 모듈 720의 기본 동작 방법을 나타낸 것이다. 동작 901은 터치 입력에 의해 발생한 이벤트가 전자장치의 임의의 다른 하드웨어 혹은 소프트웨어 모듈로부터 그립 감지 모듈 720으로 전달되어 동작이 개시됨을 나타낸다.
동작 902에서, 전자 장치(예: 그립 감지 모듈 720)는 전달받은 입력이 사용자의 파지에 의해 발생한 것임을 판별하기 위해서 입력이 발생한 위치, 면적, 형태, 개수 등의 즉각적으로 판단 가능한 물리량을 이용하여 전달받은 입력이 해당 물리량들의 임계치(Threshold)를 넘어서는지 여부를 판별할 수 있다. 만약 전달받은 입력의 판단 가능한 물리량이 설정된 임계치를 넘어서서 사용자의 파지 혹은 오입력에 의한 것으로 판단되면, 동작 905에서 그립 감지 모듈 720은 전달받은 입력에 대한 취소 혹은 무시를 요청하는 이벤트를 발생시킬 수 있다.
전달받은 입력이 사용자의 파지에 의해 발생한 것임을 판별하기 위해, 동작 903에서 그립 감지 모듈 720은 입력 유지 시간, 이동 경로의 거리, 각도, 속도 등 시계열 적으로 분석 필요한 물리량들을 이용하여 사용자의 파지 혹은 오입력 여부를 판단할 수 있다. 만약 전달받은 입력의 입력 유지 시간, 이동 경로의 거리, 각도, 속도 등 시계열적으로 분석이 필요한 물리량들이 설정된 임계치(Threshold)를 넘어서서 사용자의 파지 혹은 오입력에 의한 것으로 판단되면, 동작 905에서 그립 감지 모듈 720은 전달받은 입력에 대한 취소 혹은 무시를 요청하는 이벤트를 발생시킬 수 있다.
만약 동작 902와 903을 수행하고도 판별이 되지 않는 입력이라면 사용자의 의도된 입력일 확률이 높으므로, 동작 904에서 전자 장치는 전달받은 입력을 다른 하드웨어 혹은 소프트웨어 모듈로 전달할 수 있다.
도 10은 다양한 실시 예에 따른 서브 영역에 설정되는 잠금 윈도우의 예시를 나타낸다.
도 10에 도시된 실시 예는 사용자의 손 1001이 전자 장치 1010을 잡고 입력을 수행하는 경우를 나타내고 있다. 전자 장치 1010은 메인 영역 1011과 서브 영역 1012를 포함할 수 있다. 또한 전자 장치 1010은 서브 영역 1012의 전부 또는 일부에 잠금 윈도우 1020을 형성할 수 있다. 사용자의 손 1001은 파지에 의한 (의도하지 않은) 입력 1002 및, 사용자가 서브 영역 1012에 특정 기능을 수행하기 위해 의도한 입력 1003을 발생시킬 수 있다.
도 10의 좌측 실시 예는 도 7 내지 도 9에서 설명된 동작을 수행하지 않고, 서브 영역 전체에 잠금 윈도우를 인에이블 혹은 디스에이블 시키는 예시를 나타낸다. 또한 도 10의 우측 실시 예는 도 7에서 도 9에 이르는 과정을 수행하여, 서브 영역의 일부분에만 잠금 윈도우를 설정한 경우이다. 이때 잠금 윈도우는 사각형의 형태가 아니어도 무방하다.
도 10의 좌측 실시 예에서는 사용자의 의도하지 않은 입력 1002가 발생할 경우, 잠금 윈도우 1020이 서브 영역 1012 전체에 적용되어 사용자가 의도한 입력 1003까지 잠금 윈도우 1020에서 처리될 수 있다. 이 경우 한번 의도하지 않은 입력이 감지되면 잠금 윈도우의 상태를 변경하는 다른 입력이 발생할 때까지 사용자가 서브 영역 1012 전체를 사용하지 못할 수 있다.
도 10의 우측 실시 예에서는 사용자의 의도하지 않은 입력 1002가 발생할 경우, 잠금 윈도우 1020이 서브 영역 1012 일부에만 적용될 수 있다. 이 경우 잠금 윈도우 1020의 영역에 해당하지 않으면서 서브 영역 1012에 포함되는 영역에서 발생하는 사용자의 의도된 입력 1003이 받아들여질 수 있으므로, 이를 이용하는 UI를 통해 사용자에게 보다 많은 편의와 다양한 기능이 제공될 수 있다.
도 11은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 11을 참조하여, 본 발명의 다양한 실시 예들이 적용될 수 있는 네트워크 환경 1100 내의 전자 장치 1101이 기재된다. 상기 전자 장치 1101은 버스 1110, 프로세서 1120, 메모리 1130, 입출력 인터페이스 1150, 디스플레이 1160, 및 통신 인터페이스 1170을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1101은, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스 1110은, 예를 들면, 상기 구성요소들 1110-170을 서로 연결하고, 상기 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서 1120은, 중앙처리장치(CPU), AP(application processor), 또는 CP(communication processor) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서 1120은, 예를 들면, 상기 전자 장치 1101의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 다양한 실시 예에서, 상기 프로세서 1120은 전술한 처리 모듈 또는 AP 103, AP 223에 대응될 수 있다.
상기 메모리 1130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리 1130은, 예를 들면, 상기 전자 장치 1101의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 상기 메모리 1130은 소프트웨어 및/또는 프로그램 1140을 저장할 수 있다. 상기 프로그램 1140은, 예를 들면, 커널 1141, 미들웨어 1143, API(application programming interface) 1145, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 1147 등을 포함할 수 있다. 상기 커널 1141, 미들웨어 1143, 또는 API 1145의 적어도 일부는, 운영 시스템(operating system, OS)이라고 불릴 수 있다.
상기 커널 1141은, 예를 들면, 다른 프로그램들(예: 미들웨어 1143, API 1145, 또는 어플리케이션 프로그램 1147)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 1110, 프로세서 1120, 또는 메모리 1130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 1141은 상기 미들웨어 1143, 상기 API 1145, 또는 상기 어플리케이션 프로그램 1147에서 상기 전자 장치 1101의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 1143은, 예를 들면, 상기 API 1145 또는 상기 어플리케이션 프로그램 1147이 상기 커널 1141과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 1143은 상기 어플리케이션 프로그램 1147로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 프로그램 1147 중 적어도 하나의 어플리케이션에 상기 전자 장치 1101의 시스템 리소스(예: 버스 1110, 프로세서 1120, 또는 메모리 1130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API 1145는, 예를 들면, 상기 어플리케이션 1147이 상기 커널 1141 또는 상기 미들웨어 1143에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스 1150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치 1101의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스 1150은 상기 전자 장치 1101의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이 1160은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이 1160은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 상기 디스플레이 1160은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
다양한 실시 예에서 상기 디스플레이 1160은 기능적으로 구분된 적어도 두 개의 영역을 가질 수 있다. 또한 각각의 영역에 대응되는 잠금 윈도우가 설정되어 있을 수 있다. 어플리케이션 프로그램 1147은 상기 구분된 각각의 영역에서 실행될 수 있다. 그러나 일부 실시 예에서, 하나의 어플리케이션이 기능적으로 구분되어 서로 다른 두 개 이상의 영역에서 실행될 수 있음은 전술한 바와 같다.
상기 통신 인터페이스 1170은, 예를 들면, 상기 전자 장치 1101과 외부 장치(예: 제1 외부 전자 장치 1102, 제2 외부 전자 장치 1104, 또는 서버 1106) 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스 1170은 무선 통신 또는 유선 통신을 통해서 네트워크 1162에 연결되어 상기 외부 장치 (예: 제2 외부 전자 장치 1104 또는 서버 1106)와 통신할 수 있다.
이하에서 도 12 및 도 13를 참조하여 설명되는 전자 장치 1201 및 프로그램 모듈 1310은, 도 2의 전자 장치 200 및 도 11의 전자 장치 1101 또는 프로그램 모듈 1140의 구체적인 실시 예 또는 일반적인 확장으로 이해될 수 있다.
도 12은 다양한 실시 예에 따른 전자 장치 1201의 블록도 1200을 나타낸다.
도 12를 참조하면, 상기 전자 장치 1201은, 예를 들면, 도 11에 도시된 전자 장치 1101의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치 1201은 하나 이상의 어플리케이션 프로세서(AP) 1210, 통신 모듈 1220, SIM(subscriber identification module) 카드 1224, 메모리 1230, 센서 모듈 1240, 입력 장치 1250, 디스플레이 1260, 인터페이스 1270, 오디오 모듈 1280, 카메라 모듈 1291, 전력 관리 모듈 1295, 배터리 1296, 인디케이터 1297, 및 모터 1298을 포함할 수 있다.
상기 AP 1210은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP 1210에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 1210은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP 1210은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 상기 AP 1210은 도 12에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 1221)를 포함할 수도 있다. 상기 AP 1210은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 통신 모듈 1220은, 도 11의 상기 통신 인터페이스 1170과 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈 1220은, 예를 들면, 셀룰러 모듈 1221, Wi-Fi 모듈 1223, BT 모듈 1225, GPS 모듈 1227, NFC 모듈 1228 및 RF(radio frequency) 모듈 1229를 포함할 수 있다.
상기 SIM 카드 1224는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 1230(예: 메모리 1130)는, 예를 들면, 내장 메모리 1232 또는 외장 메모리 1234를 포함할 수 있다. 상기 외장 메모리 1234는 다양한 인터페이스를 통하여 상기 전자 장치 1201과 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈 1240은, 예를 들면, 물리량을 계측하거나 전자 장치 1201의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 1240은, 예를 들면, 제스처 센서 1240A, 자이로 센서 1240B, 기압 센서 1240C, 마그네틱 센서 1240D, 가속도 센서 1240E, 그립 센서 1240F, 근접 센서 1240G, 컬러 센서 1240H(예: RGB 센서), 생체 센서 1240I, 온/습도 센서 1240J, 조도 센서 1240K, 또는 UV(ultra violet) 센서 1240M 중의 적어도 하나를 포함할 수 있다. 상기 센서 모듈 1240은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1201은 AP 1210의 일부로서 또는 별도로, 센서 모듈 1240을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP 1210이 슬립(sleep) 상태에 있는 동안, 센서 모듈 1240을 제어할 수 있다.
상기 입력 장치 1250은, 예를 들면, 터치 패널(touch panel) 1252, (디지털) 펜 센서(pen sensor) 1254, 키(key) 1256, 또는 초음파(ultrasonic) 입력 장치 1258을 포함할 수 있다. 상기 터치 패널 1252는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널 1252는 제어 회로를 더 포함할 수도 있다. 상기 터치 패널 1252는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 1254는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 상기 키 1256은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치 1258은 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 1201에서 마이크(예: 마이크 1288)로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이 1260(예: 디스플레이 1160)은 패널 1262, 홀로그램 장치 1264, 또는 프로젝터 1266을 포함할 수 있다. 상기 패널 1262는, 도 11의 디스플레이 1160과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널 1262는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 1262는 상기 터치 패널 1252와 하나의 모듈로 구성될 수도 있다. 한 실시 예에 따르면, 상기 디스플레이 1260은 상기 패널 1262, 상기 홀로그램 장치 1264, 또는 프로젝터 1266를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 1270은, 예를 들면, HDMI(high-definition multimedia interface) 1272, USB 1274, 광 인터페이스(optical interface) 1276, 또는 D-sub(D-subminiature) 1278을 포함할 수 있다. 상기 인터페이스 1270은, 예를 들면, 도 11에 도시된 통신 인터페이스 1170에 포함될 수 있다.
상기 오디오 모듈 1280은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 1280의 적어도 일부 구성요소는, 예를 들면, 도 11 에 도시된 입출력 인터페이스 1150에 포함될 수 있다. 상기 오디오 모듈 1280은, 예를 들면, 스피커 1282, 리시버 1284, 이어폰 1286, 또는 마이크 1288 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 1291은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
상기 전력 관리 모듈 1295는, 예를 들면, 상기 전자 장치 1201의 전력을 관리할 수 있다. 한 실시 예에 따르면, 상기 전력 관리 모듈 1295는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리 1296의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리 1296은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 1297은 상기 전자 장치 1201 혹은 그 일부(예: AP 1210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 1298은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 13은 다양한 실시 예에 따른 프로그램 모듈 1310의 블록도 1300을 나타낸다
도 13을 참조하면, 한 실시 예에 따르면, 상기 프로그램 모듈 1310(예: 프로그램 1140)은 전자 장치(예: 전자 장치 1101)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 1147)을 포함할 수 있다. 상기 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 1310은 커널 1320, 미들웨어 1330, API 1360, 및/또는 어플리케이션 1370을 포함할 수 있다. 상기 프로그램 모듈 1310의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 서버(예: 서버 1106)로부터 다운로드 가능하다.
상기 커널 1320(예: 도 11의 커널 1141)은, 예를 들면, 시스템 리소스 매니저 1321 또는 디바이스 드라이버 1323를 포함할 수 있다. 상기 시스템 리소스 매니저 1321은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 상기 시스템 리소스 매니저 1321은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 디바이스 드라이버 1323은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어 1330은, 예를 들면, 상기 어플리케이션 1370이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션 1370이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API 1360을 통해 다양한 기능들을 상기 어플리케이션 1370으로 제공할 수 있다. 한 실시 예에 따르면, 상기 미들웨어 1330(예: 미들웨어 1143)은 런타임 라이브러리 1335, 어플리케이션 매니저(application manager) 1341, 윈도우 매니저(window manager) 1342, 멀티미디어 매니저(multimedia manager) 1343, 리소스 매니저(resource manager) 1344, 파워 매니저(power manager) 1345, 데이터베이스 매니저(database manager) 1346, 패키지 매니저(package manager) 1347, 연결 매니저(connectivity manager) 1348, 통지 매니저(notification manager) 1349, 위치 매니저(location manager) 1350, 그래픽 매니저(graphic manager) 1351, 또는 보안 매니저(security manager) 1352 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리 1335는, 예를 들면, 상기 어플리케이션 1370이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리 1335는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저 1341은, 예를 들면, 상기 어플리케이션 1370 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 상기 윈도우 매니저 1342는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저 1343은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 상기 리소스 매니저 1344는 상기 어플리케이션 1370 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저 1345는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저 1346은 상기 어플리케이션 1370 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저 1347은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저 1348은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저 1349는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저 1350은 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저 1351은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저 1352는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 1101)가 전화 기능을 포함한 경우, 상기 미들웨어 1330은 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
상기 미들웨어 1330은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어 1330은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어 1330은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API 1360(예: API 1145)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션 1370(예: 어플리케이션 프로그램 1147)은, 예를 들면, 홈 1371, 다이얼러 1372, SMS/MMS 1373, IM(instant message) 1374, 브라우저 1375, 카메라 1376, 알람 1377, 컨택트 1378, 음성 다이얼 1379, 이메일 1380, 달력 1381, 미디어 플레이어 1382, 앨범 1383, 또는 시계 1384, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 1370은 상기 전자 장치(예: 전자 장치 1101)와 외부 전자 장치(예: 전자 장치 1102, 1104) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의 상, "정보 교환 어플리케이션")을 포함할 수 있다. 상기 정보 교환 어플리케이션은, 예를 들면, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 1102, 1104)로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 1104)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리 (예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 1370은 상기 외부 전자 장치(예: 전자 장치 1102, 1104)의 속성(예: 전자 장치의 속성으로서, 전자 장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션(예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 1370은 외부 전자 장치(예: 서버 1106 또는 전자 장치 1102, 1104)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 1370은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 1310의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 상기 프로그램 모듈 1310의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 상기 프로그램 모듈 1310의 적어도 일부는, 예를 들면, 프로세서(예: AP 1210)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그램 모듈 1310의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서(예: 프로세서 1120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 1130이 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD, 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 있어서,
    기능적으로 구분되는 제1 영역 및 제2 영역을 갖는 디스플레이,
    터치 입력의 발생 지점을 판단하는 판단 모듈, 및
    상기 발생 지점이 상기 제2 영역 내에 위치하는 경우 상기 전자 장치의 상태에 따라 상기 터치 입력을 처리하도록 설정된 처리 모듈을 포함하는, 전자 장치.
  2. 청구항 1에 있어서,
    상기 처리 모듈은 상기 제2 영역의 적어도 일부에 대응되는 잠금 윈도우의 상태에 따라 상기 터치 입력을 처리하도록 설정되는, 전자 장치.
  3. 청구항 2에 있어서,
    상기 처리 모듈은 지정된 어플리케이션의 실행 상태에 기반, 상기 전자 장치에 포함된 지정된 센서 값, 또는 기 발생한 사용자 입력 중 적어도 하나에 기초하여 상기 잠금 윈도우의 상태를 인에이블 또는 디스에이블 상태로 변경하도록 설정되는, 전자 장치.
  4. 청구항 2에 있어서,
    상기 처리 모듈은 상기 잠금 윈도우가 인에이블(enable) 상태이면 상기 입력이 상기 잠금 윈도우에서 처리되도록 하고, 상기 잠금 윈도우가 디스에이블(disable) 상태이면 상기 입력을 상기 제2 영역에 디스플레이 되는 어플리케이션으로 전달하도록 설정되는, 전자 장치.
  5. 청구항 1에 있어서,
    상기 제1 영역은 상기 디스플레이의 편평한 영역(flat area)에 대응되고, 상기 제2 영역은 상기 디스플레이의 곡면 영역(curved area)에 대응되는, 전자 장치.
  6. 청구항 2에 있어서,
    상기 처리 모듈은 지정된 사용자 입력에 기초하여 상기 잠금 윈도우의 상태, 크기, 형태, 또는 위치 중 적어도 하나를 변경하도록 설정되는, 전자 장치.
  7. 청구항 6에 있어서,
    상기 처리 모듈은 상기 사용자 입력이 상기 제1 영역에서 상기 제2 영역으로의 드래그 입력인 경우 상기 잠금 윈도우의 상태를 인에이블 상태로 설정하고, 상기 사용자 입력이 상기 제2 영역에서 상기 제1 영역으로의 드래그 입력인 경우 상기 잠금 윈도우의 상태를 디스에이블 상태로 설정하는, 전자 장치.
  8. 청구항 3에 있어서,
    상기 전자 장치는 자이로 센서를 더 포함하고,
    상기 처리 모듈은 상기 자이로 센서에 의해 감지된 상기 전자 장치의 기울기에 따라 상기 잠금 윈도우의 상태를 변경하도록 설정되는, 전자 장치.
  9. 청구항 2에 있어서,
    상기 처리 모듈은 상기 전자 장치가 잠금 상태로 진입하면 상기 잠금 윈도우의 상태를 인에이블로 설정하고, 상기 전자 장치의 잠금 상태가 해제되면 상기 잠금 윈도우의 상태를 디스에이블로 설정하는, 전자 장치.
  10. 청구항 2에 있어서,
    상기 처리 모듈은 상기 입력이 상기 잠금 윈도우에서 처리되면 상기 제2 영역에 그와 관련된 텍스트 또는 그래픽 효과 혹은 진동 효과 혹은 음성 정보 중 적어도 하나의 사용자 인터페이스 효과가 제공되도록 하는, 전자 장치.
  11. 청구항 6에 있어서,
    상기 전자 장치는 상기 제2 영역 중 일부 영역에만 상기 잠금 윈도우가 설정되도록 하는 윈도우 설정 모듈을 더 포함하고,
    상기 윈도우 설정 모듈은 상기 터치 입력의 상기 발생 지점을 계산 혹은 측정하여 상기 잠금 윈도우의 상태, 크기, 형태, 또는 위치 중 적어도 하나를 변경하도록 설정되는, 전자 장치.
  12. 청구항 1에 있어서,
    상기 처리 모듈은 상기 발생 지점이 상기 제1 영역 내에 위치하는 경우 상기 입력을 상기 제1 영역에 디스플레이 되는 어플리케이션으로 전달하도록 설정되는, 전자 장치.
  13. 기능적으로 구분되는 제1 영역 및 제2 영역을 갖는 디스플레이를 구비한 전자 장치에서 터치 입력을 처리하는 방법에 있어서,
    상기 디스플레이에 대한 터치 입력을 획득하는 동작,
    상기 터치 입력의 발생 지점이 상기 제1 영역 및 상기 제2 영역 중 어느 영역에 해당하는지 판단하는 동작, 및
    상기 발생 지점이 상기 제2 영역에 해당하는 경우 상기 전자 장치의 상태에 따라 상기 터치 입력을 처리하는 동작을 포함하는 터치 입력 처리 방법.
  14. 청구항 13에 있어서, 상기 터치 입력을 처리하는 동작은,
    상기 제2 영역의 적어도 일부에 대응되는 잠금 윈도우가 인에이블 상태이면 상기 터치 입력을 상기 잠금 윈도우에서 처리하는 동작, 및
    상기 잠금 윈도우가 디스에이블 상태이면 상기 터치 입력을 상기 제2 영역에 디스플레이 되는 어플리케이션으로 전달하는 동작을 포함하는 터치 입력 처리 방법.
  15. 청구항 14에 있어서, 상기 터치 입력을 상기 잠금 윈도우에서 처리하는 동작은 상기 터치 입력을 무시하는 동작을 포함하는 터치 입력 처리 방법.
  16. 청구항 14에 있어서, 상기 터치 입력을 상기 잠금 윈도우에서 처리하는 동작은 상기 터치 입력이 상기 어플리케이션으로 전달되지 않는다는 것을 나타내는 효과를 제공하는 동작을 포함하는 터치 입력 처리 방법.
  17. 청구항 14에 있어서, 상기 잠금 윈도우는 상기 제2 영역 중 일부 영역에만 설정되고,
    상기 터치 입력을 처리하는 동작은, 상기 제2 영역 중 상기 일부 영역을 제외한 영역을 발생 지점으로 하는 터치 입력은 사용자 입력으로 처리하는 터치 입력 처리 방법.
  18. 청구항 16에 있어서,
    상기 효과는 진동 효과, 잠금 윈도우가 인에이블임을 나타내는 메시지 중 적어도 하나를 포함하는, 터치 입력 처리 방법.
  19. 청구항 13에 있어서, 상기 터치 입력을 처리하는 동작은,
    상기 제1 영역에 디스플레이 되는 어플리케이션이 인식 가능한 터치 입력보다 많은 수의 터치 입력이 발생한 경우에 수행되는, 터치 입력 처리 방법.
  20. 기능적으로 구분되는 제1 영역 및 제2 영역을 갖는 디스플레이를 구비한 전자 장치에서 터치 입력을 처리하는 방법에 있어서,
    상기 터치 입력이 멀티 터치 입력인지 여부를 판단하는 동작,
    상기 터치 입력이 멀티 터치 입력인 경우 상기 제2 영역에서 발생한 터치 입력이 있는지 판단하는 동작, 및
    상기 판단 결과에 기초하여, 상기 멀티 터치 입력 중 상기 제2 영역에서 발생한 터치 입력은 상기 제2 영역에 대응되는 제2 잠금 윈도우의 상태에 따라, 나머지 터치 입력은 상기 제1 영역에 대응되는 제1 잠금 윈도우의 상태에 따라 처리하는 동작을 포함하는 터치 입력 처리 방법.
KR1020140116324A 2014-09-02 2014-09-02 터치 입력 처리 방법 및 그 장치 KR20160027775A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020140116324A KR20160027775A (ko) 2014-09-02 2014-09-02 터치 입력 처리 방법 및 그 장치
AU2015312632A AU2015312632A1 (en) 2014-09-02 2015-09-02 Method and apparatus for processing touch input
CN201580035303.XA CN106662975A (zh) 2014-09-02 2015-09-02 用于处理触摸输入的方法和装置
PCT/KR2015/009245 WO2016036135A1 (en) 2014-09-02 2015-09-02 Method and apparatus for processing touch input
EP15183452.0A EP2993572A1 (en) 2014-09-02 2015-09-02 Method and apparatus for processing touch input
US14/843,117 US10509530B2 (en) 2014-09-02 2015-09-02 Method and apparatus for processing touch input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140116324A KR20160027775A (ko) 2014-09-02 2014-09-02 터치 입력 처리 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20160027775A true KR20160027775A (ko) 2016-03-10

Family

ID=54106157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140116324A KR20160027775A (ko) 2014-09-02 2014-09-02 터치 입력 처리 방법 및 그 장치

Country Status (6)

Country Link
US (1) US10509530B2 (ko)
EP (1) EP2993572A1 (ko)
KR (1) KR20160027775A (ko)
CN (1) CN106662975A (ko)
AU (1) AU2015312632A1 (ko)
WO (1) WO2016036135A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102130797B1 (ko) * 2013-09-17 2020-07-03 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
CN104317523A (zh) * 2014-11-14 2015-01-28 深圳市华星光电技术有限公司 一种触控输入装置及方法
US10481759B2 (en) * 2014-12-29 2019-11-19 Lg Electronics Inc. Bended display device for controlling function of application through image displayed on sub-region, and control method therefor
CN104731498B (zh) * 2015-01-30 2016-07-13 努比亚技术有限公司 移动终端防误触控方法及装置
KR102429740B1 (ko) 2015-12-24 2022-08-05 삼성전자 주식회사 터치 이벤트 처리 방법 및 그 장치
CN108781348B (zh) * 2017-05-17 2021-06-01 华为技术有限公司 一种调度方法及终端
EP3614633B1 (en) 2017-05-17 2022-11-23 Huawei Technologies Co., Ltd. Scheduling method and terminal
CN107395797A (zh) * 2017-07-14 2017-11-24 惠州Tcl移动通信有限公司 一种移动终端及其控制方法和可读存储介质
EP3680764B1 (en) * 2017-09-08 2023-06-28 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Icon moving method and device
KR20190054397A (ko) * 2017-11-13 2019-05-22 삼성전자주식회사 디스플레이장치 및 그 제어방법
KR102569170B1 (ko) * 2018-08-09 2023-08-22 삼성전자 주식회사 사용자 입력이 유지되는 시간에 기반하여 사용자 입력을 처리하는 방법 및 장치
CN110865894B (zh) * 2019-11-22 2023-09-22 腾讯科技(深圳)有限公司 跨终端控制应用程序的方法及装置
JP2022021064A (ja) * 2020-07-21 2022-02-02 セイコーエプソン株式会社 記録装置

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127254B2 (en) * 2007-06-29 2012-02-28 Nokia Corporation Unlocking a touch screen device
US20090174679A1 (en) 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US8547347B2 (en) 2008-09-26 2013-10-01 Htc Corporation Method for generating multiple windows frames, electronic device thereof, and computer program product using the method
KR101549558B1 (ko) * 2009-03-18 2015-09-03 엘지전자 주식회사 휴대 단말기 및 그 제어방법
US8442600B1 (en) * 2009-12-02 2013-05-14 Google Inc. Mobile electronic device wrapped in electronic display
US8195254B2 (en) 2009-12-22 2012-06-05 Nokia Corporation Apparatus comprising a sliding display part
JP5606242B2 (ja) 2010-09-24 2014-10-15 株式会社ジャパンディスプレイ 表示装置
KR101685363B1 (ko) * 2010-09-27 2016-12-12 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US9501292B2 (en) * 2010-11-30 2016-11-22 Gil Levy Automatic sleep mode prevention of mobile device in car holder
US10222974B2 (en) * 2011-05-03 2019-03-05 Nokia Technologies Oy Method and apparatus for providing quick access to device functionality
CN102624975A (zh) * 2011-06-30 2012-08-01 北京小米科技有限责任公司 一种移动终端解锁的方法
US9110580B2 (en) 2011-08-05 2015-08-18 Nokia Technologies Oy Apparatus comprising a display and a method and computer program
US8665236B2 (en) * 2011-09-26 2014-03-04 Apple Inc. Electronic device with wrap around display
KR20130068318A (ko) * 2011-12-15 2013-06-26 삼성전자주식회사 휴대단말기의 기능실행 장치 및 방법
US8762875B2 (en) 2011-12-23 2014-06-24 Blackberry Limited Posting activity visualization
US20130207913A1 (en) * 2012-02-09 2013-08-15 Sony Mobile Communications Inc. Touch panel device, portable terminal, position detecting method, and recording medium
US9164779B2 (en) 2012-02-10 2015-10-20 Nokia Technologies Oy Apparatus and method for providing for remote user interaction
KR20130099745A (ko) * 2012-02-29 2013-09-06 주식회사 팬택 터치 단말기의 입력 신호 구분 장치 및 방법
KR20130102298A (ko) * 2012-03-07 2013-09-17 주식회사 팬택 휴대용 단말기 및 휴대용 단말기의 디스플레이 제어 방법
US20130271447A1 (en) * 2012-04-11 2013-10-17 Nokia Corporation Apparatus and method for providing a digital bezel
KR101515623B1 (ko) * 2012-05-14 2015-04-28 삼성전자주식회사 벤디드 디스플레이를 갖는 휴대단말의 기능 운용 방법 및 장치
US9041667B2 (en) * 2012-06-12 2015-05-26 Blackberry Limited Electronic device and method of control of displays
KR101978206B1 (ko) * 2012-06-29 2019-05-14 엘지전자 주식회사 이동 단말기
ES2581486T3 (es) * 2012-07-27 2016-09-06 Huawei Device Co., Ltd. Método y dispositivo para desenclavar un economizador de pantalla
US9609108B2 (en) * 2012-09-26 2017-03-28 Kyocera Corporation Electronic device, control method, and control program
KR20140047388A (ko) * 2012-10-12 2014-04-22 삼성전자주식회사 휴대 단말기의 잠금 해제 운용 방법 및 장치
KR102114312B1 (ko) * 2012-10-29 2020-06-18 삼성디스플레이 주식회사 표시 장치 및 이의 화면 제어 방법
KR20140063228A (ko) * 2012-11-16 2014-05-27 삼성디스플레이 주식회사 유기 발광 표시 장치
KR102015913B1 (ko) 2012-11-22 2019-08-29 엘지전자 주식회사 이동 단말기 및 그 제어방법
GB201300031D0 (en) * 2013-01-02 2013-02-13 Canonical Ltd Ubuntu UX innovations
KR102131825B1 (ko) 2013-03-20 2020-07-09 엘지전자 주식회사 적응적 터치 센서티브 영역을 제공하는 폴더블 디스플레이 디바이스 및 그 제어 방법
WO2014157885A1 (en) * 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing menu interface
US10078365B2 (en) * 2013-04-19 2018-09-18 Lg Electronics Inc. Device for controlling mobile terminal and method of controlling the mobile terminal
US9910521B2 (en) * 2013-10-01 2018-03-06 Lg Electronics Inc. Control apparatus for mobile terminal and control method thereof
US9851896B2 (en) * 2013-12-17 2017-12-26 Google Inc. Edge swiping gesture for home navigation
CN104007932B (zh) * 2014-06-17 2017-12-29 华为技术有限公司 一种触摸点识别方法及装置
CN105278981A (zh) * 2014-07-25 2016-01-27 南京瀚宇彩欣科技有限责任公司 具多点触控功能的手持式电子装置、触控外盖及启动方法

Also Published As

Publication number Publication date
US10509530B2 (en) 2019-12-17
CN106662975A (zh) 2017-05-10
AU2015312632A1 (en) 2016-12-01
EP2993572A1 (en) 2016-03-09
WO2016036135A1 (en) 2016-03-10
US20160062556A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
KR20160027775A (ko) 터치 입력 처리 방법 및 그 장치
EP3483714B1 (en) Electronic device and operation method therefor
US8732624B2 (en) Protection for unintentional inputs
KR102485448B1 (ko) 제스처 입력을 처리하기 위한 전자 장치 및 방법
KR20180044129A (ko) 전자 장치 및 전자 장치의 지문 정보 획득 방법
KR102324083B1 (ko) 화면 확대 제공 방법 및 그 전자 장치
KR102429740B1 (ko) 터치 이벤트 처리 방법 및 그 장치
KR102398503B1 (ko) 입력의 압력을 감지하는 전자 장치 및 그 동작 방법
KR20160014481A (ko) Idle 모드에서 동작하는 전자 장치 및 방법
KR20170137404A (ko) 어플리케이션을 전환하기 위한 방법 및 그 전자 장치
KR20160036927A (ko) 고스트 터치 저감을 위한 방법 및 그 전자 장치
KR20160046401A (ko) 보안을 제어하기 위한 방법 및 그 전자 장치
KR20160026337A (ko) 전자장치의 통지 이벤트 처리 방법 및 그 전자 장치
KR20170036424A (ko) 터치 속성에 대응하는 이벤트를 제공하기 위한 방법 및 그 전자 장치
KR20160034135A (ko) 터치 입력을 처리하는 전자 장치 및 방법
KR102536148B1 (ko) 전자 장치의 동작 방법 및 장치
KR20180089088A (ko) 전자장치 및 이를 사용하여 디스플레이에 연동된 생체 센서의 제어 방법
KR20170089655A (ko) 뷰 계층(뷰 레이어)들을 이용하여 입력을 처리하는 방법 및 전자장치
KR102544716B1 (ko) 화면 출력 방법 및 이를 지원하는 전자 장치
KR102253155B1 (ko) 사용자 인터페이스를 제공하는 방법 및 이를 위한 전자 장치
EP3029559A1 (en) Electro device and method for processing touch input
KR20170130156A (ko) 사용자 데이터를 저장하는 전자 장치 및 그 방법
KR102553558B1 (ko) 전자 장치 및 전자 장치의 터치 이벤트 처리 방법
KR20180052951A (ko) 객체 정보를 제공하기 위한 방법 및 그 전자 장치
KR20170019808A (ko) 전자 장치에서 사용자 입력을 처리하는 방법 및 그 전자 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application