KR20230022740A - 전자 장치 및 객체의 움직임 동작을 개선하는 방법 - Google Patents

전자 장치 및 객체의 움직임 동작을 개선하는 방법 Download PDF

Info

Publication number
KR20230022740A
KR20230022740A KR1020210104881A KR20210104881A KR20230022740A KR 20230022740 A KR20230022740 A KR 20230022740A KR 1020210104881 A KR1020210104881 A KR 1020210104881A KR 20210104881 A KR20210104881 A KR 20210104881A KR 20230022740 A KR20230022740 A KR 20230022740A
Authority
KR
South Korea
Prior art keywords
drag
touch
electronic device
processor
movement
Prior art date
Application number
KR1020210104881A
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 KR1020210104881A priority Critical patent/KR20230022740A/ko
Priority to PCT/KR2022/011874 priority patent/WO2023018192A1/ko
Publication of KR20230022740A publication Critical patent/KR20230022740A/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
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction 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 using icons
    • 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
    • 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/04842Selection of displayed objects or displayed text elements
    • 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/0486Drag-and-drop
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Abstract

다양한 실시예에 따른 전자 장치는, 터치스크린 디스플레이, 메모리 및 상기 터치스크린 디스플레이 및 메모리에 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 터치스크린 디스플레이에 표시된 객체를 선택하는 제1 터치가 설정된 제1 터치 시간(T1)동안 경과되는 것에 반응하여 롱 프레스 입력을 감지하고, 상기 롱 프레스 입력이 수신된 후 상기 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신하고, 상기 드래그 신호가 설정된 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우, 상기 제1 터치에 의해 선택된 객체를 고정 상태(fixed state)로 유지하고, 상기 드래그 신호가 상기 드래그 이동 시간(T2) 및 드래그 이동 거리(D1)를 모두 벗어난 경우, 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 시점부터 상기 제1 터치에 의해 선택된 객체를 플로팅 상태(floating state)로 전환하고, 상기 드래그 신호에 반응하여 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어할 수 있다.

Description

