KR20160026342A - 유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법 - Google Patents

유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법 Download PDF

Info

Publication number
KR20160026342A
KR20160026342A KR1020140114613A KR20140114613A KR20160026342A KR 20160026342 A KR20160026342 A KR 20160026342A KR 1020140114613 A KR1020140114613 A KR 1020140114613A KR 20140114613 A KR20140114613 A KR 20140114613A KR 20160026342 A KR20160026342 A KR 20160026342A
Authority
KR
South Korea
Prior art keywords
user input
attribute
processor
electronic device
controlling
Prior art date
Application number
KR1020140114613A
Other languages
English (en)
Other versions
KR102294705B1 (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 삼성전자주식회사
Priority to KR1020140114613A priority Critical patent/KR102294705B1/ko
Priority to US14/840,724 priority patent/US10296203B2/en
Publication of KR20160026342A publication Critical patent/KR20160026342A/ko
Application granted granted Critical
Publication of KR102294705B1 publication Critical patent/KR102294705B1/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
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/80Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 다양한 실시 예들은 전자 장치에 관한 것으로, 상기 전자 장치는 적어도 하나 이상의 오브젝트를 스크린에 디스플레이하는 디스플레이 모듈; 유저 입력을 수신하는 유저 입력 모듈; 및 상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여, 상기 오브젝트의 속성을 제어하는 프로세서를 포함하는 것을 특징으로 할 수 있다. 이 외에도, 명세서를 통해 파악될 수 있는 다른 실시 예들이 가능하다.

Description

유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법{Device for Controlling Object Based on User Input and Method thereof}
본 발명의 다양한 실시 예는, 유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, PDA(Personal Digital Assistant), 전자수첩, 스마트 폰, 태블릿 PC(Personal Computer) 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 전자 장치가 다양하게 출시되고 있다. 이러한 전자 장치는 각자의 전통적인 고유 영역에 머무르지 않고 다른 단말들의 영역까지 아우르는 모바일 컨버전스(mobile convergence)에 이르고 있다.
대표적으로, 전자 장치는 음성통화 및 영상통화 등과 같은 통화 기능, SMS(Short Message Service)/MMS(Multimedia Message Service) 및 이메일 등과 같은 메시지 송수신 기능, 전자수첩 기능, 촬영 기능, 방송 재생 기능, 동영상 재생 기능, 음악 재생 기능, 인터넷 기능, 메신저 기능 및 소셜 네트워크 서비스(SNS, Social Networking Service) 기능 등을 구비할 수 있다.
한편 전자 장치의 UI(user interface) 또는 사용자 경험(UX, user experience)이 발달하면서, 애플리케이션의 실행, 화면 전환 등에 있어서 다양한 효과들이 함께 제공되고 있다.
본 발명의 다양한 실시 예는, 유저 입력에 기초한 오브젝트의 속성을 제어하는 전자 장치 및 방법을 제공할 수 있다. 또한, 본 발명의 다양한 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 다양한 실시 예에 따른 전자 장치는 적어도 하나 이상의 오브젝트를 스크린에 디스플레이하는 디스플레이 모듈; 유저 입력을 수신하는 유저 입력 모듈; 및 상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여, 상기 오브젝트의 속성을 제어하는 프로세서를 포함하는 것을 특징으로 할 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 다양한 실시 예에 따른 오브젝트 제어 방법은, 적어도 하나 이상의 오브젝트를 스크린에 디스플레이하는 동작; 유저 입력을 수신하는 동작; 및 상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여, 상기 오브젝트의 속성을 제어하는 동작을 포함하는 것을 특징으로 할 수 있다.
전술한 본 발명의 과제 해결 수단 중 적어도 어느 하나에 의하면, 본 발명의 다양한 실시 예에 따른 전자 장치 및 방법은, 유저 입력에 기초하여 상기 전자 장치의 스크린에 디스플레이된 오브젝트의 속성을 제어할 수 있다. 따라서, 사용자의 의도에 맞지 않게 오브젝트가 자동적으로 유저 입력을 피해 좌표를 이동하는 것을 방지하고, 상기 오브젝트에 의해 유저 입력이 적용되지 않는 것을 방지하는 등 사용자 편의를 도모할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른, 네트워크 환경 내의 전자 장치를 도시한 도면이다.
도 2는 본 발명의 다양한 실시 예에 따른, 전자 장치의 블록도이다.
도 3은 본 발명의 다양한 실시 예에 따른, 프로그램 모듈의 블록도이다.
도 4는 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초한 오브젝트 효과를 디스플레이하는 전자 장치의 구성도이다.
도 5a는 본 발명의 다양한 실시 예에 따른, 이미지 오브젝트 위에 텍스트를 입력하는 방법을 나타낸 도면이다.
도 5b는 본 발명의 다양한 실시 예에 따른, 이미지 오브젝트를 선택하는 방법을 나타낸 도면이다.
도 5c는 본 발명의 다양한 실시 예에 따른, 유저 입력의 속성에 기초한 드로잉 오브젝트와 이미지 오브젝트와의 관계를 나타낸 도면이다.
도 6은 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초하여 메뉴 오브젝트의 투명도가 조정되는 방법을 나타낸 도면이다.
도 7은 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초하여 이미지 오브젝트의 색상이 조정되는 방법을 나타낸 도면이다.
도 8은 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초하여 이미지 오브젝트의 순서가 조정되는 방법을 나타낸 도면이다.
도 9는 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초하여 이미지 오브젝트를 포함하는 레이어의 순서가 조정되는 방법을 나타낸 도면이다.
도 10은 본 발명의 다른 다양한 실시 예에 따른, 유저 입력에 기초하여 이미지 오브젝트의 투명도가 조정되는 방법을 나타낸 도면이다.
도 11은 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초하여 이미지 오브젝트의 적어도 일부에 변형을 가하는 동작을 나타낸 도면이다.
도 12는 본 발명의 다양한 실시 예에 따른, 이미지 오브젝트의 속성에 기초하여 드로잉 오브젝트의 변화를 나타낸 도면이다.
도 13은 본 발명의 다른 다양한 실시 예에 따른, 이미지 오브젝트의 속성에 기초하여 드로잉 오브젝트의 변화를 나타낸 도면이다.
도 14는 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초한 오브젝트의 속성을 제어하는 방법을 나타낸 순서도이다.
이하, 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경 (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)를 의미할 수 있다.
본 발명의 다양한 실시 예에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 도 1 내지 도 11을 통해 후술할, 유저 입력에 기초한 오브젝트 효과를 디스플레이하는 전자 장치일 수 있다. 예를 들면, 전자 장치는 스마트폰 (smartphone), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 화상 전화기, 전자북 리더기 (e-book reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 장치 (wearable device)(예: 스마트 안경, 머리 착용형 장치 (head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리 (appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치 (smart watch))중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예에서, 전자 장치는 유저 입력에 기초한 오브젝트 효과를 디스플레이하는 스마트 가전 제품 (smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD (digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (set-top box), 홈 오토매이션 컨트롤 패널 (home automation control panel), 보안 컨트롤 패널 (security control panel), TV 박스 (예: 삼성 HomeSync™, 애플TV™ 또는 구글 TV™, 게임 콘솔 (예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더 (camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예에서, 전자 장치는, 유저 입력에 기초한 오브젝트 효과를 디스플레이하는 각종 의료기기 (예: 각종 휴대용 의료측정기기 (혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), 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? machine), 상점의 POS (point of sales), 또는 사물 인터넷 장치 (internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기 (thermostat), 가로등, 토스터 (toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예에서, 전자 장치는 유저 입력에 기초한 오브젝트 효과를 디스플레이하는 가구 (furniture) 또는 건물/구조물의 일부, 전자 보드 (electronic board), 전자 사인 수신 장치 (electronic signature receiving device), 프로젝터 (projector), 또는 각종 계측 기기 (예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다.
본 발명의 다양한 실시 예에서, 전자 장치는 유저 입력에 기초한 오브젝트 효과를 디스플레이하는 플렉서블 전자 장치일 수 있다.
또한, 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 본 발명의 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른, 네트워크 환경 내의 전자 장치를 도시한 도면이다. 상기 전자 장치 101은 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 150, 디스플레이 160, 및 통신 인터페이스 170을 포함할 수 있다. 본 발명의 다양한 실시 예에서, 전자 장치 101은, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스 110은, 예를 들면, 상기 구성요소들 110 내지 170을 서로 연결하고, 상기 구성요소들 간의 통신 (예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서 120은, 중앙처리장치 (central processing unit (CPU)), 어플리케이션 프로세서 (application processor (AP)), 또는 커뮤니케이션 프로세서 (communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서 120은, 예를 들면, 상기 전자 장치 101의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리 130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리 130은, 예를 들면, 상기 전자 장치 101의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 상기 메모리 130은 소프트웨어 및/또는 프로그램 140을 저장할 수 있다. 상기 프로그램 140은, 예를 들면, 커널 141, 미들웨어 143, 어플리케이션 프로그래밍 인터페이스 (application programming interface (API)) 145, 및/또는 어플리케이션 프로그램 (또는 "어플리케이션") 147 등을 포함할 수 있다. 상기 커널 141, 미들웨어 143, 또는 API 145의 적어도 일부는, 운영 시스템 (operating system (OS))라 불릴 수 있다.
상기 커널 141은, 예를 들면, 다른 프로그램들 (예: 미들웨어 143, API 145, 또는 어플리케이션 프로그램 147)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들 (예: 버스 110, 프로세서 120, 또는 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 141은 상기 미들웨어 143, 상기 API 145, 또는 상기 어플리케이션 프로그램 147에서 상기 전자 장치 101의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 143은, 예를 들면, 상기 API 145 또는 상기 어플리케이션 프로그램 147이 상기 커널 141과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 143은 상기 어플리케이션 프로그램 147로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 프로그램 147 중 적어도 하나의 어플리케이션에 상기 전자 장치 101의 시스템 리소스 (예: 버스 110, 프로세서 120, 또는 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어 (예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API 145는, 예를 들면, 상기 어플리케이션 147이 상기 커널 141 또는 상기 미들웨어 143에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수 (예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스 150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치 101의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스 150은 상기 전자 장치 101의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이 160은, 예를 들면, 액정 디스플레이 (LCD), 발광 다이오드 (LED) 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (microelectromechanical systems (MEMS)) 디스플레이, 또는 전자종이 (electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이 160은, 예를 들면, 사용자에게 각종 콘텐츠 (예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 상기 디스플레이 160은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
상기 통신 인터페이스 170은, 예를 들면, 상기 전자 장치 101와 외부 장치 (예: 제1 외부 전자 장치 102, 제2 외부 전자 장치 104, 또는 서버 106) 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스 170은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치 (예: 제2 외부 전자 장치 104 또는 서버 106)와 통신할 수 있다.
상기 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB (universal serial bus), HDMI (high definition multimedia interface), RS-232 (recommended standard 232), 또는 POTS (plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 네트워크 162는 통신 네트워크 (telecommunications network), 예를 들면, 컴퓨터 네트워크 (computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망 (telephone network) 중 적어도 하나를 포함할 수 있다.
상기 제1 및 제2 외부 전자 장치 102, 104 각각은 상기 전자 장치 101와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 상기 서버 106은 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 상기 전자 장치 101에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치 (예: 전자 장치 102, 104, 또는 서버 106)에서 실행될 수 있다. 한 실시 예에 따르면, 상기 전자 장치 101이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 상기 전자 장치 101은 상기 기능 또는 상기 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치 (예: 전자 장치 102, 104, 또는 서버 106)에게 요청할 수 있다. 상기 다른 전자 장치 (예: 전자 장치 102, 104, 또는 서버 106)는 상기 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 상기 전자 장치 101로 전달할 수 있다. 상기 전자 장치 101은 수신된 결과를 그대로 또는 추가적으로 처리하여 상기 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 본 발명의 다양한 실시 예에 따른, 전자 장치의 블록도 200이다. 상기 전자 장치는, 예를 들면, 도 1에 도시된 전자 장치 101의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치는 하나 이상의 어플리케이션 프로세서 (AP: application processor) 210, 통신 모듈 220, SIM (subscriber identification module) 카드 224, 메모리 230, 센서 모듈 240, 입력 장치 250, 디스플레이 260, 인터페이스 270, 오디오 모듈 280, 카메라 모듈 291, 전력 관리 모듈 295, 배터리 296, 인디케이터 297, 및 모터 298 를 포함할 수 있다.
상기 AP 210은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP 210에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 210은, 예를 들면, SoC (system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP 210은 GPU (graphic processing unit) 및/또는 이미지 신호 프로세서 (image signal processor)를 더 포함할 수 있다. 상기 AP 210은 도 2에 도시된 구성요소들 중 적어도 일부 (예: 셀룰러 모듈 221)를 포함할 수도 있다. 상기 AP 210 는 다른 구성요소들 (예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드 (load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장 (store)할 수 있다.
상기 통신 모듈 220은, 도 1의 상기 통신 인터페이스 170와 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈 220은, 예를 들면, 셀룰러 모듈 221, WIFI 모듈 223, BT 모듈 225, GPS 모듈 227, NFC 모듈 228 및 RF (radio frequency) 모듈 229를 포함할 수 있다.
상기 셀룰러 모듈 221은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 221은 가입자 식별 모듈 (예: SIM 카드 224)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 221은 상기 AP 210이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 221은 커뮤니케이션 프로세서 (CP: communication processor)를 포함할 수 있다.
상기 WIFI 모듈 223, 상기 BT 모듈 225, 상기 GPS 모듈 227 또는 상기 NFC 모듈 228 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 본 발명의 다양한 실시 예에 따르면, 셀룰러 모듈 221, WIFI 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228 중 적어도 일부 (예: 두 개 이상)는 하나의 integrated chip (IC) 또는 IC 패키지 내에 포함될 수 있다.
상기 RF 모듈 229는, 예를 들면, 통신 신호 (예: RF 신호)를 송수신할 수 있다. 상기 RF 모듈 229는, 예를 들면, 트랜시버 (transceiver), PAM (power amp module), 주파수 필터 (frequency filter), LNA (low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 221, WIFI 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
상기 SIM 카드 224는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM (embedded SIM)을 포함할 수 있으며, 고유한 식별 정보 (예: ICCID (integrated circuit card identifier)) 또는 가입자 정보 (예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 230 (예: 메모리 230)는, 예를 들면, 내장 메모리 232 또는 외장 메모리 234를 포함할 수 있다. 상기 내장 메모리 232는, 예를 들면, 휘발성 메모리 (예: DRAM (dynamic RAM), SRAM (static RAM), 또는 SDRAM (synchronous dynamic RAM) 등), 비휘발성 메모리 (non-volatile Memory) (예: OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브 (solid state drive (SSD)) 중 적어도 하나를 포함할 수 있다.
상기 외장 메모리 234는 flash drive, 예를 들면, CF (compact flash), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), 또는 메모리 스틱 (memory stick) 등을 더 포함할 수 있다. 상기 외장 메모리 234는 다양한 인터페이스를 통하여 상기 전자 장치와 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈 240은, 예를 들면, 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 240은, 예를 들면, 제스처 센서 240A, 자이로 센서 240B, 기압 센서 240C, 마그네틱 센서 240D, 가속도 센서 240E, 그립 센서 240F, 근접 센서 240G, color 센서 240H (예: RGB (red, green, blue) 센서), 생체 센서 240I, 온/습도 센서 240J, 조도 센서 240K, 또는 UV (ultra violet) 센서 240M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 240은, 예를 들면, 후각 센서 (E-nose sensor), EMG 센서 (electromyography sensor), EEG 센서 (electroencephalogram sensor), ECG 센서 (electrocardiogram sensor), IR (infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 상기 센서 모듈 240은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 본 발명의 다양한 실시 예에서, 전자 장치는 AP 210의 일부로서 또는 별도로, 센서 모듈 240을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP 210이 슬립 (sleep) 상태에 있는 동안, 센서 모듈 240을 제어할 수 있다.
상기 입력 장치 250은, 예를 들면, 터치 패널 (touch panel) 252, (디지털) 펜 센서 (pen sensor) 254, 키 (key) 256, 또는 초음파 (ultrasonic) 입력 장치 258을 포함할 수 있다. 상기 터치 패널 252는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널 252는 제어 회로를 더 포함할 수도 있다. 상기 터치 패널 252는 택타일 레이어 (tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 254는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트 (sheet)를 포함할 수 있다. 상기 키 256은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치 258은 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치에서 마이크 (예: 마이크 288)로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이 260 (예: 디스플레이 160)은 패널 262, 홀로그램 장치 264, 또는 프로젝터 266을 포함할 수 있다. 상기 패널 262는, 도 1의 디스플레이 160과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널 262는, 예를 들면, 유연하게 (flexible), 투명하게 (transparent), 또는 착용할 수 있게 (wearable) 구현될 수 있다. 상기 패널 262는 상기 터치 패널 252과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 264는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 266은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 상기 디스플레이 260은 상기 패널 262, 상기 홀로그램 장치 264, 또는 프로젝터 266을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 270은, 예를 들면, HDMI (high-definition multimedia interface) 272, USB (universal serial bus) 274, 광 인터페이스 (optical interface) 276, 또는 D-sub (D-subminiature) 278을 포함할 수 있다. 상기 인터페이스 270은, 예를 들면, 도 1에 도시된 통신 인터페이스 170에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 270은, 예를 들면, MHL (mobile high-definition link) 인터페이스, SD (secure digital) 카드/MMC (multi-media card) 인터페이스, 또는 IrDA (infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 280은, 예를 들면, 소리 (sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 280의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 140에 포함될 수 있다. 상기 오디오 모듈 280은, 예를 들면, 스피커 282, 리시버 284, 이어폰 286, 또는 마이크 288 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 291은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서 (예: 전면 센서 또는 후면 센서), 렌즈, ISP (image signal processor), 또는 플래쉬 (flash)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈 295는, 예를 들면, 상기 전자 장치의 전력을 관리할 수 있다. 한 실시 예에 따르면, 상기 전력 관리 모듈 295는 PMIC (power management integrated circuit), 충전 IC (charger integrated circuit), 또는 배터리 또는 연료 게이지 (battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리 296의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리 296은, 예를 들면, 충전식 전지 (rechargeable battery) 및/또는 태양 전지 (solar battery)를 포함할 수 있다.
상기 인디케이터 297은 상기 전자 장치 혹은 그 일부 (예: AP 210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 298은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동 (vibration), 또는 햅틱 (haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 상기 전자 장치는 모바일 TV 지원을 위한 처리 장치 (예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB (digital multimedia broadcasting), DVB (digital video broadcasting), 또는 미디어 플로우 (media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품 (component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체 (entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 3은 본 발명의 다양한 실시 예에 따른, 프로그램 모듈 310의 블록도 300이다. 한 실시 예에 따르면, 상기 프로그램 모듈 310 (예: 프로그램 140)은 전자 장치 (예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제 (operation system (OS)) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션 (예: 어플리케이션 프로그램 147)을 포함할 수 있다. 상기 운영 체제는, 예를 들면, 안드로이드 (android), iOS, 윈도우즈 (windows), 심비안 (symbian), 타이젠 (tizen), 또는 바다 (bada) 등이 될 수 있다.
프로그램 모듈 310은 커널 320, 미들웨어 330, API (application programming interface) 360, 및/또는 어플리케이션 370을 포함할 수 있다. 상기 프로그램 모듈 310의 적어도 일부는 전자 장치 상에 프리로드 (preload) 되거나, 서버 (예: 서버 106)로부터 다운로드 (download) 가능하다.
상기 커널 320 (예: 도 1의 커널 141)은, 예를 들면, 시스템 리소스 매니저 321 또는 디바이스 드라이버 323을 포함할 수 있다. 상기 시스템 리소스 매니저 321은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 상기 시스템 리소스 매니저 321은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 디바이스 드라이버 323은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WIFI 드라이버, 오디오 드라이버, 또는 IPC (inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어 330은, 예를 들면, 상기 어플리케이션 370이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션 370이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API 360을 통해 다양한 기능들을 상기 어플리케이션 370으로 제공할 수 있다. 한 실시 예에 따르면, 상기 미들웨어 330 (예: 미들웨어 143)는 런타임 라이브러리 335, 어플리케이션 매니저 (application manager) 341, 윈도우 매니저 (window manager) 342, 멀티미디어 매니저 (multimedia manager) 343, 리소스 매니저 (resource manager) 344, 파워 매니저 (power manager) 345, 데이터베이스 매니저 (database manager) 346, 패키지 매니저 (package manager) 347, 연결 매니저 (connectivity manager) 348, 통지 매니저 (notification manager) 349, 위치 매니저 (location manager) 350, 그래픽 매니저 (graphic manager) 351, 또는 보안 매니저 (security manager) 352 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리 335는, 예를 들면, 상기 어플리케이션 370이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리 335는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저 341은, 예를 들면, 상기 어플리케이션 370 중 적어도 하나의 어플리케이션의 생명 주기 (life cycle)를 관리할 수 있다. 상기 윈도우 매니저 342는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저 343은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱 (codec)을 이용하여 미디어 파일의 인코딩 (encoding) 또는 디코딩 (decoding)을 수행할 수 있다. 상기 리소스 매니저 344는 상기 어플리케이션 370 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저 345는, 예를 들면, 바이오스 (BIOS: basic input/output system) 등과 함께 동작하여 배터리 (battery) 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저 346은 상기 어플리케이션 370 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저 347은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저 348은, 예를 들면, WIFI 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저 349는 도착 메시지, 약속, 근접성 알림 등의 사건 (event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저 350은 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저 351은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저 352는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치 (예: 전자 장치 101)가 전화 기능을 포함한 경우, 상기 미들웨어 330은 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저 (telephony manager)를 더 포함할 수 있다.
상기 미들웨어 330은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어 330은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어 330은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API 360 (예: API 145)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠 (tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션 370 (예: 어플리케이션 프로그램 147)은, 예를 들면, 홈 371, 다이얼러 372, SMS/MMS 373, IM (instant message) 374, 브라우저 375, 카메라 376, 알람 377, 컨택트 378, 음성 다이얼 379, 이메일 380, 달력 381, 미디어 플레이어 382, 앨범 383, 또는 시계 384, 건강 관리 (health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공 (예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 370은 상기 전자 장치 (예: 전자 장치 101)와 외부 전자 장치 (예: 전자 장치 102, 104) 사이의 정보 교환을 지원하는 어플리케이션 (이하, 설명의 편의 상, "정보 교환 어플리케이션")을 포함할 수 있다. 상기 정보 교환 어플리케이션은, 예를 들면, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달 (notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리 (device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치의 다른 어플리케이션 (예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치 (예: 전자 장치 102, 104)로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치와 통신하는 외부 전자 장치 (예: 전자 장치 104)의 적어도 하나의 기능 (예: 외부 전자 장치 자체 (또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기 (또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스 (예: 통화 서비스 또는 메시지 서비스)를 관리 (예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 370은 상기 외부 전자 장치 (예: 전자 장치 102, 104)의 속성 (예: 전자 장치의 속성으로서, 전자 장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션 (예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 370은 외부 전자 장치 (예: 서버 106 또는 전자 장치 102, 104)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 370은 프리로드 어플리케이션 (preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션 (third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 310의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 상기 프로그램 모듈 310의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 상기 프로그램 모듈 310의 적어도 일부는, 예를 들면, 프로세서 (예: AP 210)에 의해 구현 (implement)(예: 실행)될 수 있다. 상기 프로그램 모듈 310의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
도 4는 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초한 오브젝트 효과를 디스플레이하는 전자 장치 400의 구성도이다. 도 4를 참조하면, 전자 장치 400은 디스플레이 모듈 410, 유저 입력 모듈 420, 프로세서 430 및 메모리 440을 포함할 수 있다. 다만, 도 4에 도시된 전자 장치 400은 본 발명의 하나의 구현 예에 불과하며, 도 4에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 예를 들어, 전자 장치 400은 사용자로부터 어떤 명령 내지 정보를 입력받기 위한 키보드, 마우스 등의 유저 인터페이스가 더 포함될 수 있다.
디스플레이 모듈 410은, 예를 들어, 터치 스크린 (touch screen panel; TSP)모듈로서, 적어도 하나의 터치 센서 및 디스플레이 화면을 포함할 수 있다. 상기 적어도 하나의 터치 센서 및 디스플레이 화면은 터치 스크린 패널로서 전자 장치 400에 구비될 수 있다. 예를 들어, 터치 스크린 모듈 410은, 도 2에 도시된 디스플레이 260과 적어도 동일하거나 유사한 구성을 포함할 수 있다.
디스플레이 모듈 410은 적어도 하나 이상의 오브젝트를 스크린(예: 상기 디스플레이 화면)에 디스플레이할 수 있다. 상기 오브젝트는 유저 입력을 통해 각각 독립적으로 제어 가능한 객체로서, 다양한 속성(종류)을 가질 수 있다. 예를 들어, 상기 오브젝트는 메뉴 오브젝트, 이미지 오브젝트, 도형 오브젝트, 드로잉 오브젝트, 및 다양한 오브젝트 그룹을 데이터로 포함하는 복수의 오브젝트를 포함하는 레이어 오브젝트 등을 포함할 수 있다. 상기 오브젝트들은, 프로세서 430에 의해 실행된 이미지 편집 어플리케이션, 또는 메모 어플리케이션 등을 통해 디스플레이되는 것일 수 있다. 이하에서는 상기 이미지 편집 어플리케이션, 또는 메모 어플리케이션 등이 실행된 상태를 가정하고 설명하겠다.
유저 입력 모듈 420은 사용자로부터 유저 입력을 수신할 수 있다. 여기서, 유저 입력 모듈 420은 디스플레이 모듈 410에 포함된 구성일 수 있다. 또는, 유저 입력 모듈 420은, 예를 들어, 도 1에 도시된 입출력 인터페이스 150에 포함된 적어도 일부의 구성에 대응할 수 있다.
상기 유저 입력은, 예를 들어, 손가락 또는 S-펜 등의 스타일러스(stylus) 등을 이용한 상기 스크린 상의 터치 입력을 포함할 수 있다. 상기 터치 입력은, 손가락 또는 스타일러스와 전자 장치 101의 스크린이 물리적으로 접촉한 상태를 의미할 수 있다.
그러나, 스크린 또는 전자 장치 400이 지원하는 특성에 따라, 손가락 또는 스타일러스가 상기 스크린과 접촉하지 않은 상태에서도 본 발명의 다양한 실시 예에 따른 유저 입력이 구현될 수 있다. 예를 들어, 손가락이 상기 스크린으로부터 소정 거리만큼 근접한 경우, 전자 장치 400은 손가락에 의한 전자기장의 변화량을 검출할 수 있고, 이를 이용하여 유저 입력 모듈 420은 유저 입력이 이루어지는지 여부를 판단할 수 있다(호버(hover) 입력). 이와 유사한 방식으로, 유저 입력 모듈 420은 스타일러스가 스크린에 근접하였을 때 터치 입력이 발생하는 것으로 판단할 수 있다.
본 발명의 다른 다양한 실시 예에 따르면, 유저 입력 모듈 420은 센서(예를 들어, 도 2의 제스쳐 센서 240A)를 이용하여 모션(motion) 기반의 유저 입력을 수신할 수 있다. 예를 들어, 유저 입력 모듈 420은 사용자가 손을 움직이는 동작을 터치 무브(touch move)로 인식할 수 있다.
유저 입력 모듈 420은 상기 유저 입력의 상태를 판단할 수 있다. 예를 들어, 유저 입력 모듈 420은 상기 유저 입력을 지속적으로 트랙킹함으로써, 상기 유저 입력의 터치 다운, 터치 드래그, 및 터치 릴리즈를 판단할 수 있다.
프로세서 430은, 예를 들어, 도 1에 도시된 프로세서 120와 적어도 동일하거나 유사한 구성을 포함할 수 있다. 프로세서 430은 상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여 상호 좌표가 대응하는 경우, 상기 오브젝트의 속성을 제어할 수 있다. 이 경우, 상기 오브젝트의 좌표는 고정된 채로 기 설정된 효과를 디스플레이될 수 있다. 상기 오브젝트의 좌표는 상기 실행된 어플리케이션으로부터 획득될 수도 있고, 또는 메모리 440으로부터 획득될 수 있다. 또한, 상기 유저 입력의 좌표는 유저 입력 모듈 420으로부터 획득될 수 있다.
유저 입력이 상기 스크린 위를 이동한 경우(예: 터치 드래그), 프로세서 430은 상기 유저 입력이 이동한 거리와 해당 거리를 이동하는데 소요된 시간을 계산(측정)할 수 있다. 이를 통해, 프로세서 430은 상기 유저 입력의 의도를 파악할 수 있다.
예를 들어, 프로세서 430은 상기 유저 입력의 단위 시간당 이동 거리가 기 설정된 값(threshold) 이상인 경우, 상기 오브젝트를 상기 유저 입력에 대해 비활성화시킬 수 있다. 이와 반대로, 프로세서 430은 상기 유저 입력의 단위 시간당 이동 거리가 기 설정된 값 미만인 경우, 상기 유저 입력을 롱 프레스(long press)로 판단하고, 상기 유저 입력을 통해 상기 오브젝트를 선택할 수 있다.
상기 유저 입력의 현재 좌표가 상기 오브젝트의 좌표에 대응하는 경우, 프로세서 430은 상기 유저 입력의 터치 다운 event가 상기 오브젝트 위에서 발생된 것인지 여부를 판단할 수 있다. 예를 들어, 프로세서 430의 판단 결과, 상기 유저 입력의 터치 다운 event가 상기 오브젝트의 밖에서 발생한 후, 터치 드래그를 통해 상호 좌표가 대응하게 된 것이라면, 프로세서 430은 상기 유저 입력을 그림을 그리는 유저 입력, 또는 글씨를 쓰는 유저 입력 등으로 판단할 수 있다. 반대로, 상기 유저 입력의 터치 다운 event가 상기 오브젝트 위에서 발생된 것인 경우, 프로세서 430은 상기 유저 입력이 상기 오브젝트를 선택하기 위한 유저 입력인 것으로 판단할 수 있다. 다만, 상기와 같은 프로세서 430의 판단은, 상기 유저 입력의 단위 시간당 이동 거리를 더 고려하여 결정될 수 있다.
프로세서 430은 상기 오브젝트에 대한 기 설정된 효과로서, 상기 오브젝트의 투명도를 조정할 수 있다. 예를 들어, 불투명한 오브젝트는 반투명 또는 투명한 오브젝트가 될 수 있다.
복수의 오브젝트가 있는 경우, 프로세서 430은 상기 오브젝트의 우선 순위를 조정할 수 있다. 상기 우선 순위는, 예를 들면, 스크린의 법선 방향(스크린으로부터 상기 스크린을 보는 사용자의 방향)으로의 디스플레이 순서를 나타내는 것일 수 있다. 즉, 상기 우선 순위는 겹쳐진 오브젝트에 있어서, 겹쳐진 순서를 나타내는 것일 수 있다.
또한, 프로세서 430은 상기 오브젝트의 속성(종류) 별로 서로 다른 효과를 디스플레이할 수 있다. 예를 들어, 상기 기 설정된 효과는 상기 오브젝트의 속성 별로 다르게 메모리 440에 저장되어있을 수 있다.
본 발명의 다양한 실시 예에 따르면, 프로세서 430가 디스플레이한 상기 오브젝트에 대한 기 설정된 효과는 일시적인 것일 수 있다. 예를 들어, 투명해진 오브젝트는, 상기 유저 입력의 좌표와 상기 오브젝트의 좌표가 더 이상 대응하지 않게 되는 경우, 다시 불투명해질 수 있다.
앞서 설명했듯이, 상기 오브젝트는 실행된 상기 이미지 편집 어플리케이션, 또는 메모 어플리케이션 등에 대한 것일 수 있다. 따라서, 상기와 같은 어플리케이션이 실행되고 있지 않은 경우에, 프로세서 430은 기 설정된 효과를 디스플레이하지 않도록 프로그래밍될 수 있다.
정리하면, 프로세서 430은 오브젝트를 활성화시켜 상기 오브젝트가 선택되는 동작; 상기 오브젝트를 비활성화시켜 상기 오브젝트가 선택되지 않는 동작; 상기 오브젝트의 투명도를 제어하는 동작; 또는 둘 이상의 중첩된 오브젝트의 겹쳐진 순서를 조정하는 동작을 통해 상기 오브젝트의 속성을 제어할 수 있다.
또한, 프로세서 430은, 터치 다운, 터치 무브, 및 터치 릴리즈를 포함하는 상기 유저 입력의 상태, 상기 유저 입력의 이동 속도, 상기 유저 입력의 기울기, 상기 유저 입력의 압력, 상기 유저 입력의 로테이션(rotation) 여부, 상기 유저 입력이 터치 입력인지 호버(hover) 입력인지 여부, 및 상기 유저 입력이 시작된 위치가 상기 오브젝트의 영역 내인지 여부 중 적어도 하나 이상에 기초하여 상기 오브젝트의 속성을 제어할 수 있다. 여기서, 유저 입력의 로테이션(rotation)은 사용자가 스타일러스를 돌림으로 인한 상기 스타일러스의 자체 회전을 의미하는 것일 수 있다.
메모리 440은 데이터를 저장할 수 있다. 메모리 440은, 예를 들어, 도 1에 도시된 메모리 130과 적어도 동일하거나 유사한 구성을 포함할 수 있다. 이 때, 메모리 440에 저장되는 데이터는 전자 장치 400 내부의 각 구성요소들 간에 입력 및 출력되는 데이터를 포함하고, 전자 장치 400과 전자 장치 400 외부의 구성요소들간에 입력 및 출력되는 데이터를 포함한다. 예를 들어, 메모리 440은 유저 입력 모듈 420에서 수신하는 유저 입력에 대한 좌표 정보, 이동 거리 정보 및 이동 시간 정보 등을 저장할 수 있다. 또한, 메모리 440은 상기 오브젝트의 속성 별 기 설정된 효과를 저장하고 있을 수 있다.
이러한 메모리 440의 일 예에는 전자 장치 400 내부 또는 외부에 존재하는 하드디스크드라이브, ROM(read only memory), RAM(random access memory), 플래쉬메모리 및 메모리카드 등이 포함된다.
당업자라면, 디스플레이 모듈 410, 유저 입력 모듈 420, 프로세서 430 및 메모리 440 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
이하에서는 도 5 내지 도 10을 통해, 프로세서 430에서 수행되는 다양한 동작을 설명하겠다.
도 5a는 본 발명의 다양한 실시 예에 따른, 텍스트 515a를 이미지 오브젝트 520 위에 입력하는 방법을 나타낸 도면이다. 또한, 도 5b는 본 발명의 다양한 실시 예에 따른, 이미지 오브젝트 520을 선택하는 방법을 나타낸 도면이다.
도 5a를 참조하면, 전자 장치 500은 스크린 505 위에 특정 어플리케이션을 통해 이미지 오브젝트 520을 디스플레이할 수 있다. 메뉴 오브젝트 530은 상기 특정 어플리케이션에서 쓰이는 기능 들을 모아놓은 것일 수 있다.
사용자는 스타일러스 510을 이용하여 스크린 505 위에 KIT(드로잉 오브젝트)를 입력함으로써 필기 오브젝트 515a를 생성할 수 있다. KIT에서 'KI' 부분은 이미지 오브젝트 520의 밖(외부)에 있으므로, 문제될 것이 없다. 다만, 'T'는 이미지 오브젝트 520 위에 있으므로, 사용자가 'T'를 쓰기위해 스타일러스 510은 이미지 오브젝트 520 위로 옮겼을 때(또는 이미지 오브젝트 520 위에 직접 터치 다운했을 때) 프로세서 430은 상기 유저 입력이 어떠한 지시를 내리는 것인지 판단할 수 있다. 상기 판단의 기준으로서, 프로세서 430은 상기 유저 입력의 단위 시간당 이동 거리를 이용할 수 있다.
도 5a에서는 사용자가 'T'를 스크린 505 위에 쓰는 단위 시간당 이동 거리가 기 설정된 값(threshold) 이상이었기 때문에, 프로세서 430은 상기 유저 입력을 글씨를 쓰는 유저 입력으로 판단할 수 있다. 따라서, 프로세서 430은 이미지 오브젝트 520 위에 터치 다운된 상기 유저 입력에 불구하고, 이미지 오브젝트 520을 비활성화할(예: 선택하지 않음) 수 있다. 만일, 사용자가 'T'를 스크린 505 위에 쓰는 단위 시간당 이동 거리가 기 설정된 값(threshold) 미만이었다면, 프로세서 430은 상기 유저 입력을 이미지 오브젝트 520을 선택하는 유저 입력으로 판단할 수 있다.
도 5b를 참조하면, 스크린 505 위에는 KITTY를 포함하는 드로잉 오브젝트 515b가 디스플레이되어 있다. 또한, KITTY 중 'TTY' 는 이미지 오브젝트 520 위에 디스플레이되어 있다. 사용자는 스타일러스 510를 통해 KITTY를 입력한 후 터치 릴리즈하지 않고, 스타일러스 510을 'Y'를 입력한 곳에 롱프레스하고 있을 수 있다.
스타일러스 510은 상기 위치에서 흔들림 등으로 소정의 거리가 이동될 수 있으나, 단위 시간당 이동 거리가 기 설정된 값(threshold) 미만이었다면 프로세서 430은 상기 유저 입력을 이미지 오브젝트 520을 선택하는 유저 입력으로 판단할 수 있다. 예를 들어, 단위 시간당 이동 거리가 반경 517을 벗어나지 않는 경우, 프로세서 430은 상기 유저 입력을 이미지 오브젝트 520을 선택하는 유저 입력으로 판단할 수 있다. 만일, 단위 시간당 이동 거리가 반경 517을 벗어나는 경우, 프로세서 430은 이미지 오브젝트 520을 비활성화시키고 상기 유저 입력에 기초하여 추가적인 드로잉을 입력할 수 있다. 상기 유저 입력의 이동은 앞서 언급하였듯이, 물리적인 터치 입력의 드래그뿐만 아니라 호버(hover) 입력의 드래그를 포함할 수 있다.
따라서, 상기 유저 입력에 기초하여 이미지 오브젝트 520이 선택되고, 이미지 오브젝트 520의 테두리에는 이미지 오브젝트 520이 선택되었음을 표시하는 복수의 인디케이터(◆)들이 표시될 수 있다. 나아가, 스크린 505에는 이미지 오브젝트 520을 편집할 수 있는 메뉴 오브젝트 540이 디스플레이될 수 있다.
도 5c는 본 발명의 다양한 실시 예에 따른, 유저 입력의 속성에 기초한 드로잉 오브젝트 515c와 이미지 오브젝트 520과의 관계를 나타낸 도면이다. 도 5c를 도 5a와 비교하면, 스타일러스 510의 방향이 서로 반대이다.
앞서 언급한 바와 같이, 프로세서 430은 상기 유저 입력에 기초하여 KITTY를 포함하는 드로잉 오브젝트 515c를 생성할 수 있다. 다만, 드로잉 오브젝트 515c와 이미지 오브젝트 520가 적어도 일부 서로 중첩되는 경우, 각각의 겹치는 순서(위아래)가 문제될 수 있다.
본 발명의 다양한 실시 예에 따르면, 프로세서 430은 스타일러스 510의 기울어진 방향에 기초하여 드로잉 오브젝트 515c와 이미지 오브젝트 520의 순서를 결정할 수 있다. 상기 동작은 직관적으로 판단될 수 있다. 예를 들어, 스타일러스 510을 펜, 이미지 오브젝트 520을 사진이라고 가정하자. 펜 촉은 경사를 갖고 있기 때문에, 도 5a에 도시된 스타일러스 510의 방향에 의하면, 상기 펜 촉은 상기 경사를 이용하여 상기 사진 위로 올라갈 수 있다. 반면, 도 5c에 도시된 스타일러스 510의 방향에 의하면, 상기 펜 촉은 상기 사진과 서로 맞닿게 되고, 상기 사진은 상기 펜의 지지대(펜 대)를 타고 올라가게 될 것이다. 따라서, 도 5a의 경우, 프로세서 430에서 생성하는 드로잉 오브젝트 515a는 이미지 오브젝트 520 위에 표시되고, 도 5c의 드로잉 오브젝트 515c는 이미지 오브젝트 520 위에 표시될 수 있다. 도 5c에서 'TTY'는 이미지 오브젝트 520의 아래에 표시되어, 이미지 오브젝트 520의 투명도가 0%라면 보이지 않을 것이다. 따라서, 'TTY'는 이미지 오브젝트 520의 아래에 있음을 표시하기 위해 점선으로 나타냈다.
도 6은 본 발명의 다양한 실시 예에 따른, 스타일러스(이하, 유저 입력 610)에 기초하여 메뉴 오브젝트의 투명도가 조정되는 방법을 나타낸 도면이다.
도 6을 참조하면, 유저 입력 610이 전자 장치 600의 스크린 605 위에 터치 다운되어 615a 및 615b의 궤적을 그리며 메뉴 오브젝트 630 위로 터치 드래그되고 있다.
프로세서 430은 유저 입력 610의 좌표가 메뉴 오브젝트 630의 좌표에 대응하게 되는 경우, 메뉴 오브젝트 630의 투명도를 100%로 할 수 있다. 다만, 투명도가 100%가 되었다고, 메뉴 오브젝트 630이 해당 위치에서 없어지는 것은 아니므로, 프로세서 430은 메뉴 오브젝트 630이 선택되지 않도록 메뉴 오브젝트 630을 비활성화시킨채로 투명도를 100%로 만들 수 있다.
다만, 메뉴 오브젝트 630의 비활성화는 유저 입력 610의 단위 시간당 이동 거리에 기초하여 결정될 수 있다. 따라서, 유저 입력 610의 단위 시간당 이동 거리가 기 설정된 값 미만인 경우, 프로세서 430은 유저 입력 610의 좌표에 대응하는 메뉴 오브젝트 630 위의 어느 하나의 아이콘에 매핑된 동작을 수행시킬 수 있다.
본 발명의 다양한 실시 예에 따르면, 프로세서 430은 메뉴 오브젝트 630의 투명도는 조정하지 않고, 메뉴 오브젝트 630에 대한 비활성화 동작만을 수행할 수도 있다. 또한, 프로세서 430은 메뉴 오브젝트 630을 일시적으로 소멸시킬 수도 있다. 예를 들어, 상기 유저 입력이 메뉴 오브젝트 630의 좌표를 벗어났을 때, 또는 상기 유저 입력이 터치 릴리즈(release)되는 경우, 보이지 않던 메뉴 오브젝트 630은 다시 디스플레이될 수 있다.
도 6에서는 필기 오브젝트 615b와 메뉴 오브젝트 630이 경합되는 경우를 설명하였지만, 본 발명의 다양한 실시 예에 따르면, 경합되는 오브젝트는 이에 한정되지 않는다. 예를 들어, 이미지 오브젝트(미도시)를 선택하여 이동하는 유저 입력의 경우, 상기 유저 입력에 의해 (상기 유저 입력이 메뉴 오브젝트의 위에 올라가는 경우가 아니더라도) 상기 이미지 오브젝트와 메뉴 오브젝트 630이 중첩될 수 있다. 이 경우, 프로세서 430은 메뉴 오브젝트 630이 선택되지 않도록 메뉴 오브젝트 630을 비활성화시킨채로 투명도를 100%로 만들 수 있다.
도 7은 본 발명의 다양한 실시 예에 따른, 유저 입력 710에 기초하여 이미지 오브젝트(또는 도형 오브젝트) 720의 색상이 조정되는 방법을 나타낸 도면이다.
도 7을 참조하면, 유저 입력 710이 전자 장치 700의 스크린 705 위에 터치 '테스트'라는 글씨를 쓰고, 프로세서 430은 유저 입력 710에 기초하여 드로잉 오브젝트 715를 생성할 수 있다. 이 경우, 프로세서 430은 유저 입력 710에 기초하여 이미지 오브젝트 720의 색상을 변경할 수 있다. 예를 들어, 사용자가 선택한 폰트 색상이 빨강인 경우, 프로세서 430은 유저 입력 710에 기초하여 이미지 오브젝트 720의 색상을 빨강의 보색인 파랑으로 변경할 수 있다. 다만, 본 발명의 다양한 실시 예에 따르면, 프로세서 430은 이미지 오브젝트 720의 색상을 사용자가 선택한 폰트 색상의 보색이 되도록 변경할 수 있다. 이미지 오브젝트 720와 유저 입력에 대응하는 폰트 색상이 보색관계가 되도록 하는 것은, 본 발명의 다양한 실시 예 중 일부에 대한 것으로, 이에 한정되는 것은 아니다.
또한, 본 발명의 다양한 실시 예에 따르면, 프로세서 430은 유저 입력 710에 기초하여 이미지 오브젝트 720의 투명도를 높일 수 있다. 이러한 경우, 조정된 이미지 오브젝트 720의 투명도는 일시적인 것이 아니고, 지속되는 것일 수 있다. 왜냐하면, 이미지 오브젝트 720의 투명도가 재조정된다면 드로잉 오브젝트 715는 보이지 않을 수 있기 때문이다.
도 8은 본 발명의 다양한 실시 예에 따른, 유저 입력 810에 기초하여 이미지 오브젝트 824의 순서가 조정되는 방법을 나타낸 도면이다.
도 8의 왼쪽에 도시된 도면을 참조하면, 전자 장치 800의 스크린 805에는 이미지 오브젝트 822, 824a 및 826a 각각이 디스플레이되어 있다. 이미지 오브젝트 822, 824a 및 826a 각각이 겹쳐진 순서는 이미지 오브젝트 826a가 가장 위이고, 그 다음이 824a이고, 822가 가장 아래에 깔려있다.
이 경우, 도 8의 오른쪽에 도시된 도면을 참조하면, 프로세서 430은 유저 입력 810의 좌표에 기초하여, 유저 입력 810의 좌표와 상호 대응하는 이미지 오브젝트 824b를 이미지 오브젝트 826b의 위로 겹치게 할 수 있다. 상기 기설정된 효과는 유저 입력 810의 단위 시간당 이동 거리가 기설정된 값(threshold) 미만인 경우에 프로세서 430을 통해 수행될 수 있다.
만일, 유저 입력 810의 단위 시간당 이동 거리가 기설정된 값(threshold) 이상이었다면 프로세서 430은 이미지 오브젝트 824b를 비활성화시키고, 유저 입력 810에 기초하여 드로잉 오브젝트를 생성할 수 있다. 이 경우는 도 7에 도시된 바와 같이, 이미지 오브젝트 824b의 투명도가 조정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 드로잉 오브젝트가 생성된 이후, 다시 이미지 오브젝트 826b가 선택되면, 이미지 오브젝트 826b는 이미지 오브젝트 824b의 위로 겹쳐지도록 순서가 조정될 수 있다. 이 경우, 상기 생성된 드로잉 오브젝트가 이미지 오브젝트 826b에 의해 가려지게 되지 않도록, 프로세서 430은 이미지 오브젝트 826b의 투명도를 조정할 수 있다.
도 9는 본 발명의 다양한 실시 예에 따른, 유저 입력 910에 기초하여 각각 이미지 오브젝트 915, 925, 935를 포함하는 레이어 오브젝트(이하, 레이어) 910, 920, 및 930의 순서가 조정되는 방법을 나타낸 도면이다.
도 9a를 참조하면, 전자 장치 900의 스크린에는 복수의 레이어 910, 920 및 930이 순서대로 디스플레이 될 수 있다. 제1 레이어 910에는 이미지 오브젝트 915가 디스플레이되어 있고, 나머지 영역은 투명한 영역일 수 있다. 마찬가지로, 제2 레이어 920은 제1 드로잉 오브젝트 925를, 제3 레이어 930은 제2 드로잉 오브젝트 935를 포함할 수 있다. 제1 드로잉 오브젝트 925와 제2 드로잉 오브젝트 935를 비교하면, 도 9a에는 명확히 표시되지 않았지만, 제1 드로잉 오브젝트 925는 붓펜(brush)에 대응하는 유저 입력에 기초하여 생성된 것이고, 제2 드로잉 오브젝트 935는 볼펜에 대응하는 유저 입력에 기초하여 생성된 것으로 가정하겠다. 상기 붓펜에 대응하는 유저 입력은 비트맵(bitmap) 속성이고, 상기 볼펜에 대응하는 유저 입력은 벡터(vector) 속성일 수 있다.
도 9b를 참조하면, 유저 입력 905a는 제2 레이어 920에 포함된 제1 드로잉 오브젝트 925 위에 위치하고 있다. 프로세서 430은 제1 드로잉 오브젝트 925 또는 제2 레이어 920 위에 위치한 유저 입력 905a에 기초하여, 제2 레이어 920을 제1 레이어 910 위에 오도록 순서를 조정할 수 있다. 또한, 메뉴 오브젝트 940을 참조하면, 유저 입력 905a는 지우개에 대응하는 바, 유저 입력 905a는 제1 드로잉 오브젝트 925 중 적어도 일부(철자가 틀린 MARRY의 'A')를 수정하기 위한 것일 수 있다. 앞서 언급한 바와 같이, 제1 드로잉 오브젝트 925는 비트맵 속성이므로, 프로세서 430은 상기 지우개의 속성을 비트맵 지우개로 설정할 수 있다. 따라서, 유저 입력 905a에 기초하여, 제1 드로잉 오브젝트 925의 적어도 일부는 비트맵 지우개 영역 907a 만큼 지워질 수 있다. 또한, 유저 입력 905a가 제1 드로잉 오브젝트 925 위에서 이동함에 따라, 유저 입력 905a의 궤적에 대응하는 제1 드로잉 오브젝트 925 상의 영역이 지워질 것이다.
도 9c를 참조하면, 유저 입력 905b는 제3 레이어 930에 포함된 제2 드로잉 오브젝트 935 위에 위치하고 있다. 프로세서 430은 제2 드로잉 오브젝트 935 또는 제3 레이어 930 위에 위치한 유저 입력 905b에 기초하여, 제3 레이어 930을 제2 레이어 920 위에 오도록 순서를 조정할 수 있다. 또한, 메뉴 오브젝트 940을 참조하면, 유저 입력 905b는 지우개에 대응하는 바, 유저 입력 905b는 제2 드로잉 오브젝트 935 중 적어도 일부(날짜를 잘못 기입한 26일의 '6')를 수정하기 위한 것일 수 있다. 앞서 언급한 바와 같이, 제2 드로잉 오브젝트 935는 벡터 속성이므로, 프로세서 430은 상기 지우개의 속성을 벡터 지우개로 설정할 수 있다. 상기 벡터 지우개는 비트맵 지우개와 달리 정해진 크기의 영역만큼을 지우는 것이 아니라, 드로잉 에 있어서, 한번에 한 획만큼을 지울 수 있다. 따라서, 유저 입력 905b에 기초하여, 유저 입력 905b가 위치한 제2 드로잉 오브젝트 935의 적어도 일부인 '6' 907b는 벡터 지우개에 의해 지워질 수 있다.
본 발명의 다양한 실시 예에 따르면, 유저 입력을 통해 오브젝트를 선택함으로써 레이어를 선택하는 경우 이외에도, 다른 방법으로 어느 하나의 레이어를 선택할 수 있다. 예를 들어, 메뉴 오브젝트 940에서 붓펜이 입력 도구로 선택되는 경우, 프로세서 430은 상기 붓펜에 대응하는 제1 드로잉 오브젝트 925를 선택할 수 있다. 이와 유사하게, 메뉴 오브젝트 940에서 볼펜이 입력 도구로 선택되는 경우, 프로세서 430은 상기 볼펜에 대응하는 제2 드로잉 오브젝트 935를 선택할 수 있다.
또한, 도 5 내지 도 8에서와 달리, 도 9의 실시 예는, 복수의 오브젝트를 포함할 수 있는 레이어 오브젝트에 대한 것이다. 도 9에 도시되지는 않았지만, 본 발명의 다양한 실시 예에 따르면, 어느 하나의 레이어는 복수의 오브젝트를 포함할 수 있다. 이 경우, 상기 레이어가 선택되고, 상기 레이어를 이동시키는 유저 입력이 있는 경우, 프로세서 430은 상기 어느 하나의 레이어에 포함된 복수의 오브젝트를 한번에 이동시킬 수 있다.
도 10은 본 발명의 다른 다양한 실시 예에 따른, 유저 입력 1010에 기초하여 이미지 오브젝트 1020의 투명도가 조정되는 방법을 나타낸 도면이다.
도 10의 왼쪽에 도시된 도면을 참조하면, 전자 장치 1000의 스크린 1005에는 수식과 함께, 이미지 오브젝트 1020a가 디스플레이되어 있다. 이 경우, 도 10의 오른쪽에 도시된 도면과 같이, 유저 입력 1010이 이미지 오브젝트 1020a 위로 이동하여 멈출 수 있다. 이 경우, 프로세서 430은 유저 입력 1010에 기초하여, 이미지 오브젝트 1020a의 투명도를 이미지 오브젝트 1020b와 같이 조정할 수 있다. 따라서, 사용자는 반투명해진 이미지 오브젝트 1020b 아래에 표시된 정답을 볼 수 있다.
도 10에는 유저 입력 1010이 이미지 오브젝트 1020a 위에 호버링된 것으로 도시되어 있으나, 본 발명의 다양한 실시 예에 따르면, 이에 한정되는 것은 아니다.
본 발명의 다양한 실시 예에 따르면, 유저 입력 1010이 드로잉 오브젝트인 '73' 위로 이동하는 경우, 프로세서 430은 유저 입력 1010에 기초하여 상기 드로잉 오브젝트를 선택할 수 있다. 상기 선택된 드로잉 오브젝트는 사용자에 의해 적어도 일부 삭제되거나 추가 입력되는 등 수정이 가해질 수 있다.
도 11은 본 발명의 다양한 실시 예에 따른, 유저 입력 1110에 기초하여 이미지 오브젝트 1120의 적어도 일부에 변형을 가하는 동작을 나타낸 도면이다. 도 5와 도 11의 차이는, 예를 들어, 필속일 수 있다. 도 5에서는 단위 시간당 이동 거리에 기초한 차이를 도 5a 및 도 5b를 비교하여 설명하였다. 본 발명의 다양한 실시 예는, 기 설정된 단위 시간당 이동 거리 값에 기초하여, 도 5a의 글씨를 쓰는 동작과 도 11의 상기 변형을 가하는 동작을 선택할 수 있다.
메뉴 오브젝트 1130을 참조하면, 유저 입력 1110은 볼펜에 대응하는 것일 수 있다. 이미지 오브젝트 1120의 적어도 일부에 변형을 가하는 동작은 직관적인 것으로서, 유저 입력 1110은 볼펜이고, 이미지 오브젝트 1120은 사진이라고 가정해보자. 상기 볼펜이 빠르게 움직이는 경우, 경도가 높은 금속의 볼펜 촉은 사진 위로 빠른 속도로 이동할 것이고, 이 경우 사진은 찢어질 수 있다. 따라서, 프로세서 430은 유저 입력 1110의 단위 시간당 이동 거리에 기초하여 이미지 오브젝트 1120의 적어도 일부를 변형시킬 수 있다.
도 12는 본 발명의 다양한 실시 예에 따른, 이미지 오브젝트 1220의 속성에 기초하여 드로잉 오브젝트 1215의 변화를 나타낸 도면이다. 프로세서 430은 이미지 오브젝트 1220에 대한 분석을 수행할 수 있다. 도 12를 참조하면, 이미지 오브젝트 1220은 모래 또는 자갈에 대한 이미지일 수 있고, 프로세서 430은 이미지 오브젝트 1220에 대한 분석을 통해, 이미지 오브젝트 1220의 재질을 모래 또는 자갈로 설정할 수 있다.
메뉴 오브젝트 1230을 참조하면, 유저 입력 1210은 연필에 관한 것일 수 있다. 연필심은 층층이 쌓여있는 흑연 구조로 이루어져있고, 연필을 쓰면 쓸수록 연필심은 점점 무뎌지게 된다. 따라서, 프로세서 430은 드로잉 오브젝트 1215에 포함된 선의 두께가 이미지 오브젝트 1220을 지나는 시점부터 점점 두꺼워지도록 표현할 수 있다.
도 13은 본 발명의 다른 다양한 실시 예에 따른, 이미지 오브젝트 1320의 속성에 기초하여 드로잉 오브젝트 1315의 변화를 나타낸 도면이다. 프로세서 430은 이미지 오브젝트 1320에 대한 분석을 수행할 수 있다. 도 13을 참조하면, 이미지 오브젝트 1320은 물에 대한 이미지일 수 있고, 프로세서 430은 이미지 오브젝트 1320에 대한 분석을 통해, 이미지 오브젝트 1320의 재질을 물로 설정할 수 있다.
메뉴 오브젝트 1330을 참조하면, 유저 입력 1310은 붓(펜)에 관한 것일 수 있다. 따라서, 프로세서 430은 드로잉 오브젝트 1315에 포함된 선의 농도가 이미지 오브젝트 1320을 지나는 시점부터 점점 옅어지도록 표현할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 적어도 하나 이상의 오브젝트를 스크린에 디스플레이하는 디스플레이 모듈; 유저 입력을 수신하는 유저 입력 모듈; 및 상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여, 상기 오브젝트의 속성을 제어하는 프로세서를 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 상기 프로세서는, 상기 유저 입력에 대응하는 드로잉(drawing) 오브젝트를 생성하고, 상기 프로세서가 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트와 상기 드로잉 오브젝트와의 겹치는 순서를 결정하는 것일 수 있다.
본 발명의 다양한 실시 예에 따른 상기 프로세서가 상기 오브젝트와 상기 드로잉 오브젝트와의 겹치는 순서를 결정하는 동작은, 상기 유저 입력에 대응하는 유저 입력의 기울어진 방향에 기초하여, 수행될 수 있다. (도 5a 및 도 5c 참조)
본 발명의 다양한 실시 예에 따른 상기 프로세서가 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트의 색상에 기초하여 상기 드로잉 오브젝트에 대응하는 드로잉 색상을 변화시키는 것일 수 있다.
본 발명의 다양한 실시 예에 따른 상기 프로세서가 오브젝트의 속성을 제어하는 동작은, 상기 드로잉 오브젝트에 대응하는 드로잉 색상에 기초하여 상기 오브젝트의 색상을 변화시키는 것일 수 있다.
본 발명의 다양한 실시 예에 따른 상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은, 상기 유저 입력이 상기 오브젝트의 영역 위로 이동하여, 상기 유저 입력에 대응하는 드로잉 오브젝트가 상기 오브젝트와 겹치게 되는 경우, 상기 오브젝트를 선택할지 여부를 결정하는 것일 수 있다.
본 발명의 다양한 실시 예에 따른 상기 프로세서가 상기 오브젝트를 선택할지 여부를 결정하는 동작은, 상기 유저 입력이 상기 오브젝트의 영역 위에서 이동한 이동 속도에 기초하여 수행될 수 있다.
본 발명의 다양한 실시 예에 따른 상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트를 이동시키지 않고, 상기 오브젝트의 좌표를 고정시킨채로 수행될 수 있다.
본 발명의 다양한 실시 예에 따른 상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은, 터치 다운, 터치 무브, 및 터치 릴리즈를 포함하는 상기 유저 입력의 상태, 상기 유저 입력의 이동 속도, 상기 유저 입력의 기울기, 상기 유저 입력의 압력, 상기 유저 입력의 로테이션(rotation) 여부, 상기 유저 입력이 터치 입력인지 호버(hover) 입력인지 여부, 및 상기 유저 입력이 시작된 위치가 상기 오브젝트의 영역 내인지 여부 중 적어도 하나 이상에 기초하여 수행될 수 있다.
본 발명의 다양한 실시 예에 따른 상기 오브젝트는 이미지 오브젝트 및 상기 유저 입력에 대응하는 드로잉 오브젝트를 포함하고, 상기 프로세서는 이미지 분석을 통해 상기 이미지 오브젝트에 표시된 이미지의 재질을 포함하는 이미지 속성을 획득하고, 상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은, 상기 획득된 이미지 속성에 기초하여 상기 드로잉 오브젝트에 대응하는 드로잉 속성을 제어하는 것일 수 있다.
본 발명의 다양한 실시 예에 따른 상기 드로잉 속성은 상기 드로잉의 도구, 색상, 굵기, 및 농도 중 적어도 하나 이상을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 상기 오브젝트는 메뉴 오브젝트, 드로잉 오브젝트, 이미지 오브젝트 및 복수의 오브젝트를 포함하는 레이어 오브젝트를 포함하고, 상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트의 종류 또는 상기 드로잉 오브젝트의 드로잉 도구의 종류에 기초하여 수행될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은, 둘 이상의 오브젝트가 중첩되는 경우, 상기 둘 이상의 오브젝트 중 적어도 하나 이상의 오브젝트에 대한 속성을 제어하는 것일 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트를 활성화시켜 상기 오브젝트가 선택되는 동작; 상기 오브젝트를 비활성화시켜 상기 오브젝트가 선택되지 않는 동작; 상기 오브젝트의 투명도를 제어하는 동작; 또는 둘 이상의 중첩된 오브젝트의 겹쳐진 순서를 조정하는 동작; 중 적어도 하나 이상을 포함하는 것일 수 있다.
도 14는 본 발명의 다양한 실시 예에 따른, 유저 입력에 기초한 오브젝트의 속성을 변경하는 방법을 나타낸 순서도이다. 도 14에 도시된 다양한 실시 예에 따른 유저 입력에 기초한 오브젝트의 속성을 변경하는 방법은 도 1 내지 도 13에 도시된 실시 예에 따른 전자 장치에서 시계열적으로 처리되는 동작들을 포함할 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 13의 전자 장치에 관하여 기술된 내용은 도 14에 도시된 실시 예에 따른 유저 입력에 기초한 오브젝트의 속성을 변경하는 방법에도 적용될 수 있다.
동작 1110에서 전자 장치는 오브젝트를 상기 전자 장치의 스크린에 디스플레이할 수 있다. 상기 오브젝트는 특정 어플리케이션을 통해 상기 스크린에 디스플레이될 수 있다.
동작 1120에서 전자 장치는 사용자로부터 상기 스크린 위에 유저 입력을 수신할 수 있다. 이 경우, 유저 입력은 터치 입력뿐만 아니라. 호버 입력, 모션입력 등을 포함할 수 있다.
동작 1130에서 전자 장치는 동작 1110에서 디스플레이된 오브젝트의 좌표와 동작 1120에서 수신된 유저 입력의 좌표를 비교할 수 있다.
동작 1140에서 전자 장치는 동작 1130의 비교 결과, 상호 좌표가 대응하는 경우, 상기 오브젝트의 좌표를 고정시키고, 상기 오브젝트에 대한 속성을 변경할 수 있다.
도 11에서 상술한 동작 1110 내지 1140 간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들 간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행될 수도 있다. 또한, 상술한 단계들은 기 설정된 시간마다 주기적으로 반복될 수 있고, 유저 입력에 기초하여 다시 수행될 수 있다.
본 발명의 다양한 실시 예에 따른 오브젝트 제어 방법은 적어도 하나 이상의 오브젝트를 스크린에 디스플레이하는 동작; 유저 입력을 수신하는 동작; 및 상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여, 상기 오브젝트의 속성을 제어하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 상기 방법은 상기 유저 입력에 대응하는 드로잉(drawing) 오브젝트를 생성하는 동작을 더 포함하고, 상기 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트와 상기 드로잉 오브젝트와의 겹치는 순서를 결정하는 것일 수 있다.
본 발명의 다양한 실시 예에 따른 상기 오브젝트의 속성을 제어하는 터치 다운, 터치 무브, 및 터치 릴리즈를 포함하는 상기 유저 입력의 상태, 상기 유저 입력의 이동 속도, 상기 유저 입력의 기울기, 상기 유저 입력의 압력, 상기 유저 입력의 로테이션(rotation) 여부, 상기 유저 입력이 터치 입력인지 호버(hover) 입력인지 여부, 및 상기 유저 입력이 시작된 위치가 상기 오브젝트의 영역 내인지 여부 중 적어도 하나 이상에 기초하여 수행되는 것일 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 오브젝트의 속성을 제어하는 동작은, 둘 이상의 오브젝트가 중첩되는 경우, 상기 둘 이상의 오브젝트 중 적어도 하나 이상의 오브젝트에 대한 속성을 제어하는 것일 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트를 활성화시켜 상기 오브젝트가 선택되는 동작; 상기 오브젝트를 비활성화시켜 상기 오브젝트가 선택되지 않는 동작; 상기 오브젝트의 투명도를 제어하는 동작; 또는 둘 이상의 중첩된 오브젝트의 겹쳐진 순서를 조정하는 동작; 중 적어도 하나 이상을 포함하는 것일 수 있다.
본 발명의 다양한 실시 예에 따른, 기 설정된 효과를 디스플레이하는 방법은 오브젝트를 스크린에 디스플레이하는 동작; 유저 입력을 수신하는 동작; 상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하는 동작; 및 상기 오브젝트의 좌표를 고정시키고 상기 오브젝트에 대한 상기 기설정된 효과를 디스플레이하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 상기 방법은, 상기 유저 입력이 단위 시간 동안 상기 오브젝트 위에서 움직이는 이동 거리를 체크하는 동작을 더 포함할 수 있다. 이 경우, 상기 기 설정된 효과는 상기 유저 입력의 단위 시간당 이동 거리에 기초하여 결정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 기 설정된 효과는, 상기 유저 입력의 단위 시간당 이동 거리가 기 설정된 값 이상인 경우, 상기 오브젝트를 상기 유저 입력에 대해 비활성화시키는 것일 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 기 설정된 효과는, 상기 유저 입력의 단위 시간당 이동 거리가 기 설정된 값 미만인 경우, 상기 유저 입력을 통해 상기 오브젝트를 선택하는 것일 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 기 설정된 효과는, 상호 적어도 일부 겹쳐진 복수의 오브젝트 중 상기 유저 입력의 좌표에 대응하는 상기 오브젝트의 겹쳐진 순서를 조정하는 것일 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어 (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)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서 (예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 130이 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체 (magnetic media)(예: 자기테이프), 광기록 매체 (optical media)(예: CD-ROM (compact disc read only memory), DVD (digital versatile disc), 자기-광 매체 (magneto-optical media)(예: 플롭티컬 디스크 (floptical disk)), 하드웨어 장치 (예: ROM (read only memory), RAM (random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱 (heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 발명의 다양한 실시 예에서 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.
400: 전자 장치
410: 디스플레이 모듈
420: 유저 입력 모듈
430: 프로세서
440: 메모리

Claims (19)

  1. 전자 장치에 있어서,
    적어도 하나 이상의 오브젝트를 스크린에 디스플레이하는 디스플레이 모듈;
    유저 입력을 수신하는 유저 입력 모듈; 및
    상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여, 상기 오브젝트의 속성을 제어하는 프로세서를 포함하는 전자 장치.
  2. 청구항 1에 있어서,
    상기 프로세서는, 상기 유저 입력에 대응하는 드로잉(drawing) 오브젝트를 생성하고,
    상기 프로세서가 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트와 상기 드로잉 오브젝트와의 겹치는 순서를 결정하는 것인, 전자 장치.
  3. 청구항 2에 있어서,
    상기 프로세서가 상기 오브젝트와 상기 드로잉 오브젝트와의 겹치는 순서를 결정하는 동작은,
    상기 유저 입력에 대응하는 유저 입력의 기울어진 방향에 기초하여, 수행되는 것인, 전자 장치.
  4. 청구항 2에 있어서,
    상기 프로세서가 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트의 색상에 기초하여 상기 드로잉 오브젝트에 대응하는 드로잉 색상을 변화시키는 것인, 전자 장치.
  5. 청구항 2에 있어서,
    상기 프로세서가 오브젝트의 속성을 제어하는 동작은, 상기 드로잉 오브젝트에 대응하는 드로잉 색상에 기초하여 상기 오브젝트의 색상을 변화시키는 것인, 전자 장치.
  6. 청구항 1에 있어서,
    상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은,
    상기 유저 입력이 상기 오브젝트의 영역 위로 이동하여, 상기 유저 입력에 대응하는 드로잉 오브젝트가 상기 오브젝트와 겹치게 되는 경우, 상기 오브젝트를 선택할지 여부를 결정하는 것인, 전자 장치.
  7. 청구항 6에 있어서,
    상기 프로세서가 상기 오브젝트를 선택할지 여부를 결정하는 동작은,
    상기 유저 입력이 상기 오브젝트의 영역 위에서 이동한 이동 속도에 기초하여 수행되는 것인, 전자 장치.
  8. 청구항 1에 있어서,
    상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은,
    상기 오브젝트를 이동시키지 않고, 상기 오브젝트의 좌표를 고정시킨채로 수행되는 것인, 전자 장치.
  9. 청구항 1에 있어서,
    상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은,
    터치 다운, 터치 무브, 및 터치 릴리즈를 포함하는 상기 유저 입력의 상태, 상기 유저 입력의 이동 속도, 상기 유저 입력의 기울기, 상기 유저 입력의 압력, 상기 유저 입력의 로테이션(rotation) 여부, 상기 유저 입력이 터치 입력인지 호버(hover) 입력인지 여부, 및 상기 유저 입력이 시작된 위치가 상기 오브젝트의 영역 내인지 여부 중 적어도 하나 이상에 기초하여 수행되는 것인, 전자 장치.
  10. 청구항 1에 있어서,
    상기 오브젝트는 이미지 오브젝트 및 상기 유저 입력에 대응하는 드로잉 오브젝트를 포함하고,
    상기 프로세서는 이미지 분석을 통해 상기 이미지 오브젝트에 표시된 이미지의 재질을 포함하는 이미지 속성을 획득하고,
    상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은,
    상기 획득된 이미지 속성에 기초하여 상기 드로잉 오브젝트에 대응하는 드로잉 속성을 제어하는 것인, 전자 장치.
  11. 청구항 10에 있어서,
    상기 드로잉 속성은 상기 드로잉의 도구, 색상, 굵기, 및 농도 중 적어도 하나 이상을 포함하는 것인, 전자 장치.
  12. 청구항 1에 있어서,
    상기 오브젝트는 메뉴 오브젝트, 드로잉 오브젝트, 이미지 오브젝트 및 복수의 오브젝트를 포함하는 레이어 오브젝트를 포함하고,
    상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은,
    상기 오브젝트의 종류 또는 상기 드로잉 오브젝트의 드로잉 도구의 종류에 기초하여 수행되는 것인, 전자 장치.
  13. 청구항 1에 있어서,
    상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은,
    둘 이상의 오브젝트가 중첩되는 경우, 상기 둘 이상의 오브젝트 중 적어도 하나 이상의 오브젝트에 대한 속성을 제어하는 것인, 전자 장치.
  14. 청구항 13에 있어서,
    상기 프로세서가 상기 오브젝트의 속성을 제어하는 동작은,
    상기 오브젝트를 활성화시켜 상기 오브젝트가 선택되는 동작;
    상기 오브젝트를 비활성화시켜 상기 오브젝트가 선택되지 않는 동작;
    상기 오브젝트의 투명도를 제어하는 동작; 또는
    둘 이상의 중첩된 오브젝트의 겹쳐진 순서를 조정하는 동작; 중 적어도 하나 이상을 포함하는 것인, 전자 장치.
  15. 오브젝트 제어 방법에 있어서,
    적어도 하나 이상의 오브젝트를 스크린에 디스플레이하는 동작;
    유저 입력을 수신하는 동작; 및
    상기 오브젝트의 좌표와 상기 유저 입력의 좌표를 비교하여, 상기 오브젝트의 속성을 제어하는 동작을 포함하는 방법.
  16. 청구항 15에 있어서,
    상기 유저 입력에 대응하는 드로잉(drawing) 오브젝트를 생성하는 동작을 더 포함하고,
    상기 오브젝트의 속성을 제어하는 동작은, 상기 오브젝트와 상기 드로잉 오브젝트와의 겹치는 순서를 결정하는 것인, 방법.
  17. 청구항 15에 있어서,
    상기 오브젝트의 속성을 제어하는 동작은,
    터치 다운, 터치 무브, 및 터치 릴리즈를 포함하는 상기 유저 입력의 상태, 상기 유저 입력의 이동 속도, 상기 유저 입력의 기울기, 상기 유저 입력의 압력, 상기 유저 입력의 로테이션(rotation) 여부, 상기 유저 입력이 터치 입력인지 호버(hover) 입력인지 여부, 및 상기 유저 입력이 시작된 위치가 상기 오브젝트의 영역 내인지 여부 중 적어도 하나 이상에 기초하여 수행되는 것인, 방법.
  18. 청구항 15에 있어서,
    상기 오브젝트의 속성을 제어하는 동작은,
    둘 이상의 오브젝트가 중첩되는 경우, 상기 둘 이상의 오브젝트 중 적어도 하나 이상의 오브젝트에 대한 속성을 제어하는 것인, 방법.
  19. 청구항 18에 있어서,
    상기 오브젝트의 속성을 제어하는 동작은,
    상기 오브젝트를 활성화시켜 상기 오브젝트가 선택되는 동작;
    상기 오브젝트를 비활성화시켜 상기 오브젝트가 선택되지 않는 동작;
    상기 오브젝트의 투명도를 제어하는 동작; 또는
    둘 이상의 중첩된 오브젝트의 겹쳐진 순서를 조정하는 동작; 중 적어도 하나 이상을 포함하는 것인, 방법.
KR1020140114613A 2014-08-29 2014-08-29 유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법 KR102294705B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140114613A KR102294705B1 (ko) 2014-08-29 2014-08-29 유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법
US14/840,724 US10296203B2 (en) 2014-08-29 2015-08-31 Electronic device and object control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140114613A KR102294705B1 (ko) 2014-08-29 2014-08-29 유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160026342A true KR20160026342A (ko) 2016-03-09
KR102294705B1 KR102294705B1 (ko) 2021-08-30

Family

ID=55402482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140114613A KR102294705B1 (ko) 2014-08-29 2014-08-29 유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법

Country Status (2)

Country Link
US (1) US10296203B2 (ko)
KR (1) KR102294705B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020141809A1 (ko) * 2019-01-03 2020-07-09 삼성전자주식회사 가전 기기 및 그 제어 방법
KR102469897B1 (ko) 2022-03-15 2022-11-23 박남진 의료용 봉합사, 그 제조방법 및 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542091B2 (en) 2010-06-04 2017-01-10 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US9971500B2 (en) 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US9857596B2 (en) * 2015-11-10 2018-01-02 Oculus Vr, Llc Strap assembly with flex circuit for a head mounted display
WO2019135923A1 (en) * 2018-01-08 2019-07-11 Popsockets Llc Media alteration based on rotation of a portable computing device
CN111399729A (zh) * 2020-03-10 2020-07-10 北京字节跳动网络技术有限公司 图像的绘制方法、装置、可读介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080109874A (ko) * 2006-03-30 2008-12-17 스마트 테크놀러지스 유엘씨 컴퓨터 애플리케이션에 동작 콘텐츠를 임베딩하기 위한 방법 및 그래픽 인터페이스
KR20110069556A (ko) * 2009-12-17 2011-06-23 엘지전자 주식회사 이동 단말기 및 그 제어방법
US20120206471A1 (en) * 2011-02-11 2012-08-16 Apple Inc. Systems, methods, and computer-readable media for managing layers of graphical object data
KR20130092240A (ko) * 2012-02-10 2013-08-20 문상원 디지털 사진의 드로잉 변환 방법
KR20140070196A (ko) * 2012-11-30 2014-06-10 엘지전자 주식회사 이동 단말기 및 이의 제어방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090112440A (ko) 2008-04-24 2009-10-28 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
US20130014041A1 (en) * 2008-12-09 2013-01-10 Denny Jaeger Using gesture objects to replace menus for computer control
US8407606B1 (en) * 2009-01-02 2013-03-26 Perceptive Pixel Inc. Allocating control among inputs concurrently engaging an object displayed on a multi-touch device
US20140078318A1 (en) 2009-05-22 2014-03-20 Motorola Mobility Llc Electronic Device with Sensing Assembly and Method for Interpreting Consecutive Gestures
US8531410B2 (en) 2009-08-18 2013-09-10 Fuji Xerox Co., Ltd. Finger occlusion avoidance on touch display devices
US20110043453A1 (en) 2009-08-18 2011-02-24 Fuji Xerox Co., Ltd. Finger occlusion avoidance on touch display devices
US9021402B1 (en) * 2010-09-24 2015-04-28 Google Inc. Operation of mobile device interface using gestures
CN102855079B (zh) * 2011-05-24 2016-06-08 Lg电子株式会社 移动终端
JP6002012B2 (ja) * 2011-11-28 2016-10-05 京セラ株式会社 装置、方法、及びプログラム
KR20140049228A (ko) * 2012-10-17 2014-04-25 삼성전자주식회사 사용자 입력에 따른 단말의 제어 방법 및 그 단말
JP6364893B2 (ja) * 2014-04-01 2018-08-01 日本電気株式会社 端末装置、電子ホワイトボードシステム、電子ホワイトボードの入力支援方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080109874A (ko) * 2006-03-30 2008-12-17 스마트 테크놀러지스 유엘씨 컴퓨터 애플리케이션에 동작 콘텐츠를 임베딩하기 위한 방법 및 그래픽 인터페이스
KR20110069556A (ko) * 2009-12-17 2011-06-23 엘지전자 주식회사 이동 단말기 및 그 제어방법
US20120206471A1 (en) * 2011-02-11 2012-08-16 Apple Inc. Systems, methods, and computer-readable media for managing layers of graphical object data
KR20130092240A (ko) * 2012-02-10 2013-08-20 문상원 디지털 사진의 드로잉 변환 방법
KR20140070196A (ko) * 2012-11-30 2014-06-10 엘지전자 주식회사 이동 단말기 및 이의 제어방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020141809A1 (ko) * 2019-01-03 2020-07-09 삼성전자주식회사 가전 기기 및 그 제어 방법
US11500537B2 (en) 2019-01-03 2022-11-15 Samsung Electronics Co., Ltd. Electronic device and controlling method therefor
KR102469897B1 (ko) 2022-03-15 2022-11-23 박남진 의료용 봉합사, 그 제조방법 및 장치

Also Published As

Publication number Publication date
KR102294705B1 (ko) 2021-08-30
US20160062592A1 (en) 2016-03-03
US10296203B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
KR102391772B1 (ko) 터치 감응 디스플레이를 포함하는 전자 장치 및 이 전자 장치를 동작하는 방법
KR102294705B1 (ko) 유저 입력에 기초한 오브젝트 속성을 제어하는 전자 장치 및 방법
KR20180055231A (ko) 아이콘을 이용한 어플리케이션의 실행 화면을 표시하기 위한 전자 장치 및 방법
KR20170116883A (ko) 플렉서블 디바이스 및 그 동작 방법
KR102398503B1 (ko) 입력의 압력을 감지하는 전자 장치 및 그 동작 방법
KR20160062414A (ko) 전자장치 및 전자장치의 객체 제어 방법
KR20170071960A (ko) 전자 장치의 사용자 인터페이스 제공 방법 및 장치
CN108475162B (zh) 用于显示用户界面的方法和用于支持该方法的电子装置
KR20170122056A (ko) 전자 장치 및 전자 장치의 디스플레이를 이용한 적응적 터치 입력 방법
KR20160128606A (ko) 바로가기 ui를 제공하는 전자 장치 및 방법
EP3336675B1 (en) Electronic devices and input method of electronic device
KR20160034135A (ko) 터치 입력을 처리하는 전자 장치 및 방법
KR20180041911A (ko) 전자 장치 및 전자 장치에서의 디스플레이 제어 방법
KR20160147432A (ko) 디스플레이의 서로 다른 영역을 독립적으로 제어하는 전자 장치 및 방법
KR102618480B1 (ko) 전자 장치 및 그의 운용 제공 방법
KR20160061053A (ko) 전자장치 및 전자장치의 화면 표시방법
KR20170009008A (ko) 이미지를 표시하는 전자 장치 및 그 제어 방법
KR20160071897A (ko) 전자장치 및 전자장치의 어플리케이션 실행 방법
US20160162058A1 (en) Electronic device and method for processing touch input
KR20180010029A (ko) 전자 장치의 동작 방법 및 장치
KR20180014614A (ko) 전자 장치 및 전자 장치의 터치 이벤트 처리 방법
KR20170040706A (ko) 한 손 조작 ui를 제공하는 전자 장치 및 방법
KR20160116959A (ko) 사용자 인터페이스를 제공하는 방법 및 이를 위한 전자 장치
US20170046062A1 (en) Method and electronic device for processing user input
KR20180094323A (ko) 인터랙션을 수행하는 방법 및 이를 사용하는 전자 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant