KR102199786B1 - 콘텐트를 기반으로 하는 정보 제공 방법 및 장치 - Google Patents

콘텐트를 기반으로 하는 정보 제공 방법 및 장치 Download PDF

Info

Publication number
KR102199786B1
KR102199786B1 KR1020130101507A KR20130101507A KR102199786B1 KR 102199786 B1 KR102199786 B1 KR 102199786B1 KR 1020130101507 A KR1020130101507 A KR 1020130101507A KR 20130101507 A KR20130101507 A KR 20130101507A KR 102199786 B1 KR102199786 B1 KR 102199786B1
Authority
KR
South Korea
Prior art keywords
expression
application
input
content
module
Prior art date
Application number
KR1020130101507A
Other languages
English (en)
Other versions
KR20150024526A (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 KR1020130101507A priority Critical patent/KR102199786B1/ko
Priority to EP14182300.5A priority patent/EP2843529B1/en
Priority to CN201410427871.1A priority patent/CN104423803B/zh
Priority to US14/470,850 priority patent/US10095380B2/en
Publication of KR20150024526A publication Critical patent/KR20150024526A/ko
Application granted granted Critical
Publication of KR102199786B1 publication Critical patent/KR102199786B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/0482Interaction with lists of selectable items, e.g. menus
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/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

Abstract

다양한 실시예들에 따르면, 전자 장치에서 정보를 획득하는 방법은, 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 동작, 사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 결정하는 동작, 상기 적어도 하나의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 대응하는 표현 객체를, 상기 사용자 입력에 대응하는 클립 객체로서 탐지하는 동작, 및 상기 클립 객체에 대응하는 콘텐트를 인식하는 동작을 포함할 수 있다. 다른 실시예들이 가능하다.

Description

콘텐트를 기반으로 하는 정보 제공 방법 및 장치{Information Obtaining Method and Apparatus}
다양한 실시예들은 전자 장치에서 정보를 획득하고 제공하는 방법 및 장치에 관한 것이다.
전자 장치는 다양한 디지털 정보들, 예컨대, 사진, 동영상, 음악, 문서, 지도, 게임, 및 메시지 등을 사용자에게 제공할 수 있다. 전자 장치는, 이러한 디지털 정보들을, 통신 인터페이스를 통해, 서버나 다른 전자 장치로부터 획득할 수 있고, 또는 전자 장치에 기능적으로 연결된 저장 장치로부터 획득할 수도 있다.
전자 장치는 다양한 기능을 복합적으로 수행할 수 있도록 발전하고 있다. 예를 들어, 스마트 폰과 같은 사용자 기기의 대중화로 인해 전자 장치에서 다양한 디지털 정보가 활발하게 생성 및 소비되고 있다.
전자 장치는 다양한 디지털 정보들을 화면에 표시하고, 화면에 표시된 정보를 이미지 데이터로 변환하여 저장하는 기능을 제공할 수 있다.
종래의 기술은 디스플레이 화면의 전체 혹은 부분을 이미지 데이터로 저장하는 기능을 제공하였다. 이에 따라, 원본 데이터에 다시 접근하기 어렵고, 저장된 데이터를 다양하게 활용할 수 없다는 문제점이 있었다.
또한, 데이터 선택을 위해 제공되는 사용자 인터페이스가 제한되어 있어, 선택 오류가 빈번하게 발생하고 작업 수행에 어려움이 있었다.
뿐만 아니라, 예를 들어, 종래의 클립보드(clipboard)와 같은 기능에서는 저장된 데이터를 애플리케이션에 맞게 선택적으로 이용할 수 없었다.
다양한 실시예들은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 디지털 정보를 다양한 방법으로 추출하여 저장하고, 저장된 데이터를 편리하게 공유 및 사용할 수 있는 콘텐트 정보를 기반으로 하는 정보 제공 방법 및 장치를 제공할 수 있다.
전술한 과제를 해결하기 위한 한 실시예에 따르면, 정보를 획득하는 방법은, 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 동작, 사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 결정하는 동작, 상기 적어도 하나의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 대응하는 표현 객체를, 상기 사용자 입력에 대응하는 클립 객체로서 탐지하는 동작, 및 상기 클립 객체에 대응하는 콘텐트를 인식하는 동작을 포함할 수 있다.
한 실시예에 따르면, 정보를 획득하는 장치는, 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 인터페이스 모듈, 사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 인식하는 결정 모듈, 및 상기 위치 정보에 기반하여, 상기 하나 또는 그 이상의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 포함되는 표현 객체를, 상기 사용자의 입력에 대응되는 클립 객체로서 탐지하고, 상기 클립 객체에 대응하는 콘텐트를 획득하는 획득 모듈을 포함할 수 있다.
다양한 실시예들에 따른 정보 획득 방법 및 장치는, 예를 들면, 콘텐트를 기반으로 데이터를 추출함으로써, 전자 장치에서 제공되는 다양한 디지털 정보들을 용이하게 선택하여 저장할 수 있다.
다양한 실시예들에 따른 정보 획득 방법 및 장치는, 예를 들면, 전자 장치 또는 애플리케이션들 간에 다양한 종류의 데이터를 편리하게 전달하고 이용하는 기능을 제공함으로써 사용자 편의성을 증대시킬 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치를 개략적으로 도시한다.
도 2는 다양한 실시예들에 따른 정보 제공 모듈을 개략적으로 도시한다.
도 3은 다양한 실시예들에 따른 획득 모듈을 개략적으로 도시한다.
도 4는 다양한 실시예들에 따른 콘텐트 선택 동작의 예를 도시한다.
도 5는 다양한 실시예들에 따른, 전자 장치가 제공하는 유저 인터페이스의 예를 도시한다.
도 6은 다양한 실시예들에 따른, 전자 장치가 제공하는 유저 인터페이스의 예를 도시한다.
도 7은 다양한 실시예들에 따른, 전자 장치가 제공하는 유저 인터페이스의 예를 도시한다.
도 8은 다양한 실시예들에 따른 정보 제공 방법을 보여주는 흐름도이다.
도 9는 다양한 실시예들에 따른 정보 제공 방법을 보여주는 흐름도이다.
도 10은 다양한 실시예들에 따른 전자 장치의 블록도를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시(present disclosure)를 설명한다. 본 개시는 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있으나, 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있다. 따라서, 본 개시는 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경 또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용되었다. 또한 본 개시의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 개시의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 개시의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 개시 가운데 사용될 수 있는 "포함한다", "포함할 수 있다" 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성요소 등을 제한하지 않는다. 또한, 본 개시에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 또는 스마트 와치(smartwatch) 중의 적어도 하나)를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(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), 또는 보안 기기 중의 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는, 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 등) 중의 적어도 하나를 포함할 수 있다. 본 개시에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개시에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다. 이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 포함하여 지칭할 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치 100를 개략적으로 도시한다. 도 1을 참조하면, 상기 전자장치 100는 버스 110, 프로세서 120, 정보 제공 모듈 125, 메모리 130, 입출력 인터페이스 140, 디스플레이 150, 또는 통신 인터페이스 160을 포함할 수 있다.
상기 버스 110는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서 120는, 예를 들면, 상기 버스 110를 통해 전술한 다른 구성요소들(예: 상기 정보 제공 모듈 125, 상기 메모리 130, 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 정보 제공 모듈 125은, 다른 구성요소들(예: 상기 프로세서 120, 상기 메모리 130, 상기 입출력 인터페이스 140, 상기 통신 인터페이스 160 등)로부터 획득된 디지털 정보 중 적어도 일부를 선택하거나 처리하고, 이를 다양한 방법으로 사용자에게 제공 할 수 있다. 후술하는 도 2 내지 도 10을 통하여 상기 정보 제공 모듈 125에 대한 추가적인 정보가 제공된다.
상기 메모리 130는, 상기 프로세서 120 또는 다른 구성요소들(예: 상기 정보 제공 모듈 125, 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160등)로부터 수신되거나, 상기 프로세서 120 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리 130는, 예를 들면, 커널 131, 미들웨어 132, 애플리케이션 프로그래밍 인터페이스(API: application programming interface) 133 또는 애플리케이션 134 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 커널 131은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어 132, 상기 API 133 또는 상기 애플리케이션 134에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스 110, 상기 프로세서 120, 상기 정보 제공 모듈 125, 상기 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 131은 상기 미들웨어 132, 상기 API 133 또는 상기 애플리케이션 134에서 상기 전자 장치 100의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 132는 상기 API 133 또는 상기 애플리케이션 134이 상기 커널 131과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 132는 상기 (다수의) 애플리케이션들 134로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 (다수의) 애플리케이션들 134들 중 적어도 하나의 애플리케이션에 상기 전자 장치 100의 시스템 리소스(예: 상기 버스 110, 상기 프로세서 120, 상기 정보 제공 모듈 125, 또는 상기 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)를 수행할 수 있다.
상기 API 133는 상기 애플리케이션 134이 상기 커널 131 또는 상기 미들웨어 132에서 제공하는 기능을 제어할 수 있는 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스 140은, 예를 들면, 사용자로부터 명령 또는 데이터를 입력 받아 상기 버스 110를 통해 상기 프로세서 120, 상기 정보 제공 모듈 125, 또는 상기 메모리 130에 전달할 수 있다. 또한, 상기 버스 110을 통해 상기 정보 제공 모듈 125, 상기 메모리 130, 또는 상기 통신 인터페이스 160로부터 수신된 오디오 정보를 출력할 수 있다.
상기 디스플레이 150은 사용자에게 화상, 영상 또는 데이터 등을 표시할 수 있다.
상기 통신 인터페이스 160은 하나 이상의 다른 전자 장치 102와 상기 전자 장치 100 간의 통신을 연결할 수 있다. 상기 통신 인터페이스 160은 소정의 근거리 통신 프로토콜(예: Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication) 또는 소정의 네트워크 통신(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등) 162을 지원할 수 있다. 상기 전자 장치 102, 104 각각은 상기 전자 장치 100와 동일한 (예: 같은 타입의) 장치이거나 또는 다른 (예: 다른 타입의) 장치일 수 있다.
도 2는 다양한 실시예들에 따른 정보 제공 모듈 200(예: 정보 제공 모듈 125)을 개략적으로 도시한다. 상기 정보 제공 모듈 200은 전자 장치(예: 전자 장치 100)를 통하여 제공되는 디지털 정보들을 처리하여 다양한 방법으로 사용자에게 제공 할 수 있다. 도 2를 참조하면, 정보 제공 모듈 200은 인터페이스 모듈 210, 결정 모듈 220, 획득 모듈 230, 애플리케이션 모듈 240, 및 객체 저장 모듈 250을 포함할 수 있다.
인터페이스 모듈 210은 상기 정보 제공 모듈 200과 관련된 다양한 정보들을 외부 장치 또는 사용자로부터 입력받거나, 외부 장치 또는 사용자에게 출력할 수 있다.
한 실시예에 따르면, 인터페이스 모듈 210은 하나 이상의 다양한 디지털 정보(예: 콘텐트)를 전자 장치(예: 전자 장치 100)에 기능적으로 연결된 입출력 인터페이스(예: 입출력 인터페이스 140) 또는 디스플레이(예: 디스플레이 150)를 통하여 제공할 수 있다. 상기 인터페이스 모듈 210에서 제공하는 다양한 디지털 정보들은, 예를 들면, 이미지(image), 텍스트(text), 오디오(audio), 또는 비디오(video) 중 적어도 하나의 콘텐트를 포함할 수 있다.
한 실시예에 따르면, 상기 전자 장치(예: 전자 장치 100)는, 상기 전자 장치를 통하여 제공되는 다양한 콘텐트에 대하여, 유저 인터페이스(user interface)를 구성하는 각각의 "표현 객체(예: view object)" 로서 표시할 수 있다. 예를 들어, 상기 콘텐트들이 디스플레이를 통해 표시되는 경우, 디스플레이 화면을 구성하는 각각의 콘텐트들은 화면 상의 위치 좌표 정보, 다른 표현 객체들과의 계층 관계 정보, 또는 제공 방법과 관련된 표시 속성 정보 중 적어도 하나를 포함하는 표현 객체 정보로 지정될 수 있다. 예컨대, 상기 콘텐트들은 다양한 애플리케이션 또는 프로그램에 의해 콘텐트에 대응되는 표현 객체로 표시되어 사용자에게 다양한 정보를 제공할 수 있다.
한 실시예에 따르면, 애플리케이션 또는 프로그램의 종류에 따라 동일한 콘텐트가 별개의 표현 객체로 지정될 수 있다.
한 실시예에 따르면, 상기 인터페이스 모듈 210은 상기 표현 객체들에 대한 선택 입력을 처리(예: 수신 또는 변환)할 수 있다. 예컨대, 상기 인터페이스 모듈 210은 화면의 적어도 일부분을 선택하는 사용자 입력을 수신할 수 있다. 상기 선택 입력은 정보 제공 모듈 200를 통해 제공되는 하나 이상의 콘텐트 중 적어도 일부를 선택하고 저장하기 위한 동작(이하, 설명의 편의를 위하여 "클립" 이라고 칭함)의 일부로써 수행될 수 있다.
선택 입력은 다양한 방법(예: 터치, 호버링, 제스처, 전자 펜, 마우스 커서, 버튼 등)으로 수행될 수 있다. 한 실시예에 따르면, 사용자는, 화면의 적어도 일부분을, 특정 영역으로 지정하여, 특정 영역의(또는 특정 영역에 표시된) 콘텐트들에 대한 클립을 수행할 수 있다. 예컨대, 사용자는 전자 펜(또는 디지털 펜)과 같은 입력 도구를 이용하여 화면을 드래그(drag)함으로써, 특정 영역이 드래그가 시작된 지점과 끝난 지점을 포함하도록 특정 영역을 지정할 수 있다. 인터페이스 모듈 210은, 예를 들어, 선택 입력에 대한 정보를 화면에 표시할 수 있다.
한 실시예에 따르면, 선택 입력은 사용자뿐만 아니라, 애플리케이션에 의해서도 수행될 수 있다. 예를 들면, 특정한 조건이 설정된 애플리케이션에서 현재 디스플레이된 화면 상에서 특정한 조건에 부합하는 콘텐트를 탐지하면, 해당 애플리케이션이 선택 입력을 수행 할 수 있다.
결정 모듈 220은 콘텐트에 대한 선택 또는 저장을 수행할 선택 영역을 결정할 수 있다. 한 실시예에 따르면, 결정 모듈 220은 인터페이스 모듈 210에 의해 수신된 선택 입력을 기반으로 선택 영역을 결정할 수 있다. 예컨대, 결정 모듈 220은 선택 입력이 인식된 지점들에 대응되는 좌표들을 확인함으로써, 선택 입력이 인식된 지점들을 포함하는 영역 또는 선택 입력이 인식된 지점들을 연결하는 선을 경계선으로 갖는 영역을, 선택 입력에 대응하는 선택 영역으로 결정할 수 있다.
한 실시예에 따르면, 결정 모듈 220은 입력 방법(예: 터치, 호버링, 제스처, 전자 펜, 마우스 커서, 버튼 등) 또는 선택 입력의 형태 등에 기반하여 선택 영역을 결정 또는 변경할 수 있다. 예를 들어, 결정 모듈 220은 선택 입력이 인식된 지점들에 대응되는 좌표들을 분석할 수 있고, 상기 분석에 기반하여, 선택 입력의 형태를 결정할 수 있다. 결정 모듈 220은 선택 입력의 형태(예: 폐곡선, 곡선, 직선, 사각형, 원형 등)에 기반하여 선택 영역의 형태(예: 사각형, 원형 등)를 결정할 수 있다.
예를 들면, 사용자에 의한 선택 입력은 다양한 폐곡선의 형태로 인식될 수 있다. 결정 모듈 220은 선택 입력에 대응하는 폐곡선에 외접하는 도형(예: 사각형)을 생성할 수 있다. 이런 경우에는, 예컨대, 적어도 디스플레이 영역 중 상기 외접 도형에 해당하는 영역이 선택 영역으로 결정될 수 있다. 또한, 예컨대, 결정 모듈 220은 사용자에 의해 입력된 폐곡선에 내접하는 도형(예: 사각형)을 생성할 수 있다. 이런 경우에는, 예컨대, 적어도 디스플레이 영역 중 상기 내접 도형에 해당하는 영역이 선택 영역으로 결정될 수 있다.
한 실시예에 따르면, 사용자에 의한 선택 입력은 다양한 곡선 또는 다양한 직선의 형태로 인식될 수 있다. 예를 들어, 결정 모듈 220은 선택 입력에 대응하는 곡선이나 직선 상의 위치한 두 지점(예: 양 끝 지점)에 기반하여 특정한 도형의 형태(예: 사각형)를 생성할 수 있다. 예컨대, 두 지점을 이용하여 생성되는 도형은 상기 두 지점을 연결한 선을 대각선으로 하는 사각형일 수 있다. 이런 경우에는, 적어도 디스플레이 영역 중 생성된 도형에 해당하는 영역이 선택 영역으로 결정될 수 있다.
한 실시예에 따르면, 결정 모듈 220은 선택 입력에 대응되는 선택 영역의 형태를 선택 입력의 형태와 동일한 제 1 형태로부터 선택 입력의 형태와 다른 제 2 형태로 변경하는 유저 인터페이스를 인터페이스 모듈 210을 통해 제공할 수 있다. 예컨대, 선택 입력이 원(circle)과 유사한 형태로 인식되는 경우(예: 선택 입력이 인식된 모든 지점들을 연결하면 원(circle)을 형성하지 않지만, 모든 지점들 중 일부를 제외하고 연결하면 원(circle)을 형성하는 경우)
결정 모듈 220은 선택 영역의 형태를 원(circle)으로 변경할 수 있는 옵션(아이콘)을 표시할 수 있다. 또한, 예컨대, 선택 입력이 사각형(rectangular)과 유사한 형태로 인식되는 경우(예: 사용자 입력이 인식된 모든 지점들을 연결하면 사각형(rectangle)을 형성하지 않지만, 모든 지점들 중 일부를 제외하고 연결하면 사각형(rectangle)을 형성하는 경우), 결정 모듈 220은 선택 영역의 형태를 사각형 또는 정사각형으로 변경할 수 있는 옵션(아이콘)을 표시할 수 있다. 상기 옵션에 대한 사용자 입력이 수신되면, 결정 모듈 220은 선택 영역의 형태를 상기 옵션에 해당하는 도형으로 변경할 수 있다)
한 실시예에 따르면, 결정 모듈 220은 선택 입력에 대응되는 콘텐트에 적합하도록 선택 영역을 결정할 수 있다. 예를 들어, 결정 모듈 220은, 선택 영역이 콘텐트의 경계에 따라 형성되도록 선택 영역을 지정할 수 있다. 결정 모듈 220은, 인터페이스 모듈 210을 통해 상기 동작에 연관된 하나 이상의 옵션(아이콘)을 제공할 수 있다.
다양한 실시예들에 따르면, 선택 영역은 선택 영역에 대응되는 표현 객체 정보에 기반하여 변경(또는 조정)될 수 있다. 예를 들어, 후술할 획득 모듈 230에 의해, 상기 인터페이스 모듈 210을 통해 수신된 선택 입력에 대응되는 적어도 하나의 표현 객체가 획득될 수 있다. 이런 경우, 결정 모듈 220은, 적어도 선택 영역 내에 표현 객체 전체가 위치하도록, 선택 영역을 변경할 수 있다.
예를 들면, 인터페이스 모듈 210이 사용자에 의한 선택 입력(예: 직선 형태의 입력 또는 호버링 입력)을 수신하여 결정 모듈 220로 전송하면, 결정 모듈 220은 선택 입력을 기반으로 선택 영역을 결정하여 후술할 상기 획득 모듈 230로 전송할 수 있다. 예컨대, 획득 모듈 230는 상기 선택 영역의 위치 정보에 기반하여, 선택 영역 내에 위치하는 하나 이상의 표현 객체를 클립 객체(또는 선택 객체)로서 획득할 수 있다. 클립 객체가 획득되면, 결정 모듈 220은 이전(예: 클립 객체 획득 전)에 결정된 선택 영역이 상기 하나 이상의 클립 객체 영역(예: 콘텐트의 화면 표시 영역)을 모두 포함하는지에 대해서 판단할 수 있다. 예컨대, 이전에 결정된 선택 영역이 상기 하나 이상의 클립 객체 영역을 모두 포함하지 않는 경우에는, 상기 결정 모듈 220은 상기 하나 이상의 클립 객체 영역을 모두 포함하도록 선택 영역의 형태 또는 크기를 변경할 수 있다. 다양한 실시예들에 따르면, 인터페이스 모듈 210은 상기 변경된 선택 영역을 화면에 표시할 수 있다.
획득 모듈 230은 상기 선택 영역에 대응되는 표현 객체의 정보를 탐지(detect)할 수 있다.
한 실시예에 따르면, 상기 인터페이스 모듈 210을 통해 제공되는 디스플레이 화면은, 계층적 구조를 갖는 레이아웃 정보에 기반하여 하나 이상의 표현 객체들을 표시할 수 있다.
상기 계층적 구조는, 예를 들면, 루트 노드와 상기 루트 노드의 하위에 하나 이상의 자식 노드(예: 서브(sub) 레이아웃)들을 포함할 수 있다. 상기 자식 노드들의 각각은 상기 자식 노드들 각각의 하위에, 하나 이상의 추가적인 자식 노드를 더 포함할 수 있다. 루트 노드는 디스플레이 영역의 전체 레이아웃을 가리키거나 포함할 수 있고, 자식 노드들 각각은 애플리케이션 또는 표현 객체 내부의 적어도 일부 영역에 대한 서브 레이아웃을 가리키거나 포함할 수 있다.
한 실시예에 따르면, 획득 모듈 230은 결정 모듈 220에 의해 결정된 선택 영역의 정보 및 객체 저장 모듈 250에 저장된 표현 객체 정보에 기반하여, 선택 영역에 대응되는 표현 객체를 탐지할 수 있다. 예를 들어, 상기 획득 모듈 230은 상기 선택 영역의 위치 좌표에 대응하는 서브 레이아웃을 탐지할 수 있다. 선택 영역의 위치 좌표에 대응하는 서브 레이아웃이 탐지되면, 상기 획득 모듈 230은 해당 서브 레이아웃에 따라 표시될 표현 객체를 탐지할 수 있다. 유사하게, 상기 획득 모듈 230은 선택 영역의 위치 좌표에 대응되는 하나 이상의 상기 서브 레이아웃의 하위에 포함된 추가적인 서브 레이아웃을 탐지할 수 있고, 상기 해당 서브 레이아웃에 따라 표시될 표현 객체를 추가적으로 탐지할 수 있다. 상기 탐지하는 동작은 해당 서브 레이아웃의 하위에 포함된 추가적인 서브 레이아웃이 없을 때까지 계속될 수 있으나, 본 실시예가 이에 제한되는 것은 아니며, 다른 실시예들이 가능하다.
한 실시예에 따르면, 획득 모듈 230은 탐지된 표현 객체를, 클립 객체로 획득할 수 있다.
획득 모듈 230은 상기 클립 객체에 기반하여, 상기 클립 객체에 의해 표시되도록 설정된 콘텐트를 획득할 수 있다. 이처럼, 상기 클립 객체에 의해 표시되도록 설정된 콘텐트를, 이하에서는 "클립된 콘텐트"라고 칭하여 설명한다.
획득 모듈 230은, 클립된 콘텐트 자체 또는 클립된 콘텐트에 연관된 정보를 저장할 수 있다. 또한, 획득 모듈 230은 전술한 바와 같이 클립된 콘텐트 자체를 클립 객체를 통해 표시할 수 있으며, 뿐만 아니라, 클립된 콘텐트에 연관되어 저장된 정보 또한 클립 객체를 통해 추가적으로 표시할 수 있다.한 실시예에 따르면, 획득 모듈 230은 사용자 입력을 수신하고, 상기 사용자 입력에 대응되는 정보를 클립 동작과 연관하여 저장할 수 있다. 예를 들어, 획득 모듈 230은 인터페이스 모듈 210을 통해 클립된 콘텐트와 연관된 부가 정보를 사용자가 입력할지 질의할 수 있다. 부가 정보 입력은, 예컨대, 입력도구(예: 전자펜)를 이용한 핸드라이팅(hand writing) 입력일 수 있다. 부가 정보(예: 텍스트)가 수신되면, 획득 모듈 230은 상기 부가 정보를 클립된 콘텐트와 연관된 정보로 저장할 수 있다. 추가적으로 또는 대체적으로, 예컨대, 부가 정보에 대한 질의는 클립된 콘텐트의 부가 정보로서, 텍스트 정보가 존재하지 않는 경우에, 수행될 수 있다.
다양한 실시예에 따르면, 획득 모듈 230은 클립된 콘텐트와 연관된 다양한 정보들을 획득할 수 있다. 한 실시예에 따르면, 획득 모듈 230은 클립 객체에 대해 하나 이상의 표시 속성(view property) 정보를 획득할 수 있다. 상기 표시 속성은 각각의 콘텐트가 전자장치(예: 전자 장치 100)의 입출력 인터페이스(예: 입출력 인터페이스 140) 또는 디스플레이(예: 디스플레이 150)를 통해 어떻게 제공되는 지와 관련된 다양한 정보를 포함할 수 있다.
한 실시예에 따르면, 상기 표시 속성은 표현 객체의 id(identifier), visibility, accessibility, layout width/height, layout weight, focus, scrolling, 또는 text 속성 중 적어도 하나를 포함할 수 있다. id 속성은, 표현 객체를 식별하기 위한 고유한 파라미터(parameter)일 수 있다. visibility 속성은, 표현 객체를 가시적으로 표시할 것인지 아닌지를 지정하는 파라미터로, 예를 들어, visible(예: 디스플레이 영역의 일부인 특정 영역을 할당 받아 가시적으로 표시됨), invisible(예: 가시적으로 표시되지는 않지만 디스플레이 영역의 일부인 특정 영역을 할당 받음), 또는 gone(예: 가시적으로 표시되지 않고, 디스플레이 영역의 일부인 특정 영역을 할당받지 않음) 속성을 포함할 수 있다. accessibility 속성은, 표현 객체의 콘텐트를 시청각 장애가 있거나 움직임이 자유롭지 못한 사용자에게 표현하는 기능(예: talkback)에 관련된 파라미터일 수 있다. layout width/height 속성은 표현 객체가 표시되는 영역의 크기를 결정하기 위한 파라미터일 수 있다. layout weight 속성은 표현 객체가 표시된 서브 레이아웃의 상위에 있는 다른 서브 레이아웃의 영역을 차지하는 정도를 결정하기 위한 파라미터일 수 있다. focus 속성은, 표현 객체에 대한 포커스를 적용할지를 결정하기 위한 파라미터일 수 있다. scrolling 속성은, 스크롤 좌표에 관련된 파라미터일 수 있다. text 속성은 텍스트의 길이, 정렬방식, 및 내용 등에 관련된 파라미터일 수 있다. 추가적으로 또는 대체적으로 다양한 속성들이 화면을 구성하는 표현 객체에 관련되어 정의될 수 있다.
한 실시예에 따르면, 획득 모듈 230은 선택 영역 내에 위치한 표현 객체의 콘텐트의 연관 정보로서, 상기 콘텐트의 종류를 획득 할 수 있다. 상기 콘텐트의 종류는, 예컨대, 이미지, 텍스트, 오디오, 및 비디오를 포함할 수 있다.
한 실시예에 따르면, 획득 모듈 230은 클립 동작과 관련하여 다양한 주변 정보를 획득할 수 있다. 예를 들어, 획득 모듈 230은 클립 객체의 상위 레이아웃에 위치한 애플리케이션 정보, 클립 동작을 수행한 전자 장치가 위치한 지점의 GPS 정보, 클립 동작의 시간 정보(예: 수행 날짜), 콘텐트의 권리 정보, 클립된 원본 데이터가 저장된 위치 정보(예: URI(uniform resource identifier), URL(universal resource locator), URN(uniform resource name)), 각 콘텐트에 포함된 메타데이터(metadata), 썸네일(thumbnail) 정보, 또는 센서(예: 고도 센서) 정보 중 적어도 하나를, 상기 클립 객체에 연관된 정보로서 획득할 수 있다.
한 실시예에 따르면, 획득 모듈 230은 클립 객체의 콘텐트를 분석하여 추가적인 정보를 생성할 수 있다. 예를 들면, 클립 객체의 콘텐트가 텍스트(text)인 경우에, 획득 모듈 230은 상기 텍스트를 분석하여, 상기 텍스트가 날짜, 요일, 월, 연도, 시간, 장소, 전화번호, 이메일, URI, URL, URN, 주소, 이름, 제목, id(identifier), 비밀번호(password), 아이콘(icon), 문장기호, 또는 페이지번호 중 적어도 하나의 유형에 대응되는지를 판단할 수 있다. 예를 들면, 획득 모듈 230은 상기 텍스트가 각 유형 별로 기 정의된 포맷에 매칭되는지를 판단할 수 있다. 텍스트가 "07/01/15"인 경우이고, 날짜의 포맷이 "YY/MM/DD"인 경우에는 해당 텍스트가 날짜의 유형에 대응되며, 해당 텍스트가 의미하는 날짜는 2007년 1월 15일임을 도출할 수 있다.
다양한 실시예에 따르면, 인터페이스 모듈 210은 클립된 콘텐트와 연관된 다양한 정보를 제공할 수 있다. 예컨대, 인터페이스 모듈 210은 선택 영역에 포함되어 저장된 콘텐트의 종류(예: image 또는 text)를 화면을 통해 표시할 수 있다. 또한, 인터페이스 모듈 210은, 클립된 콘텐트에 텍스트 정보가 포함된 경우에 이를 나타내는 메시지를 화면을 통해 표시할 수 있다.
한 실시예에 따르면, 클립된 콘텐트에 연관된 하나 이상의 정보(예: 클립된 콘텐트의 종류)가 인터페이스 모듈 210을 통해 제공될 수 있다. 예컨대, 상기 정보에 대응되는 하나 이상의 아이콘(icon)이 디스플레이(예: 디스플레이 150)를 통해 표시될 수 있다. 상기 아이콘은 클립된 콘텐트 또는 클립 객체의 적어도 일부에 겹쳐서 표시되거나, 상기 클립된 콘텐트 또는 클립 객체에 인접하여 표시될 수 있으나, 본 실시예가 이에 제한되는 것은 아니며, 다른 실시예들이 가능하다.
한 실시예에 따르면, 상기 아이콘은 클립된 콘텐트에 연관된 정보(예: 클립된 콘텐트의 종류) 외에 클립 동작 이후에 클립된 콘텐트에 대하여 수행할 동작에 추가적으로 대응될 수 있다. 예를 들면, 클립된 콘텐트의 종류가 URL임을 나타내기 위한 아이콘은 해당 URL 자체 또는 URL에 해당하는 웹페이지의 적어도 일부를 표시하는 기능에 대응될 수 있다. 예를 들면, 클립된 콘텐트의 종류가 연락처임을 나타내기 위한 아이콘은, 해당 연락처 자체 또는 해당 연락처의 대상의 다른 정보(주소, 이름)를 표시하는 기능 또는 해당 연락처 중 전화번호에 기반하여 전화통화 서비스를 제공하는 기능 중 하나에 대응될 수 있다.
애플리케이션 모듈 240은 클립된 콘텐트를 전자 장치(예: 전자 장치 100)에서 이용할 수 있는 하나 이상의 애플리케이션과 연동할 수 있다.
한 실시예에 따르면, 상기 애플리케이션 모듈 240은 클립된 콘텐트 또는 클립된 콘텐트에 연관된 정보에 기반하여, 이를 이용할 수 있는 애플리케이션을 탐지할 수 있다. 예를 들어, 사용자의 클립 동작과 연관된 하나 이상의 애플리케이션이 탐지되면, 상기 애플리케이션 모듈 240은 상기 애플리케이션들의 리스트를 인터페이스 모듈 210을 통해 제공할 수 있다.
예를 들어, 상기 애플리케이션 모듈 240은, 클립된 콘텐트가 텍스트 정보를 포함하고 상기 텍스트 정보가 연락처인 것으로 판단되는 경우에, 연락처 정보에 연관된 하나 이상의 애플리케이션(예: 전화번호부 애플리케이션)을 탐지할 수 있다. 이런 경우, 예컨대, 애플리케이션 모듈 240은 인터페이스 모듈 210을 통해 연락처 정보에 연관된 애플리케이션을 가리키는 아이콘을 제공할 수 있다. 또한, 예컨대, 클립된 콘텐트가 날짜 또는 시간 정보를 포함하는 것으로 판단되는 경우에는, 날짜 또는 시간 정보와 연관된 애플리케이션(예: 달력(calendar) 애플리케이션, 일정(schedule) 애플리케이션, 알람(alarm) 애플리케이션 등)중 적어도 하나가 제공될 수 있다.
한 실시예에 따르면, 상기 전자 장치(예: 전자 장치 100)는 클립된 콘텐트를 관리할 수 있는 애플리케이션(이하, 설명의 편의를 위해 "스크랩 애플리케이션")을 제공할 수 있다. 예를 들어, 상기 애플리케이션 모듈 240을 통해, 클립된 콘텐트 및 클립된 콘텐트에 연관된 정보들이 상기 스크랩 애플리케이션에 연동되어 저장될 수 있다. 또한, 상기 스크랩 애플리케이션은 클립된 콘텐트 및 클립된 콘텐트에 연관된 정보들이 저장되는 과정에서 획득된 데이터들을 카테고리 별로 분류하여 관리할 수 있다.
스크랩 애플리케이션은, 예를 들면, 클립된 콘텐트의 종류에 따라, 클립된 콘텐트가 별도의 원본 데이터를 갖는 종류로 분류된 경우에는 클립된 콘텐트에 대응되는 원본 데이터를 제공할 수 있다. 예컨대, 스크랩 애플리케이션은 클립된 콘텐트 또는 클립된 콘텐트와 연관된 정보로부터 별도의 원본 데이터에 접근할 수 있는 정보(예: URI 또는 URL)을 추출할 수 있고, 추출된 URI 또는 URL을 기반으로 원본 데이터를 획득하여 제공할 수 있다.
한 실시예에 따르면, 상기 애플리케이션 모듈 240은 클립된 콘텐트 또는 클립된 콘텐트와 연관된 정보를 이용할 수 있는 적어도 하나의 애플리케이션(이하, 설명의 편의를 위하여 "연관 애플리케이션")을 제공할 수 있다.
예를 들어, 상기 애플리케이션 모듈 240은 클립된 콘텐트 또는 클립된 콘텐트와 연관된 정보를 기반으로 전자 장치(예: 전자 장치 100)에서 이용할 수 있는 애플리케이션들에 대해 우선 순위를 할당 할 수 있다. 예를 들어, 상기 연관 애플리케이션들은 서로 동시에 실행될 경우, 할당 받은 우선순위에 기반하여 실행될 수 있다.
예를 들어, 인터페이스 모듈 210은, 애플리케이션 모듈 240의 제어에 따라 연관 애플리케이션을 실행할 수 있는 하나 이상의 옵션(아이콘)을 디스플레이 영역에 표시할 수 있다. 연관 애플리케이션이 복수일 경우에는, 상기 옵션들을 우선 순위에 따라 배열할 수 있다.
예를 들어, 스크랩 애플리케이션은 다른 애플리케이션들에 비해 상위의 우선 순위를 가질 수 있다. 예컨대, 상기 하나 이상의 애플리케이션에 대한 아이콘이 가로로 배치되는 경우에, 스크랩 애플리케이션에 해당하는 정보(예: 아이콘)는 상기 연관 애플리케이션들이 표시되는 디스플레이 영역의 가장 왼쪽에 배치될 수 있다. 또한, 예컨대, 클립된 콘텐트에 날짜 정보가 있을 경우, 달력 애플리케이션에 해당하는 정보가 다음 순서(예: 스크랩 애플리케이션의 오른쪽)로 배치될 수 있다. 또한, 텍스트 또는 이미지에 관련된 애플리케이션(예: 아이콘)이 다음 순서(예: 달력 애플리케이션의 오른쪽)로 배치될 수 있다.
한 실시예에 따르면, 연관 애플리케이션을 가키리는 정보(예: 아이콘)는 사용자 선택에 따른 동작을 수행하도록 제공될 수 있다. 사용자는 인터페이스 모듈 210을 통하여, 해당 애플리케이션이 실행되도록 상기 아이콘 중 하나를 선택할 수 있다. 예컨대, 사용자가 상기 아이콘에 대한 입력(예: 터치)을 수행하면, 상기 아이콘에 해당하는 애플리케이션이 실행될 수 있다.
한 실시예에 따르면, 애플리케이션 모듈 240은 클립된 콘텐트 또는 클립된 콘텐트와 연관된 정보 중 적어도 일부를 전자 장치(예: 전자 장치 100)에서 이용할 수 있는 하나 이상의 애플리케이션에 전달할 수 있다. 예를 들어, 애플리케이션에 대한 실행 명령이 발생되면, 상기 애플리케이션은 전달받은 정보가 애플리케이션의 입력 창(또는 필드)에 입력되어 있는 상태로 실행될 수 있다. 예컨대, 일정 애플리케이션이 실행되면, 애플리케이션 모듈 240은 날짜, 시간, 및 장소에 대한 콘텐트를 상기 일정 애플리케이션 내의 각 입력 창 항목의 속성에 맞게 입력할 수 있다. 추가적으로, 해당 입력 창에 해당하는 클립된 콘텐트가 복수로 존재할 경우에는, 그 중 하나를 선택할 수 있는 옵션(예: 팝업 메뉴)이 인터페이스 모듈 210을 통해 제공될 수 있다. 예컨대, 시간 정보가 2개 이상일 경우, 입력할 시간을 선택할 수 있는 메뉴를 상기 인터페이스 모듈 210을 통해 제공할 수 있다.
한 실시예에 따르면, 상기 인터페이스 모듈 240은 상기 입력 창 항목의 속성 또는 형식이 클립된 콘텐트와 다를 경우에, 상기 클립된 콘텐트의 데이터를 입력될 창에 적합한 형식으로 변경하여 입력할 수 있다. 예컨대, 날짜의 표기 순서가 다를 경우, 애플리케이션 모듈 240은 대상 애플리케이션에 맞는 표기 순서로 변경하여 날짜를 입력할 수 있다. 또한 예컨대, 시간 표시 형식이 다를 경우(예: 12시간 형식, 24시간 형식), 애플리케이션 모듈 240은 대상 애플리케이션에 맞게 시간 형식을 변경하여 입력할 수 있다.
한 실시예에 따르면, 애플리케이션 모듈 240은, 클립 동작과 연관되어 애플리케이션(예: 연관 애플리케이션)이 실행되는 경우, 클립된 콘텐트를 이용할 수 있는 하나 이상의 옵션(예: 아이콘)을 화면의 적어도 일부 영역에 표시할 수 있다. 예를 들면, 디스플레이 화면의 일부 영역에는 상기 연관 애플리케이션을 표시하고, 다른 일부 영역에는 클립된 콘텐트들에 대응하는 하나 이상의 아이콘을 표시할 수 있다. 예컨대, 인터페이스 모듈 210을 통해, 상기 옵션 중 하나를, 애플리케이션에 포함된 입력 창으로 이동시키는 명령(예: 드래그 앤 드롭 입력)이 수신되면 해당 옵션에 해당하는 콘텐트가 상기 입력 창에 입력될 수 있다.
전자 장치(예: 전자 장치 100)는 복수의 애플리케이션들을 실행할 수 있다. 예를 들어, 인터페이스 모듈 210은 복수의 애플리케이션들을 디스플레이 영역을 구분하여 하나의 화면에 표시할 수 있다.
한 실시예에 따르면, 인터페이스 모듈 210은 사용자의 선택 입력을 수신할 수 있다. 상기 선택 입력은 상기 복수의 애플리케이션 중 하나의 애플리케이션 상에서 수행될 수 있다. 선택 입력이 수신되면 결정 모듈 220은 선택 영역을 결정할 수 있다. 획득 모듈 230은 상기 선택 영역에 기반하여 객체 저장 모듈 250로부터 콘텐트 및 콘텐트에 연관된 정보들을 획득할 수 있다.
한 실시예에 따르면, 인터페이스 모듈 210은 선택 영역의 적어도 일부를 선택하고 디스플레이의 다른 영역으로 이동하는 드래그(drag) 입력을 수신할 수 있다. 예컨대, 화면에 복수의 애플리케이션이 표시되고 있을 경우, 사용자는 하나의 애플리케이션에서 클립을 수행하고, 다른(another) 애플리케이션이 표시된 영역으로 이동시킬 수 있다. 상기 드래그 입력이 다른 애플리케이션이 있는 영역으로 진입할 경우, 애플리케이션 모듈 240은 클립된 콘텐트 또는 클립된 콘텐트에 연관된 정보 중 적어도 하나를 상기 다른 애플리케이션에 입력(예: 붙여넣기(paste))할 수 있다.
한 실시예에 따르면, 애플리케이션 모듈 240은 인터페이스 모듈 210로부터 수신된, 예컨대, 붙여넣기 명령에 대응하여, 입력(예: 붙여넣기)할 콘텐트 정보를 획득 모듈 230로부터 수신할 수 있다. 상기 입력은 애플리케이션 모듈 240에 의해, 상기 다른 애플리케이션에 포함된 하나 이상의 입력 창의 속성에 적합하게 입력되도록 처리될 수 있다.
한 실시예에 따르면, 선택 입력 결정, 콘텐트 탐지, 및 콘텐트 획득 동작은 정해진 시간 동안 반복하여 수행될 수 있다. 예컨대, 정보 제공 모듈 200은 클립 동작의 시작 시점과 종료 시점을 지정할 수 있는 옵션(예: 메뉴)을 제공할 수 있다. 예를 들어, 클립 동작의 시작 시점에 해당하는 옵션이 선택되면, 정보 제공 모듈 200은 종료 시점에 해당하는 옵션이 선택될 때까지 사용자의 선택 입력에 따라 하나 이상의 콘텐트를 클립할 수 있다.
객체 저장 모듈 250은 디스플레이 영역에 표시되거나 표시될 수 있는 표현 객체의 정보를 저장할 수 있다. 상기 객체 저장 모듈 250은, 예를 들면, 표현 객체 자체 및 표현 객체와 연관된 다양한 정보(예: 화면 상의 위치 좌표 정보, 다른 표현 객체들과의 계층 관계 정보, 제공 방법과 관련된 표시 속성 정보 등)를 저장할 수 있다. 상기 객체 저장 모듈 250은 전자 장치(예: 전자 장치 100)에 기능적으로 연결된 저장 장치(예: 메모리 130)의 적어도 일부일 수 있다.
도 3은 다양한 실시예들에 따른 획득 모듈 300(예: 획득 모듈 230)을 개략적으로 도시한다. 상기 획득 모듈 300은, 예를 들면, 도 1의 획득 모듈 230에 해당할 수 있다. 도 3에 도시된 바와 같이, 상기 획득 모듈 300은 이미지 생성 모듈 310, 객체 탐지 모듈 320, 이미지 분석 모듈 330 및 객체 분석 모듈 340을 포함할 수 있다.
이미지 생성 모듈 310은 선택 영역에 기반하여 이미지를 생성할 수 있다. 선택 영역은, 예를 들면, 전술한 바와 같이, 사용자 입력을 기반으로 결정될 수 있다. 이미지 생성 모듈 310은, 예를 들면, 생성된 이미지를 클립된 콘텐트(또는 클립 객체)와 연관하여 저장할 수 있다.
객체 탐지 모듈 320은 선택 영역을 기반으로 클립 객체를 탐지하고, 클립 객체에 대응되는 콘텐트를 획득할 수 있다. 예를 들면, 객체 탐지 모듈 320은 객체 저장 모듈 250 또는 메모리(예: 메모리 130)에 저장된 표현 객체의 데이터에 기반하여, 선택 영역에 위치하는 표현 객체를, 상기 사용자의 입력에 대응되는 클립 객체로서 탐지할 수 있다. 후술할 도 4 및 상기 도 4에 대한 상세한 설명을 통해 객체 탐지 모듈 320이 클립 객체를 탐지하는 동작에 대해 추가 정보를 기술한다.
이미지 분석 모듈 330은 객체 탐지 모듈 320에서 획득한 이미지 콘텐트, 또는 이미지 생성 모듈 310에서 생성한 이미지를 분석할 수 있다.
한 실시예에 따르면, 이미지 분석 모듈 330은 이미지를 분석하여 텍스트를 추출할 수 있다. 예를 들면, 이미지 분석 모듈 330에 의해 추출된 텍스트는, 클립 객체에 대응되는 콘텐트로서, 추가적으로 저장될 수 있다.
객체 분석 모듈 340은 객체 탐지 모듈 330에서 획득한 콘텐트 및 획득한 콘텐트에 연관된 정보를 분석할 수 있다.
한 실시예에 따르면, 객체 분석 모듈 340은 클립된 콘텐트에 포함된 텍스트를 분석할 수 있다. 추가적으로, 객체 분석 모듈 340은 상기 분석에 기반하여 해당 텍스트에 대한 하나 이상의 텍스트 유형(type)을 결정할 수 있다. 예를 들어, 텍스트의 유형 중 하나는 날짜(date)일 수 있다. 예컨대, 날짜 유형의 텍스트는 일정 애플리케이션, 달력 애플리케이션, 또는 알람 애플리케이션에 연관될 수 있다.
도 4는 다양한 실시예에 따른 콘텐트 선택 동작의 예를 도시한다.
한 실시예에 따르면, 도 4에 도시된 바와 같이, 전자 장치 400(예: 전자 장치 100)의 디스플레이 화면은 디스플레이 화면 전체에 대응되는 전체 레이아웃(layout)과 상기 전체 레이아웃의 하위 개념으로, 각각 디스플레이 화면의 일부 영역에 대응하는 하나 이상의 서브(sub) 레이아웃(예: 제 1 서브 레이아웃 410, 제 2 서브 레이아웃 420, 제 3 서브 레이아웃 430)을 포함할 수 있다
예를 들면, 디스플레이 화면의 일부에 대한 사용자 입력 402을 수신하면, 전자 장치 400은 사용자 입력 402에 대응하는 디스플레이 화면 상의 위치를 인식할 수 있다. 전자 장치 400은 인식된 위치가 도 4에 도시된 3 개의 서브 레이아웃 410, 420, 430 중 어느 서브 레이아웃에 위치하는지 판단할 수 있다. 예컨대, 도 4에 도시된 바에 따르면, 사용자 입력에 대응하는 위치는 제 2 서브 레이아웃 420 내의 위치일 수 있다. 서브 레이아웃들 각각은 해당 서브 레이아웃에 대응되는 영역에 표시되거나 표시될 수 있는 표현 객체의 정보를 포함할 수 있다. 한 실시예에 따르면, 전자 장치 400의 디스플레이 화면에는 다양한 콘텐트들(예: 이미지 422, 426, 텍스트 424, 428 등)이 표시될 수 있다. 다양한 콘텐트들은 콘텐트들 각각에 대응되는 표현 객체(예: image view object, text view object 등)를 통해 디스플레이 화면에 표시됨으로써, 유저 인터페이스(user interface)를 구성할 수 있다. 표현 객체들은 콘텐트와 함께, 콘텐트들의 위치 좌표 정보, 위치 관계(또는 배치 관계, 계층 관계) 정보, 또는 표시 속성 중 적어도 하나의 정보를 포함하고 있는 데이터 세트(set)일 수 있다.
화면을 구성하는 표현 객체들은 상기 표현 객체들이 속한 서브 레이아웃들 간의 상하위 관계에 기반하여, 계층적(hierarchy or tree)으로 연관될 수 있다. 백그라운드 표현 객체 440은 아이콘 표현 객체 442, 444, 446, 448 등에 대한 상위 계층의 표현 객체에 해당할 수 있다. 유사하게, 아이콘 표현 객체 442, 444, 446, 448 등은 백그라운드 표현 객체 440에 대한 하위 계층의 표현 객체에 해당할 수 있다.
한 실시예에 따르면, 백그라운드 표현 객체 440은 제 2 서브 레이아웃 420에 포함될 수 있다. 예를 들어, 아이콘 표현 객체 442는 이미지 콘텐트 422를 표시하기 위한 표현 객체일 수 있다. 예컨대, 아이콘 표현 객체 444는 텍스트 콘텐트 424를 표시하기 위한 표현 객체일 수 있다. 예컨대, 아이콘 표현 객체 446는 이미지 콘텐트 426를 표시하기 위한 표현 객체일 수 있다. 예컨대, 아이콘 표현 객체 448는 텍스트 콘텐트 428를 표시하기 위한 표현 객체일 수 있다.
한 실시예에 따르면, 전자 장치 400의 객체 탐지 모듈(예: 객체 탐지 모듈 320)은 클립 객체를 탐지하기 위해, 선택 영역의 위치 좌표 정보를 이용하여 현재 디스플레이를 통해 콘텐트를 표현하고 있는 표현 객체들의 정보를 탐색할 수 있다. 표현 객체들의 정보는, 예컨대, 전자 장치 400의 객체 저장 모듈(예: 객체 저장 모듈 250)에 저장된 데이터일 수 있다.
객체 탐지 모듈(예: 객체 탐지 모듈 320)은 표현 객체들의 상하위 계층 구조에서, 상위 계층에서 하위 계층의 순서로 선택 영역의 위치 좌표 정보와 표현 객체들 각각의 위치 좌표 정보를 비교함으로써, 선택 영역에 대응하는 표현 객체를 탐색할 수 있다.
도 4에 도시된 바에 따르면, 전자 장치 400의 객체 탐지 모듈(예: 객체 탐지 모듈 320)은 선택 영역에 대한 위치 정보에 기반하여, 제 1 계층의 표현 객체들 (예: 440, 460 등)이 선택 영역에 대응하는지 탐색할 수 있다. 상기 탐색결과에 기반하여, 배경 표현 객체 450이 선택 영역에 대응하는 것으로 확인될 수 있다.
한 실시예에 따르면, 전자 장치 400의 객체 탐지 모듈(예: 객체 탐지 모듈 320)은 두번째 계층의 표현 객체들(예: 442, 444, 446, 448, 462, 464, 466)을 탐색할 수 있다. 예를 들어, 선택 영역에 대응하는 제 1 계층의 표현 객체인 배경 표현 객체 440에 대한 하위 계층에 속하는 제 2 계층의 표현 객체들(예: 442, 444, 446)을 탐색할 수 있다. 예를 들면, 제 2 계층의 표현 객체들 중 아이콘 표현 객체들 442, 444, 446은 각각 제 1 이미지 422, 텍스트 424, 제 2 이미지 426을 각각 표현할 수 있다. 이에 따라, 아이콘 표현 객체들 442, 444, 446이 클립 객체로 탐지된 경우에는 해당 클립 객체들에 대응되는 제 1 이미지 422, 텍스트 424, 제 2 이미지 426가 획득될 수 있다.
한 실시예에 따르면, 표현 객체 446가 클립 객체로 탐지되면, 클립 객체와 연관된 표현 객체 448가 추가적인 클립 객체로서 탐지될 수 있다.이에 따라, 예컨대, 해당 표현 객체 448에 연관된 텍스트 428가 획득될 수 있다.
한 실시예에 따르면, 전자 장치 400의 획득 모듈(예: 획득 모듈 230)은 표현 객체(예: 442, 444, 446, 448)가 탐지되면 해당 표현 객체 에 대한 하나 이상의 표시 속성 정보를 획득할 수 있다.
한 실시예에 따르면, 전자 장치 400의 획득 모듈(예: 획득 모듈 230)은, 선택된 객체 데이터에 해당하는 콘텐트들이 표시된 화면을 이미지로 생성할 수 있다. 또한, 예를 들어, 사용자 입력에 대응하는 객체 데이터 446과 연관된 객체 데이터 448을 포함하여, 콘텐트 422, 424, 426, 428을 모두 포함하는 이미지를 생성할 수 있다.
도 5는 다양한 실시예에 따른, 전자 장치(예: 전자 장치 100)가 제공하는 유저 인터페이스(user interface) 500의 예를 도시한다. 예컨대, 상기 유저 인터페이스 500는 인터페이스 모듈 210 또는 상기 전자 장치(예: 전자 장치 100)의 다른 구성 요소(예: 프로세서 120 또는 입출력 인터페이스 140)의 제어에 따라 전자 장치(예: 전자 장치 100)에 기능적으로 연결된 디스플레이(예: 디스플레이 150)를 통하여 제공될 수 있다.
한 실시예에 따르면, 유저 인터페이스 500는 하나 이상의 다양한 디지털 정보(예: 콘텐트)들을 디스플레이의 적어도 일부 영역을 통하여 제공할 수 있다. 예를 들면, 상기 콘텐트는 전자 장치(예: 전자 장치 100)에서 이용 가능한 다양한 애플리케이션(application)에 포함될 수 있다. 도 5를 참조하면, 예컨대, 상기 애플리케이션은 웹 브라우저(web browser) 애플리케이션일 수 있다. 웹 브라우저 애플리케이션은 웹 서버(web server)와 통신하여, 웹 페이지(web page)나 파일(file)에 포함된 콘텐트를 제공할 수 있다. 웹 서버에 위치하는 웹 페이지나 파일들은 주소처럼 이용되는 URL을 통해 연동이 가능하다.
도 5의 (a)에 도시된 바에 따르면, 예컨대, 사용자는 구매하고자 하는 책의 구매 정보를 얻고자, 웹 브라우저 애플리케이션을 통해 URL이 "http://www.sfcshop.com/item1" 인 웹 페이지 510에 접근할 수 있다. 예를 들면, 상기 웹 페이지 510는 이미지 512, 텍스트 514, 및 URL 516을 포함하는 다양한 콘텐트를 제공할 수 있다.
한 실시예에 따르면, 사용자는 전자 장치(예: 전자 장치 100)를 통해 제공되고 있는 콘텐트 중에서 적어도 일부 콘텐트를 선택 또는 저장할 수 있다. 예를 들면, 사용자는 디스플레이 스크린 영역 중 적어도 일부분을 선택하기 위한 입력을 수행할 수 있다. 상기 사용자 입력은, 예컨대, 인터페이스 모듈 210을 통해 수신될 수 있다.
예를 들어, 사용자 입력은 손가락이나 손바닥을 포함하는 신체의 일부분, 전자 장치에 구비된 버튼, 센서, 또는 전자 펜 중 적어도 하나를 이용하여 수행될 수 있다. 예컨대, 영역 지정은 전자 펜(디지털 펜) 502과 같은 입력 도구를 이용하여 클립 하고자 하는 영역을 드래그(drag)함으로써 실행할 수 있다. 유저 인터페이스 500에는 사용자에 의해 지정된 선택 영역 520이 표시될 수 있다.
한 실시예에 따르면, 선택 영역 520이 지정되면 전자 장치(예: 전자 장치 100)는 상기 선택 영역 520에 포함된 하나 이상의 콘텐트를 탐지(detect)할 수 있다. 상기 탐지 동작은, 예컨대, 획득 모듈 300(예: 획득 모듈 230)의 제어에 따라 객체 저장 모듈 250에 저장된 표현 객체 데이터를 검색하는 동작일 수 있다.
도 5의 (a)를 참조하면, 선택 영역 520에 포함된 콘텐트인 이미지 512 및 텍스트 514 등이 선택될 수 있다. 예를 들어, 탐지된 콘텐트는 전자 장치(예: 전자 장치 100)의 메모리(예: 메모리 130)에 임시 저장되거나 별도의 DB(database)에 저장될 수 있다. 예컨대, 추가적으로 또는 대체적으로, 선택된 콘텐트들과 연관하여, 선택된 콘텐트들이 포함된 웹 페이지의 URL이 획득(또는 클립)될 수 있다.
한 실시예에 따르면, 선택 영역 520은 콘텐트의 일부 영역(예: 콘텐트가 화면에서 차지하는 모든 영역이 아닌)을 포함할 수 있다. 도 5의 (a)를 참조하면, 이미지 512의 일부가 드래그 영역 520에 모두 포함되지 않더라도, 이미지 512의 전체 영역이 저장(예: 클립)될 수 있다. 도 5의 (b)는, 사용자 입력에 기반하여 클립된, 이미지 콘텐트, 텍스트 콘텐트, URL 콘텐트의 예를 도시한다.
한 실시예에 따르면, 획득 모듈 230은 선택 영역 520에 포함된 콘텐트 중 적어도 일부 콘텐트(예: 선택 영역에 포함된 모든 콘텐트가 아닌)에 대해 클립 동작을 수행할 수 있다.
한 실시예에 따르면, 선택 영역 520은 화면 전체에 대해 지정될 수 있다. 화면 전체에 대한 선택 입력은 화면의 적어도 일부를 선택하는 동작과 동일하거나, 다른 동작을 이용하여 수행될 수도 있다. 예컨대, 화면 전체 영역이 선택 영역으로 지정되면, 획득 모듈 230은 화면 전체에 대한 이미지를 생성할 수 있다. 또한, 예컨대, 화면 전체에 포함된 콘텐트 정보가 획득 될 수 있다.
한 실시예에 따르면, 화면 전체 영역이 선택 영역으로 지정되면, 정보 제공 모듈 200(예: 정보 제공 모듈 125)은 화면에 포함된 콘텐트 중 적어도 일부를 선택할지를 질의할 수 있다. 인터페이스 모듈 210은 상기 질의에 대한 정보를 유저 인터페이스 500을 통해 표시할 수 있다. 화면 전체 영역이 선택 영역으로 지정되고 화면에 포함된 적어도 일부의 콘텐트를 선택하는 사용자 입력이 수신되면, 획득 모듈 230은 선택 영역에 포함된 하나 이상의 콘텐트 중 사용자에 의해 선택된 콘텐트 정보를 획득할 수 있다.
한 실시예에 따르면, 사용자에 의해 선택 영역(예: 선택 영역 520)이 지정되면, 선택 영역을 다른(another) 형태로 변경할 수 있는 옵션(예: 아이콘) 522이 유저 인터페이스 500을 통해 제공될 수 있다. 예컨대, 상기 옵션이 선택되면, 결정 모듈 220은 선택된 옵션에 해당하는 형태로 선택 영역 520을 변경할 수 있다.
한 실시예에 따르면, 사용자 입력에 기반하여 적어도 하나의 콘텐트가 선택되면, 상기 선택된 콘텐트에 대한 부가 정보가 유저 인터페이스 500를 통해 제공될 수 있다. 예를 들어, 상기 부가 정보는 클립된 콘텐트의 종류 또는 속성을 가리키는 정보일 수 있다. 도 5의 (a)를 참조하면, 예컨대, 상기 부가 정보는 아이콘(icon) 524 형태로, 선택 영역 520의 적어도 일부에 겹쳐서 표시되거나, 인접하여 표시될 수 있다.
한 실시예에 따르면, 사용자는 특정한 애플리케이션(예: 스크랩 애플리케이션)을 통해 클립된 콘텐트들에 접근(access)할 수 있다. 예를 들면, 상기 특정 애플리케이션은 클립한 콘텐트를 분류하여 다양한 방법으로 사용자에게 제공하는 애플리케이션 일 수 있다. 예컨대, 도 5의 (b)와 유사하게, 상기 애플리케이션은 클립돤 콘텐트를 유저 인터페이스 500를 통해 제공할 수 있다. 예컨대, 상기 애플리케이션은 클립된 콘텐트를 다른 사용자와 통신 인터페이스(예: 통신 인터페이스 160)를 통해 공유하는 기능을 제공할 수 있다.
예를 들어, 클립된 콘텐트는 다양한 연관 정보에 기반하여 분류될 수 있다. 상기 연관 정보는 제목, 원본 데이터 위치(URI), 제작자, 생성날짜, 카테고리, 공개권한, 사용자 메모, 유효기간, GPS 정보, 데이터 요약, 클립이 수행된 애플리케이션 정보, 클립 바이너리 데이터 종류, 썸네일 이미지 크기 및 표시위치, 메타데이터 정보, 또는 그 조합으로 이루어 질 수 있다. 메타데이터에는 콘텐트의 위치와 내용, 작성자에 관한 정보, 권리 조건, 이용 조건, 또는 이용 내력 중 적어도 하나가 포함될 수 있다.
예를 들면, 사용자는 특정 데이터(정보)를 메타데이터를 이용하여 검색할 수 있다. 예컨대, 메타데이터를 이용하면, 영화의 특정 장면(scene)에서 배우(actor)의 정보를 추출하거나 축구 시합의 비디오에서 골(goal) 장면만을 뽑아낼 수 있다. 한 실시예에 따르면, 메타데이터 정보를 이용하여 콘텐트가 자동으로 분류 및 저장될 수 있다. 예컨대, 메타데이터에 포함된 해당 파일의 권리정보, 버전, 크기, 시간, 위치 등을 이용하여 해당 콘텐트를 분류할 수 있다.
한 실시예에 따르면, 디지털 정보에 대한 선택 및 저장(예: 클립) 동작은 멀티미디어 콘텐트에 대해 수행될 수 있다. 예를 들어, 사용자는 동영상 또는 오디오 콘텐트를 실행하고 있는 화면의 적어도 일부를 드래그 입력 등을 통하여 지정할 수 있다. 사용자 입력에 기반하여, 예컨대, 상기 드래그 입력이 시작되는 시점부터 끝나는 시점에 해당하는 동영상 또는 오디오 콘텐트의 일부가 저장될 수 있다.
한 실시예에 따르면, 멀티미디어 콘텐트에 대한 사용자 입력은, 화면에 표시된 프로그레스 바(progress bar)상에서 수행될 수 있다. 예를 들어, 사용자는 입력도구(예: 전자펜)를 이용하여 폐곡선 형태의 선택 영역을 지정할 수 있다. 선택 영역이 프로그레스 바를 포함하면, 예컨대, 결정 모듈 220은 선택 영역에 포함된 프로그레스 바의 첫번째 위치와 두번째 위치를 결정할 수 있다. 예컨대, 상기 첫번째 위치는 선택 영역에 포함된 프로그레스 바가 가리키는 콘텐트의 시간 정보 중 가장 먼저인(예: 작은 숫자) 시간에 해당할 수 있다. 유사하게, 예컨대, 상기 두번째 위치는 선택 영역에 포함된 프로그레스 바가 가리키는 콘텐트의 시간 정보 중 가장 나중인(예: 큰 숫자) 시간에 해당할 수 있다. 획득 모듈 230은, 예컨대, 선택된 시간 정보에 해당하는 멀티미디어 콘텐트의 적어도 일부를 클립 콘텐트로 저장될 수 있다.
도 6은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 100)가 제공하는 유저 인터페이스 600의 예를 도시한다. 도 6을 참조하면, 유저 인터페이스 600는 메시지(message) 애플리케이션을 통해 제공될 수 있다. 한 실시예에 따르면 전자 장치(예: 전자 장치 100)의 사용자는 메시지 애플리케이션 610을 통해 연락처 정보를 수신할 수 있다. 상기 연락처 정보는 이미지 612, 이름 614, 또는 전화번호 616 중 적어도 하나의 정보를 포함할 수 있다.
한 실시예에 따르면, 사용자는 상기 연락처 정보가 상기 전자 장치(예: 저장 장치 100)에 저장될 수 있도록, 디스플레이 영역에서 연락처 정보를 선택하는 입력을 수행 할 수 있다. 선택 입력은, 예를 들어, 전자펜 602과 같은 입력 도구를 이용하여 폐곡선을 입력함으로써 수행될 수 있다. 영역 지정은 클립하고자 하는 정보가 표시되는 지점에 대응되는 호버링 입력 또는 직선 형태의 입력을 통해서도 수행될 수 있다. 유저 인터페이스 600는 선택 영역 620을 화면에 표시할 수 있다. 연락처 정보가 선택 되면, 유저 인터페이스 600는 클립되는 콘텐트들의 종류 또는 속성을, 예컨대, 아이콘(icon) 618 형태로 제공할 수 있다.
한 실시예에 따르면, 유저 인터페이스 600를 통해 클립된 콘텐트와 연관된 연관 애플리케이션의 정보 630가 제공될 수 있다. 예를 들어, 연관 애플리케이션은 애플리케이션 모듈 240의 제어에 따라 선택될 수 있다. 도 6의 (a)에 도시된 바와 같이, 상기 연관 애플리케이션을 가리키는 하나 이상의 옵션(또는 아이콘)이 디스플레이의 적어도 일부 영역(예: 하단)에 표시될 수 있다. 옵션 632는, 예를 들면, 클립 데이터를 분류하고 관리할 수 있는 애플리케이션(예: 스크랩 애플리케이션)을 가리키는 정보일 수 있다. 옵션 634은, 예를 들면, 클립된 연락처 정보를 저장할 수 있는 전화번호부 애플리케이션을 가리키는 정보일 수 있다.
한 실시예에 따르면, 연관 애플리케이션의 정보는 상기 클립된 콘텐트의 속성에 기반하여 표시 방법이 결정될 수 있다. 예컨대, 클립된 콘텐트가 연락처 정보인 것으로 분석됨에 기반하여, 상기 전화번호부 애플리케이션은 다른 애플리케이션에 대해 상대적으로 리스트의 상위(예: 왼쪽)에 표시될 수 있다.
한 실시예에 따르면, 사용자는 상기 유저 인터페이스 600를 통하여 전화번호부 애플리케이션이 실행되도록 화면에 표시된 옵션 중 적어도 하나를 선택할 수 있다. 예컨대, 옵션 634에 대한 선택 입력이 수행되면, 도 6의 (b)에 도시된 바와 같이, 옵션 634에 해당하는 애플리케이션(예: 전화번호부 애플리케이션) 640이 유저 인터페이스 600를 통해 표시될 수 있다.
한 실시예에 따르면, 연관 애플리케이션이 표시되는 영역은, 화면 전체이거나 또는 그 전체 화면의 일부만으로 구성될 수 있다. 예컨대, 연관 애플리케이션이 화면의 일부에 표시되어 제공되는 경우, 화면의 나머지 부분에는 클립 동작이 수행된 애플리케이션(예: 메시지 애플리케이션 610)이 표시될 수 있다.
한 실시예에 따르면, 전화번호부 애플리케이션은 클립된 콘텐트의 적어도 일부가 전화번호부 애플리케이션의 입력 창(또는 필드)에 입력되어 있는 상태로 실행될 수 있다. 예컨대, 도 6의 (b)에 도시된 바와 같이, 이미지 612는, 예컨대, 전화번호부 애플리케이션 640의 사진 필드 642에 입력될 수 있다. 또한, 예컨대, 이름 614은 전화번호부 애플리케이션 640의 이름 필드 644에 입력될 수 있다. 유사하게, 예컨대, 전화번호 616는 전화번호부 애플리케이션 640의 전화번호 필드 646에 입력될 수 있다.
한 실시예에 따르면, 유저 인터페이스 600는 연관 애플리케이션이 실행되는 경우, 클립된 콘텐트들을 이용할 수 있는 옵션을 상기 애플리케이션과 함께 제공할 수 있다. 예를 들면, 유저 인터페이스 600는 디스플레이 스크린의 일부 영역에 클립된 전체 콘텐트 또는 클립된 전체 콘텐트의 일부를 선택할 수 있는 하나 이상의 옵션(예: 아이콘) 650을 제공할 수 있다. 이에 따라 사용자는, 제공되는 옵션 중 일부를 선택함으로써 클립된 콘텐트의 정보를 상기 애플리케이션에, 대체적으로 또는 추가적으로(instead of or in addition to) 입력할 수 있다.
예를 들어, 디스플레이 스크린의 상단 영역에는 메시지 애플리케이션이 표시되고, 하단 영역에는 상기 옵션(예: 클립 콘텐트 선택 아이콘)이 표시될 수 있다. 하단에 표시되는 클립 콘텐트 연관 아이콘 중 적어도 하나는 연락처 정보 중 하나인 이름 또는 전화번호에 대응될 수 있다. 예컨대, 사용자가 전화번호를 가리키는 아이콘을 선택하고 이를 이동(drag)하여, 상단의 메시지 애플리케이션 이 표시된 적어도 일부 영역으로 위치시키면, 해당하는 전화번호가 수신자 정보 입력 창에 입력될 수 있다.
도 7은 다양한 실시예에 따른, 전자 장치(예: 전자 장치 100)가 제공하는 유저 인터페이스 700의 예를 도시한다. 예컨대, 전자 장치(예: 전자 장치 100)는 복수의 애플리케이션을 실행하고, 실행된 애플리케이션 중 적어도 일부 애플리케이션을 화면에 표시할 수 있다.
한 실시예에 따르면, 도 7에 도시된 바와 같이, 유저 인터페이스 700는 이메일(e-mail) 애플리케이션 710과 달력(calendar) 애플리케이션 720을 포함할 수 있다. 예를 들어, 이메일 애플리케이션 710은 일정, 시간, 또는 장소 중 적어도 하나를 포함하는 텍스트 정보를 제공할 수 있다.
한 실시예에 따르면, 사용자는 이메일 애플리케이션 710에서 제공하는 텍스트 정보 중 적어도 일부를 선택하는 입력을 수행 할 수 있다. 선택 입력은, 예를 들어, 전자펜 702과 같은 입력 도구를 이용하여 폐곡선을 입력함으로써 수행될 수 있다. 영역 지정은 클립하고자 하는 정보가 표시되는 지점에 대응되는 호버링 입력 또는 직선 형태의 입력을 통해서도 수행될 수 있다. 유저 인터페이스 700는 선택 영역 712을 화면에 표시할 수 있다.
한 실시예에 따르면, 선택 입력이 수행되면 선택 입력에 포함된 텍스트 정보를 분석하여 텍스트 정보의 유형을 식별할 수 있다. 예를 들어, 선택된 텍스트 정보는 객체 분석 모듈 340의 제어에 따라 날짜, 시작 시간, 종료 시간, 또는 장소 중 적어도 하나의 유형으로 분류될 수 있다. 연락처 정보가 선택 되면 유저 인터페이스 700는, 클립되는 콘텐트들의 종류 또는 속성을 상기 유형에 기반하여, 예컨대, 아이콘(icon) 714 형태로 제공할 수 있다.
한 실시예에 따르면, 디스플레이(예: 터치스크린)를 통해, 선택 영역 712에 해당하는 영역 중 적어도 일부를 지정하고 디스플레이의 다른 영역으로 이동하는 입력(이하, 설명의 편의를 위해 "드래그 앤 드롭 붙여넣기(drag & drop paste)") 716이 수신될 수 있다. 예를 들면, 사용자는 이메일 애플리케이션 710 상에 위치한 선택 영역 712을, 달력 애플리케이션 720이 표시된 영역에 포함된 위치로 이동할 수 있다.
한 실시예에 따르면, 사용자 입력(예: 드래그 앤 드롭 붙여넣기) 716이 달력 애플리케이션 720이 표시된 영역으로 진입하면, 클립된 정보 중 적어도 일부가 달력 애플리케이션 720의 입력 창(또는 필드)에 입력될 수 있다. 예컨대, 날짜, 시작 시간, 종료 시간, 및 장소 정보는 각 입력 창 항목의 속성에 맞게 입력되어 표시될 수 있다. 도 7을 참조하면, 예컨대, 달력 애플리케이션의 입력창 722, 724에 대응되어 클립된 콘텐트 중 날짜 및 시간 정보가 입력될 수 있다.
한 실시예에 따르면, 상기 입력 창 항목의 모양 또는 형식이 클립된 콘텐트와 다를 경우에, 상기 클립된 콘텐트의 데이터는 입력될 창에 적합한 형식으로 변경되어 입력될 수 있다. 예를 들어, 클립된 날짜(date) 콘텐트가 연도(year), 월(month), 및 일(day)의 순서(예: 2013.06.10)이고, 입력될 필드는 일, 월, 및 연도의 순서(예: 클립된 날짜 콘텐트 형식과 달리)를 가질 수 있다. 이런 경우, 상기 콘텐트 "2013.06.10"는, "10.06.2013" 또는 "10 JUNE 2013" 등으로 변경되어 입력될 수 있다. 유사하게, 도 7을 참조하면, 클립된 콘텐트에 포함된 시간 정보 "PM 1:30~2:30"는 입력창 속성에 적합하도록 입력 될 수 있다. 예컨대, 기호 "~" 에 대한 분석을 기반으로, 클립된 시간 정보를 시작 시간과 종료 시간으로 분리할 수 있고, 24시간에 해당하는 형식으로 변경할 수 있다.
추가적으로, 클립된 콘텐트를 기반으로 입력할 정보를 생성하여 생성된 정보를 입력할 수 있다. 도 7을 참조하면, 예컨대, 클립된 콘텐트에는 요일 정보가 없으나 입력 창에 요일 정보에 해당하는 속성이 있을 경우, 클립된 날짜 정보에 대한 요일 정보를 확인하고, 요일 정보를 포함한 날짜 정보를 입력창에 입력할 수 있다.
다양한 실시예에 따르면, 전자 장치 100는 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 인터페이스 모듈 210, 사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 인식하는 결정 모듈 220, 및 상기 위치 정보에 기반하여, 상기 하나 또는 그 이상의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 포함되는 표현 객체를, 상기 사용자의 입력에 대응되는 클립 객체로서 탐지하고, 상기 클립 객체에 대응하는 콘텐트를 획득하는 획득 모듈 230을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인터페이스 모듈 210은, 다른 사용자 입력에 기반하여, 상기 하나 또는 그 이상의 표현 객체 중 적어도 일부인 삽입(input) 객체를 인식하고, 상기 클립 객체에 대응하는 콘텐트 중 상기 삽입 객체에 대응하는 콘텐트와 동일한 속성을 갖는 콘텐트를 상기 삽입 객체에 삽입하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 전자 장치 100는 상기 클립 객체에 대응하는 콘텐트의 속성에 연관된 적어도 하나의 애플리케이션을 가리키는 정보를 제공하는 애플리케이션 모듈 240을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 애플리케이션은 특정한 속성의 콘텐트를 삽입하기 위한 적어도 하나의 입력창을 포함하고, 상기 애플리케이션 모듈 240은, 상기 입력창에 상기 클립 객체에 대응하는 콘텐트 중 상기 특정한 속성에 대응하는 콘텐트를 삽입하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 결정 모듈 220은, 상기 선택 영역이 상기 클립 객체의 전부를 포함하도록 상기 선택 영역을 변경하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 하나 또는 그 이상의 표현 객체의 각각의 위치 정보 및 상기 하나 또는 그 이상의 표현 객체에 각각 대응하는 콘텐트는, 하나 또는 그 이상의 노드를 서로 연결한 데이터 구조(예: hierarchy, tree) 중의 상기 하나 또는 그 이상의 표현 객체의 각각에 대응하는 노드의 데이터로서 저장되고, 상기 획득 모듈 230은, 선택 영역의 위치 정보에 기반하여, 상기 데이터 구조로부터 상기 클립 객체에 대응하는 노드를 탐지하도록 설정될 수 있다.
도 8은 다양한 실시예들에 따른 정보 제공 방법을 보여주는 흐름도 800이다.
동작(operation) 810에서, 전자 장치(예: 전자 장치 100)는, 예컨대, 디스플레이(예: 디스플레이 150)를 통하여 하나 이상의 콘텐트를 제공할 수 있다. 상기 콘텐트는 이미지, 텍스트, 오디오, 및 비디오를 포함하는 다양한 디지털 정보들을 포함할 수 있다.
동작 820에서, 전자 장치(예: 전자 장치 100)는 디스플레이(예: 디스플레이 150) 영역 중 적어도 일부인 선택 영역을 결정할 수 있다. 예컨대, 선택 영역은 전자 장치(예: 전자 장치 100)에 기능적으로 연결된 입력 장치(예: 입출력 인터페이스 140)에서 감지되는 사용자 입력에 기반하여 결정될 수 있다.
한 실시예에 따르면, 상기 선택 영역은 선택 영역에 적어도 일부가 포함되는 하나 이상의 콘텐트에 기반하여 변경될 수 있다.
동작 830에서, 전자 장치(예: 전자 장치 100)는 상기 선택 영역에 적어도 일부가 포함되는 하나 이상의 콘텐트를 획득할 수 있다. 예컨대, 상기 하나 이상의 콘텐트는 상기 선택 영역에 대응하는 콘텐트를, 디스플레이(예: 디스플레이 150) 화면을 구성하는 배치 정보(또는 위치 정보)에 따라 탐지할 수 있다. 한 실시예에 따르면, 선택 영역에 대응하는 콘텐트가 탐지될 경우, 탐지된 콘텐트를 사용자 선택 콘텐트로 획득할 수 있다.
동작 840에서, 전자 장치(예: 전자 장치 100)는 선택된 콘텐트와 연관된 정보를 획득할 수 있다. 상기 연관된 정보는 콘텐트 유형(type), 표시 속성(view property), 주변 정보(예: 애플리케이션 정보, 위치 정보, 시간 정보, 권리 정보, 원본 정보, 메타데이터, 썸네일, 센서 정보), 또는 그 조합을 포함할 수 있다. 한 실시예에 따르면, 전자 장치(예: 획득 모듈 230)는 선택된 콘텐트를 분석하여 추가적인 정보를 생성할 수 있다. 예를 들어, 콘텐트 유형이 텍스트(text)일 경우, 상기 텍스트가 URL, 연락처, 일정, 이름, 주소, 또는 이메일 중 적어도 하나를 포함하는지를 판단하여 상기 추가 정보를 저장할 수 있다.
도 9는 다양한 실시예들에 따른 정보 제공 방법을 보여주는 흐름도 900이다.
동작 910에서, 전자 장치(예: 전자 장치 100)는, 예컨대, 터치 스크린(예: 입출력 인터페이스 140)를 통하여 사용자 입력을 감지할 수 있다. 상기 사용자 입력은 도 8의 동작 810 내지 840을 통해 획득된 콘텐트를 특정 애플리케이션에 입력(예: 붙여넣기)하는 동작과 연관된 입력일 수 있다.
동작 920에서, 전자 장치(예: 전자 장치 100)는 사용자 입력이 수행된 애플리케이션에 대하여 입력 속성을 확인할 수 있다. 예컨대, 상기 애플리케이션(또는 프로그램)은 워드프로세서(word processor) 또는 이미지(image) 애플리케이션과 같은 특정한 유형의 콘텐트를 다루는 애플리케이션일 수 있다. 이런 경우에는, 예컨대, 상기 애플리케이션에서 다루는 콘텐트의 유형에 기반하여 입력 속성을 결정할 수 있다.
한 실시예에 따르면, 상기 애플리케이션은 하나 이상의 입력 창(또는 필드)을 포함할 수 있다. 예컨대, 상기 입력 창은, 텍스트, 이미지, 오디오, 또는 동영상에 해당하는 속성을 가질 수 있다. 또한, 예컨대, 상기 입력 창은 날짜, 요일, 월, 연도, 시간, 장소, 전화번호, 이메일, URI, URL, URN, 주소, 이름, 제목, id(identifier), 비밀번호(password), 아이콘(icon), 문장기호, 또는 페이지번호 중 적어도 하나를 입력할 수 있는 삽입 객체로 디스플레이 화면에 포함될 수 있다. 전자 장치(예: 애플리케이션 모듈 240)는 해당 입력 항목을 입력 창에 대한 입력 속성으로 결정할 수 있다.
동작 930에서, 전자 장치(예: 전자 장치 100)는 상기 입력 속성에 해당하는 획득된(예: 클립된) 콘텐트가 있는지를 확인할 수 있다. 예컨대, 상기 입력 속성에 해당하는 획득된 콘텐트가 있을 경우, 해당 콘텐트가 상기 애플리케이션에 입력될 수 있다.
한 실시예에 따르면, 상기 애플리케이션이 워드프로세서(word processor) 또는 이미지(image) 애플리케이션과 같은 특정한 유형의 콘텐트를 다루는 애플리케이션일 경우, 획득된 콘텐트의 적어도 일부 또는 전체가 상기 애플리케이션이 다루는 해당 종류의 콘텐트로 변환되어 입력될 수 있다. 한 실시예에 따르면, 상기 애플리케이션에 하나 이상의 입력 창이 있을 경우, 획득된 콘텐트 중 적어도 일부 콘텐트가 상기 콘텐트의 속성에 대응되는 입력 창에 입력될 수 있다.
동작 940에서, 전자 장치(예: 전자 장치 100)는 콘텐트와 상기 애플리케이션의 입력 형식(format)을 비교할 수 있다.
동작 942에서, 콘텐트와 상기 애플리케이션의 입력 형식이 다른 경우, 전자 장치(예: 전자 장치 100)는 콘텐트의 형식을 변환할 수 있다. 예컨대, 애플리케이션 또는 입력 창의 형식과 콘텐트의 형식이 서로 다른 것으로 판단되는 경우, 콘텐트의 형식을 상기 애플리케이션 또는 입력 창에 적합하도록 변경할 수 있다.
동작 950에서, 전자 장치(예: 전자 장치 100)는 획득된 콘텐트를 사용자 입력에 기반하여 상기 애플리케이션 또는 입력 창에 입력(또는 삽입)할 수 있다.
다양한 실시예들에 따르면, 전자 장치에서 정보를 획득하는 방법은, 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 동작, 사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 결정하는 동작, 상기 적어도 하나의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 대응하는 표현 객체를, 상기 사용자 입력에 대응하는 클립 객체로서 탐지하는 동작, 및 상기 클립 객체에 대응하는 콘텐트를 인식하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 클립 객체에 대응하는 콘텐트의 속성을, 상기 디스플레이 영역 중 상기 클립 객체의 적어도 일부에 겹쳐서 표시하거나 상기 클립 객체에 인접하여 표시하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 상기 콘텐트의 속성은 텍스트(text), 이미지(image), 비디오(video), 오디오(audio), 또는 URI(uniform resource identifier) 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 인식하는 동작은, 상기 선택 영역이 상기 클립 객체의 전부를 포함하도록 상기 선택 영역을 조정(adjust)하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 다른 사용자 입력에 기반하여, 상기 하나 또는 그 이상의 표현 객체 중 적어도 일부인 삽입(input) 객체를 인식하는 동작, 상기 삽입 객체에 대응하는 콘텐트의 적어도 일부로서, 상기 클립 객체에 대응하는 콘텐트의 적어도 일부를 삽입하는 동작, 및 상기 삽입 객체를 통해 상기 삽입 객체에 대응하는 콘텐트를 표시하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 상기 삽입하는 동작은, 상기 클립 객체에 대응하는 콘텐트 중 상기 삽입 객체에 대응하는 콘텐트와 동일한 속성을 갖는 콘텐트를 삽입하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 하나 또는 그 이상의 표현 객체의 각각의 위치 정보 및 상기 하나 또는 그 이상의 표현 객체에 각각 대응하는 콘텐트는, 하나 또는 그 이상의 노드를 서로 연결한 데이터 구조(예: hierarchy, tree) 중의 상기 하나 또는 그 이상의 표현 객체의 각각에 대응하는 노드의 데이터로서 저장될 수 있다.
다양한 실시예들에 따르면, 상기 탐지하는 동작은, 상기 선택 영역의 위치 정보에 기반하여, 상기 데이터 구조로부터 상기 클립 객체에 대응하는 노드를 탐지하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 탐지하는 동작은, 상기 데이터 구조 중 상기 선택 영역에 적어도 일부가 포함되는 표현 객체에 대응하는 노드들의 상하위로 연결된 노드에 대응된 표현 객체를, 상기 클립 객체의 일부로서 탐지하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 탐지하는 동작은, 상기 클립 객체를 상기 디스플레이 영역에 표시된 다른 표현 객체와 상이하게 표시하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 선택 영역에 적어도 일부가 포함되는 표현 객체는 복수의 애플리케이션들에 각각 대응되는 복수의 표현 객체들을 포함하고, 상기 탐지하는 동작은, 상기 복수의 애플리케이션 중 활성화된 애플리케이션에 대응되는 표현 객체를 상기 사용자의 입력에 대응되는 클립 객체로서 탐지하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 획득하는 동작은, 상기 클립 객체에 대응하는 콘텐트의 적어도 일부로서, 상기 선택 영역을 캡쳐한 이미지를 획득하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 획득하는 동작은, 상기 클립 객체에 대응하는 콘텐트의 속성에 연관된 적어도 하나의 애플리케이션을 가리키는 정보를 제공하는 동작, 및 상기 적어도 하나의 애플리케이션 중 다른 사용자 입력에 대응하는 애플리케이션을 활성화하는(activate) 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 다른 사용자 입력에 대응하는 애플리케이션은 특정한 속성의 콘텐트를 삽입하기 위한 적어도 하나의 입력창(input window)을 포함하고, 상기 활성화하는 동작은, 상기 입력창에, 상기 클립 객체에 대응하는 콘텐트 중 상기 특정한 속성에 대응하는 콘텐트를 삽입하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 획득하는 동작은, 다른 사용자 입력으로부터 적어도 하나의 문자를 추출하는 동작, 상기 추출된 문자에 기반하여, 텍스트 데이터를 생성하는 동작, 및 상기 클립 객체의 콘텐트의 적어도 일부로서, 상기 텍스트 데이터를 획득하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 획득하는 동작은, 상기 클립 객체의 표시 속성 또는 상기 클립 객체가 포함된 애플리케이션에 연관된 정보 중 적어도 하나를 더 획득하는 동작을 포함할 수 있다.
도 10은 다양한 실시예들에 따른 전자 장치 1000(예: 전자 장치 100)의 블록도를 도시한다. 상기 전자 장치 1000는, 예를 들면, 도 1에 도시된 전자 장치 100의 전체 또는 일부를 구성할 수 있다. 도 10를 참조하면, 상기 전자 장치 1000는 하나 이상의 프로세서 1010, SIM(subscriber identification module) 카드 1014, 메모리 1020, 통신 모듈 1030, 센서 모듈 1040, 입력 모듈 1050, 디스플레이 1060, 인터페이스 1070, 오디오 모듈 1080, 카메라 모듈 1091, 전력관리 모듈 1095, 배터리 1096, 인디케이터 1097, 또는 모터 1098 를 포함할 수 있다.
상기 프로세서 1010(예: 프로세서 120)는 하나 이상의 애플리케이션 프로세서(AP: application processor) 1011 또는 하나 이상의 커뮤니케이션 프로세서(CP: communication processor) 1013를 포함할 수 있다. 상기 프로세서 1010는, 예를 들면, 도 1에 도시된 프로세서 120일 수 있다. 도 10에서는 상기 AP 1011 및 상기 CP 1013가 프로세서 1010 내에 포함된 것으로 도시되었으나, 상기 AP 1011 와 상기 CP 1013는 서로 다른 IC 패키지들 내에 각각 포함될 수 있다. 한 실시예에 따르면, 상기 AP 1011 및 상기 CP 1013는 하나의 IC 패키지 내에 포함될 수 있다.
상기 AP 1011는 운영체제 또는 응용 프로그램을 구동하여 상기 AP 1011에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 1011는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 프로세서 1010는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 CP 1013는 상기 전자 장치 1000(예: 전자 장치 100)와 네트워크로 연결된 다른 전자 장치들 간의 통신에서 데이터 링크를 관리하고 통신 프로토콜을 변환하는 기능을 수행할 수 있다. 상기 CP 1013는, 예를 들면, SoC로 구현될 수 있다. 한 실시예에 따르면, 상기 CP 1013는 멀티미디어 제어 기능의 적어도 일부를 수행할 수 있다. 상기 CP 1013는, 예를 들면, 가입자 식별 모듈(예: SIM 카드 1014)을 이용하여 통신 네트워크 내에서 단말의 구별 및 인증을 수행할 수 있다. 또한, 상기 CP 1013는 사용자에게 음성 통화, 영상 통화, 문자 메시지 또는 패킷 데이터(packet data) 등의 서비스들을 제공할 수 있다.
또한, 상기CP 1013는 상기 통신 모듈 1030의 데이터 송수신을 제어할 수 있다. 도 10에서는, 상기 CP 1013, 상기 전력관리 모듈 1095 또는 상기 메모리 1020 등의 구성요소들이 상기 AP 1011와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP 1011가 전술한 구성요소들의 적어도 일부(예: 상기 CP 1013)를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP 1011 또는 상기 CP 1013는, 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를, 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP 1011 또는 상기 CP 1013는 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를, 비휘발성 메모리에 저장(store)할 수 있다.
상기 SIM 카드 1014는 가입자 식별 모듈을 구현한 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드 1014는 고유한 식별 정보(예: ICCID(integrated circuit card identifier))또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 1020는 내장 메모리 1022 또는 외장 메모리 1024를 포함할 수 있다. 상기 메모리 1020는, 예를 들면, 도 1에 도시된 메모리 130일 수 있다. 상기 내장 메모리 1022는, 예를 들면, 휘발성 메모리(예를 들면, 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 memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 내장 메모리 1022는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리 1024는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리 1024는 다양한 인터페이스를 통하여 상기 전자 장치 1000과 기능적으로 연결될 수 있다.
도시되지는 않았으나, 상기 전자 장치 1000는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 통신 모듈 1030은 무선 통신 모듈 1031 또는 RF 모듈 1034을 포함할 수 있다. 상기 통신 모듈 1030은, 예를 들면, 도 1에 도시된 통신 인터페이스 760에 포함될 수 있다. 상기 무선 통신 모듈 1031은, 예를 들면, WiFi 1033, BT(bluetooth) 1035, GPS 1037 또는 NFC(near field communication) 1039를 포함할 수 있다. 예를 들면, 상기 무선 통신 모듈 1031은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다. 추가적으로 또는 대체적으로, 상기 무선 통신 모듈 1031은 상기 전자 장치 1000를 네트워크(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등)와 연결시키기 위한 네트워크 인터페이스(예: LAN card) 또는 모뎀 등을 포함할 수 있다.
상기 RF 모듈 1034은 음성 또는 데이터 신호의 송수신을 처리할 수 있다. 상기 RF 모듈 1034은, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈 1034은 무선통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다.
상기 센서 모듈 1040은, 예를 들면, 제스쳐 센서 1040A, 자이로 센서 1040B, 기압 센서 1040C, 마그네틱 센서 1040D, 가속도 센서 1040E, 그립 센서 1040F, 근접 센서 1040G, RGB(red, green, blue) 센서 1040H, 생체 센서 1040I, 온/습도 센서 1040J, 조도 센서 1040K 또는 UV(ultra violet) 센서 1040L, IR(infra red) 센서(미도시) 중의 적어도 하나를 포함할 수 있다. 상기 센서 모듈 1040은 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 1040은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시) 또는 지문 센서 등을 포함할 수 있다. 상기 센서 모듈 1040은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 입력 모듈 1050은 터치 패널(touch panel) 1052, (디지털) 펜 센서(pen sensor) 1054, 키(key) 1056 또는 초음파 입력 장치(울트라소닉) 1058를 포함할 수 있다. 상기 입력 모듈 1050은, 예를 들면, 도 1에 도시된 입출력 인터페이스 140에 포함될 수 있다. 상기 터치 패널 1052은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널 1052은 컨트롤러(미도시)를 더 포함할 수도 있다. 정전식의 경우, 물리적인 접촉뿐만 아니라 근접 인식도 가능하다. 상기 터치 패널 1052은 택타일(tactile layer) 기능을 더 포함할 수도 있다. 이 경우, 상기 터치 패널 1052은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 1054는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키 1056는, 예를 들면, 물리적인 버튼을 포함할 수 있다. 또한, 예를 들면, 광학식 키, 키패드, 또는 터치 키가 포함될 수 있다. 상기 초음파 입력 장치(울트라소닉) 858는 초음파 신호를 발생하는 입력도구를 통해, 단말에서 마이크(예: 마이크 1088)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치 1000는 상기 통신 모듈 1030를 이용하여, 이와 연결된 외부 장치(예: 네트워크, 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 1060은 패널 1062, 홀로그램 1064, 또는 프로젝터 1066를 포함할 수 있다. 상기 디스플레이 1060은, 예를 들면, 도 1에 도시된 디스플레이 150일 수 있다. 상기 패널 1062은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널 1062은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 1062은 상기 터치 패널 1052과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 1064은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 한 실시예에 따르면, 상기 디스플레이 1060은 상기 패널 1062 또는 상기 홀로그램 1064을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 인터페이스 1070는, 예를 들면, HDMI(high-definition multimedia interface) 1072, USB(universal serial bus) 1074, Optical(광통신) 1076 또는 D-sub(D-subminiature) 1078를 포함할 수 있다. 상기 통신 모듈 1030은, 예를 들면, 도 1에 도시된 통신 인터페이스 760에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 1070는, 예를 들면, SD(secure Digital)/MMC(multi-media card)(미도시) 또는 IrDA(infrared data association, 미도시)를 포함할 수 있다.
상기 오디오 모듈 1080은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 1080은, 예를 들면, 도 1에 도시된 입출력 인터페이스 140에 포함될 수 있다. 오디오 모듈 1080은, 예를 들면, 스피커 1082, 리시버 1084, 이어폰 1086 또는 마이크 1088 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 1091은 화상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor, 미도시) 또는 플래쉬(flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력관리 모듈 1095은 상기 전자 장치 1000의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력관리 모듈 1095은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 게이지(battery fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리 1096의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리 1096는 전기를 저장하여 전원을 공급할 수 있다. 상기 배터리 1096는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 1097는 상기 전자 장치 1000 혹은 그 일부(예: 상기 AP 1011)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 1098는 전기적 신호를 기계적 진동으로 변환할 수 있다.
도시되지는 않았으나, 상기 전자 장치 1000는 모바일 TV지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
다양한 실시예들에 따르면, 명령들을 저장하고 있는 저장 매체에 있어서, 상기 명령들은 적어도 하나의 프로세서에 의하여 실행될 때에 상기 적어도 하나의 프로세서로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 동작, 사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 결정하는 동작, 상기 적어도 하나의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 대응하는 표현 객체를, 상기 사용자 입력에 대응하는 클립 객체로서 탐지하는 동작, 및 상기 클립 객체에 대응하는 콘텐트를 인식하는 동작을 포함할 수 있다.
본 개시에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 개시에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 개시에 사용된 용어 "모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 개시에 따른 "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다. 있다.
210: 인터페이스 모듈 220: 결정 모듈
230: 획득 모듈 240: 애플리케이션 모듈
250: 객체 저장 모듈

Claims (23)

  1. 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 동작;
    사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 결정하는 동작;
    상기 하나 또는 그 이상의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 대응하는 적어도 하나의 표현 객체를 식별하는 동작;
    상기 식별된 적어도 하나의 표현 객체를 상기 사용자 입력에 대응하는 클립 객체로 저장하는 동작;
    다른 사용자 입력에 대응하여, 적어도 하나의 입력 필드를 포함하는 애플리케이션을 활성화하는 동작; 및
    상기 애플리케이션의 활성화에 대응하여, 상기 적어도 하나의 표현 객체의 속성을 기초로, 상기 저장된 클립 객체 중 적어도 일부를 상기 적어도 하나의 입력 필드에 삽입하는 동작을 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 클립 객체에 대응하는 콘텐트의 속성을, 상기 디스플레이 영역 중 상기 클립 객체의 적어도 일부에 겹쳐서 표시하거나 상기 클립 객체에 인접하여 표시하는 동작을 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 콘텐트의 속성은 텍스트(text), 이미지(image), 비디오(video), 오디오(audio), 또는 URI(uniform resource identifier) 중 적어도 하나를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 클립 객체의 전부를 포함하도록 상기 선택 영역을 조정(adjust)하는 동작을 더 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 삽입하는 동작은
    상기 적어도 하나의 입력 필드의 속성을 인식하는 동작;
    상기 저장된 클립 객체에 대응하는 표현 객체 중 상기 인식된 적어도 하나의 입력 필드의 속성과 동일한 속성을 가지는 표현 객체가 존재하는지 확인하는 동작을 포함하는 방법.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 하나 또는 그 이상의 표현 객체의 각각의 위치 정보 및 상기 하나 또는 그 이상의 표현 객체에 각각 대응하는 콘텐트는,
    하나 또는 그 이상의 노드를 서로 연결한 데이터 구조(예: hierarchy, tree) 중의 상기 하나 또는 그 이상의 표현 객체의 각각에 대응하는 노드의 데이터로서 저장되는 방법.
  8. 제 7 항에 있어서,
    상기 저장하는 동작은,
    상기 선택 영역의 위치 정보에 기반하여, 상기 데이터 구조로부터 상기 클립 객체에 대응하는 노드를 탐지하는 동작을 포함하는 방법.
  9. 제 7 항에 있어서,
    상기 저장하는 동작은,
    상기 데이터 구조 중 상기 선택 영역에 적어도 일부가 포함되는 표현 객체에 대응하는 노드들의 상하위로 연결된 노드에 대응된 표현 객체를, 상기 클립 객체의 일부로 탐지하는 동작을 포함하는 방법.
  10. 제 1 항에 있어서,
    상기 식별하는 동작은,
    상기 식별된 적어도 하나의 표현 객체를 상기 디스플레이 영역에 표시된 다른 표현 객체와 상이하게 표시하는 동작을 포함하는 방법.
  11. 제 1 항에 있어서,
    상기 하나 또는 그 이상의 표현 객체는 복수의 애플리케이션들에 각각 대응되는 복수의 표현 객체들을 포함하고,
    상기 식별하는 동작은,
    상기 사용자 입력에 대응하여, 상기 복수의 애플리케이션들 중 하나를 활성화하고, 상기 활성화된 애플리케이션으로부터 상기 적어도 하나의 표현 객체를 식별하는 동작을 포함하는 방법.
  12. 제 1 항에 있어서,
    상기 클립 객체에 대응하는 표현 객체의 적어도 일부로서, 상기 선택 영역을 캡쳐한 이미지를 획득하는 동작을 더 포함하는 방법.
  13. 제 1 항에 있어서,
    상기 애플리케이션을 활성화하는 동작은,
    상기 식별된 적어도 하나의 표현 객체의 속성에 연관된 적어도 하나의 애플리케이션을 가리키는 정보를 표시하는 동작; 및
    상기 표시된 적어도 하나의 애플리케이션 중 상기 다른 사용자 입력에 대응하는 애플리케이션을 활성화하는 동작을 포함하는 방법.
  14. 삭제
  15. 제 1 항에 있어서,
    다른 사용자 입력으로부터 적어도 하나의 문자를 추출하는 동작;
    상기 추출된 문자에 기반하여, 텍스트 데이터를 생성하는 동작; 및
    상기 클립 객체의 콘텐트의 적어도 일부로서, 상기 생성된 텍스트 데이터를 획득하는 동작을 더 포함하는 방법.
  16. 제 1 항에 있어서,
    상기 클립 객체의 표시 속성 또는 상기 클립 객체가 포함된 애플리케이션에 연관된 정보 중 적어도 하나를 획득하는 동작을 더 포함하는 방법.
  17. 디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 인터페이스 모듈;
    사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 결정하는 결정 모듈;
    상기 하나 또는 그 이상의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 대응하는 적어도 하나의 표현 객체를 식별하고, 상기 식별된 적어도 하나의 표현 객체를 상기 사용자의 입력에 대응하는 클립 객체로 저장하는 획득 모듈; 및
    다른 사용자 입력에 대응하여 적어도 하나의 입력 필드를 포함하는 애플리케이션을 활성화하고, 상기 애플리케이션의 활성화에 대응하여 상기 적어도 하나의 표현 객체의 속성을 기초로 상기 저장된 클립 객체 중 적어도 일부를 상기 적어도 하나의 입력 필드에 입력하는 애플리케이션 모듈을 포함하는 전자 장치.
  18. 제 17 항에 있어서,
    상기 애플리케이션 모듈은,
    상기 적어도 하나의 입력 필드의 속성을 인식하고, 상기 저장된 클립 객체에 대응하는 표현 객체 중 상기 인식된 적어도 하나의 입력 필드의 속성과 동일한 속성을 갖는 표현 객체를 대응하는 입력 필드에 입력하도록 설정된 전자 장치.
  19. 제 17 항에 있어서,
    상기 애플리케이션 모듈은
    상기 적어도 하나의 표현 객체의 속성에 연관된 적어도 하나의 애플리케이션을 가리키는 정보를 표시하도록 설정된 전자 장치.
  20. 삭제
  21. 제 17 항에 있어서,
    상기 결정 모듈은,
    상기 클립 객체의 전부를 포함하도록 상기 선택 영역을 조정하도록 설정된 전자 장치.
  22. 제 17 항에 있어서,
    상기 하나 또는 그 이상의 표현 객체의 각각의 위치 정보 및 상기 하나 또는 그 이상의 표현 객체에 각각 대응하는 콘텐트는, 하나 또는 그 이상의 노드를 서로 연결한 데이터 구조(예: hierarchy, tree) 중의 상기 하나 또는 그 이상의 표현 객체의 각각에 대응하는 노드의 데이터로서 저장되고,
    상기 획득 모듈은,
    상기 선택 영역의 위치 정보에 기반하여, 상기 데이터 구조로부터 상기 클립 객체에 대응하는 노드를 탐지하도록 설정된 전자 장치.
  23. 컴퓨터 판독 가능한 명령들을 저장하고 있는 비일시적 저장 매체에 있어서, 상기 명령들은, 적어도 하나의 프로세서에 의하여 실행될 때에, 상기 적어도 하나의 프로세서로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은,
    디스플레이 영역에, 콘텐트를 표현하는 하나 또는 그 이상의 표현 객체를 표시하는 동작;
    사용자 입력에 기반하여, 상기 디스플레이 영역의 적어도 일부인 선택 영역을 결정하는 동작;
    상기 하나 또는 그 이상의 표현 객체 중에서 상기 선택 영역에 적어도 일부가 포함되는 적어도 하나의 표현 객체를 식별하는 동작;
    상기 식별된 적어도 하나의 표현 객체를 상기 사용자의 입력에 대응하는 클립 객체로 저장하는 동작;
    다른 사용자 입력에 대응하여, 적어도 하나의 입력 필드를 포함하는 애플리케이션을 활성화하는 동작; 및
    상기 애플리케이션의 활성화에 대응하여, 상기 적어도 하나의 표현 객체의 속성을 기초로, 상기 저장된 클립 객체 중 적어도 일부를 상기 적어도 하나의 입력 필드에 삽입하는 동작을 포함하는 저장 매체.
KR1020130101507A 2013-08-27 2013-08-27 콘텐트를 기반으로 하는 정보 제공 방법 및 장치 KR102199786B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020130101507A KR102199786B1 (ko) 2013-08-27 2013-08-27 콘텐트를 기반으로 하는 정보 제공 방법 및 장치
EP14182300.5A EP2843529B1 (en) 2013-08-27 2014-08-26 Method for providing information based on contents and electronic device thereof
CN201410427871.1A CN104423803B (zh) 2013-08-27 2014-08-27 用于基于内容提供信息的方法及其电子设备
US14/470,850 US10095380B2 (en) 2013-08-27 2014-08-27 Method for providing information based on contents and electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130101507A KR102199786B1 (ko) 2013-08-27 2013-08-27 콘텐트를 기반으로 하는 정보 제공 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150024526A KR20150024526A (ko) 2015-03-09
KR102199786B1 true KR102199786B1 (ko) 2021-01-07

Family

ID=51485456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130101507A KR102199786B1 (ko) 2013-08-27 2013-08-27 콘텐트를 기반으로 하는 정보 제공 방법 및 장치

Country Status (4)

Country Link
US (1) US10095380B2 (ko)
EP (1) EP2843529B1 (ko)
KR (1) KR102199786B1 (ko)
CN (1) CN104423803B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317721A1 (en) * 2014-04-30 2015-11-05 Mahesh Kumar T J Enterprise mobile application for managing sales activites
KR102247251B1 (ko) * 2015-01-13 2021-05-03 엘지전자 주식회사 이동 단말기 및 이의 제어방법
KR102244110B1 (ko) 2015-02-17 2021-04-26 삼성전자주식회사 이종 언어간 동일성을 판단하는 전자 장치 및 방법
TWI563445B (en) * 2015-06-01 2016-12-21 Compal Electronics Inc Data processing method
US9658704B2 (en) * 2015-06-10 2017-05-23 Apple Inc. Devices and methods for manipulating user interfaces with a stylus
CN104965734A (zh) * 2015-06-11 2015-10-07 惠州Tcl移动通信有限公司 一种智能可穿戴设备及其应用启动方法
KR20180035245A (ko) * 2016-09-06 2018-04-06 주식회사 카카오 광고 정보 제공을 위한 서버 및 사용자 단말의 동작 방법, 및 그 방법을 이용한 장치
KR20180061930A (ko) 2016-11-30 2018-06-08 삼성전자주식회사 텍스트 입력 방법 및 이를 지원하는 전자 장치
CN106708396A (zh) * 2016-12-31 2017-05-24 南京仁光电子科技有限公司 识别文字信息的智能交互系统及其识别文字信息的方法
RU2675032C1 (ru) * 2017-11-30 2018-12-14 Открытое акционерное общество "ИСТОК-АУДИО ИНТЕРНЭШНЛ" Устройство коммуникации слепоглухого человека
CN110058751B (zh) * 2018-01-18 2022-06-10 珠海金山办公软件有限公司 选择电子文档内容的方法及装置
EP3844983B1 (en) * 2018-08-28 2023-10-11 Signify Holding B.V. A controller for controlling a wireless network to perform radiofrequency-based motion detection
US11340921B2 (en) * 2019-06-28 2022-05-24 Snap Inc. Contextual navigation menu
CN110417640A (zh) * 2019-07-22 2019-11-05 北京达佳互联信息技术有限公司 消息发送和接收方法、装置、电子设备及存储介质
KR20210016739A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 전자 장치 및 전자 장치의 입력 방법
KR102294578B1 (ko) * 2019-12-26 2021-08-26 주식회사 포스코아이씨티 로봇 프로세스 자동화를 위한 객체 탐지 시스템
CN111626035B (zh) * 2020-04-08 2022-09-02 华为技术有限公司 一种版面分析方法及电子设备
KR20220102302A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 클립보드 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치
KR20220159567A (ko) * 2021-05-26 2022-12-05 삼성에스디에스 주식회사 정보 공유 인터페이스 제공 방법, 대화창에 공유된 정보 표시 방법, 그리고 이를 구현하기 위한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040257346A1 (en) * 2003-06-20 2004-12-23 Microsoft Corporation Content selection and handling
US20060114239A1 (en) * 2004-11-30 2006-06-01 Fujitsu Limited Handwritten information input apparatus

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030210428A1 (en) * 2002-05-07 2003-11-13 Alex Bevlin Non-OCR method for capture of computer filled-in forms
US7568204B1 (en) * 2002-06-20 2009-07-28 Microsoft Corporation Uniform transfer of data independent of the transfer mechanism
US7475390B2 (en) * 2004-01-12 2009-01-06 International Business Machines Corporation System and method for automatic natural language translation during information transfer
US7496230B2 (en) * 2003-06-05 2009-02-24 International Business Machines Corporation System and method for automatic natural language translation of embedded text regions in images during information transfer
US7478336B2 (en) * 2003-11-06 2009-01-13 International Business Machines Corporation Intermediate viewer for transferring information elements via a transfer buffer to a plurality of sets of destinations
US7340685B2 (en) * 2004-01-12 2008-03-04 International Business Machines Corporation Automatic reference note generator
US7365787B2 (en) * 2004-02-26 2008-04-29 Research In Motion Limited Mobile device with integrated camera operations
KR20060057051A (ko) 2004-11-23 2006-05-26 주식회사 팬택 화면 캡쳐 방법 및 이를 채용한 이동 통신 단말기
US9098597B2 (en) * 2005-06-03 2015-08-04 Apple Inc. Presenting and managing clipped content
US9141718B2 (en) * 2005-06-03 2015-09-22 Apple Inc. Clipview applications
US20060277460A1 (en) * 2005-06-03 2006-12-07 Scott Forstall Webview applications
US20060277481A1 (en) * 2005-06-03 2006-12-07 Scott Forstall Presenting clips of content
US7873356B2 (en) * 2005-09-16 2011-01-18 Microsoft Corporation Search interface for mobile devices
JP2007094818A (ja) * 2005-09-29 2007-04-12 Internatl Business Mach Corp <Ibm> 複数データの一括コピー及びペースト方法、装置、およびコンピュータ・プログラム
US20070073751A1 (en) * 2005-09-29 2007-03-29 Morris Robert P User interfaces and related methods, systems, and computer program products for automatically associating data with a resource as metadata
WO2007134194A2 (en) * 2006-05-10 2007-11-22 Google Inc. Web notebook tools
US7966558B2 (en) * 2006-06-15 2011-06-21 Microsoft Corporation Snipping tool
US7996789B2 (en) * 2006-08-04 2011-08-09 Apple Inc. Methods and apparatuses to control application programs
US8144990B2 (en) 2007-03-22 2012-03-27 Sony Ericsson Mobile Communications Ab Translation and display of text in picture
US8176466B2 (en) * 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
US20090158173A1 (en) * 2007-12-17 2009-06-18 Palahnuk Samuel Louis Communications system with dynamic calendar
US8321802B2 (en) * 2008-11-13 2012-11-27 Qualcomm Incorporated Method and system for context dependent pop-up menus
KR101609162B1 (ko) * 2008-11-13 2016-04-05 엘지전자 주식회사 터치 스크린을 구비한 이동 단말기 및 이를 이용한 데이터 처리 방법
KR101640460B1 (ko) * 2009-03-25 2016-07-18 삼성전자 주식회사 휴대 단말기의 분할 화면 운용 방법 및 이를 지원하는 휴대 단말기
US8269847B2 (en) * 2009-04-17 2012-09-18 Casio Computer Co., Ltd. Image processing apparatus, image processing method, and non-transitory recording medium for selectively creating one of an animation file and a moving image file from a plurality of continuously shot images
JP5504722B2 (ja) * 2009-07-15 2014-05-28 富士ゼロックス株式会社 情報処理装置及びコンピュータプログラム
KR20120084861A (ko) 2011-01-21 2012-07-31 삼성전자주식회사 휴대용 단말기에서 화면 캡쳐 방법 및 장치
KR20120107356A (ko) 2011-03-21 2012-10-02 삼성전자주식회사 휴대단말에서 클립보드 기능 제공 방법 및 장치
KR101294306B1 (ko) * 2011-06-09 2013-08-08 엘지전자 주식회사 휴대 전자기기 및 이의 제어방법
US8983939B1 (en) * 2011-06-10 2015-03-17 Google Inc. Query image search
US9430456B2 (en) * 2012-08-10 2016-08-30 Transaxy Inc. System for entering data into a data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040257346A1 (en) * 2003-06-20 2004-12-23 Microsoft Corporation Content selection and handling
US20060114239A1 (en) * 2004-11-30 2006-06-01 Fujitsu Limited Handwritten information input apparatus

Also Published As

Publication number Publication date
US20150067609A1 (en) 2015-03-05
CN104423803A (zh) 2015-03-18
US10095380B2 (en) 2018-10-09
EP2843529A1 (en) 2015-03-04
KR20150024526A (ko) 2015-03-09
CN104423803B (zh) 2018-10-19
EP2843529B1 (en) 2019-06-19

Similar Documents

Publication Publication Date Title
KR102199786B1 (ko) 콘텐트를 기반으로 하는 정보 제공 방법 및 장치
US10097494B2 (en) Apparatus and method for providing information
KR102309175B1 (ko) 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법
KR102178892B1 (ko) 정보 제공 방법 및 그 전자 장치
KR102240279B1 (ko) 컨텐트 처리 방법 및 그 전자 장치
CN110476189B (zh) 用于在电子装置中提供增强现实功能的方法和设备
US20160063748A1 (en) Displaying method of electronic device and electronic device thereof
KR102285699B1 (ko) 이미지를 디스플레이하는 사용자 단말기 및 이의 이미지 디스플레이 방법
CN106662969B (zh) 处理内容的方法及其电子设备
EP2924593A1 (en) Method and apparatus for constructing documents
EP3518101A1 (en) Electronic device and method for using captured image in electronic device
US20150128073A1 (en) Method for sharing contents and electronic device thereof
US20150193129A1 (en) Method for executing application and electronic apparatus
KR102215178B1 (ko) 전자장치에서 사용자 입력 방법 및 장치
US20150234799A1 (en) Method of performing text related operation and electronic device supporting same
US20150346989A1 (en) User interface for application and device
US11361148B2 (en) Electronic device sharing content with an external device and method for sharing content thereof
KR102202896B1 (ko) 전자 장치의 웹 페이지 저장 및 표현 방법
US10185724B2 (en) Method for sorting media content and electronic device implementing same
US10055092B2 (en) Electronic device and method of displaying object
US20150019961A1 (en) Portable terminal and method for controlling data merging
CN108141474B (zh) 与外部设备共享内容的电子设备及其用于共享内容的方法
US10482151B2 (en) Method for providing alternative service and electronic device thereof
KR102264428B1 (ko) 전자 장치의 동작 방법 및 장치
KR20150134087A (ko) 전자 장치 및 전자 장치에서 데이터를 추천하는 방법

Legal Events

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