전자 장치 및 객체의 움직임 동작을 개선하는 방법{AN ELECTRONIC DEVICE AND METHOD FOR IMPROVING AN MOVEMENT OPERATION OF OBJECT IN THE SAME}
다양한 실시예들은 전자 장치 및 객체의 움직임 동작을 개선하는 방법에 관한 것이다.
전자 장치는 터치스크린 디스플레이에 표시되는 다양한 UI(user interface)를 이용하여 사용자 편의를 위한 다양한 기능을 제공하고 있다. 전자 장치는 다양한 기능 또는 어플리케이션(application)을 실행하기 위한 객체(예: 앱 아이콘)을 디스플레이(예: home screen))에 표시하고 있다. 전자 장치는 디스플레이에 표시된 객체의 변경 예를 들어, 이동, 전환(예: swipe), 추가, 삭제 또는 결합이 가능하도록 구현되고 있다.
그 중 객체 이동 인터렉션(interaction)은 객체를 롱 프레스하는 입력에 반응하여 객체를 이동 상태(예: 플로팅 아이콘(floating icon))로 전환하고 드래그 입력에 따라 객체의 이동을 시작할 수 있다.
그러나, 전자 장치는 객체 선택에 대한 입력 경계가 모호하여 사용자가 의도하지 않았으나, 객체가 이동되는 현상이 발생되고 있다.
예를 들어, 전자 장치는 롱 프레스 입력에 의해 앱 아이콘의 팝업 표시 동작과 앱 아이콘의 이동 상태 전환이 동시에 활성화되고 있다. 이로 인해, 사용자가 팝업 표시 동작을 의도함에도 불구하고 앱 아이콘이 이동 상태로 전환되어 사용자의 의도에 반하여 움직이는 현상이 발생되고 있다. 이외에도, 객체 이동 환경에서 앱 아이콘을 선택하는 터치의 중심과 앱 아이콘의 중심이 달라가 사용자가 원하지 않는 위치에 이동되는 현상 또는 터치 기구(또는 터치 입력 기구)에 의해 앱 아이콘이 가려져 사용자가 앱 아이콘이 이동하는 것을 정확하게 인지할 수 없는 문제가 발생되고 있다
다양한 실시예들은 디스플레이에 표시되는 객체의 움직임 또는 드래그 이동 동작을 개선하여 사용자 경험을 향상시키는데 그 목적이 있다.
다양한 실시예에 따른 전자 장치는, 터치스크린 디스플레이, 메모리 및 상기 터치스크린 디스플레이 및 메모리에 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 터치스크린 디스플레이에 표시된 객체를 선택하는 제1 터치가 설정된 제1 터치 시간(T1)동안 경과되는 것에 반응하여 롱 프레스 입력을 감지하고, 상기 롱 프레스 입력이 수신된 후 상기 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신하고, 상기 드래그 신호가 설정된 드래그 이동 시간(T2) 및 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우, 상기 제1 터치에 의해 선택된 객체를 고정 상태(fixed state)로 유지하고, 상기 드래그 신호가 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 경우, 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 시점부터 상기 제1 터치에 의해 선택된 객체를 플로팅 상태(floating state)로 전환하고, 상기 드래그 신호에 반응하여 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어할 수 있다.
다양한 실시예에 따르면, 전자 장치의 객체 움직임 동작을 개선하는 방법은, 상기 터치스크린 디스플레이에 표시된 객체를 선택하는 제1 터치를 수신하는 동작, 상기 제1 터치가 설정된 제1 터치 시간(T1) 동안 경과되는 것에 반응하여 롱 프레스 입력을 감지하는 동작, 상기 롱 프레스 입력이 수신된 후 상기 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신하는 동작, 상기 드래그 신호가 설정된 드래그 이동 시간(T2) 및 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우, 상기 제1 터치에 의해 선택된 객체의 고정 상태(static state)를 유지하는 동작 및 상기 드래그 신호가 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 경우, 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 시점부터 상기 제1 터치에 의해 선택된 객체를 플로팅 상태(floating state)로 전환하고, 상기 드래그 신호에 반응하여 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 디스플레이에 표시되는 객체의 움직임을 유도하는 드래그 신호가 수신되더라도, 드래그 시작 시점을 추가로 판단함으로써, 드래그 입력에 따라 객체를 이동하지 않거나 객체 이동을 시작하도록 제어할 수 있다.
다양한 실시예에 따르면, 드래그 신호의 드래그 이동 거리 및 드래그 이동 시간를 모두 벗어난 경우 객체 이동을 시작하도록 개선함으로써, 사용자 의도에 반하여 객체들이 움직이는 문제를 개선할 수 있다.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2은 다양한 실시예에 따른 전자 장치의 모듈 구성을 도시한 것이다.
도 3은 다양한 실시예에 따른 전자 장치의 블록도이다.
도 4는 일 실시예에 따른 전자 장치의 객체의 움직임 동작을 개선하는 방법을 도시한다.
도 5는 일 실시예에 따른 객체 움직임 시작 조건을 설명하기 위한 예시를 도시한다.
도 6은 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 7은 일 실시예에 따른 전자 장치의 객체의 움직임 동작을 개선하는 방법을 도시한다.
도 8a는 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 8b는 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 9는 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 10은 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
도 1은 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102,104, 또는108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2은 다양한 실시예에 따른 전자 장치의 모듈 구성을 도시한 것이다.
도 2를 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))는 다양한 모듈로 구성될 수 있다. 도 2에서 설명된 모듈들은 전자 장치(101)의 프로세서(도 1의 프로세서(120))에 의해 수행되는 기능으로 이해될 수 있다. 프로세서(120)는 소프트웨어 모듈을 구현하기 위해 메모리(예: 도 1의 메모리(130))에 저장된 명령어들(예: 인스트럭션(instruction))을 실행시킬 수 있고, 기능과 연관된 하드웨어(예: 도 1의 통신 모듈(180))를 제어할 수 있다.
도 2에서 모듈들 중 일부는 하드웨어적으로 구현되거나, 다른 일부는 소프트웨어적으로 구현될 수 있다. 모듈들은 어플리케이션(application) 계층, 프레임워크(frame work) 계층, 하드웨어 추상화 계층(hardware abstraction layer, HAL), 커널(kernel) 드라이버 계층 및/또는 하드웨어(hardware, HW) 계층으로 구분될 수 있으며, 도시된 구성 중 적어도 일부는 변경될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 어플리케이션(210)(application), 시스템 UI(system user interface), 드래그 컨트롤러 매니저(220)(drag controller manager), 윈도우 매니저(230)(window manager), 센서 매니저(233)(sensor manager), 뷰 시스템(235)(view system), 액티비티 매니저(237)(activity manager), 이벤트 허브(240)(event hub), 서피스 플링거(245)(surface flinger), 센서 드라이버(250)(sensor driver), 및 디스플레이 컨트롤러(255)(예: Display Driver IC Controller) 중 적어도 하나를 포함하여 구성될 수 있다. 전자 장치(101)는 하드웨어 계층에 센서 컨트롤러(260)(sensor controller) 및 표시 패널(265)(display panel)를 더 포함할 수 도 있다.
어플리케이션(210)은 전자 장치(101)의 메모리 상에 저장 또는 프로세서에 의해 실행 가능한 또는 설치된 어플리케이션(210)(예: app1 app2, app3)일 수 있다. 어플리케이션(210)에 대응하는 객체(object)(예: 앱 아이콘(app icon), 위젯(widget))들은 뷰 시스템(view system)을 통해 디스플레이에 표시될 수 있다.
시스템 UI(215)는 전자 장치(101)의 시스템 예를 들어, 노티피케이션 바(notification bar), 또는 퀵 뷰(quick view)와 관련된 화면을 관리할 수 있다.
드래그 컨트롤러 매니저(220)는 어플리케이션 계층 및 프레임 워크 계층 사이에 포함될 수 있다.
드래그 컨트롤러 매니저(220)는 객체(예: 앱 아이콘)를 선택하는 터치 신호에 기초한 롱 프레스 입력 또는 드래그 입력이 인식되는지를 판단할 수 있다. 드래그 컨트롤러 매니저(220)는 객체가 표시된 영역에서 제1 터치를 수신한 후, 제1터치가 설정된 제1 터치 시간이 경과되는지를 판단하여 롱 프레스 입력을 인식할 수 있다.
드래그 컨트롤러 매니저(220)는 롱 프레스 입력이 인식된 후, 제1 터치에 기초한 드래그 신호가 설정된 드래그 이동 거리 및 드래그 이동 시간을 모두 벗어나는지를 판단하여 드래그 이동의 시작 시점을 판단할 수 있다.
드래그 컨트롤러 매니저(220)는 드래그 신호가 설정된 드래그 이동 거리 및 드래그 이동 시간 중 하나라도 벗어나지 않은 경우, 선택된 객체의 고정 상태(fixed state or static state)를 유지하고, 드래그 신호가 드래그 이동 거리 및 드래그 이동 시간 모두 벗어난 경우 드래그 입력을 인식하고, 두 가지 조건을 모두 벗어난 시점부터 드래그 입력에 대응하여 객체의 드래그 이동을 시작하도록 제어할 수 있다.
드래그 컨트롤러 매니저(220)는 객체를 선택하는 롱 프레스 입력이 인식된 후, 드래그 신호가 드래그 이동 거리 및 드래그 이동 시간을 모두 벗어난 시점에 대한 정보 및 드래그 이동 정보를 뷰 시스템(view system)으로 전달할 수 있다. 뷰 시스템(view system)는 드래그 입력에 따른 아이콘의 변경(예: 이동) 관련된 GUI자원들을 윈도우 매니저(230)로 전달할 수 있다. 뷰 시스템(235)은 애플리케이션(210)의 사용자 인터페이스 생성에 사용되는 확장 가능한 뷰들의 집합을 포함할 수 있다.
윈도우 매니저(230)는, 화면에서 사용되는 하나 이상의 GUI(graphic user interface) 자원들을 관리할 수 있다. 윈도우 매니저(230)는 전자 장치(101)의 표시 영역의 정보를 어플리케이션(210)에게 전달할 수 있다. 센서 매니저(233)는, 어플리케이션(210)의 설정에 기반하여 센서를 제어할 수 있다. 예를 들어, 사용자의 터치 입력이 발생한 경우, 센서 매니저(233)는 터치 센서를 제어하여 터치 데이터를 생성하도록 지시할 수 있다. 예를 들어, 센서 매니저(233)는 사용자의 터치에 대응하여 터치 프레스, (touch press, touch down, touch contact) 신호, 터치 드래그(touch drag or touch movement) 신호 및/또는 터치 해제(touch up, touch release) 신호에 대응하는 터치 데이터를 생성하도록 지시할 수 있다.
액티비티 매니저(237)는 애플리케이션(210)의 생명주기(lifecycle)와 액티비티 스택을 제어할 수 있다.
이벤트 허브(240)는, 터치 회로 및 센서에서 발생하는 이벤트를 표준화한 인터페이스 모듈일 수 있다. 이벤트 허브(240)는 하드웨어 계층에 포함된 복수의 하드웨어 모듈 및 전자 장치의 소프트웨어 사이의 추상화된 계층(hardware abstraction layer, HAL)에 포함될 수 있다.
서피스 플링거(245)는 복수의 레이어들을 합성할 수 있다. 예를 들면, 서피스 플링거(245)는 합성된 복수의 레이어들을 나타내는 데이터를 디스플레이 컨트롤러(255)에게 제공할 수 있다. 여기서 디스플레이 컨트롤러는 그래픽 디스플레이 컨트롤러(graphic display controller) 또는 디스플레이 구동 회로 컨트롤러를 의미할 수 있다.
커널 계층은 전자 장치(101)에 포함된 다양한 하드웨어 모듈을 제어하기 위한 다양한 드라이버를 포함할 수 있다. 예를 들어, 커널 계층은 센서와 연결된 센서 컨트롤러를 제어하는 센서 드라이버(250)와, 디스플레이 패널을 제어하는 디스플레이 컨트롤러(255)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
센서 드라이버(250)는 운영체제와 센서를 연결하며, 센서의 구동 방식, 특성 및/또는 기능에 대한 정보를 포함할 수 있다. 센서 드라이버(250)는 센서와 연결된 센서 컨트롤러를 제어하는 인터페이스 모듈을 포함할 수 있다. 디스플레이 컨트롤러(255)는 서피스 플링거(245)로부터 합성된 복수의 레이어들을 나타내는 데이터를 수신할 수 있으며, 디스플레이 구동 회로에 대응할 수 있다.
도 3은 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3을 참조하면, 전자 장치(예: 도 1의 전자 장치(101))는 터치스크린 디스플레이(310), 프로세서(320) 및 메모리(330)를 포함할 수 있으며, 다양한 실시예에서, 도 1의 전자 장치(101)의 구성 및/또는 기능 중 적어도 일부를 더 포함할 수 있다. 도시된(또는 도시되지 않은) 전자 장치(101)의 각 구성 중 적어도 일부는 상호 작동적으로(operatively), 기능적으로(functionally) 및/또는 전기적으로 (electrically) 연결될 수 있다.
터치스크린 디스플레이(310)는 프로세서(320)의 제어에 따라 다양한 영상을 표시할 수 있다. 디스플레이(310)는 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 마이크로 LED(micro LED) 디스플레이, QD(quantum dot) 디스플레이 또는 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이 중 어느 하나로 구현될 수 있으며, 이에 한정되지는 않는다.
다양한 실시예에 따르면, 터치스크린 디스플레이(310)는 적어도 일부가 플렉서블(flexible) 할 수 있으며, 폴더블(foldable) 디스플레이, 롤러블(rollable) 디스플레이, 슬라이더블(slidable) 디스플레이 또는 스트레처블(stretchable) 디스플레이로 구현될 수도 있다.
터치스크린 디스플레이(310)는 사용자의 신체 일부(예: 손가락) 또는 입력 장치(예: 스타일러스 펜)를 이용한 터치 및/또는 근접 터치(또는 호버링) 입력을 감지하는 감지할 수 있다.
터치스크린 디스플레이(310)는 터치 센서를 포함할 수 있다. 터치 센서는 전극 센서(conductivity sensor), 정전식 터치 센서(capacitive touch sensor), 저항막 터치 센서(resistive touch sensor), 표면형 터치 센서(surface touch sensor), 투영형 터치 센서(projected captivated(PCAP) touch sensor), 또는 초음파형 터치 센서(surface acoustic wave touch sensor) 중 어느 하나로 구현될 수 있으며, 이에 한정되지 않는다.
터치스크린 디스플레이(310)는 하나 이상의 터치 센서를 포함할 수 있다.
메모리(330)는 휘발성 메모리(예: 도 1의 휘발성 메모리(132)) 및 비휘발성 메모리(예: 도 1의 비휘발성 메모리(134))를 포함하여, 다양한 데이터들을 일시적 또는 영구적으로 저장할 수 있다. 메모리(330)는 도 1의 메모리(130)의 구성 및/또는 기능 중 적어도 일부를 포함하고, 도 1의 프로그램(140)을 저장할 수 있다.
메모리(330)는 프로세서(320)에서 수행될 수 있는 다양한 인스트럭션(instruction)들을 저장할 수 있다. 이와 같은 인스트럭션들은 프로세서(320)에 의해 인식될 수 있는 산술 및 논리 연산, 데이터 이동, 또는 입출력과 같은 제어 명령을 포함할 수 있다.
프로세서(320)는 전자 장치(101)의 각 구성요소들(예: 터치스크린 디스플레이(310), 및 메모리(330))과 작동적으로(operatively), 기능적으로(functionally), 및/또는 전기적으로(electrically) 연결되어, 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성일 수 있다. 프로세서(320)는 도 1의 프로세서(120)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
프로세서(320)가 전자 장치(101) 상에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 이하에서는 전자 장치(101)의 객체 움직임(또는 드래그 이동) 시작 시점을 보정하고, 이에 따라 사용자 경험 환경(user experience)를 개선하는 동작들에 대해서 설명하기로 한다.
후술할 프로세서(310)의 동작들은 메모리(340)에 저장된 인스트럭션들을 로딩(loading)함으로써 수행될 수 있다.
프로세서(320)는 터치스크린 디스플레이(310)에 적어도 하나 이상의 객체(object)를 표시할 수 있다. 객체는 어플리케이션, 위젯 또는 전자 장치의 기능을 실행하기 위한 실행 아이콘일 수 있으며, 이에 한정하는 것은 아니다. 객체는 텍스트, 이미지, 파일, 폴더, 콘텐츠 중 적어도 하나를 포함할 수 있다.
일 예를 들어, 적어도 하나 이상의 객체는 전자 장치의 홈 화면(home screen)에 표시되는 아이콘(또는 앱 아이콘, 위젯)일 수 있다. 홈 화면은 적어도 하나 이상의 레이어(layer) 또는 페이지(page)로 구성될 수 있다.
어떤 실시예에 따르면, 화면에 표시되는 객체들은 복수의 객체들이 겹쳐지는 (또는 overlay) 스택 구조(또는 리스트 형태)를 가질 수 있으며, 스와이프 입력을 통해 디스플레이에 표시되는 객체(또는 최상위 표시 객체)가 전환될 수 있다.
다른 예를 들어, 터치스크린 디스플레이(310)는 객체들을 포함하는 앱 실행 화면을 표시할 수도 있다.
프로세서(320)는 터치 데이터를 기반으로 터치 유형을 구분하여 터치 제스처를 감지할 수 있다. 터치 데이터는 터치 위치, 터치 영역, 터치가 유지되는 시간, 움직임 발생 시점, 터치 이동 시간, 터치 이동 거리, 터치 이동 속도 중 적어도 하나를 포함함 수 있다. 터치 제스처는 예를 들어, 탭(tap), 더블 탭(double tap), 드래그(drag) 드래그 앤 드랍(drag and drop), 프레스(press) (또는 홀드 앤 프레스(hold and press)), 핀치 인 아웃(pinch in - out), 슬라이드(slide), 스와이프(swipe), 로테이트(rotate), 플리킹(flicking), 멀티 터치(multi touch) 중 하나일 수 있으나, 이에 한정하는 것은 아니다.
일 실시예에 따르면, 프로세서(320)는 객체(예: 앱 아이콘)선택하는 제1 터치에 기초한 터치 제스처를 인식하고, 터치 제스처에 대응하는 객체의 기능을 실행할 수 있다.
일 실시예에 따르면, 프로세서(320)는 객체(또는 객체 표시 영역)을 선택한 제1 터치가 수신된 후 설정된 제1 터치 시간(T1) 이내에 터치 해체 신호가 수신되면, 이를 탭 입력으로 인식할 수 있다. 예를 들어, 프로세서(320)는 객체에 대한 탭 입력이 인식되면, 객체에 대응하는 어플리케이션 또는 기능을 실행할 수 있다. 프로세서(320)는 탭 입력에 반응하여 앱 실행 화면을 포어그라운드(foreground)로 전환하여 표시할 수 있다.
일 실시예에 따르면, 프로세서(320)는 객체를 선택한 제1 터치가 제1 터치 시간(T1)이 경과되도록 유지되는 경우, 아이콘에 대한 롱 프레스(long press) 입력을 인식할 수 있다.
프로세서(320)는 롱 프레스 입력에 반응하여, 선택된 객체를 고정 상태(fixed state or static state)로 유지하면서 선택된 객체의 팝업 정보를 디스플레이에 표시할 수 있다. 객체의 팝업 정보는 객체의 다른 정보를 확인하기 위한 팝업 기능 또는 옵션을 안내하는 정보를 의미할 수 있다. 팝업 정보는 다른 정보를 사용하도록 안내하는 적어도 하나의 안내 항목(예: 앱 상세 정보 항목)을 포함할 수 있다. 경우에 따라 안내 항목은, 객체에 대응하는 어플리케이션의 특성에 따라 상이한 항목들(예: 위젯 보기 항목, 검색 항목)로 구성될 수도 있다.
어떤 실시예에 따르면, 프로세서(320)는 위젯이 표시된 영역 내에서 감지되는 스와이프 입력에 반응하여 화면에 표시된 위젯을 다른 위젯으로 전환할 수 있다. 예를 들어, 복수의 위젯들이 겹쳐지는 스택 구조를 가지는 경우, 프로세서(320)는 복수의 위젯들 중 하나의 위젯을 디스플레이에 표시하고, 위젯 내에서 스와이프 입력(예: 터치 이동 후 터치 해제)이 감지되는 것에 반응하여, 화면에 표시되는 위젯을 다른 위젯으로 전환하여 표시할 수 있다. 여기서, 스와이프 입력을 감지하기 위한 터치 이동 거리는 드래그 이동 거리(D1)보다 상대적으로 짧은 거리일 수 있다.
일 실시예에 따르면, 프로세서(320)는 롱 프레스 터치가 인식된 이후, 연속적으로 제1 터치가 일 방향으로 이동하는 드래그 신호를 수신할 수 있다. 프로세서(320)는 드래그 신호 또는 롱 프레스 터치가 인식된 이후 수신되는 터치 해제에 반응하여 팝업 정보의 표시를 해제할 수 있다.
프로세서(320)는 롱 프레스 터치 입력이 인식된 후 드래그 신호가 수신되더라도 객체를 고정된 상태(fixed state, static state)로 유지할 수 있다.
프로세서(320)는 드래그 신호의 드래그 이동 시간(T2) 및 드래그 이동 거리(D1)를 기반으로 객체의 드래그 이동 시작 시점을 판단할 수 있다.
예를 들어, 프로세서(320)는 드래그 신호가 시작된 시점부터 설정된 드래그 이동 시간(T1)을 벗어나는 조건 및 드래그 신호가 시작된 제1 위치부터 설정된 드래그 이동 거리(D1)만큼 떨어진 제2 위치로 벗어나는 조건을 만족하는지를 결정하고, 드래그 신호가 드래그 이동 시간(T1) 및 드래그 이동 거리(D1)를 벗어난 시점부터 드래그 신호를 드래그 입력으로 인식하고, 객체의 드래그 이동 동작(또는 움직임 동작)을 시작하도록 제어할 수 있다. 드래그 이동 시간 및 드래그 이동 거리는 사용자가 드래그 의도를 가지는 것으로 인식하기 위한 기준값을 의미할 수 있다.
프로세서(320)는 드래그 이동 시작 시점부터 선택된 객체를 플로팅 상태(floating state)로 전환하고 드래그 입력에 반응하여 플로팅 객체 움직임(다시 말해, 드래그 이동 동작)을 시작하도록 제어할 수 있다. 예를 들어, 프로세서(320)는 드래그 입력에 대응하는 객체의 이동 방향 및 이동 위치를 확인하고, 객체를 이동시킬 수 있다. 예를 들어, 사용자는 객체를 드래그 함으로써 객체의 위치 변경, 객체와 관련된 폴더 생성, 객체의 페이지 변경과 같은 변경 기능을 수행할 수 있다.
일 실시예에 따르면, 프로세서(320)는 드래그 신호에 대한 터치 해제 신호를 감지하고, 터치 해제된 위치로 플로팅 객체를 드랍하여 고정된 상태로 전환하여 표시할 수 있다.
일 실시에에 따르면, 프로세서(320)는 터치된 영역의 크기를 확인하고, 터치 영역의 크기에 비례하여 객체의 크기를 조절하고, 조절된 객체를 표시할 수 있다. 프로세서(320)는 플로팅 객체의 드래그 이동 시작 시에, 조절된 크기의 플로팅 객체로 전환하여 드래그 이동을 시작하도록 제어할 수 있다. 예를 들어, 프로세서(320)는 터치 신호가 수신되면, 터치 영역의 크기를 확인하고, 객체의 크기를 조절하기 위한 데이터를 생성하고, 플로팅 객체의 드래드 이동 시점에 객체를 조절된 크기의 플로팅 객체로 변경하여 움직임이 시작되도록 제어할 수 있다.
일 실시예에 따르면, 프로세서(320)는 플로팅 객체의 위치를 재설정하여 표시할 수 있다. 예를 들어, 프로세서(320)는 플로팅 객체의 중심포인트가 드래그 신호의 터치 중심 좌표와 일치한 상태로 플로팅 객체가 이동되도록 플로팅 객체의 위치를 조절할 수 있다.
일 실시예에 따르면, 프로세서(320)는 드래그 신호의 속도를 확인하고, 드래그 속도에 대응하여 플로팅 객체의 이동에 따른 애니메이션 효과의 데이터 처리 시간(예: reordering duration)이 가변되도록 조절할 수 있다.
일 실시예에 따르면, 프로세서(320)는 전자 장치의 사용 이력 및 센서 정보를 기반으로 분석된 사용자 특정 정보 중 하나를 기반으로 드래그 이동 거리 및 드래그 이동 시간을 동적으로 재설정할 수 있다.
일 예를 들어, 프로세서(320)는 사용자의 개인 터치 데이터 및 사용자 특성 정보를 누적하여 메모리(330)에 저장할 수 있다. 프로세서(410)는 터치 데이터 및 사용자 특성 정보를 분석하여 객체 변경과 관련된 개인 행동 패턴 정보를 생성할 수 있다. 예를 들어, 프로세서(320)는 객체 선택 후, 객체 위치 변경을 위한 드래그, 페이지 변경을 위한 드래그 또는 폴더 생성을 위한 드래그 간의 차이를 분석하고 개인 행동 패턴 정보에 기반하여 드래그 이동 거리 및 드래그 이동 시간을 결정하여 재설정할 수 있다.
프로세서(320)는 인공지능 모델을 이용하여 개인화 알고리즘을 생성할 수 있다. 인공지능 모델은 기계 학습(machine learning)을 통해 생성될 수 있다. 이러한 학습은 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수도 있고, 별도의 서버를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 및 강화 학습(reinforcement learning) 중 적어도 하나를 포함할 수 있으며, 전술한 예에 한정되지 않는다. 다양한 실시예에 따르면, 인공지능 모델은 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망, FNN CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks), 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
다양한 실시예들은 롱 프레스 입력에 의해 객체를 즉시 이동 상태로 전환하지 않도록 유지하고, 롱 프레스 입력이 인식된 터치의 드래그 신호가 드래그 이동 시간 및 드래그 이동 거리를 모두 벗어나는지를 더 확인함으로써, 사용자의 의도가 드래그 입력을 위한 의도인지를 판단하여 사용자 의도에 반하여 객체가 이동되는 것을 방지할 수 있다.
다양한 실시예에 따른 전자 장치(101)는, 터치스크린 디스플레이(예:도 1의 디스플레이 모듈(160)), 도 3의 터치스크린 디스플레이(310)), 메모리(예: 도 1의 메모리(130), 도 3의 메모리(330)) 및 상기 터치스크린 디스플레이 및 메모리에 연결된 프로세서(예: 도 1의 프로세서(120), 도 3의 프로세서(320))를 포함하고, 상기 프로세서는, 상기 터치스크린 디스플레이에 표시된 객체를 선택하는 제1 터치가 설정된 제1 터치 시간(T1)동안 경과되는 것에 반응하여 롱 프레스 입력을 감지하고, 상기 롱 프레스 입력이 수신된 후 상기 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신하고, 상기 드래그 신호가 설정된 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우, 상기 선택된 객체를 고정 상태(fixed state)로 유지하고, 상기 드래그 신호가 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 경우, 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 시점부터 상기 제1 터치에 의해 선택된 객체를 플로팅 상태(floating state)로 전환하고, 상기 드래그 신호에 반응하여 상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(120,320)는, 상기 드래그 신호의 터치 해제를 수신하는 것에 반응하여 상기 터치 해제 신호가 수신된 위치로 이동된 상기 플로팅 객체를 드랍하여 고정된 상태로 전환하도록 제어할 수 있다.
다양한 실시예에 따르면, 상기 객체는, 앱 아이콘, 위젯, 이미지, 컨텐츠, 텍스트, 파일 및 폴더 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(120,320)는, 상기 롱 프레스 입력이 감지된 것에 반응하여 상기 선택된 객체의 팝업 정보를 표시하고, 상기 드래그 신호가 수신되는 것에 반응하여 상기 표시된 팝업 정보의 표시를 해제하도록 제어할 수 있다.
다양한 실시예에 따르면, 상기 객체의 팝업 정보는, 상기 선택된 객체의 다른 정보를 확인하기 위한 팝업 기능 또는 옵션을 안내하는 항목들을 포함하는 팝업 윈도우일 수 있다.
다양한 실시예에 따르면, 상기 프로세서(120,320)는 상기 플로팅 객체의 드래그 이동 시작 시에, 드래그 시작을 알림하는 진동 효과를 출력하도록 제어할 수 있다.
다양한 실시예에 따르면, 상기 드래그 이동 거리 및 드래그 이동 시간은, 상기 전자 장치의 사용 이력 및 센서 정보를 기반으로 분석된 사용자 특정 정보 중 하나를 기반으로 동적으로 조절될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(120,320)는, 상기 제1 터치된 영역의 크기를 확인하고, 상기 확인된 크기에 비례하여 상기 선택된 객체의 크기를 조정하고, 조정된 객체로 표시하도록 제어할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(120,320)는, 상기 플로팅 객체의 드래그 이동 시작 시에, 상기 크기가 조절된 플로팅 객체로 표시되도록 제어할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(120,320)는, 상기 플로팅 객체를 표시하는 영역의 중심 포인트를 확인하고, 상기 플로팅 객체의 중심포인트가 상기 드래그 신호의 터치 중심 좌표와 일치한 상태로 상기 플로팅 객체가 이동되도록 상기 플로팅 객체의 위치를 조절할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(120,320)는, 상기 드래그 신호의 속도를 확인하고, 상기 드래그 속도에 대응하여 상기 플로팅 객체의 이동에 따른 애니메이션 효과의 데이터 처리 시간이 가변되도록 제어할 수 있다.
도 4는 일 실시예에 따른 전자 장치의 객체의 움직임 동작을 개선하는 방법을 도시하며, 도5는 일 실시예에 따른 객체 움직임 시작 조건을 설명하기 위한 예시를 도시한다.
도 4 및 도 5를 참조하면, 일 실시예에 따른 전자 장치(101)의 프로세서(예; 도 3의 프로세서(320))는 410 동작에서, 터치스크린 디스플레이(예: 도 3의 터치스크린 디스플레이(310))에 적어도 하나 이상의 객체(예: 아이콘)를 표시할 수 있다.
예를 들어, 프로세서(320)는 어플리케이션에 대응하는 객체(에: 아이콘)을 포함하는 홈 화면(home screen)에 표시할 수 있다. 객체는 어플리케이션, 위젯 또는 전자 장치의 기능을 실행하기 위한 실행 아이콘일 수 있으마, 이에 한정하는 것은 아니다.
420 동작에서, 프로세서(320)는 객체를 선택하는 제1 터치를 수신할 수 있다.
프로세서(320)는 터치스크린 디스플레이를 통해 수신되는 터치 데이터를 기반으로 제1 터치 포인트(예: 제1 터치 좌표)를 확인하고, 터치 포인트에 대응하는 객체를 선택할 수 있다. 터치 포인트는 2차원 또는 3차원 좌표 정보로 생성될 수 있다.
프로세서(320)는 터치 데이터(예: 터치 시간, 움직임 발생 여부, 터치 거리, 터치 움직임 속도)를 기반으로 터치 유형을 구분하여 터치 제스처를 인식할 수 있다.
425동작에서, 프로세서(320)는 제1 터치가 설정된 제1 터치 시간(T1)을 경과하는지를 확인할 수 있다.
프로세서(320)는 제1 터치가 설정된 제1 터치 시간(T1) 이내에서 터치 해제가 발생되면, 427로 동작하여 객체에 대한 탭 입력을 감지할 수 있다.
430 동작에서, 프로세서(320)는 객체를 선택하는 제1 터치가 제1 터치 시간(T1)을 경과하는 경우 제1 터치에 기초한 롱 프레스 입력(또는 터치 제스처)를 인식(또는 감지)할 수 있다.
440 동작에서, 프로세서(320)는 롱 프레스 입력(또는 터치 제스처)이 인식된 후 연속적으로 제1 터치의 드래그 신호(또는 이동 신호)를 수신할 수 있다.
예를 들어, 프로세서(320)는 롱 프레스 입력이 인식된 후 유지되는 제1 터치의 위치에 따라 임의의 방향으로 이동하는 드래그 신호를 수신할 수 있다.
445 동작에서, 프로세서(320)는 롱 프레스 입력이 인식된 제1 터치의 드래그 신호가 수신되더라도 객체의 고정 상태(fixed state) 또는 정적 상태(static state)를 유지할 수 있다.
440동작 및 445 동작 병렬적으로, 또는 동시에 동작할 수 있으며, 그 순서가 변경될 수도 있다. 예를 들어, 프로세서(320)는 롱 프레스 입력이 인식되더라도 객체의 고정 상태를 유지할 수 있다.
450 동작에서, 프로세서(320)는 롱 프레스 입력이 인식된 제1 터치의 드래그 신호가 설정된 드래그 이동 시간(T2) 및 드래그 이동 거리(D1)를 모두 벗어나는지를 확인할 수 있다.
일 예를 들어, 프로세서(320)는 선택된 객체를 고정(fixed/ hold)한 상태에서 롱 프레스 입력이 인식된 시점(예: 제1 시점)부터 이동하는 제1 터치의 드래그 신호가 설정된 드래그 이동 시간(T2)(또는 드래그 지속 시간)을 경과하여 유지되는지를 확인할 수 있다.
일 예로서, 도 5의 a를 살펴보면, 전자 장치(101)는 롱 프레스 입력을 인식하기 위해 설정된 터치 시간(T1) 및 객체의 드래그 이동 시작 시점을 판단하기 위한 드래그 이동 시간(T2)이 미리 설정될 수 있다. 프로세서(320)는 제1 시점(510)에서 객체를 선택하는 제1 터치를 수신하고, 타이머 정보를 기반으로 제1 시점(510)에서부터 시작된 제1 터치가 제2 시점(511)을 경과한 경우, 객체를 선택하는 롱 프레스 입력을 인식할 수 있다.
프로세서(320)는 롱 프레스 입력이 인식된 후, 이동하는 드래그 신호를 수신할 수 있다. 프로세서는(320)는 제2 시점(511)부터 제3 시점(512)까지 터치가 일 방향으로 움직이는 드래그 신호가 유지되는지를 확인할 수 있다. 프로세서는(320)는 드래그 신호가 수신되더라도, 제2 시점(511)부터 제3 시점(512)까지는 선택된 객체가 이동되지 않도록 객체의 고정 상태를 유지할 수 있다.
실질적으로 동시에 또는 병렬적으로, 프로세서(320)는 롱 프레스 입력이 인식된 후 이동되는 제1 터치의 드래그 신호가 제1 위치(예: 제1 터치가 시작된 위치, 초기 터치 위치)에서 드래그 이동 거리(D1)(또는 드래그 지속 시간)만큼 떨어진 제2 위치로 이동되었는지를 확인할 수 있다.
일 예로서, 도 5의b 를 살펴보면, 전자 장치(101)는 객체의 드래그 이동 시작 시점을 판단하기 위한 드래그 이동 거리(D1)가 미리 설정될 수 있다. 프로세서(320)는 객체 영역 내의 제1위치(520)(또는 제1 터치 시작 위치, 초기 터치 위치)에서 제1 터치가 시작되고, 설정된 드래그 이동 거리의 반경이 경과되는 거리만큼 떨어진 제2 위치(521)까지 드래그 신호가 유지되는지를 확인할 수 있다.
프로세서(320)는 드래그 신호가 수신되더라도, 제1위치(520)부터 제2위치(521)까지는 선택된 객체가 이동되지 않도록 객체의 고정 상태를 유지할 수 있다.
460 동작에서, 프로세서(320)는 제1 터치의 드래그 신호가 드래그 이동 시간(T2) 및 드래그 이동 거리(D1)를 모두 벗어난 경우, 두 가지 조건을 벗어난 시점부터 객체를 플로팅 상태(floating state)로 전환하고, 드래그 입력에 따라 플로팅 객체(floating object)의 드래그 이동을 시작할 수 있다.
프로세서(320)는 드래그 이동 시간(T2) 및 드래그 이동 거리(D1) 중 어느 하나라도 만족하지 못한 경우, 선택된 객체의 고정 상태를 유지할 수 있다.
일 실시예에 따르면, 프로세서(320)는 객체를 플로팅 상태로 전환할 시 객체의 움직임을 사용자에게 안내하기 위한 진동 효과를 출력할 수 있다.
프로세서(320)는 드래그 입력에 기반하여 플로팅 객체의 이동 방향 및 이동 위치를 확인하고, 객체를 이동시킬 수 있다. 예를 들어, 사용자는 객체를 드래그 함으로써 객체의 위치 변경, 객체의 폴더 생성, 객체의 페이지 변경과 같은 기능을 수행할 수 있다.
일 실시에에 따르면, 프로세서(320)는 제1 터치된 영역의 크기를 확인하고, 터치 영역의 크기에 따라 선택된 객체의 크기를 조절할 수 있다. 프로세서(320)는 플로팅 객체의 드래그 이동 시작 시점에 조절된 크기의 플로팅 객체로 전환하여 객체 드래그 이동을 시작할 수 있다.
일 실시에에 따르면, 프로세서(320)는 터치 포인트와 플로팅 객체의 중심 포인트가 일치하도록 플로팅 객체의 위치를 재설정(또는 조절)하여 표시할 수 있다. 프로세서(320)는 플로팅 객체의 이동 시작 시에, 터치 영역의 중심 좌표를 따라 플로팅 객체가 움직이도록 제어할 수 있다.
도 6은 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 6을 참조하면, 일 실시예에 따르면, 전자 장치(101)의 디스플레이(예: 도3의 터치스크린 디스플레이(310))는 화면 <601>에 도시된 바와 같이, 복수의 앱 아이콘을 포함하는 홈 화면(610)을 표시할 수 있다.
사용자는 메시지 앱 아이콘(620)을 터치하고, 일정 시간 터치를 유지시킬 수 있다. 프로세서(예: 도3의 프로세서(320))는 메시지 앱 아이콘(620)을 선택하는 제1 터치(630)를 수신하고, 제1 터치(630)가 제1 터치 시간(T1)을 경과하는 시점에 롱 프레스 입력을 인식할 수 있다.
어떤 실시예에 따르면, 프로세서(320)는 롱 프레스 입력에 반응하여 메시지 앱 아이콘(620)을 고정된 상태로 유지하되, 선택된 객체임을 안내하는 시각적 효과(예: 테두리 강조 표시)를 표시할 수 있다.
사용자는 메시지 앱 아이콘에 대한 롱 프레스를 유지한 상태에서 드래그할 수 있다.
프로세서(320)는, 롱 프레스 입력이 감지된 후, 수신되는 드래그 신호가 드래그 이동 거리 및 드래그 이동 시간의 두 가지 조건을 벗어나는 지 여부에 따라 아이콘의 드래그 이동을 시작하거나 시작하지 않을 수 있다.
화면 <602>에 도시된 바와 같이 사용자는 메시지 앱 아이콘(620)을 선택하는 제1 터치(630)를 일정 시간 유지한 후, 메시지 앱 아이콘을 벗어난 위치로 드래그할 수 있다.
프로세서(320)는 사용자의 드래그 신호(또는 터치 이동)가 수신되었으나, 드래그 신호가 드래그 이동 거리(T2) 및 드래그 이동 시간(D1)의 두 가지 조건 중 하나라도 벗어나지 않는 경우 사용자가 아이콘 이동을 의도하지 않는 것으로 보고 아이콘을 고정 상태로 유지함으로써, 의도하지 않는 불필요한 아이콘 이동을 방지할 수 있다.
화면 <603>에 도시된 바와 같이 프로세서(320)는, 사용자의 드래그 신호가 드래그 이동 거리(T1) 및 드래그 이동 시간(D1)의 두 가지 조건을 모두 벗어나는 경우, 사용자가 아이콘 이동을 의도한 것으로 보고 아이콘 드래그 이동을 시작할 수 있다. 프로세서(320)는 드래그 신호가 두 가지 조건을 벗어난 시점에, 메시지 앱 아이콘(620)을 플로팅 상태로 전환하고, 현재 터치 신호가 수신되는 위치로 메시지 앱 아이콘(620)을 이동시켜 표시할 수 있다.
도 7은 일 실시예에 따른 전자 장치의 객체의 움직임 동작을 개선하는 방법을 도시한다.
도 7을 참조하면, 일 실시예에 따른 일 실시예에 따른 전자 장치(101)의 프로세서(예; 도 3의 프로세서(320)는 는 710 동작에서, 터치스크린 디스플레이(예: 도 3의 터치스크린 디스플레이(310))에 적어도 하나 이상의 아이콘 (또는 객체)을 표시할 수 있다. 어떤 실시예에 따르면, 아이콘은 위젯, 이미지 또는 컨텐츠로 대체될 수 있다.
예를 들어, 프로세서(320)는 어플리케이션에 대응하는 아이콘을 포함하는 홈 화면(home screen)을 표시할 수 있다. 아이콘은 어플리케이션, 위젯 또는 전자 장치의 기능을 실행하기 위한 실행 아이콘일 수 있으나, 이에 한정하는 것은 아니다.
720 동작에서, 프로세서(320)는 아이콘을 선택하는 제1 터치에 기초한 롱 프레스 입력(또는 터치 제스처)를 감지(또는 인식)할 수 있다.
프로세서(320)는 터치스크린 디스플레이를 통해 수신되는 터치 데이터를 기반으로 제1 터치 포인트(예: 제1 터치 좌표)를 확인하고, 터치 포인트에 대응하는 아이콘을 선택할 수 있다. 프로세서(320)는 아이콘을 선택하는 제1 터치가 제1 터치 시간(T1)을 경과하는 것에 기초하여 롱 프레스 입력(또는 터치 제스처)를 인식(또는 감지)할 수 있다.
725 동작에서, 프로세서(320)는 아이콘을 선택하는 롱 프레스 입력에 반응하여 선택된 아이콘의 팝업 정보를 표시할 수 있다.
아이콘의 팝업 정보는 아이콘의 다른 정보를 확인하기 위한 팝업 기능 또는 팝업 옵션을 안내하는 정보를 의미할 수 있다. 팝업 정보는 다른 정보를 사용하도록 안내하는 적어도 하나의 안내 항목(예: 앱 상세 정보 항목)을 포함할 수 있다. 경우에 따라 안내 항목은, 아이콘에 대응하는 어플리케이션의 특성(또는 객체 특성)에 따라 상이한 항목들(예: 위젯 보기 항목, 검색 항목)로 구성될 수도 있다.
730 동작에서, 프로세서(320)는 아이콘의 고정 상태(fixed state, static state)를 유지할 수 있다.
예를 들어, 프로세서(320)는 아이콘의 팝업 정보 표시와 별개로 아이콘의 고정 상태를 유지할 수 있다.
740 동작에서, 프로세서(320)는 롱 프레스 입력이 인식된 후 연속적으로 제1 터치의 드래그 신호(또는 이동 신호)를 수신할 수 있다.
예를 들어, 프로세서(320)는 롱 프레스 입력이 인식된 후 유지되는 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신할 수 있다.
일 실시예에 따르면, 프로세서(320)는 아이콘의 팝업 정보가 표시된 상태에서 제1 터치가 연속적으로 일 방향으로 이동하는 드래그 신호 또는 터치 해제가 수신되는 것에 반응하여 팝업 정보의 표시 해제할 수 있다.
어떤 실시예에 따라, 730 동작과 740 동작의 순서는 서로 변경될 수 도 있다.
도면에 도시되지 않았으나, 프로세서(320)는 위젯이 표시된 영역 내에서 감지되는 스와이프 입력을 수신할 수 있으며, 스와이프 입력에 대응하여 화면에 표시된 객체를 다른 객체로 전환하여 표시할 수 있다. 에를 들어, 복수의 객체들이 겹쳐지는 스택 구조로서 홈 화면이 구성되는 경우 프로세서(320)는 복수의 객체들 중 하나의 객체를 디스플레이에 표시하고, 객체 내에서 스와이프 입력(다시 말해,: 터치 이동 후 터치 해제)이 감지되는 것에 반응하여, 화면에 표시된 객체를 다를 위젯으로 전환하여 표시할 수 있다. 여기서, 스와이프 입력을 감지하기 위한 터치 이동 거리는 드래그 이동 거리(D1)보다 상대적으로 짧은 거리일 수 있다.
750 동작에서, 프로세서(320)는 선택된 아이콘이 고정(fixed/ hold)되고, 롱 프레스 입력이 인식된 시점(예: 제1 시점)부터 제1 터치의 드래그 신호가 설정된 드래그 이동 시간(T2)(또는 드래그 지속 시간)을 벗어나는지를 확인할 수 있다.
프로세서(320)는 제1 신호에 기초한 드래그 신호가 드래그 이동 시간(T2)(또는 터치 지속 시간)을 경과하지 못한 경우, 아이콘의 고정 상태를 유지할 수 있다.
실질적으로 동시에 또는 병렬적으로, 755 동작에서, 프로세서(320)는 롱 프레스 입력이 인식된 후 이동되는 제1 터치의 드래그 신호가 제1 위치(예: 제1 터치가 시작된 위치, 초기 터치 위치)에서 드래그 이동 거리(D1)(또는 드래그 지속 시간)만큼 떨어진 제2 위치를 벗어나는지를 확인할 수 있다.
프로세서(320)는 제1 터치의 드래그 신호가 드래그 이동 거리(D1)만큼 이동하지 못한 경우, 아이콘의 고정 상태를 유지할 수 있다.
760 동작에서, 프로세서(320)는 제1 터치의 드래그 신호가 드래그 이동 시간(T2) 및 드래그 이동 거리(D1)를 모두 벗어난 경우, 두 가지 조건을 벗어난 시점부터 아이콘을 플로팅 상태(floating state)로 전환하고, 드래그 입력에 따라 플로팅 아이콘(floating icon)의 드래그 이동을 시작할 수 있다.
770 동작에서, 프로세서(320)는 제1 터치 영역의 크기를 확인하고, 터치 영역의 크기에 따라 선택된 아이콘의 크기를 조절할 수 있다. 프로세서(320)는 플로팅 아이콘 드래그 이동 시작 시에, 조절된 크기의 플로팅 아이콘으로 전환하여 아이콘의 드래그 이동을 시작할 수 있다.
일 실시예에 따르면, 프로세서(320)는 아이콘을 선택하는 제1 터치의 터치 데이터를 기반으로 터치 입력 도구와 터치스크린 디스플레이간의 각도 정도(예: finger pitch) 또는 터치 입력 도구의 좌우 회전 정도(예: finger roll)에 따라 터치된 영역의 크기를 확인할 수 있다. 예를 들어, 터치 입력 도구와 터치스크린 디스플레이간의 각도 정도(예: finger pitch)가 높아질수록 (또는 90도에 가까워질수록) 터치된 영역의 면적은 줄어들 수 있고, 터치 입력 도구의 좌우 회전 정도(예: finger roll)가 좌우로 기울어진 정도에 따라 터치 면적이 줄어들 수 있다.
일 실시예에 따르면, 터치 입력 도구의 크기에 따라 터치 영역의 크기를 확인할 수 있다. 예를 들어, 손가락의 경우, 성인, 아이와 같이, 사용자의 연령 또는 성별에 따라 터치 영역의 크기는 상이할 수 있다.
일 실시예에 따르면, 프로세서(320)는 전자 장치를 파지하는 파지 방향, 전자 장치의 자세, 네트워크를 통한 사용 패턴 학습 정보 중 적어도 하나를 기반으로 터치 영역의 크기를 확인할 수 있다.
예를 들어, 전자 장치(101)는 인공지능 시스템을 이용하여 사용자의 패턴(예: 생활 패턴, 전자 장치 사용 패턴)을 결정하고, 사용자의 패턴에 맞는 개인화된 서비스를 제공할 수 있다. 일 실시 예에 따르면, 전자 장치는 인공 지능(artificial intelligent)(AI) 시스템을 통해 사용자의 행동 패턴 정보를 생성할 수 있다.
일 실시예에 따르면, 775 동작에서, 프로세서(320)는 터치 영역의 터치 포인트(예: 터치 좌표)와 플로팅 아이콘의 중심 포인트가 일치하도록 플로팅 아이콘의 위치를 재설정(또는 조절)하여 표시할 수 있다. 프로세서(320)는 플로팅 아이콘의 중심포인트가 드래그 신호의 터치 중심 좌표와 일치한 상태로 플로팅 아이콘이 이동되도록 제어할 수 있다.
어떤 실시예에 따르면, 770 동작 및 775 동작은 760 동작 이전에, 아이콘 표시에 대한 전처리(preprocessing)로 수행될 수도 있다.
780 동작에서, 프로세서(320)는 플로팅 아이콘에 대한 드래그 입력에 기반하여 플로팅 아이콘의 이동 방향 및 이동 위치에 따라 아이콘을 이동시키고 재구성된 화면을 표시할 수 있다.
예를 들어, 사용자는 아이콘을 드래그 함으로써 아이콘의 위치 변경, 아이콘의 폴더 생성, 아이콘의 페이지 변경과 같은 기능을 수행하고, 이에 따라 화면을 재배치하여 표시할 수 있다.
프로세서(30)는 드래그 속도를 확인하고 드래그 속도에 따라 객체의 이동에 따른 애니메이션 효과의 데이터 처리 시간(예: reordering duration)을 동적으로 재설정 할 수 있다. 예를 들어, 프로세서(30)는 사용자의 드래그 속도가 빠를 경우, 드래그 입력에 따른 리오더링 듀레이션(reordering duration) 시간을 줄여 화면의 애니메이션 효과를 빠르게 표시하고, 드래그 속도가 느릴 경우, 리오더링 듀레이션(reordering duration) 시간을 증가시켜 화면이 애니메이션 효과를 느린 드래그 속도에 맞는 속도로 표시함으로써, 사용자의 의도에 적합한 사용자 경험 효과를 제공할 수 있다.
790 동작에서, 프로세서(320)는 터치 해제 입력을 감지하고, 795 동작에서, 프로세서(320)는 터치 해제된 위치에 플로팅 아이콘을 드랍하여 고정된 상태로 환하여 표시할 수 있다.
도 8a는 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 8a를 참조하면, 일 실시예에 따르면, 전자 장치(101)의 디스플레이(예: 도3의 터치스크린 디스플레이(310))는 화면 <801>에 도시된 바와 같이, 복수의 아이콘을 포함하는 홈 화면(810)을 표시할 수 있다.
사용자는 메시지 앱 아이콘(820)을 터치하고, 일정 시간 터치를 유지시킬 수 있다. 프로세서(예: 도3의 프로세서(320))는 메시지 앱 아이콘(820)을 선택하는 제1 터치(830)를 수신하고, 제1 터치(830)가 제1 터치 시간(T1)을 경과하는 시점에 롱 프레스 입력을 인식할 수 있다.
화면 <802>에 도시된 바와 같이 메시지 앱 아이콘(820)을 선택하는 롱 프레스 입력에 반응하여, 메시지 앱 아이콘(820)의 팝업 정보(840)를 표시할 수 있다. 예를 들어, 팝업 정보(840)는 다른 정보를 사용하도록 안내하는 적어도 하나의 안내 항목(예: 메시지를 새로 작성할 수 있도록 전환 가능한 기능 실행 항목)을 포함할 수 있다.
프로세서(320)는 롱 프레스 입력에 따라 팝업 정보(840)가 표시되더라도 메시지 앱 아이콘(820)을 고정된 상태로 유지할 수 있다.
화면 <803>에 도시된 바와 같이, 사용자는 팝업 정보(840)가 표시된 상태에서 제1 터치(830)를 메시지 앱 아이콘(820)을 벗어난 위치로 드래그할 수 있다.
프로세서(320)는 사용자의 드래그 신호(또는 터치 이동)가 수신되었으나, 드래그 신호가 드래그 이동 시간(T2) 및 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우 메시지 앱 아이콘(820)을 고정 상태로 유지함으로써, 의도하지 않는 불필요한 아이콘 이동을 방지할 수 있다.
프로세서(320)는 사용자의 드래그 신호(또는 터치 이동) 또는 터치 해제가 수신되면, 메시지 앱 아이콘(820)의 팝업 정보(840) 표시를 해제할 수 있다.
화면 <804>에 도시된 바와 같이 프로세서(320)는, 사용자의 드래그 신호가 드래그 이동 거리(T1) 및 드래그 이동 시간(D1)의 두 가지 조건을 모두 벗어난 경우, 사용자가 아이콘 이동을 의도한 것으로 보고 메시지 앱 아이콘(820)의 드래그 이동을 시작할 수 있다. 프로세서(320)는 드래그 신호가 두 가지 조건을 벗어난 시점에, 메시지 앱 아이콘(820)을 플로팅 상태로 전환하고, 현재 터치 신호가 수신되는 위치로 메시지 앱 아이콘(820)을 이동시켜 표시할 수 있다.
도 8b는 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 8b를 참조하면, 일 실시예에 따르면, 전자 장치(101)의 디스플레이(예: 도3의 터치스크린 디스플레이(310))는 화면 <805>에 도시된 바와 같이, 홈 화면(810)에 적어도 하나의 위젯(예: 날씨 위젯(850))을 표시할 수 있다. 위젯은 날씨 위젯(850)을 예시로 도시하였으나, 이에 한정하는 것은 아니다. 전자 장치(101)는 위젯의 변경 예를 들어, 이동, 전환, 추가, 삭제 또는 결합(예: 위젯 스택, 위젯 리스트 생성)하는 기능을 지원할 수 있다.
프로세서(예: 도3의 프로세서(320))는 날씨 위젯(850)을 선택하는 제1 터치(860)를 수신하고, 제1 터치(860)가 제1 터치 시간(T1)을 경과하는 시점에 롱 프레스 입력을 인식할 수 있다.
화면 <806>에 도시된 바와 같이 날씨 위젯(850)을 선택하는 롱 프레스 입력에 반응하여, 날씨 위젯(850)의 팝업 정보(860)를 표시할 수 있다. 예를 들어, 위젯의 팝업 정보(860)는 위젯과 관련된 기능 실행을 안내하는 메뉴 항목(예: 제거 항목, 편집 항목)을 포함할 수 있다.
프로세서(320)는 롱 프레스 입력에 따라 팝업 정보(640)가 표시되더라도 날씨 위젯(850)을 고정된 상태로 유지할 수 있다.
일 실시에에 따르면, 프로세서(320)는 날씨 위젯(850)이 선택됐음을 안내하기 위한 시각적 효과(예: 테두리 표시)를 표시할 수도 있다.
일 예로서, 사용자는 화면 <807>에 도시된 바와 같이, 날씨 위젯(850)에 대한 스와이프 기능을 위해 위젯 영역 내에서 스와이프(예를 들어, 터치 이동 후 해제)할 수 있다. 프로세서(320)는 위젯에 대한 스와이프 입력을 인식할 수 있다. 프로세서(320)는 스와이프 입력에 반응하여 위젯이 표시된 영역에 대한 화면 전환 다시 말해, 다른 위젯(에: 음악 재생 위젯(851)을 표시할 수 있다. 일 예를 들어, 위젯이 표시된 영역은 복수의 위젯들을 포함하는 스택 구조를 가질 수 있으며, 스와이프 입력에 대응하여 화면에 표시되는 위젯들이 전환될 수 있다.
다른 예로서, 사용자는 <806 화면>에서 팝업 정보(840)가 표시된 상태에서 스와이프 입력을 수행하지 않고, 화면 <808>에 도시된 바와 같이 제1 터치(830)를 날씨 위젯(850)을 벗어난 위치로 드래그할 수 있다.
프로세서(320)는 사용자의 드래그 신호(또는 터치 이동)가 수신되었으나, 드래그 신호가 드래그 이동 시간(T2) 및 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우 날씨 위젯(850)을 고정 상태로 유지함으로써, 의도하지 않는 불필요한 이동을 방지할 수 있다.
프로세서(320)는 사용자의 드래그 신호(또는 터치 이동) 또는 터치 해제가 수신되면, 날씨 위젯(850)의 팝업 정보(860) 표시를 해제할 수 있다.
화면 <804>에 도시된 바와 같이 프로세서(320)는, 사용자의 드래그 신호가 드래그 이동 거리(T1) 및 드래그 이동 시간(D1)의 두 가지 조건을 모두 벗어난 경우, 사용자가 위젯 이동을 의도한 것으로 보고 날씨 위젯(850)의 드래그 이동을 시작할 수 있다. 프로세서(320)는 드래그 신호가 두 가지 조건을 벗어난 시점에, 날씨 위젯(850)을 플로팅 상태로 전환하고, 현재 터치 신호가 수신되는 위치로 날씨 위젯(850)을 이동시켜 표시할 수 있다.
도 9는 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 9를 참조하면, 일 실시예에 따른 전자 장치(101)는, 터치 영역의 크기에 따라 선택된 객체의 크기를 조절하는 기능을 지원할 수 있다.
전자 장치(101)는 아이콘(910)을 선택하는 터치 영역의 크기를 확인하고, 선택된 아이콘(910)의 크기를 조절하고, 조절된 크기의 아이콘(920)으로 전환하여 객체 드래그 이동을 시작할 수 있다. 예를 들어, 사용자는 손가락을 이용하여 터치스크린 디스플레이에 표시된 제1 크기의 앱 아이콘(910)을 선택할 수 있다. 전자 장치(101)는 앱 아이콘을 제1 크기에서 제2 크기로 조절할 수 있다. 전자 장치(101)는 제2 크기로 조절된 앱 아이콘(920)으로 표시하여, 사용자가 의도하는 입력의 가시적인 안내 효과를 부여할 수 있다.
도 10은 일 실시예에 따른 전자 장치의 객체 움직임 동작을 나타내는 사용자 인터페이스 화면을 도시한다.
도 10을 참조하면, 일 실시예에 따른 전자 장치(101)는 터치 영역의 터치 포인트(예: 터치 좌표)와 플로팅 아이콘의 중심 포인트가 일치하도록 플로팅 아이콘의 위치를 재설정하는 기능을 지원할 수 있다.
예를 들어, 앱 아이콘(1010)은 격자 구조의 그리드 화면에 표시될 수 있다. 예를 들어, 앱 아이콘(1010)은 4구획으로 분할된 제1 그리드 내에 표시될 있다. 전자 장치(101)는 제1 그리드 내에서 터치가 수신되면, 앱 아이콘(1010)을 선택하는 터치로 인식할 수 있다.
예를 들어, 앱 아이콘(1010)이 표시된 위치가 아닌 (a1,a2) 좌표를 터치하더라도 전자 장치(101)는 제1 그리드 내의 터치로 인식하고, 앱 아이콘(1010)을 선택할 수 있다, 이 경우, 앱 아이콘(1010)이 드래그 입력에 따라 이동되는 경우, 사용자가 의도하는 입력에 대한 경계가 불확실 할 수 있다.
전자 장치(101)는, 앱 아이콘(1010)의 중심포인트(1011)가 터치 중심 좌표(a1,a2)와 일치한 상태로 앱 아이콘(1010)이 이동되도록 앱 아이콘(1010)의 위치를 조절하여 아이콘의 이동에 대한 가시적인 안내 효과를 부여할 수 있다.
일 예를 들어, 전자 장치가 복수의 페이지(또는 좌우 페이지)를 지원하는 폴더블 장치 또는 슬라이더블 장치일 경우, 아이콘의 중심 포인트와 터치 된 중심 포인트가 일치 하지 않는 경우 페이지 경계 부분에서 객체의 이동을 위한 드래그 신호가 사용자의 의도와 다르게 다른 페이지로 넘어가는 현상을 발생될 수 있다. 전자 장치(101)는 앱 아이콘(1010)의 중심포인트(1011)가 터치 중심 좌표(a1,a2)와 일치한 상태로 앱 아이콘(1010)이 이동되도록 제공함으로써, 사용자가 의도한 대로 앱 아이콘을 이동하고자 하는 위치에 놓여지게 할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)의 객체 움직임 동작을 개선하는 방법은, 상기 터치스크린 디스플레(예:도 1의 디스플레이 모듈(160)), 도 3의 터치스크린 디스플레이(310))이에 표시된 객체를 선택하는 제1 터치를 수신하는 동작, 상기 제1 터치가 설정된 제1 터치 시간(T1) 동안 경과되는 것에 반응하여 롱 프레스 입력을 감지하는 동작, 상기 롱 프레스 입력이 수신된 후 상기 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신하는 동작, 상기 드래그 신호가 설정된 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우, 상기 선택된 객체의 고정 상태(static state)를 유지하는 동작 및 상기 드래그 신호가 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 경우, 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 시점부터 상기 제1 터치에 의해 선택된 객체를 플로팅 상태(floating state)로 전환하고, 상기 드래그 신호에 반응하여 상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 상기 플로팅 객체의 드래그 이동 시작 후에, 상기 드래그 신호의 터치 해제를 수신하는 동작, 및 상기 터치 해제 신호가 수신된 위치로 이동된 상기 플로팅 객체를 드랍하여 디스플레이에 고정된 상태로 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 상기 롱 프레스 입력을 감지하는 동작은, 상기 롱 프레스 입력이 감지된 것에 반응하여 상기 선택된 객체의 팝업 정보를 표시하는 동작 및 상기 드래그 신호가 수신되는 것에 반응하여 상기 표시된 팝업 정보의 표시를 해제하도록 제어하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 객체의 팝업 정보는, 상기 선택된 객체의 다른 정보를 확인하기 위한 팝업 기능 또는 팝업 정보를 안내하는 항목들을 포함하는 팝업 윈도우일 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은, 상기 플로팅 객체의 드래그 이동 시작 시에, 드래그 이동 시작을 알림하는 진동 효과를 출력하도록 제어하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 드래그 이동 거리 및 드래그 이동 시간은, 전자 장치의 사용 이력 및 센서 정보를 기반으로 분석된 사용자 특정 정보 중 하나를 기반으로 동적으로 조절될 수 있다.
양한 실시예에 따르면, 전자 장치(101)는 상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은, 상기 제1 터치 영역의 면적을 확인하는 동작, 상기 확인된 제1 터치 영역의 면적의 크기에 비례하여 상기 선택된 객체의 크기를 조정하는 동작을 더 포함하고, 상기 플로팅 객체의 드래그 이동 시작 시에, 상기 크기가 조절된 플로팅 객체로 표시될 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은, 상기 플로팅 객체를 표시하는 영역의 중심 포인트를 확인하는 동작 및 상기 플로팅 객체의 중심포인트가 상기 드래그 신호의 터치 중심 좌표와 일치한 상태로 상기 플로팅 객체가 이동되도록 상기 플로팅 객체의 위치를 조절하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은, 상기 드래그 신호의 속도를 확인하는 동작 및 상기 터치 드래그 속도에 대응하여 상기 플로팅 객체의 이동에 따른 애니메이션 효과의 데이터 처리 시간이 가변되도록 제어하는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
101: 전자 장치
310: 터치스크린 디스플레이
320: 프로세서
330: 메모리

Claims (20)

  1. 전자 장치에 있어서,
    터치스크린 디스플레이;
    메모리;
    상기 터치스크린 디스플레이 및 메모리에 연결된 프로세서를 포함하고,
    상기 프로세서는,
    상기 터치스크린 디스플레이에 표시된 객체를 선택하는 제1 터치가 설정된 제1 터치 시간(T1)동안 경과되는 것에 반응하여 롱 프레스 입력을 감지하고,
    상기 롱 프레스 입력이 수신된 후 상기 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신하고,
    상기 드래그 신호가 설정된 드래그 이동 시간(T2) 및 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우, 상기 제1 터치에 의해 선택된 객체를 고정 상태(fixed state)로 유지하고,
    상기 드래그 신호가 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 경우, 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 시점부터 상기 제1 터치에 의해 선택된 객체를 플로팅 상태(floating state)로 전환하고, 상기 드래그 신호에 반응하여 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 드래그 신호의 터치 해제를 수신하는 것에 반응하여 상기 터치 해제 신호가 수신된 위치로 이동된 상기 플로팅 객체를 드랍하여 고정된 상태로 전환하도록 제어하는 전자 장치.
  3. 제1항에 있어서,
    상기 객체는,
    앱 아이콘, 위젯, 이미지, 컨텐츠, 텍스트, 파일 및 폴더 중 적어도 하나를 포함하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 롱 프레스 입력이 감지된 것에 반응하여 상기 선택된 객체의 팝업 정보를 표시하고,
    상기 드래그 신호가 수신되는 것에 반응하여 상기 표시된 팝업 정보의 표시를 해제하도록 제어하는 전자 장치.
  5. 제4항에 있어서,
    상기 객체의 팝업 정보는,
    상기 선택된 객체의 다른 정보를 확인하기 위한 팝업 기능 또는 옵션을 안내하는 항목들을 포함하는 팝업 윈도우인 것을 특징으로 하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 플로팅 객체의 드래그 이동 시작 시에, 드래그 시작을 알림하는 진동 효과를 출력하도록 제어하는 전자 장치.
  7. 제1항에 있어서,
    상기 드래그 이동 거리 및 드래그 이동 시간은,
    상기 전자 장치의 사용 이력 및 센서 정보를 기반으로 분석된 사용자 특정 정보 중 하나를 기반으로 동적으로 조절되는 것을 특징으로 하는 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 터치된 영역의 크기를 확인하고,
    상기 확인된 크기에 비례하여 상기 선택된 객체의 크기를 조정하고, 조정된 객체로 표시하도록 제어하는 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 플로팅 객체의 드래그 이동 시작 시에, 상기 크기가 조절된 플로팅 객체로 표시되도록 제어하는 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 플로팅 객체를 표시하는 영역의 중심 포인트를 확인하고,
    상기 플로팅 객체의 중심 포인트가 상기 드래그 신호의 터치 중심 좌표와 일치한 상태로 상기 플로팅 객체가 이동되도록 상기 플로팅 객체의 위치를 조절하는 전자 장치.
  11. 제1항에 있어서,
    상기 프로세서는,
    상기 드래그 신호의 속도를 확인하고,
    상기 드래그 신호의 속도에 대응하여 상기 플로팅 객체의 이동에 따른 애니메이션 효과의 데이터 처리 시간이 가변되도록 제어하는 전자 장치.
  12. 전자 장치의 객체 움직임 동작을 개선하는 방법에 있어서,
    터치스크린 디스플레이에 표시된 객체를 선택하는 제1 터치를 수신하는 동작;
    상기 제1 터치가 설정된 제1 터치 시간(T1) 동안 경과되는 것에 반응하여 롱 프레스 입력을 감지하는 동작;
    상기 롱 프레스 입력이 수신된 후 상기 제1 터치가 임의의 방향으로 이동하는 드래그 신호를 수신하는 동작;
    상기 드래그 신호가 설정된 드래그 이동 시간(T2) 및 드래그 이동 거리(D1) 중 하나라도 벗어나지 않는 경우, 상기 제1 터치에 의해 선택된 객체의 고정 상태(static state)를 유지하는 동작; 및
    상기 드래그 신호가 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 경우, 상기 드래그 이동 시간(T2) 및 상기 드래그 이동 거리(D1)를 모두 벗어난 시점부터 상기 제1 터치에 의해 선택된 객체를 플로팅 상태(floating state)로 전환하고, 상기 드래그 신호에 반응하여 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작을 포함하는 방법.
  13. 제12항에 있어서,
    상기 플로팅 객체의 드래그 이동 시작 후에,
    상기 드래그 신호의 터치 해제를 수신하는 동작; 및
    상기 터치 해제 신호가 수신된 위치로 이동된 상기 플로팅 객체를 드랍하여 디스플레이에 고정된 상태로 표시하는 동작을 더 포함하는 방법.
  14. 제12항에 있어서,
    상기 롱 프레스 입력을 감지하는 동작은,
    상기 롱 프레스 입력이 감지된 것에 반응하여 상기 선택된 객체의 팝업 정보를 표시하는 동작; 및
    상기 드래그 신호가 수신되는 것에 반응하여 상기 표시된 팝업 정보의 표시를 해제하도록 제어하는 동작을 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 객체의 팝업 정보는,
    상기 선택된 객체의 다른 정보를 확인하기 위한 팝업 기능 또는 팝업 정보를 안내하는 항목들을 포함하는 팝업 윈도우인 것을 특징으로 하는 방법.
  16. 제12항에 있어서,
    상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은,
    상기 플로팅 객체의 드래그 이동 시작 시에, 드래그 이동 시작을 알림하는 진동 효과를 출력하도록 제어하는 동작을 더 포함하는 방법.
  17. 제12항에 있어서,
    상기 드래그 이동 거리 및 드래그 이동 시간은,
    전자 장치의 사용 이력 및 센서 정보를 기반으로 분석된 사용자 특정 정보 중 하나를 기반으로 동적으로 조절되는 것을 특징으로 하는 방법.
  18. 제12항에 있어서,
    상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은,
    상기 제1 터치 영역의 면적을 확인하는 동작; 및
    상기 확인된 제1 터치 영역의 면적의 크기에 비례하여 상기 선택된 객체의 크기를 조정하는 동작을 더 포함하고,
    상기 플로팅 객체의 드래그 이동 시작 시에, 상기 크기가 조절된 플로팅 객체로 표시되는 것을 특징으로 하는 방법.
  19. 제12항에 있어서,
    상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은,
    상기 플로팅 객체를 표시하는 영역의 중심 포인트를 확인하는 동작; 및
    상기 플로팅 객체의 중심 포인트가 상기 드래그 신호의 터치 중심 좌표와 일치한 상태로 상기 플로팅 객체가 이동되도록 상기 플로팅 객체의 위치를 조절하는 동작을 더 포함하는 방법.
  20. 제12항에 있어서,
    상기 플로팅 객체(floating object)의 드래그 이동을 시작하도록 제어하는 동작은,
    상기 드래그 신호의 속도를 확인하는 동작; 및
    상기 드래그 신호의 속도에 대응하여 상기 플로팅 객체의 이동에 따른 애니메이션 효과의 데이터 처리 시간이 가변되도록 제어하는 동작을 더 포함하는 방법.
KR1020210104881A 2021-08-09 2021-08-09 전자 장치 및 객체의 움직임 동작을 개선하는 방법 KR20230022740A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210104881A KR20230022740A (ko) 2021-08-09 2021-08-09 전자 장치 및 객체의 움직임 동작을 개선하는 방법
PCT/KR2022/011874 WO2023018192A1 (ko) 2021-08-09 2022-08-09 전자 장치 및 객체의 움직임 동작을 개선하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210104881A KR20230022740A (ko) 2021-08-09 2021-08-09 전자 장치 및 객체의 움직임 동작을 개선하는 방법

Publications (1)

Publication Number Publication Date
KR20230022740A true KR20230022740A (ko) 2023-02-16

Family

ID=85200132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210104881A KR20230022740A (ko) 2021-08-09 2021-08-09 전자 장치 및 객체의 움직임 동작을 개선하는 방법

Country Status (2)

Country Link
KR (1) KR20230022740A (ko)
WO (1) WO2023018192A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509588B2 (en) * 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
KR101708821B1 (ko) * 2010-09-30 2017-02-21 엘지전자 주식회사 이동 단말기 및 그 제어 방법
KR102072207B1 (ko) * 2011-11-25 2020-01-31 삼성전자주식회사 휴대단말기의 오브젝트 표시장치 및 방법
KR102188097B1 (ko) * 2013-03-04 2020-12-07 삼성전자주식회사 페이지 운용 방법 및 그 전자 장치
KR102319286B1 (ko) * 2014-08-13 2021-10-29 삼성전자 주식회사 드래그 앤 드롭 처리 방법 및 장치

Also Published As

Publication number Publication date
WO2023018192A1 (ko) 2023-02-16

Similar Documents

Publication Publication Date Title
KR20220050020A (ko) 플렉서블 디스플레이를 포함하는 전자 장치 및 전자 장치의 화면 운영 방법
KR102247663B1 (ko) 디스플레이의 제어 방법 및 이를 지원하는 전자 장치
KR20230009222A (ko) 복수의 터치스크린 디스플레이를 포함하는 전자 장치 및 화면 분할 방법
KR20220014751A (ko) 슬라이딩 가능한 전자 장치 및 이의 제어 방법
EP4148543A1 (en) Electronic device providing execution screen of application, operating method therefor, and storage medium
KR20220015266A (ko) 플렉서블한 디스플레이 모듈을 포함하는 전자 장치와 이의 동작 방법
KR20230022740A (ko) 전자 장치 및 객체의 움직임 동작을 개선하는 방법
KR20230023450A (ko) 멀티 윈도우를 지원하는 전자 장치 및 이의 제어 방법
KR20220102263A (ko) 전자 장치 및 전자 장치에서 스타일러스 펜의 입력을 처리하는 방법
KR20220014709A (ko) 슬라이딩 가능한 전자 장치 및 이의 제어 방법
KR20220079189A (ko) 플렉서블 디스플레이 전자 장치 및 그 동작 방법
KR20220053354A (ko) 사용자 인터페이스를 제공하는 전자 장치 및 그 방법
KR20220016727A (ko) 다중 윈도우 이미지 캡쳐 방법 및 이를 위한 전자 장치
EP4280043A1 (en) Electronic apparatus comprising foldable display and control method thereof
KR20230023425A (ko) 터치 제스처 감지 방법 및 이를 지원하는 전자 장치
KR20240050224A (ko) 전자 장치 및 이의 포스 터치 동작 개선 방법
KR20220138221A (ko) 플렉서블 디스플레이를 포함하는 전자 장치 및 화면 제어 방법
EP4273683A1 (en) Electronic device for controlling movement of pointer, and operation method thereof
KR20230046829A (ko) 그래픽 어포던스 객체의 드래그 신호에 따른 화면 제어 방법 및 전자 장치
KR20230023165A (ko) 사용자 인터페이스를 제공하는 전자 장치 및 제공 방법
KR20220077746A (ko) 플렉서블 디스플레이를 구비한 전자 장치
KR20240009248A (ko) 멀티 윈도우의 표시를 제어하기 위한 전자 장치, 그 동작 방법 및 저장 매체
KR20230086539A (ko) 한 손 조작 모드를 지원하는 전자 장치 및 전자 장치의 동작 방법
KR20240043019A (ko) 필기 입력을 수신하는 전자 장치 및 이의 제어 방법
KR20240050221A (ko) 상황 특정 설정을 위한 사용자 인터페이스를 표시하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체