KR102471174B1 - 테마 적용 방법 및 이를 수행하는 전자 장치 - Google Patents

테마 적용 방법 및 이를 수행하는 전자 장치 Download PDF

Info

Publication number
KR102471174B1
KR102471174B1 KR1020150140062A KR20150140062A KR102471174B1 KR 102471174 B1 KR102471174 B1 KR 102471174B1 KR 1020150140062 A KR1020150140062 A KR 1020150140062A KR 20150140062 A KR20150140062 A KR 20150140062A KR 102471174 B1 KR102471174 B1 KR 102471174B1
Authority
KR
South Korea
Prior art keywords
theme
data
electronic device
resource
user
Prior art date
Application number
KR1020150140062A
Other languages
English (en)
Other versions
KR20170040872A (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 KR1020150140062A priority Critical patent/KR102471174B1/ko
Priority to US15/257,684 priority patent/US10021569B2/en
Publication of KR20170040872A publication Critical patent/KR20170040872A/ko
Application granted granted Critical
Publication of KR102471174B1 publication Critical patent/KR102471174B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • 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/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/66Substation equipment, e.g. for use by subscribers with means for preventing unauthorised or fraudulent calling

Abstract

전자 장치가 개시된다. 상기 전자 장치는 사용자 인증 정보를 획득하는 사용자 인증 모듈, 페이지를 출력하는 디스플레이, 상기 페이지에 적용될 수 있는 테마 데이터를 적어도 하나 저장하는 메모리, 및 상기 획득된 사용자 인증 정보에 대응하는 테마 데이터를 상기 디스플레이에 출력되는 페이지에 적용하도록 설정된 프로세서를 포함할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

테마 적용 방법 및 이를 수행하는 전자 장치{METHOD AND ELECTRONIC DEVICE FOR IMPLEMENTING THEME}
본 문서에서 개시되는 실시 예들은 테마 적용 방법 및 이를 수행하는 전자 장치에 관한 것이다.
최근 전자 장치는, 예를 들어, 스마트폰, 또는 사용자의 신체 일부에 부착되는 웨어러블 장치의 형태로 구현되고 있다. 다양한 형태로 구현되는 전자 장치는, 설치된 어플리케이션 프로그램(이하, 어플리케이션)에 따라 다양한 기능을 제공할 수 있다. 상기 전자 장치의 활용성은 상기 어플리케이션에서 비롯되는 다양한 기능들을 통해 극대화될 수 있다.
어플리케이션 프로그램은, 예를 들어, 네트워크를 통해 연결된 모바일 마켓으로부터 다운로드될 수 있으며, 사용자의 필요에 따라 전자 장치에 자유롭게 설치 또는 삭제될 수 있다. 상기 어플리케이션은, 예를 들어, 상기 전자 장치의 제조사, 상기 전자 장치에 탑재되는 운영체제(OS)의 제작사, 이동통신 사업자, 기타 어플리케이션 제작사 등에 의해 제작될 수 있다.
상기 모바일 마켓으로부터 다운로드될 수 있는 어플리케이션은, 상기 다양한 제작사에 의해 제작될 수 있으므로, 어플리케이션의 아이콘(혹은 위젯)은 각기 다른 컨셉으로 제작될 수 있다. 나아가, 상기 다운로드된 어플리케이션의 아이콘 컨셉은 상기 전자 장치의 운영체제의 전체적인 컨셉과도 상이할 수 있다.
예를 들면, 상기 전자 장치에 있어서, 어플리케이션의 아이콘들은 홈 화면에 출력될 수 있다. 그러나, 어플리케이션의 아이콘들은 전술한 바와 같이 독자적인 디자인 컨셉으로 제작될 수 있으므로, 상기 전자 장치 전반의 사용자 인터페이스(UI; user interface)(예: 어플리케이션 아이콘, 위젯, 홈 화면, 잠금 화면, 글자체, 대표 색상 등)와 동일한 디자인 언어(design language)로 조화를 이루지 못할 수 있다.
나아가, 상기 전자 장치의 사용자는, 상기 제작사 등에 의해 미리 정해진 컨셉이 아니라, 자신이 원하는 테마로 상기 전자 장치 전반의 사용자 인터페이스를 설정하기 원할 수도 있다.
본 문서에서 개시되는 실시 예들은, 전술한 과제 및 본 문서에서 제기되는 과제들을 해결하기 위한 다양한 테마 적용 방법 및 이를 수행하는 전자 장치를 제공하는 것을 목적으로 한다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 전자 장치는 사용자 인증 정보를 획득하는 사용자 인증 모듈, 페이지를 출력하는 디스플레이, 상기 페이지에 적용될 수 있는 테마 데이터를 적어도 하나 저장하는 메모리, 및 상기 획득된 사용자 인증 정보에 대응하는 테마 데이터를 상기 디스플레이에 출력되는 페이지에 적용하도록 설정된 프로세서를 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치의 테마 적용 방법은, 사용자 인증 정보를 획득하는 동작, 상기 획득된 사용자 인증 정보에 대응하는 테마 데이터를 페이지에 적용하는 동작, 및 상기 테마 데이터가 적용된 페이지를 디스플레이에 출력하는 동작을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 저장 매체는, 적어도 하나의 프로세서에 의해 실행되며, 컴퓨터로 읽을 수 있는 명령어가 저장된 컴퓨터 기록 매체로서, 상기 명령어는, 사용자 인증 정보를 획득하는 동작, 상기 획득된 사용자 인증 정보에 대응하는 테마 데이터를 페이지에 적용하는 동작, 및 상기 테마 데이터가 적용된 페이지를 디스플레이에 출력하는 동작을 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 전자 장치에 있어서의 테마 변경 방법뿐만 아니라, 위치기반 서비스(LBS; location based service), 보안(security) 기술, 영상 처리 기술, 생체 인식 기술 등 타 기술과의 연계를 통해 새로운 사용자 경험을 제공할 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 2는 다양한 실시 예에 따른 전자 장치의 블록도를 나타낸다.
도 3은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 4는 본 발명의 다양한 실시 예가 적용될 수 있는 시스템 환경을 나타낸다.
도 5는 본 발명의 다양한 실시 예에 따른 사용자 장치의 테마 프레임워크를 설명하기 위한 도면이다.
도 6은 본 발명의 다양한 실시 예에 따른 사용자 장치를 나타낸다.
도 7은 본 발명의 일 실시 예에 따른 사용자 장치의 테마 설정 방법을 나타낸다.
도 8a는 본 발명의 일 실시 예에 따른 전자 장의 홈 화면 페이지를 나타낸다.
도 8b는 본 발명의 일 실시 예에 따른 전자 장의 홈 화면 페이지를 나타낸다.
도 9a는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 전자 장치의 소프트웨어 구조를 나타낸다.
도 9b는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 흐름도를 나타낸다.
도 10a는 본 발명의 다양한 실시 예에 따른 전자 장치의 소프트웨어 구조를 나타낸다.
도 10b는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 흐름도를 나타낸다.
도 11은 본 발명의 일 실시 예에 따른 전자 장치의 테마 적용 방법을 나타낸다.
도 12는 본 발명의 일 실시 예에 따른 테마 적용 방법을 설명하기 위한 전자 장치의 화면을 나타낸다.
도 13a는 본 발명의 다양한 실시 예에 따른 테마 적용 방법을 설명하기 위한 소프트웨어 구조를 나타낸다.
도 13b는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 흐름도를 나타낸다.
도 14a는 본 발명의 일 실시 예에 따른 테마 공유 방법을 나타낸다.
도 14b는 본 발명의 또 다른 실시 예에 따른 테마 공유 방법을 나타낸다.
도 15는 본 발명의 일 실시 예에 따른 테마 적용 방법을 설명하기 위한 도면이다.
도 16은 본 발명의 일 실시 예에 따른 테마 설정 방법을 설명하기 위한 도면이다.
도 17은 본 발명의 일 실시 예에 따른 지오 펜스(geo-fence)를 이용한 테마 적용 방법을 설명하기 위한 도면이다.
도 18은 본 발명의 일 실시 예에 따른 지오 펜스를 이용한 테마 설정 방법을 나타낸다.
도 19는 본 발명의 일 실시 예에 따른 지오 펜스를 이용한 테마 적용 방법을 나타낸다.
도 20은 본 발명의 일 실시 예에 따른 테마 공유 방법을 설명하기 위한 도면이다.
도 21a는 본 발명의 일 실시 예에 따른 공유자 측 전자 장치의 테마 공유 방법을 나타낸다.
도 21b는 본 발명의 일 실시 예에 따른 수신자 측 전자 장치의 테마 공유 방법을 나타낸다.
도 22a는 본 발명의 일 실시 예에 따른 테마 적용 방법을 나타낸다.
도 22b는 본 발명의 일 실시 예에 따른 테마 적용 방법이 적용되기 전 페이지과 적용된 후의 페이지를 나타낸다.
도 22c는 본 발명의 일 실시 예에 따른 가이드가 제공된 페이지를 나타낸다.
도 23은 본 발명의 다양한 실시 예에 따른 테마 데이터를 나타낸다.
도 24는 본 발명의 다양한 실시 예에 따른 테마 데이터를 설명하기 위한 도면이다.
도 25는 본 발명의 일 실시 예에 따른 테마가 전자 장치에 적용되는 것을 설명하기 위한 도면이다.
도 26a 및 도 26b는 본 발명의 일 실시 예에 따른 테마 공유 방법을 설명하기 위한 도면이다.
도 27은 본 발명의 일 실시 예에 따른 테마 공유 방법을 나타낸다.
도 28은 본 발명의 일 실시 예에 따른 테마 적용 방법을 설명하기 위한 도면이다.
도 29a 도 29b는 본 발명의 일 실시 예에 따른 테마 적용 방법을 나타낸다.
도 30a 내지 도 30f는 본 발명의 일 실시 예에 따른 사용자의 감정 레벨을 나타내는 표준 데이터를 나타낸다.
도 30b는 본 발명의 일 실시 예에 따른 감정 상태의 변화를 설명하기 위한 도면이다.
도 31은 본 발명의 일 실시 예에 따른 테마 적용 방법을 나타낸다.
도 32는 본 발명의 일 실시 예에 따른 테마 추천 방법을 나타낸다.
도 33은 본 발명의 일 실시 예에 따른 테마 추천 리스트 설정 인자를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면 웨어러블 장치는 엑세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체 형(예: 전자 의복), 신체 부착 형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식 형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(Global Navigation Satellite System)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 1을 참조하여, 다양한 실시 예에서의 네트워크 환경 100 내의 전자 장치 101이 기재된다. 전자 장치 101은 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 150, 디스플레이 160, 통신 인터페이스 170 및 사용자 인증 모듈 180을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 101은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스 110은, 예를 들면, 구성요소들 110-170을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서 120은, 중앙처리장치(Central Processing Unit (CPU)), 어플리케이션 프로세서(Application Processor (AP)), 또는 커뮤니케이션 프로세서(Communication Processor (CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 120은, 예를 들면, 전자 장치 101의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리 130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리 130은, 예를 들면, 전자 장치 101의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리 130은 소프트웨어 및/또는 프로그램 140을 저장할 수 있다. 프로그램 140은, 예를 들면, 커널 141, 미들웨어 143, 어플리케이션 프로그래밍 인터페이스(Application Programming Interface (API)) 145, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 147 등을 포함할 수 있다. 커널 141, 미들웨어 143, 또는 API 145의 적어도 일부는, 운영 시스템(Operating System (OS))으로 지칭될 수 있다.
커널 141은, 예를 들면, 다른 프로그램들(예: 미들웨어 143, API 145, 또는 어플리케이션 프로그램 147)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 110, 프로세서 120, 또는 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 커널 141은 미들웨어 143, API 145, 또는 어플리케이션 프로그램 147에서 전자 장치 101의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어 143은, 예를 들면, API 145 또는 어플리케이션 프로그램 147이 커널 141과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.
또한, 미들웨어 143은 어플리케이션 프로그램 147로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어 143은 어플리케이션 프로그램 147 중 적어도 하나에 전자 장치 101의 시스템 리소스(예: 버스 110, 프로세서 120, 또는 메모리 130 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어 143은 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.
API 145는, 예를 들면, 어플리케이션 147이 커널 141 또는 미들웨어 143에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
입출력 인터페이스 150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치 101의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스 150은 전자 장치 101의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이 160은, 예를 들면, 액정 디스플레이(Liquid Crystal Display (LCD)), 발광 다이오드(Light-Emitting Diode (LED)) 디스플레이, 유기 발광 다이오드(Organic LED (OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자 종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이 160은, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이 160은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
통신 인터페이스 170은, 예를 들면, 전자 장치 101과 외부 장치(예: 제1 외부 전자 장치 102, 제2 외부 전자 장치 104, 또는 서버 106) 간의 통신을 수립 똔느 설정할 수 있다. 예를 들면, 통신 인터페이스 170은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치 (예: 제2 외부 전자 장치 104 또는 서버 106)와 통신할 수 있다.
무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE(Long-Term Evolution), LTE-A(LTE-Advanced), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), UMTS(Universal Mobile Telecommunications System), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 중 적어도 하나를 사용할 수 있다. 또한 무선 통신은, 예를 들면, 근거리 통신 164를 포함할 수 있다. 근거리 통신 164는, 예를 들면, Wi-Fi(Wireless Fidelity), Bluetooth, NFC(Near Field Communication), 또는 GNSS 중 적어도 하나를 포함할 수 있다. GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo(the European global satellite-based navigation system) 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크 162는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
사용자 인증 모듈 180은, 예를 들면, 사용자로부터 사용자 인증 정보를 획득할 수 있다. 상기 사용자 인증 정보는 안면 인식 인증, 터치 패턴 인증, 생체 인증 정보(예: 지문 정보, 홍채, 정맥 등) 등 다양한 개인 인증 정보를 포함할 수 있다. 다양한 실시 예에 따르면, 사용자 인증 모듈 180은, 사용자로부터 수신된 사용자 인증 정보와 메모리 130에 미리 저장되어 있는 인증 정보를 비교하여 정당한 사용자인지 여부를 판단할 수도 있다.
제1 및 제2 외부 전자 장치 102, 104 각각은 전자 장치 101과 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 서버 106은 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치 101에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 102, 104, 또는 서버 106)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치 101이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치 101은 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 102, 104, 또는 서버 106)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치 102, 104, 또는 서버 106)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치 101로 전달할 수 있다. 전자 장치 101은 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시 예에 따른 전자 장치 201의 블록도 200을 나타낸다.
도 2를 참조하면, 전자 장치 201은, 예를 들면, 도 1에 도시된 전자 장치 101의 전체 또는 일부를 포함할 수 있다. 전자 장치 201은 하나 이상의 프로세서(예: AP) 210, 통신 모듈 220, 가입자 식별 모듈 224, 메모리 230, 센서 모듈 240, 입력 장치 250, 디스플레이 260, 인터페이스 270, 오디오 모듈 280, 카메라 모듈 291, 전력 관리 모듈 295, 배터리 296, 인디케이터 297, 및 모터 298을 포함할 수 있다.
프로세서 210은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서 210에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서 210은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 프로세서 210은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서 210은 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 221)를 포함할 수도 있다. 프로세서 210은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈 220은, 도 1의 상기 통신 인터페이스 170과 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈 220은, 예를 들면, 셀룰러 모듈 221, Wi-Fi 모듈 223, 블루투스 모듈 225, GNSS 모듈 227(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈 228 및 RF(radio frequency) 모듈 229를 포함할 수 있다.
셀룰러 모듈 221은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 221은 가입자 식별 모듈(예: SIM 카드) 224을 이용하여 통신 네트워크 내에서 전자 장치 201의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 221은 프로세서 210이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 221은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
Wi-Fi 모듈 223, 블루투스 모듈 225, GNSS 모듈 227, 또는 NFC 모듈 228 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 221, Wi-Fi 모듈 223, 블루투스 모듈 225, GNSS 모듈 227 또는 NFC 모듈 228 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈 229는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈 229는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 221, Wi-Fi 모듈 223, 블루투스 모듈 225, GNSS 모듈 227 또는 NFC 모듈 228 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈 224는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
메모리 230(예: 메모리 130)는, 예를 들면, 내장 메모리 232 또는 외장 메모리 234를 포함할 수 있다. 내장 메모리 232는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비-휘발성(non-volatile) 메모리 (예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), 마스크(mask) ROM, 플래시(flash) ROM, 플래시 메모리(예: 낸드플래시(NAND flash) 또는 노아플래시(NOR flash) 등), 하드 드라이브, 또는 SSD(solid state drive) 중 적어도 하나를 포함할 수 있다.
외장 메모리 234는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(MultiMediaCard), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리 234는 다양한 인터페이스를 통하여 전자 장치 201과 기능적으로 및/또는 물리적으로 연결될 수 있다.
센서 모듈 240은, 예를 들면, 물리량을 계측하거나 전자 장치 201의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈 240은, 예를 들면, 제스처 센서 240A, 자이로 센서 240B, 기압 센서 240C, 마그네틱 센서 240D, 가속도 센서 240E, 그립 센서 240F, 근접 센서 240G, 컬러 센서 240H(예: RGB 센서), 생체 센서 240I, 온/습도 센서 240J, 조도 센서 240K, 또는 UV(ultra violet) 센서 240M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈 240은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈 240은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 201은 프로세서 210의 일부로서 또는 별도로, 센서 모듈 240을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서 210이 슬립(sleep) 상태에 있는 동안, 센서 모듈 240을 제어할 수 있다.
입력 장치 250은, 예를 들면, 터치 패널(touch panel) 252, (디지털) 펜 센서(pen sensor) 254, 키(key) 256, 또는 초음파(ultrasonic) 입력 장치 258을 포함할 수 있다. 터치 패널 252는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널 252는 제어 회로를 더 포함할 수도 있다. 터치 패널 252는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서 254는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 키 256은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치 258은 마이크(예: 마이크 288)를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이 260(예: 디스플레이 160)은 패널 262, 홀로그램 장치 264, 또는 프로젝터 266을 포함할 수 있다. 패널 262는, 도 1의 디스플레이 160과 동일 또는 유사한 구성을 포함할 수 있다. 패널 262는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널 262는 터치 패널 252와 하나의 모듈로 구성될 수도 있다. 홀로그램 장치 264는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터 266은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치 201의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 디스플레이 260은 상기 패널 262, 상기 홀로그램 장치 264, 또는 프로젝터 266를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스 270은, 예를 들면, HDMI 272, USB 274, 광 인터페이스(optical interface) 276, 또는 D-sub(D-subminiature) 278을 포함할 수 있다. 인터페이스 270은, 예를 들면, 도 1에 도시된 통신 인터페이스 170에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스 270은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈 280은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈 280의 적어도 일부 구성요소는, 예를 들면, 도 1에 도시된 입출력 인터페이스 150에 포함될 수 있다. 오디오 모듈 280은, 예를 들면, 스피커 282, 리시버 284, 이어폰 286, 또는 마이크 288 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈 291은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
전력 관리 모듈 295는, 예를 들면, 전자 장치 201의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈 295는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리 296의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리 296은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터 297은 전자 장치 201 혹은 그 일부(예: 프로세서 210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터 298은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치 201은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(Digital Multimedia Broadcasting), DVB(Digital Video Broadcasting), 또는 미디어플로(MediaFLOTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 3을 참조하면, 한 실시 예에 따르면, 프로그램 모듈 310(예: 프로그램 140)은 전자 장치(예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제(operating system, OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 147)을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 310은 커널 320, 미들웨어 330, API 360, 및/또는 어플리케이션 370을 포함할 수 있다. 프로그램 모듈 310의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치 102, 104, 서버 106 등)로부터 다운로드 가능하다.
커널 320(예: 커널 141)은, 예를 들면, 시스템 리소스 매니저 321 또는 디바이스 드라이버 323를 포함할 수 있다. 시스템 리소스 매니저 321은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저 321은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버 323은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어 330은, 예를 들면, 어플리케이션 370이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션 370이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API 360을 통해 다양한 기능들을 어플리케이션 370으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어 330(예: 미들웨어 143)은 런타임 라이브러리 335, 어플리케이션 매니저(application manager) 341, 윈도우 매니저(window manager) 342, 멀티미디어 매니저(multimedia manager) 343, 리소스 매니저(resource manager) 344, 파워 매니저(power manager) 345, 데이터베이스 매니저(database manager) 346, 패키지 매니저(package manager) 347, 연결 매니저(connectivity manager) 348, 통지 매니저(notification manager) 349, 위치 매니저(location manager) 350, 그래픽 매니저(graphic manager) 351, 또는 보안 매니저(security manager) 352 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리 335는, 예를 들면, 어플리케이션 370이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리 335는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저 341은, 예를 들면, 어플리케이션 370 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저 342는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저 343은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저 344는 어플리케이션 370 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저 345는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저 346은 어플리케이션 370 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저 347은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저 348은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저 349는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저 350은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저 351은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저 352는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 101)가 전화 기능을 포함한 경우, 미들웨어 330은 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
미들웨어 330은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어 330은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어 330은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API 360(예: API 145)은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션 370(예: 어플리케이션 프로그램 147)은, 예를 들면, 홈 371, 다이얼러 372, SMS/MMS 373, IM(instant message) 374, 브라우저 375, 카메라 376, 알람 377, 컨택트 378, 음성 다이얼 379, 이메일 380, 달력 381, 미디어 플레이어 382, 앨범 383, 또는 시계 384, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션 370은 전자 장치(예: 전자 장치 101)와 외부 전자 장치(예: 전자 장치 102, 104) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 102, 104)로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 102, 104)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 어플리케이션 370은 외부 전자 장치(예: 전자 장치 102, 104)의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 370은 외부 전자 장치(예: 서버 106 또는 전자 장치 102, 104)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 370은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 310의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 프로그램 모듈 310의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈 310의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서 210)에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈 310의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
도 4는 본 발명의 다양한 실시 예가 적용될 수 있는 시스템 환경을 나타낸다.
도 4를 참조하면, 본 발명의 다양한 실시 예가 적용될 수 있는 시스템 환경 400은, 콘텐츠 제공자 401(contents provider), 테마 서버(theme server) 402, 및 사용자 장치(user device) 403을 포함할 수 있다. 콘텐츠 제공자 401은, 테마 제작 툴(theme authoring tool) 410을 이용하여 테마 패키지 420을 생성하고 테마 서버 402에 업로드할 수 있다. 테마 서버 402는 적어도 하나의 콘텐츠 제공자 401가 업로드한 다양한 테마 패키지 421-423을 저장할 수 있다. 상기 테마 서버 402는 예를 들어 사용자 장치 403의 요청에 응답하여 유료 또는 무료로 테마 패키지를 제공할 수 있다. 사용자 장치 403은 테마 서버 402로부터 테마 패키지를 다운로드하고, 상기 다운로드된 테마 패키지를 설치(install)할 수 있다.
본 문서에 개시된 다양한 실시 예에 따른 "테마 데이터"는, 일반적으로, 전자 장치의 홈(home) 화면, 잠금(lock) 화면, 또는 어플리케이션의 실행 화면의 배경 이미지, 색상, 소리 등의 일관된 양식에 관한 데이터(예: 테마 리소스 데이터)을 포함할 수 있다. 추가적으로, 상기 "테마 데이터"는 상기 일관된 양식에 부합하는 객체(예: 어플리케이션의 아이콘/위젯)의 배치 위치 등에 관한 데이터(예: 테마 레이아웃 데이터)를 포함할 수도 있다.
다양한 실시 예에 따르면, "테마 데이터"는 테마 레이아웃, 테마 GUI, 및/또는 테마 기능에 관한 데이터를 포함할 수도 있다. 예컨대, 테마 레이아웃은 홈 화면 및/또는 잠금 화면의 배경 이미지의 배치 구성, 어플리케이션 및 위젯의 배치 구성 등을 포함할 수 있다. 또한, 예컨대, 테마 GUI는 홈 화면 및/또는 잠금 화면의 배경 이미지, 어플리케이션(예: 메신저 어플리케이션, 일정관리 어플리케이션 등)의 실행 화면, 아이콘의 형상 등을 포함할 수 있다. 또한, 테마 별 기능은, 예컨대, 커버(cover) 화면 테마, 링톤(ring tone) 변경, 일정 연동, 기타 특정 어플리케이션의 설치 등을 포함할 수 있다.
상기 "테마 데이터"는 소프트웨어적으로 패키지화되어, "테마 패키지"의 형태로 다양한 네트워크를 통하여 전송 및 공유될 수 있다. 예컨대, 상기 "테마 패키지"는 안드로이드TM OS 시스템에서 APK파일로 구현될 수 있다.
콘텐츠 제공자 401(예: 도 1의 전자 장치 104)은 테마 제작 툴 410을 이용하여 테마 패키지를 생성할 수 있다. 상기 콘텐츠 제공자 401은 상기 생성한 테마 패키지를 테마 서버 402 또는 콘텐츠 제공자 서버(미도시)에 업로드할 수 있다. 다양한 실시 예에 따르면, 콘텐츠 제공자 401은 테마와 관련된 다양한 업데이트 정보를 사용자 장치 403 및/또는 테마 서버 402에 제공할 수도 있다.
테마 제작 툴 410은 콘텐츠 제공자 401가 사용자 장치 403의 테마 프레임워크 430에 적합한 테마를 제작 및 배포할 수 있는 기능을 제공할 수 있다. 상기 테마 제작 툴 410은, 예를 들어, 드래그 앤드 드롭(drag & drop) 기능, 미리보기 기능을 지원할 수 있으며, 테마의 제작에 있어서는 정지 영상(still image) 뿐만 아니라 애니매이팅 이미지를 배경화면 또는 객체(예: 아이콘, 위젯 등)에 적용할 수 있다. 또한, 상기 테마 제작 툴 410은, 예를 들어, 사용자의 기호에 따른 레이아웃 설정을 가능하도록 지원할 수 있다. 상기 테마 제작 툴 410에서 지원하지 않는 기능은, XML을 통해 사용자가 직접 개발할 수도 있다. 다양한 실시 예에 따르면, 상기 테마 제작 툴 410은 다양한 유형으로 구현될 수 있다. 예를 들어, 테마 제작 툴 410은 모바일 전자 장치에 적합한 유형을 포함할 수 있다.
테마 서버 402(예: 도 1의 서버 106)는 콘텐츠 제공자 401이 제작하여 업로드한 테마 패키지 420을 저장할 수 있다. 상기 테마 서버 402는 사용자 장치 403의 요청에 응답하여 대응하는 테마 패키지를 제공할 수 있다. 다양한 실시 예에 따르면 사용자 장치 403은 테마 서버 402에 대하여 상기 사용자 장치 403에서 적용되어 있는 테마 패키지를 백업할 수도 있다. 상기 테마 서버 402는, 예를 들면, 테마 패키지가 유료/무료로 거래될 수 있는 마켓(혹은 스토어) 서버에 해당할 수 있다.
사용자 장치 403은 테마 서버 402에서 테마 패키지를 검색하고, 특정 테마 패키지를 요청할 수 있다. 사용자 장치 403은, 예를 들어, 도 1의 전자 장치 101, 도 2의 전자 장치 201 등에 대응할 수 있다. 본 명세서 전반에 있어서 "사용자 장치"는 "전자 장치"로 참조될 수 있다.
사용자 장치 403은 상기 테마 패키지의 요청에 대응하는 테마 패키지를 다운로드할 수 있다. 사용자 장치 403은, 예를 들어, 테마 패키지로부터 추출되는 URL정보를 이용하여 테마 서버 402, 콘텐츠 제공자 서버(미도시)로부터 업데이트 정보를 수신하여 사용자 장치의 설정에 반영할 수도 있다. 상기와 같은 사용자 장치 403은 내장한 테마 프레임워크 430을 기반으로 테마 패키지를 관리할 수 있다. 상기 사용자 장치 403의 테마 프레임워크 430와 관련하여는 도 5 및 도 6에서 보다 자세히 설명하기로 한다.
도 5는 본 발명의 다양한 실시 예에 따른 사용자 장치의 테마 프레임워크를 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명의 다양한 실시 예에 따른 사용자 장치는 테마 프레임워크 501, 테마 제작(theme authoring) 어플리케이션 502, 잠금 해제(unlock) 어플리케이션 503, 및 런처(launcher) 어플리케이션 504를 포함할 수 있다.
상기 사용자 장치는 도 1의 전자 장치 101(또는 도 2의 전자 장치 201)에 대응할 수 있다. 도 5에 도시된 테마 프레임워크 501, 테마 제작 어플리케이션 502, 잠금 해제 어플리케이션 503, 및 런처 어플리케이션 504 등은, 프로세서 120(또는 프로세서 210)에 의해 실행되어, 메모리 130(또는 메모리 230)에 로드(load)됨으로써 소프트웨어적으로 구현될 수 있다. 또한, 상기 테마 프레임워크 501에 포함된 다양한 유형의 데이터베이스는 메모리 130(또는 메모리 230)에 구축되어 있을 수 있다.
테마 프레임워크 501는 테마 매니저 510 및 프레임워크 리소스 520을 포함할 수 있다. 도 5에서 테마 프레임워크 501은 테마 매니저 510을 포함하도록 도시되어 있으나, 상기 테마 매니저 510은 별도의 기능 모듈(예: 어플리케이션) 형태로 분리되어 구현될 수도 있다.
테마 매니저 510은 사용자 장치에 다운로드된 테마 패키지의 설치 및 상기 테마 패키지에 의한 기능들을 관리할 수 있다. 예를 들면, 테마 매니저 510은 테마 서버로부터 테마 패키지를 다운로드하여 설치할 수 있고, 테마의 설정 변경, 업데이트 등의 테마에 관한 전반적인 관리를 수행할 수 있다. 상기 테마 패키지 파일에는 GUI(graphic user interface) 구현을 위한 리소스 및 파라미터 정보가 포함될 수 있다.
테마 매니저 510은 테마 패키지의 설치 파일(예: APK 파일, EXE 파일 등)을 기초로 복수의 하위 설치 파일(예: sub-APK파일)을 추출할 수 있다. 상기 복수의 하위 설치 파일은 각 어플리케이션(예: 테마 제작 어플리케이션 502, 잠금 해제 어플리케이션 503, 및 런처 어플리케이션 504 등)에서 리소스로 사용될 수 있도록 테마 인스톨러(미도시)에 의해 설치될 수 있다. 상기 테마 패키지가 설치되기 위하여는 테마 패키지의 설치 파일 내에 테마 패키지의 구조를 기술한 XML 파일이 포함될 수 있다. 테마 인스톨러(미도시)에 의한 테마 패키지의 설치 후, 테마 패키지 내의 각 어플리케이션 별 설정 관련된 파일이 판독(read)됨으로써 테마가 설치될 수 있다.
일 실시 예에 따르면, 테마 매니저 510은 테마의 설치, 변경 등의 관리를 위해 테마 이벤트 매니저 511 및 테마 리소스 매니저 513을 포함할 수 있다. 상기 테마 이벤트 매니저 511 및 테마 리소스 매니저 513는 각각 테마 이벤트 데이터베이스 512 및 테마 리소스 데이터베이스 514를 포함할 수 있다. 상기 테마 매니저 510 내에 마련된 테마 테마 이벤트 데이터베이스 512 및 테마 리소스 데이터베이스 514는 도 5에도시된 바와 같이 분리되어 별도로 구축될 수도 있으나, 하나의 데이터베이스로 구축될 수도 있다.
테마 이벤트 매니저 511는 테마 이벤트 데이터베이스 512의 판독/기입 (read/write)을 수행할 수 있다. 테마 이벤트 데이터베이스 512는 테마와 연계된 서비스 제공을 위한 테마 이벤트 데이터를 포함할 수 있다. 예를 들어, "xxx" 이벤트가 발생하면, 테마 이벤트 매니저 511는 "테마 B"를 선택할 수 있고, 상기 선택된 "테마 B"의 (테마 리소스 데이터베이스 514에 저장된) 리소스 데이터는 프레임워크 리소스 520에 반영될 수 있다. 다양한 어플리케이션들(예: 테마 제작 어플리케이션 502, 잠금 해제 어플리케이션 503, 및 런처 어플리케이션 504 등)은 상기 프레임워크 리소스 520에 반영된 "테마 B"의 리소스 데이터를 참조하여 사용할 수 있다.
테마 리소스 매니저 513은 테마 리소스 데이터베이스 514의 판독/기입을 수행할 수 있다. 테마 리소스 데이터베이스 514는 각 테마에 대응되는 테마 리소스 데이터를 포함할 수 있다. 테마 리소스 데이터는 테마 이벤트 데이터베이스 512의 테마 이벤트 데이터와 대응되어 테마 리소스 데이터베이스 514에 저장될 수도 있다. 상기 테마 리소스 데이터는, 예컨대, 잠금 화면 테마 데이터(도 5에 도시된 "Lock"), 홈 화면 테마 데이터(도 5에 도시된 "Home"), 음성 통화 테마(도 5에 도시된 "Phone"), 어플리케이션 아이콘 테마(도 5에 도시된 "Icon") 등을 포함할 수 있다.
프레임워크 리소스 520에는, 테마 매니저 510에 의해 테마 리소스 데이터가 로드(load)될 수 있다. 상기 테마 리소스 데이터는, 외부 또는 내부에서 발생한 이벤트와 대응되는 데이터로서, 테마 리소스 데이터베이스 514에 저장된 데이터 중 하나일 수 있다. 상기 프레임워크 리소스 520에 로드된 테마 리소스 데이터는 다양한 어플리케이션(예: 테마 제작 어플리케이션 502, 잠금 해제 어플리케이션 503, 및 런처 어플리케이션 504 등)에 의해 참조될 수 있다.
도 6은 본 발명의 다양한 실시 예에 따른 사용자 장치를 나타낸다.
도 6을 참조하면, 본 발명의 다양한 실시 예에 따른 사용자 장치 601은 테마 서버 602, 서버 603을 포함할 수 있다. 도 6에 도시된 각 장치 및 구성은 도 5의 장치 및 구성에 대응하는 구성을 포함할 수 있다. 동일한 명칭으로 기술된 다양한 장치 및 구성에 관하여, 중복된 설명은 생략될 수 있다. 또한, 도 5의 경우와 마찬가지로, 도 6에 도시된 각 장치의 내부 구성은 프로세서에 의해 실행되어, 메모리에 로드(load)됨으로써 소프트웨어적으로 구현될 수 있다. 또한, 도 6에 도시된 다양한 유형의 데이터베이스는 메모리에 구축되어 있을 수 있다.
사용자 장치 601는 테마 매니저 610, 이벤트 프레임워크 620, 프레임워크 리소스 630, 어플리케이션 640을 포함할 수 있다.
테마 매니저 610은 테마 프레임워크(미도시; 예를 들어 도 5의 테마 프레임워크 501에 대응)에 포함될 수도 있다. 일 실시 예에 따르면 상기 테마 매니저 610은 테마 패키지 파서(parser) 611, 테마 이벤트 매니저 612, 테마 리소스 매니저 614를 포함할 수 있다.
사용자 장치 601의 테마 매니저 610은 테마 패키지를 테마 서버 602로부터 다운로드할 수 있다. 상기 테마 패키지는 테마 패키지 파서 611에 의해 테마 이벤트 데이터와 테마 리소스 데이터로 구분되어, 각각 테마 이벤트 매니저 612, 및 테마 리소스 매니저 614에 전달될 수 있다.
테마 이벤트 매니저 612는 테마 이벤트(로그) 데이터베이스 613에 테마 이벤트 데이터와 상기 테마 이벤트 데이터에 대응되는 테마의 식별 정보를 저장할 수 있다. 테마 리소스 매니저 614는 테마 리소스 데이터베이스 615에 테마 리소스 데이터와 상기 테마 리소스 데이터에 대응되는 테마의 식별 정보를 저장할 수 있다.
이벤트 프레임워크 620은 소정의 이벤트가 발생하면, 상기 이벤트를 인식하여 이벤트(로그) 데이터베이스 621에 이벤트 발생을 기입(write)할 수 있다. 또한, 이벤트 프레임워크 620은 상기 인식된 이벤트를 테마 이벤트 매니저 612로 전달 또는 브로드캐스트(broadcast)할 수 있다. 도 6에서 이벤트 프레임워크 620과 테마 이벤트 매니저 612는 별개의 구성으로 도시되어 있으나, 다양한 실시 예에 따르면, 상기 이벤트 프레임워크 620과 상기 테마 이벤트 매니저 612는 일 구성으로 통합되어 구현될 수도 있다.
테마 이벤트 매니저 612는 테마 이벤트 데이터베이스 613을 참조하여 전달받은 이벤트에 대응하는 이벤트 및 테마 식별 정보가 존재하는지 확인할 수 있다. 테마 이벤트 매니저 612는 상기 전달받은 이벤트에 대응하는 테마 식별 정보가 존재 하면, 상기 테마 식별 정보를 테마 리소스 매니저 614로 전달할 수 있다.
테마 리소스 매니저 614는 테마 이벤트 매니저 612로부터 전달받은 테마 식별 정보에 대응하는 테마 리소스 데이터를 테마 리소스 데이터베이스 615로부터 추출할 수 있다. 테마 리소스 매니저 614는 상기 추출된 테마 리소스 데이터를 프레임워크 리소스 630에 적용할 수 있다. 다양한 실시 예에 따르면 상기 테마 리소스 데이터는 테마 리소스 이외에도 레이아웃 정보를 포함할 수도 있다.
한편, 테마 이벤트 프레임워크 612의 테마 이벤트 데이터 베이스 613는 갱신이 될 수 있다. 예를 들어, 소정의 이벤트가 서버 603(예: 콘텐츠 제공자의 서버 등)을 통해 제공되는 경우, 상기 소정의 이벤트는 상기 서버 603에 의해 주기적으로 갱신될 수 있다. 예를 들어, 테마 이벤트 프레임워크 612는, 상기 서버 603에 사용자 장치 601의 속성 정보를 등록함으로써, 상기 소정의 이벤트가 갱신되는 경우 푸시 알림을 제공받을 수도 있다.
또한, 예를 들어, 상기 소정의 이벤트가 사용자 장치 601 내의 어플리케이션 640에서 제공되는 경우, 상기 소정의 이벤트는 상기 어플리케이션 640에 의해 주기적으로 갱신될 수 있다. 상기 소정의 이벤트는 상기 어플리케이션 640에 의해 갱신될 때마다 해당 이벤트를 테마 이벤트 프레임워크 620으로 전달 또는 브로드캐스트할 수도 있다.
한편, 어플리케이션 640으로부터 제공받은 이벤트가 테마 이벤트 데이터베이스 613에 존재하지 않는 경우, 테마 이벤트 매니저 612는 어플리케이션 640으로부터 전달받은 이벤트를 기반으로, 대응되는 테마 패키지를 테마 서버 602에서 검색할 수 있다.
테마 서버 602는 상기 검색을 통해 대응되는 테마 패키지를 추출한 후, 상기 검색된 테마 패키지를 사용자 장치 601로 전달할 수 있다. 상기 검색된 테마 패키지는, 테마 패키지 파서 611에 의해 테마 이벤트 데이터와 테마 리소스 데이터로 구분되어, 각각 테마 이벤트 매니저 612, 및 테마 리소스 매니저 614에 전달될 수 있다. 이로써, 테마 리소스 데이터(테마 레이아웃 데이터를 포함할 수 있음)는, 이벤트에 대응하여 프레임워크 리소스 630에 반영될 수 있도록 설정될 수 있다.
도 7은 본 발명의 일 실시 예에 따른 사용자 장치의 테마 설정 방법을 나타낸다.
도 7을 참조하면, 본 발명의 일 실시 예에 따른 사용자 장치(또는 전자 장치)의 테마 설정 방법은 동작 701 내지 동작 711을 포함할 수 있다. 상기 테마 설정 방법은, 예를 들어, 도 1의 전자 장치 101에 의해 수행될 수 있다. 구체적으로 도 7의 각 동작은 주로 상기 전자 장치 101의 프로세서 120과 메모리 130의 상호작용을 통해 이루어질 수 있으며, 상기 상호작용의 결과는 디스플레이 160에 출력될 수 있다. 이하 설명되는 동작 701 내지 711은 도 1의 참조부호를 이용하여 설명된다.
동작 701에서, 전자 장치(또는 사용자 장치) 101의 프로세서 120은, 설정되는 암호에 기초하여 사용자 테마를 생성하기 위해 테마 설정 모드에 진입할 수 있다. 예를 들어, 프로세서 120은, 테마 제작 어플리케이션의 테마 설정 모드에서, 다양한 테마가 적용된 복수의 페이지들을 디스플레이 160에 출력할 수 있다.
예를 들어, 도 8a을 참조하면, 전자 장치 101의 디스플레이 160에는 각각 3개의 홈 화면 페이지로 구성된 3개의 테마 810 내지 830이 도시되어 있다. 테마 810은 홈 화면 페이지 801 내지 803를 포함할 수 있고, 테마 820은 홈 화면 페이지 804 내지 806을 포함할 수 있으며, 테마 830은 홈 화면 페이지 807 내지 809를 포함할 수 있다. 상기 각 테마에 따라서 페이지들에는 일관된 배경 이미지, 색상 등이 적용될 수 있다.
동작 703에서, 전자 장치 101은 디스플레이 160에 출력된 복수의 페이지 중 적어도 하나에 대한 선택을 사용자로부터 수신할 수 있다. 상기 선택된 적어도 하나의 페이지의 조합은 독자적으로 하나의 (새로운) 테마를 구성할 수 있다.
동작 705에서, 전자 장치 101은 사용자로부터 상기 새로이 구성되는 테마에 대한 암호를 입력받고, 상기 입력받은 암호를 설정할 수 있다. 상기 암호는 숫자 및/또는 문자로 구성된 비밀번호로 구성될 수 있으나, 이에 제한되지 않는다. 예를 들어, 상기 암호는 안면 인식 인증, 터치 패턴 인증, 생체 인증 정보(예: 지문 정보, 홍채, 정맥 등) 등 전자 장치 101에서 사용될 수 있는 다양한 개인 인증 수단을 포함할 수 있다.
예를 들어, 도 8b를 참조하면, 사용자가 홈 화면 페이지 801 내지 809를 선택하면, 전자 장치 101의 프로세서 120은 상기 선택된 홈 화면 페이지 801 내지 809를 하나의 테마 840으로 생성할 수 있다. 상기 생성된 테마 840와 관련된 암호로서 "1234"가 입력되어 해당 테마에 설정될 수 있다. 또한, 사용자가 홈 화면 페이지 801, 805, 808을 선택하면, 프로세서 120은 상기 선택된 홈 화면 페이지 801, 805, 808을 하나의 테마 850으로 생성할 수 있다. 상기 생성된 테마 850에는 암호로서 "5678"이 입력되어 해당 테마에 설정될 수 있다.
동작 707에서 전자 장치 101의 프로세서 120은, 새로이 구성된 테마가 기 적용되어 있는 테마와 동일한지 판단할 수 있다. 예를 들어, 프로세서 120은 새로이 구성된 테마가 기 적용되어 있는 테마와 동일한 홈 화면 페이지를 가지는지 판단할 수 있다. 다양한 실시 예에 따르면 프로세서 120은, 기 적용되어 있는 테마의 홈 화면 페이지들 중에, 동작 705에서 생성된 테마의 홈 화면 페이지들이 동일하게 포함되어 있는지 판단할 수 있다. 동작 705에서 생성된 테마의 홈 화면 페이지들이 기 적용되어 있는 테마의 홈 화면 페이지들과 동일하거나 상기 기 적용되어 있는 테마의 홈 화면 페이지들에 포함되면 동작 709로 진행할 수 있고, 그러하지 않으면 동작 711로 진행할 수 있다.
동작 709에서는, 동작 705에서 생성된 테마의 홈 화면 페이지들이 기 적용되어 있는 테마의 홈 화면 페이지들과 동일하거나 상기 기 적용되어 있는 테마의 홈 화면 페이지들에 포함되어 있으므로(동작 707에서 'Yes'), 기 적용된 테마에 대한 암호를 동작 705에서 입력된 암호로 갱신할 수 있다. 이때, 상기 홈 화면 페이지들에 대한 테마의 비교는 테마 데이터의 비교로 이해될 수 있다.
동작 711에서는, 동작 703에서 생성된 테마의 홈 화면 페이지들이 기 적용되어 있는 테마의 홈 화면 페이지들과 동일하지 않거나, 상기 기 적용되어 있는 테마의 홈 화면 페이지들에 포함되어 있지 않으므로(동작 707에서 'No'), 동작 703에서 새로이 구성된 테마 및 동작 705에서 입력된 암호를 대응시켜 전자 장치 101에 적용할 수 있다.
도 9a는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 전자 장치의 소프트웨어 구조를 나타낸다.
본 발명의 다양한 실시 예에 따른 테마 설정 방법은, 도 1의 프로세서 120과 메모리 130의 상호작용을 통해 구현되는 다양한 소프트웨어 모듈(예: 도 5에 도시된 테마 프레임워크 501에 포함된 구성들)에 의해 수행되는 것으로도 이해될 수 있다. 예를 들어, 도 9a를 참조하면, 본 발명의 다양한 실시 예에 따른 전자 장치의 소프트웨어 구조는 테마 매니저 901 및 테마 제작 어플리케이션 902를 포함할 수 있다. 예를 들어, 도 9a는 새로이 구성된 테마와 기 적용된 테마가 동일한 경우를 나타낼 수 있다. 도 9a에 도시된 상기 구성들과 관련하여, 도 5 및/또는 도 6과 중복되는 설명은 생략될 수 있다.
예를 들면, 사용자는 테마 제작 어플리케이션 902를 이용하여 도 8b의 홈 화면 페이지 801 내지 809를 선택하여, 상기 홈 화면 페이지 801 내지 809로 구성된 테마 A를 생성할 수 있다. 또한, 사용자는 테마 제작 어플리케이션 902를 통해 테마 A를 호출하기 위한 잠금 해제 암호 '1234'를 사용자로부터 입력받을 수 있다(도 7의 동작 701 내지 705, 및 도 8b의 테마 840 참조).
사용자는 '1234'로 잠금 해제를 했을 때만 테마 A를 보여주도록 설정하려 할 수 있다. 사용자는 테마 제작 어플리케이션 902를 이용하여 테마 A(도 8b의 홈 화면 페이지 801 내지 809를 포함함)를 선택하고, 상기 테마 A를 위한 암호를 설정할 수 있다.
테마 제작 어플리케이션 902는 (예를 들어, 도 8b의 홈 화면 페이지 801 내지 809로 구성된) 테마 A의 식별 정보 및 잠금 해제 암호 '1234'를 테마 매니저 901로 전달할 수 있다.
테마 매니저 901의 테마 리소스 매니저 920은 테마 리소스 데이터베이스 921에서 테마 A를 검색할 수 있다. 상기 테마 리소스 데이터베이스 921에는 테마 A가 이미 존재하므로 테마 리소스 매니저 920은 테마 리소스 데이터베이스 921에 저장된 테마 A의 리소스 데이터를 갱신하지 않을 수 있다.
한편, 테마 매니저 901의 테마 이벤트 매니저 910은 테마 이벤트 데이터 911에서 테마 A에 대응된 이벤트 중 잠금 해제 암호 '1234'를 검색할 수 있다. 테마 이벤트 데이터 911에 테마 A에 대응되는 이벤트로 잠금 해제 암호 '1234'가 존재하는 경우 해당 잠금 해제 암호를 갱신하지 않을 수 있다. 반면, 테마 이벤트 데이터 911에 테마 A에 대한 잠금 해제 암호가 이벤트로서 존재하지 않거나, 또는 '1234'와 상이한 잠금 해제 암호가 이벤트로서 존재하는 경우, 잠금 해제 암호 '1234'를 테마 A를 위한 이벤트로서 테마 이벤트 데이터베이스 911에 저장 또는 갱신할 수 있다.
도 9b는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 흐름도를 나타낸다.
도 9b를 참조하면, 본 발명의 다양한 실시 예에 따른 테마 설정 방법은, 동작 951 내지 958을 포함할 수 있다.
동작 951에서 테마 제작 어플리케이션 902는 사용자의 조작에 따라서 (예를 들어, 도 8b의 홈 화면 페이지 801 내지 809로 구성된) 테마 A를 구성하고 상기 테마 A의 암호를 입력받을 수 있다. 동작 952에서 테마 제작 어플리케이션 902는 테마 A의 리소스 및 잠금 해제 암호 '1234'를 테마 매니저 901로 전달할 수 있다. 동작 953에서 테마 매니저 901은 상기 테마 A의 식별 정보 및 잠금 해제 암호 '1234'를 테마 이벤트 매니저 910로 전달하고, 동작 954에서 상기 테마 A의 식별 정보 및 상기 테마 A의 리소스를 테마 리소스 매니저 920으로 전달할 수 있다.
동작 955에서 테마 이벤트 매니저 910은 테마 이벤트 데이터베이스 911에 테마 A의 이벤트로서 잠금 해제 암호 '1234'가 존재하는지 판단할 수 있다. 상기 테마 이벤트 데이터베이스 911에 테마 A의 이벤트로서 잠금 해제 암호 '1234'가 존재하는 경우, 테마 이벤트 매니저 910은 설정이 완료되었다는 응답을 테마 매니저 901을 통해 테마 제작 어플리케이션 902에 통지할 수 있다(동작 957, 958). 반면, 동작 955에서, 테마 A의 이벤트로서 잠금 해제 암호 '1234'가 테마 이벤트 데이터베이스 911에 존재하지 않는 경우, 테마 이벤트 매니저 910은 잠금 해제 암호 '1234'를 테마 A의 호출 이벤트로 설정할 수 있다(동작 956). 이후, 테마 이벤트 매니저 910은 설정이 완료되었다는 응답을 테마 매니저 901을 통해 테마 제작 어플리케이션 902에 통지할 수 있다(동작 957, 958).
도 10a는 본 발명의 다양한 실시 예에 따른 전자 장치의 소프트웨어 구조를 나타낸다.
도 10a를 참조하면, 본 발명의 다양한 실시 예에 따른 전자 장치의 소프트웨어 구조는 테마 매니저 1001 및 테마 제작 어플리케이션 1002를 포함할 수 있다. 도 10a의 각 구성들은 도 9a의 구성과 대응될 수 있으므로 중복된 설명은 생략될 수 있다.
예를 들면, 테마 제작 어플리케이션 1002는 테마 설정 모드에서 도 8b의 홈 화면 페이지 801, 805, 및 808을 선택하여, 상기 홈 화면 페이지 801, 805, 및 808로 구성된 테마 C를 생성할 수 있다. 예컨대, 상기 홈 화면 페이지 801 및 805는 테마 A에 포함된 페이지일 수 있고, 홈 화면 페이지 808은 테마 B에 포함된 페이지일 수 있다.
이 경우, 테마 제작 어플리케이션 1002은 테마 매니저 1001로 테마 A, B의 리소스를 요청할 수 있다. 상기 리소스를 요청받은 테마 매니저 1001은 테마 리소스 매니저 1020을 통해 테마 리소스 데이터베이스 1021로부터 테마 A와 테마 B의 리소스들을 검색하여 프레임워크 리소스(미도시)에 로드할 수 있다. 테마 제작 어플리케이션 1002는 상기 프레임워크 리소스(미도시)에 로드되어 있는 테마 A 및 테마 B의 테마 리소스 데이터(예: 썸네일, 인덱스 등)를 참조하여 사용자에게 미리보기 화면 등을 제공할 수 있다. 테마 제작 어플리케이션 1002은 상기 미리보기 화면 등에 출력된 테마 홈 화면 페이지 801, 805, 및 808을 참조 및 선택하고 테마 C를 생성할 수 있다. 사용자는 테마 제작 어플리케이션 1002를 통해 상기 생성된 테마 C를 호출하기 위한 잠금 해제 암호 '5678'을 입력할 수 있다(도 7의 동작 701 내지 705, 및 도 8b의 테마 850 참조).
테마 제작 어플리케이션 1002는 (예를 들어, 도 8b의 홈 화면 페이지 801, 805, 및 808로 구성된) 테마 C의 식별 정보 및 잠금 해제 암호 '5678'를 테마 매니저 1001로 전달할 수 있다.
테마 매니저 1001의 테마 리소스 매니저 1020은 테마 리소스 데이터베이스 1021에서 테마 C를 검색할 수 있다. 상기 테마 리소스 데이터베이스 1021에는 테마 C가 존재하지 않으므로 테마 리소스 매니저 1020은 테마 리소스 데이터베이스 921에 저장된 테마 A 및 테마 B의 리소스 데이터를 기초로 테마 C를 생성하여 상기 테마 리소스 데이터베이스 1021에 등록할 수 있다.
한편, 테마 매니저 1001의 테마 이벤트 매니저 1010은 테마 이벤트 데이터 1011에서 테마 C에 대응되는 이벤트 중 잠금 해제 암호 '5678'을 검색할 수 있다. 테마 이벤트 데이터 1011에는 잠금 해제 암호 '5678'이 이벤트로서 존재하지 않으므로, 테마 C를 위한 잠금 해제 암호 '5678'을 테마 이벤트 데이터베이스 911에 저장/등록할 수 있다.
도 10b는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 흐름도를 나타낸다.
도 10b를 참조하면, 본 발명의 다양한 실시 예에 따른 테마 설정 방법은, 동작 1051 내지 1061을 포함할 수 있다.
동작 1051에서 테마 제작 어플리케이션 1002는 사용자의 조작에 따라서 (예를 들어, 도 8b의 홈 화면 페이지 801, 805, 및 808로 구성된) 테마 C를 구성하고, 상기 테마 C의 암호를 입력받을 수 있다. 동작 1052에서 테마 제작 어플리케이션 1002는 테마 C의 리소스 및 잠금 해제 암호 '5678'을 테마 매니저 1001로 전달할 수 있다. 동작 1053에서 테마 매니저 1001은 상기 테마 C의 식별 정보 및 잠금 해제 암호 '5678'를 테마 이벤트 매니저 1010로 전달하고, 동작 1054에서 상기 테마 C의 식별 정보 및 상기 테마 C의 리소스를 테마 리소스 매니저 1020으로 전달할 수 있다.
동작 1055에서 테마 이벤트 매니저 1010은 테마 이벤트 데이터베이스 1011에 테마 C의 이벤트로서 잠금 해제 암호 '5678'이 존재하는지 판단할 수 있다. 상기 테마 이벤트 데이터베이스 1011에 테마 C의 이벤트로서 잠금 해제 암호 '5678'이 존재하는 경우, 테마 이벤트 매니저 1010은 설정이 완료되었다는 응답을 테마 매니저 1001을 통해 테마 제작 어플리케이션 1002에 통지할 수 있다(동작 1059, 1061).
반면, 동작 1055에서, 테마 C의 이벤트로서 잠금 해제 암호 '5678'이 테마 이벤트 데이터베이스 1011에 존재하지 않는 경우, 테마 이벤트 매니저 1010은 잠금 해제 암호 '5678'을 테마 C의 호출 이벤트로 설정할 수 있다(동작 1056). 이후, 테마 이벤트 매니저 1010은 설정이 완료되었다는 응답을 테마 매니저 1001을 통해 테마 제작 어플리케이션 1002에 통지할 수 있다(동작 1059, 1061).
동작 1057에서 테마 리소스 매니저 1020은 테마 리소스 데이터베이스 1021에 테마 C의 리소스 데이터(예: 테마 C의 각 홈 화면 페이지와 관련된 이미지, 레이아웃 등)가 저장되어 있는지 판단할 수 있다. 상기 테마 리소스 데이터베이스 1021에 테마 C의 리소스 데이터가 이미 존재하는 경우, 테마 리소스 매니저 1020은 설정이 완료되었다는 응답을 테마 매니저 1001을 통해 테마 제작 어플리케이션 1002에 통지할 수 있다(동작 1060, 1061).
반면, 동작 1057에서, 테마 C의 리소스 데이터가 테마 리소스 데이터베이스 1021에 존재하지 않는 경우, 테마 리소스 매니저 1020은 테마 C의 리소스 데이터를 테마 리소스 데이터베이스 1021에 등록 및 저장할 수 있다(동작 1058). 이후, 테마 리소스 매니저 1020은 설정이 완료되었다는 응답을 테마 매니저 1001을 통해 테마 제작 어플리케이션 1002에 통지할 수 있다(동작 1060, 1061).
도 7 내지 도 10b를 통해 설명된, 본 발명의 다양한 실시 예에 따른 테마 설정 방법은, 숫자로 구성된 암호(예: "1234", "5678"등)에 기반하여 설명되었다. 그러나, 테마에 설정될 수 있는 암호, 즉, 사용자 인증 정보는, 상기 숫자로 구성된 암호에 제한되지 않는다. 예를 들어, 상기 사용자 인증 정보는, 문자, 숫자, 및 기호의 조합으로 구성되는 암호 정보, 안면 인식 정보, 터치 패턴 정보, 또는 생체 인증 정보(예: 지문 정보, 홍채 인식 정보, 등) 등을 두루 포함할 수 있다.
도 11은 본 발명의 일 실시 예에 따른 전자 장치의 테마 적용 방법을 나타낸다.
도 11을 참조하면, 본 발명의 일 실시 예에 따른 전자 장치(또는 사용자 장치)의 테마 적용 방법은 동작 1101 내지 동작 1109를 포함할 수 있다. 상기 테마 적용 방법은, 예를 들어, 도 7의 각 동작이 수행된 이후에 도 1의 전자 장치 101에 의해 수행될 수 있다. 구체적으로 도 11의 각 동작은 주로 상기 전자 장치 101의 프로세서 120과 메모리 130의 상호작용을 통해 이루어질 수 있으며, 상기 상호작용의 결과는 디스플레이 160에 출력될 수 있다. 이하 설명되는 동작 1101 내지 1109는 도 1의 참조부호를 이용하여 설명된다.
동작 1101에서, 전자 장치(또는 사용자 장치) 101의 프로세서 120은, 잠금 해제 어플리케이션(예: 도 5의 잠금 해제 어플리케이션 503)을 실행할 수 있다. 상기 잠금 해제 어플리케이션의 실행에 의해 사용자 인증 모듈 180이 활성화될 수 있다.
동작 1103에서 프로세서 120은 잠금 해제 관련 이벤트를 수신할 수 있다. 예를 들어 프로세서 120은 사용자 인증 모듈 180을 통해 사용자 인증 정보를 획득할 수 있다. 상기 사용자 인증 정보는, 안면 인식 정보, 암호 정보, 터치 패턴 정보, 또는 생체 인증 정보 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 상기 사용자 인증 정보는 사용자 계정과 연동될 수 있다. 예를 들어, 암호 "1234", 및 "5678"는 각각 사용자 A의 계정 및 사용자 B의 계정과 연동될 수 있다.
동작 1105에서 프로세서 120은 동작 1103에서 획득된 사용자 인증 정보에 대응하는 테마 데이터가 메모리 130에 존재하는지 판단할 수 있다. 예를 들어, 프로세서 120은, 대응하는 테마 데이터가 메모리 130에 존재한다고 판단한 경우, 동작 1107로 진행할 수 있고, 그러하지 않은 경우 테마 설정 방법을 종료할 수 있다.
동작 1107에서 프로세서 120은, 동작 1103에서 획득된 사용자 인증 정보에 대응하는 테마 데이터를 페이지에 적용할 수 있다. 예를 들어, 상기 페이지는, 예를 들어 전자 장치 101의 디스플레이 160에 출력될 수 있는 홈 화면, 잠금 화면, 또는 커버 화면과 관련된 페이지를 포함할 수 있다. 상기 페이지에는 예를 들어 어플리케이션과 관련된 객체(아이콘/위젯)가 소정의 배경 이미지 상에 출력될 수 있다. 또한, 예를 들어, 상기 페이지에는 어플리케이션의 실행에 따른 다양한 객체(예: 실행 창 등)가 출력될 수도 있다.
다양한 실시 예에 따르면, 상기 테마 데이터는, 테마 리소스 데이터 및 테마 레이아웃 데이터 중 적어도 하나를 포함할 수 있다. 예를 들어, 상기 테마 리소스 데이터는, 디스플레이 160에 출력되는 페이지의 배경 이미지 데이터, 또는 상기 페이지에 포함된 객체의 이미지 데이터를 포함할 수 있다. 또한, 예를 들어, 상기 테마 레이아웃 데이터는, 디스플레이 160에 출력되는 페이지의 배치 위치 또는 개수, 또는, 상기 페이지에 포함된 객체의 배치 위치, 크기, 또는 개수에 관한 데이터를 포함할 수 있다.
또한, 다양한 실시 예에 따르면, 상기 테마 데이터가 적용되는 페이지는 복수의 페이지를 포함할 수 있다. 이때, 상기 복수의 페이지에 적용되는 테마 데이터는, 서로 상이한 테마 데이터가 조합되어 형성된 것에 해당할 수 있다.
동작 1109에서 프로세서 120은, 테마 데이터가 적용된 페이지를 디스플레이 160에 출력할 수 있다.
도 12는 본 발명의 일 실시 예에 따른 테마 적용 방법을 설명하기 위한 전자 장치의 화면을 나타낸다.
상기 테마 적용 방법은, 도 7 내지 도 10b에서 설명한 테마 설정 방법이 이후에 수행될 수 있다. 상기 도 12와 관련하여는, 도 8b, 및 도 11의 참조부호를 사용하여 설명하기로 한다.
도 12를 참조하면, 화면 1201은 홈 화면 페이지 801 내지 809를 포함할 수 있다. 상기 홈 화면 페이지들은, 예를 들어, 도 11의 동작 1103에서 사용자가 암호로 "1234"를 입력하였을 때, 동작 1109에서 출력되는 페이지에 해당할 수 있다. 즉, 화면 1201에 포함된 홈 화면 페이지 801 내지 809는, 암호 "1234"에 대응하는 테마 데이터가 적용된 것에 해당할 수 있다. 도시된 바와 같이, 9개의 홈 화면 페이지 801 내지 809에는 3개의 테마 데이터가 적용될 수 있다.
화면 1202는 홈 화면 페이지 801, 805, 및 808을 포함할 수 있다. 상기 홈 화면 페이지들은, 예를 들어, 도 11의 동작 1103에서 사용자가 암호로 "5678"을 입력하였을 때, 동작 1109에서 출력되는 페이지에 해당할 수 있다. 즉, 화면 1202에 포함된 홈 화면 페이지 801, 805, 및 808은, 암호 "5678"에 대응하는 테마 데이터가 적용된 것에 해당할 수 있다. 상기 3개의 홈 화면 페이지 801, 805, 및 808에는, 암호 "5678"에 대응하는 하나의 테마 데이터가 적용될 수 있고, 상기 하나의 테마 데이터는 서로 다른 3개의 테마 데이터가 조합되어 형성된 테마 데이터에 해당할 수 있다.
도 13a는 본 발명의 다양한 실시 예에 따른 테마 적용 방법을 설명하기 위한 소프트웨어 구조를 나타낸다.
도 13a를 참조하면, 본 발명의 다양한 실시 예에 따른 소프트웨어 구조는, 테마 프레임워크 1301, 테마 제작 어플리케이션 1302, 잠금 해제 어플리케이션 1303, 및 런처 어플리케이션 1304를 포함할 수 있다. 테마 프레임워크 1301는 테마 매니저 1310 및 프레임워크 리소스 1320를 포함할 수 있다. 상기 테마 매니저 1310은 테마 이벤트 매니저 1311, 테마 이벤트 데이터베이스 1312, 테마 리소스 매니저 1313, 및 테마 리소스 데이터베이스 1314를 포함할 수 있다. 상기 테마 이벤트 데이터베이스 1312와 테마 리소스 데이터베이스 1314는 별개의 구성으로 도시되어 있으나, 하나의 데이터 베이스로 구성될 수도 있다. 테마 이벤트 매니저 1311에 저장된 이벤트들은 데이터베이스의 분리 여부와 무관하게 데이터베이스 구조체의 일부가 될 수도 있다.
상기 구성들은, 예를 들어, 도 1의 프로세서 120과 메모리 130의 상호작용을 통해 구현되는 다양한 소프트웨어 모듈로 이해될 수 있다. 상기 도 13에 도시된 각 구성은 도 5에 도시된 각 구성과 대응할 수 있으므로 중복된 설명은 생략될 수 있다.
잠금 해제 어플리케이션 1303은 사용자로부터 입력받은 잠금 해제 암호(사용자 인증 정보; 이벤트)를 테마 매니저 1310로 전달할 수 있다. 예를 들어, 사용자로부터 잠금 해제 암호 "5678"을 입력받은 경우, 상기 암호 "5678"은 테마 매니저 1310으로 전달될 수 있다. 테마 매니저 1310의 테마 이벤트 매니저 1311은 상기 잠금 해제 암호에 대응하는 테마가 테마 이벤트 데이터 베이스 1312에 저장되어 있는지 검색할 수 있다.
테마 이벤트 매니저 1311은 상기 잠금 해제 암호에 대응하는 테마가 테마 이벤트 데이터 베이스 1312에 저장되어 있다고 판단되면, 상기 대응하는 테마의 식별 정보를 테마 리소스 매니저 1313로 전달할 수 있다. 예를 들어, 테마 이벤트 매니저 1311은 잠금 해제 암호 "5678"에 대응하는 테마 C가 저장되어 있다고 판단할 수 있으므로, 상기 테마 C의 식별 정보를 테마 리소스 매니저 1313로 전달할 수 있다.
테마 리소스 매니저 1313은 테마 리소스 데이터베이스 1314에서 상기 대응하는 테마, 예를 들어 테마 C의 리소스 데이터를 프레임워크 리소스 1320에 로드할 수 있다. 이를 통해, 기존에 테마 리소스 매니저 1313에 로드된 테마 B의 리소스 데이터는, 테마 C의 리소스 데이터로 갱신될 수 있다.
상기 프레임워크 리소스 1320에 테마 C의 리소스 데이터가 로드되면, 상기 테마 C의 리소스 데이터는 다양한 어플리케이션에 의해 참조될 수 있다. 예를 들어, 런처 어플리케이션 1304는 상기 프레임워크 리소스 1320에 로드되어 있는 테마 C의 리소스 데이터를 이용하여, 홈 화면, 잠금 화면, 또는 커버 화면의 페이지에 해당 테마 C를 적용할 수 있다.
도 13b는 본 발명의 다양한 실시 예에 따른 테마 설정 방법을 설명하기 위한 흐름도를 나타낸다.
도 13b를 참조하면, 본 발명의 다양한 실시 예에 따른 테마 적용 방법은, 동작 1351 내지 1357을 포함할 수 있다.
동작 1351 내지 1353에서 잠금 해제 어플리케이션 1303은 사용자로부터 입력받은 잠금 해제 암호(예: "5678")를 테마 프레임워크 1301, 테마 매니저 1310를 통해 테마 이벤트 매니저 1311로 전달할 수 있다.
동작 1354에서 테마 이벤트 매니저 1311은 테마 리소스 데이터베이스 1312에 상기 잠금 해제 암호에 대응하는 테마를 검색할 수 있다.
동작 1355에서 상기 테마 이벤트 매니저 1311은 상기 잠금 해제 암호(예: "5678")에 대응하는 테마가 존재하는지 판단할 수 있다. 상기 잠금 해제 암호에 대응하는 테마(예: 테마 C)가 존재하면 테마 리소스 매니저 1313에 대해 상기 대응하는 테마의 식별 정보를 전달할 수 있고, 그러하지 않은 경우 테마 적용 방법을 종료할 수 있다.
동작 1356에서 테마 리소스 매니저 1313는 상기 잠금 해제 암호에 대응하는 테마(예: 테마 C)의 리소스 데이터를 테마 리소스 데이터베이스 1314로부터 호출할 수 있다.
동작 1357에서 테마 리소스 매니저 1313는 상기 호출된 테마 리소스 데이터(예: 테마 C의 리소스 데이터)를 테마 프레임워크 1301의 프레임워크 리소스에 로드할 수 있다.
본 발명의 다양한 실시 예에 따르면, 사용자는 사용자 인증 정보에 따라서 다양한 테마가 적용된 페이지를 상이하게 제공받을 수 있다. 이를 통해, 사용자는 타인이 전자 장치를 이용하는 경우에도 보안성을 유지하면서 테마의 페이지를 다양하게 제공받을 수 있다.
도 14a는 본 발명의 일 실시 예에 따른 테마 공유 방법을 나타낸다.
도 14a를 참조하면, 본 발명의 일 실시 예에 따른 테마 공유 방법은 동작 1401 내지 1415를 포함할 수 있다. 도 14a에 도시된 테마 공유 방법은 예를 들어 도 1에 도시된 (제1) 전자 장치 101, (제2) 전자 장치 102, 및 테마 서버 106에 의해 수행될 수 있다.
동작 1401에서, 제1 전자 장치 101의 프로세서 120은, 사용자로부터 소정의 입력 장치 및 대응 UI를 통해 테마 선택에 관한 사용자 입력을 수신할 수 있다. 예를 들어, 제1 전자 장치 101은 내장된 메모리 130에 저장된 적어도 하나의 제1 전자 장치용 테마 데이터 중 어느 하나에 대한 선택을 수신할 수 있다. 상기 적어도 하나의 제1 전자 장치용 테마 데이터는 테마 서버 106으로부터 수신한 테마 데이터, 및 제1 전자 장치 101의 제조시에 미리 저장되어 있는 테마 데이터를 포함할 수 있다.
다양한 실시 예에 따르면, 제1 전자 장치 101의 프로세서 120은 상기 동작 1401에서, 사용자가 선택한 (제1 전자 장치용) 테마 데이터를 파싱하여 자신의 장치 101에 적용할 수 있다.
동작 1402에서, 제1 전자 장치 101의 프로세서 120은 선택된 테마에 대응하는 제2 전자 장치용 테마가 존재하는지 판단할 수 있다. 예를 들어, 프로세서 120은, 동작 1401에서 선택된 제1 전자 장치용 테마 데이터에 대응되는 제2 전자 장치용 테마 데이터가 메모리 130에 저장되어 있는지 판단할 수 있다. 상기 제2 전자 장치용 테마 데이터는 상기 제1 전자 장치용 테마 데이터에 대응되는 컨셉으로 구현된 테마 데이터에 해당할 수 있다. 제1 전자 장치 101에 상기 제2 전자 장치 102용 테마 데이터가 존재하는 경우 동작 1403으로 진행할 수 있고(동작 1402에서 Yes), 그러하지 않은 경우(동작 1402에서 No) 동작 1405로 진행할 수 있다.
한편, 다양한 실시 예에 따르면, 상기 동작 1402에서, 제1 전자 장치 101에 상기 제2 전자 장치 102용 테마 데이터가 존재하지 않는 경우(동작 1402에서 No), 동작 1405로 진행하지 아니하고, 동작 1408 또는 동작 1412로 진행할 수도 있다. 즉, 제1 전자 장치 101의 각 동작은 도 14a에 도시된 동작 순서에 구속되지 않을 수 있다.
동작 1403에서, 제1 전자 장치 101의 프로세서 120은 통신 인터페이스 170을 통해 제2 전자 장치용 테마 데이터를 전송할 수 있다(동작 1402에서 "Yes"). 다시 말해, 제1 전자 장치 101의 프로세서 120은 메모리 130에 미리 저장된 제2 전자 장치용 테마 데이터를 제2 전자 장치 102로 전송할 수 있다.
다양한 실시 예에 따르면, 제2 전자 장치 102는 상기 제1 전자 장치용 테마 데이터에 대응되는 제2 전자 장치용 테마 데이터를 메모리에 저장하고 있을 수 있다. 이 경우 제1 전자 장치 101은, 상기 동작 1403에서, 제1 전자 장치용 테마 데이터에 대응되는 제2 전자 장치용 테마 데이터의 식별 정보를 제2 전자 장치 102로 전송할 수 있다. 제2 전자 장치 102는 상기 수신된 식별 정보에 대응하는 테마를 자신의 장치 102에 적용할 수 있다.
동작 1404에서, 제2 전자 장치 102는 동작 1403에서 수신한 테마를 자신의 장치 102에 적용할 수 있다. 예를 들면, 제2 전자 장치 102의 프로세서는 제1 전자 장치 101로부터 수신한 제2 전자 장치용 테마 데이터를 설치 및 적용할 수 있다.
제1 전자 장치 101은, 상기 제1 전자 장치용 테마 데이터에 대응하는 제2 전자 장치용 테마 데이터가 존재하지 않는 경우(동작 1402에서 "No"), 동작 1405에서 제2 전자 장치 102에 대하여 장치 속성 쿼리(device properties query)를 전송할 수 있다. 제1 전자 장치 101은, 동작 1401에서 선택된 제1 전자 장치용 테마 데이터에 대응하는 제2 전자 장치용 테마 데이터를 가지고 있지 않으므로, 해당 제2 전자 장치용 테마 데이터를 생성하기 위해 제2 전자 장치 102에 대해 장치 속성(장치의 하드웨어/소프트웨어 사양(specification))을 물을 수 있다. 예를 들어, 상기 장치 속성은 디스플레이의 개수, 형상(예: 정방형, 장방형, 원형 등) 및 유형(예: AMOLED, LCD, 프로젝터 등), 디스플레이의 해상도, 디스플레이의 색계조수, OS의 유형 및 버전, 장치의 제조사 등을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 장치 속성 쿼리는 테마 서버 106으로 전송될 수도 있다. 이 경우 제1 전자 장치 101은 제2 전자 장치 102의 장치 식별 정보를 테마 서버 106로 전송할 수 있다. 테마 서버 106는 상기 장치 식별 정보를 기반으로 제2 전자 장치 102의 장치 속성을 제1 전자 장치 101에 제공할 수 있다.
동작 1406에서, 제2 전자 장치 102는 제1 전자 장치 101에 대하여 자신의 하드웨어 및/또는 소프트웨어 사양 등을 포함한 장치 속성 응답을 전송할 수 있다. 예를 들어, 상기 제2 전자 장치 102는 1920×1080 해상도를 지원하는 장방형 AMOLED 디스플레이를 구비한 스마트폰, 320×320 해상도를 지원하는 원형 AMOLED 디스플레이를 구비한 스마트워치, 256색 EL 디스플레이를 구비한 MP3 플레이어, 및 4096×2160 해상도를 지원하는 장방형 LCD 디스플레이를 구비한 TV 등을 포함할 수 있다.
동작 1407에서, 제1 전자 장치 101의 프로세서 120은 동작 1406에서 수신한 제2 전자 장치 102의 장치 속성과 동작 1401에서 선택한 제1 전자 장치용 테마 데이터의 제약 조건(constraint)을 비교할 수 있다.
다양한 실시 예에 따르면, 상기 테마의 제약 조건은 상기 테마 데이터를 변형하기 위한 제약 조건 또는 변형 범위를 포함할 수 있다. 예를 들어, 상기 제약 조건은 (테마 리소스 데이터에 포함된) 각종 이미지의 확대/축소 한계 범위, 리사이징(resizing) 한계 범위, 이미지 크롭핑(cropping)의 중심점, 이미지의 우세한 색상(dominant color)의 범위, 이미지의 대표 질감, 배경음의 샘플링률(sampling rate), 압축률 변경 범위 등을 포함할 수 있다. 상기 제약 조건은 해당 테마 데이터가 생성될 때 설정될 수 있으며, 해당 테마 데이터의 일부로서 포함될 수 있다.
동작 1408에서, 제1 전자 장치 101의 프로세서 120은, 동작 1407에서의 비교 결과를 기초로, 동작 1401에서 선택된 제1 전자 장치용 테마 데이터를 변형(혹은 조정(adjust))하여 제2 전자 장치용 테마 데이터를 생성할 수 있는지 판단할 수 있다. 제1 전자 장치용 테마 데이터의 변형으로 제2 전자 장치용 테마 데이터를 생성할 수 있는 경우 동작 1409로 진행할 수 있고, 그렇지 않은 경우 동작 1412로 진행할 수 있다.
동작 1409에서, 제1 전자 장치 101의 프로세서 120은 동작 1401에서 선택된 제1 전자 장치용 테마를 변형하여 제2 전자 장치용 테마를 생성할 수 있다. 예를 들어, 제1 전자 장치 101의 프로세서 120은, 제1 전자 장치용 테마 데이터, 상기 제1 전자 장치용 테마 데이터의 제약 조건, 및 제2 전자 장치 102의 장치 속성에 기초하여 제2 전자 장치용 테마 데이터를 생성할 수 있다.
다양한 실시 예에 따르면, 제1 전자 장치 101의 프로세서 120은 제2 전자 장치(다른 전자 장치)에 포함된 디스플레이의 속성(properties)에 기초하여 상기 테마 데이터를 변형할 수 있다. 예를 들어, 제1 전자 장치 101의 프로세서 120은 제1 전자 장치용 테마 데이터에 포함된 다양한 이미지(예: 홈 화면의 배경 이미지, 잠금 화면의 배경 이미지, 아이콘/위젯의 이미지 등)를 상기 제2 전자 장치 102에 포함된 디스플레이의 해상도에 따라서, 확대/축소하거나, 리사이징하거나, 크롭핑하여 제2 테마 데이터에 포함될 수 있는 각종 이미지를 생성할 수 있다. 이를 통해 테마 데이터가 변형될 수 있다. 이때, 제1 전자 장치 101의 프로세서 120은 제1 전자 장치용 테마 데이터의 제약 조건을 준수할 수 있다.
또한, 다양한 실시 예에 따르면, 제1 전자 장치 101은, 다양한 이미지를 포함한 제2 전자 장치용 테마 데이터를 생성하기 어려울 수도 있다. 이는, 예컨대, 상기 제2 전자 장치 102가 제한적인 그래픽 성능을 가진 디스플레이만을 구비하므로, 다양한 이미지를 포함한 제2 전자 장치용 테마 데이터를 생성할 수 없는 경우에 해당할 수 있다. 제1 전자 장치 101은 제1 전자 장치용 테마 데이터에 포함된 다양한 이미지로부터, 우세한 색상 정보, 대표적인 패턴 정보, 질감 코드 정보 등을 추출하고, 해당 정보를 제2 전자 장치용 테마 데이터 대신에 생성할 수 있다. 이를 통해 제2 전자 장치 102는 제1 전자 장치 101에서 적용된 테마과 유사한 분위기를 연출할 수 있다. 예를 들어, 제1 전자 장치 101에 파란색 계통의 삼성전자 로고의 테마가 적용된 경우, 제2 전자 장치 102의 배경 이미지에는 파란색 계통의 색상이 적용될 수 있다. 상기 제2 전자 장치 102의 배경 이미지에는, 상기 삼성전자 로고와 관련된 질감이나 패턴이 적용될 수도 있다.
동작 1410에서, 제1 전자 장치 101의 프로세서 120은 통신 인터페이스 170를 통해, 상기 변형된 테마, 즉, 제2 전자 장치용 테마 데이터를 제2 전자 장치 102로 전송할 수 있다.
동작 1411에서, 제2 전자 장치 102의 프로세서는 동작 1410에서 수신한 테마를 자신의 장치 102에 적용할 수 있다. 제2 전자 장치 102의 프로세서는 제1 전자 장치 101로부터 수신한 제2 전자 장치용 테마 데이터를 파싱하여 자신의 장치 102에 설치 또는 적용할 수 있다.
동작 1412에서, 제1 전자 장치 101의 프로세서 120은, 제1 전자 장치용 테마 데이터를 변형하여 제2 전자 장치용 테마 데이터를 생성할 수 없으므로, 상기 제1 전자 장치용 테마 데이터에 대응하는 제2 전자 장치용 테마 데이터를 테마 서버 106에 요청할 수 있다.
다양한 실시 예에 따르면, 제1 전자 장치 101의 프로세서 120은 제2 전자 장치용 테마 데이터를 생성하기 위한 다양한 리소스를 테마 서버 106에 요청할 수도 있다.
동작 1413에서, 테마 서버 106은 선택된 테마에 대응하는 제2 전자 장치용 테마를 검색하여 제1 전자 장치 101에 전송할 수 있다. 다양한 실시 예에 따르면, 테마 서버 106은 제2 전자 장치용 테마 데이터를 생성하기 위한 다양한 리소스를 제1 전자 장치 101에 전송할 수 있다.
동작 1414에서, 제1 전자 장치 101의 프로세서 120은 통신 인터페이스 170를 통해 테마를 제2 전자 장치 102로 전송할 수 있다.
동작 1415에서, 제2 전자 장치 102의 프로세서는 동작 1413에서 수신한 테마를 자신의 장치 102에 설치 또는 적용할 수 있다.
도 14b는 본 발명의 또다른 일 실시 예에 따른 테마 공유 방법을 나타낸다.
도 14b를 참조하면, 본 발명의 또다른 일 실시 예에 따른 테마 공유 방법은 동작 1401 내지 1404 및 동작 1416 내지 1419를 포함할 수 있다. 도 14b에 도시된 테마 공유 방법은, 도 14a와 마찬가지로, 도 1에 도시된 (제1) 전자 장치 101, (제2) 전자 장치 102, 및 테마 서버 106에 의해 수행될 수 있다. 이때, 상기 제2 전자 장치 102은, 테마 서버 106과 직접 통신할 수 있다(이른바, Stand-alone). 또한, 동작 1401 내지 1404에 대한 설명은 도 14a에서 설명하였는바, 도 14b와 관련하여, 대응 설명은 생략될 수 있다.
동작 1416에서, 전자 장치 101은, 동작 1401에서 선택된 테마에 대응하는 제2 전자 장치용 테마 데이터의 식별 정보를 제2 전자 장치 102로 전송할 수 있다. 예컨대, 상기 제2 전자 장치용 테마 데이터의 식별 정보는, 상기 동작 1401에서 선택된 테마 데이터의 ID, 해당 테마 데이터를 다운로드 받기 위한 경로 등을 포함할 수 있다.
동작 1417에서, 제2 전자 장치 102는 제1 전자 장치 101로부터 수신한 제2 전자 장치용 테마 데이터의 식별 정보를 이용하여, 해당 제2 장치용 테마 데이터를 테마 서버 106에 요청할 수 있다. 일 실시 예에 따르면, 상기 제2 전자 장치 102는, 해당 테마 데이터를 테마 서버 106에 요청할 때, 자신의 장치 102의 장치 속성 및/또는 제약 조건을 고려할 수 있다.
동작 1418에서, 테마 서버 106은 제2 전자 장치 102로부터 요청받은 제2 전자 장치용 테마를 검색하여 상기 제2 전자 장치 102로 전송할 수 있다.
동작 1419에서, 제2 전자 장치 102의 프로세서는 동작 1418에서 수신한 테마를 자신의 장치 102에 설치 또는 적용할 수 있다.
한편, 다양한 실시 예에 따르면, 제2 전자 장치 102는 테마의 설치 또는 적용이 불가능한 전자 장치에 해당할 수도 있다. 이 경우 제1 전자 장치 101 또는 테마 서버 106은, 테마 데이터 대신에, 홈 화면의 배경 이미지, 아이콘/위젯의 이미지 등 개별적인 리소스 데이터를 제2 전자 장치 102에 제공할 수도 있다.
이 경우, 제1 전자 장치 101, 제2 전자 장치 102, 또는 테마 서버 106의 각 동작은, 제2 전자 장치용 테마 데이터가 아닌 개별적인 제2 전자 장치용 리소스 데이터를 기준으로 이루어질 수 있다.
예를 들어, 도 14a 및 도 14b의 동작 1402에서, 제1 전자 장치 101은 선택된 테마에 대응하는 제2 전자 장치용 리소스 데이터가 존재하는지 판단할 수 있다. 또한, 예를 들어, 제1 전자 장치 101은 도 14a의 동작 1409에서, 테마 데이터를 변형하여 제2 전자 장치 102에 제공하기 위한 리소스 데이터를 생성할 수 있다. 또한, 도 14b의 동작 1416 내지 1418에서, 제2 전자 장치 102는, 제1 전자 장치 101로부터 수신한 제2 전자 장치용 리소스 데이터의 식별 정보를 기초로, 해당 제2 전자 장치용 리소스 데이터를 테마 서버 106에 요청하여 제공받을 수 있다.
도 15는 본 발명의 일 실시 예에 따른 테마 적용 방법을 설명하기 위한 도면이다.
도 15를 참조하면, 제1 전자 장치 1501(예: 전자 장치 101에 대응)은 제2 전자 장치 1502(예: 전자 장치 102에 대응) 또는 제3 전자 장치 1503(예: 전자 장치 104에 대응)으로 변형된 테마 데이터를 전송할 수 있다.
일 실시 예에 따르면, 제1 전자 장치 1501은 자신의 장치 1501에 적용된 테마 데이터 중 하나인 홈 화면 배경 이미지를 크롭핑하여 제2 전자 장치용 홈 화면 배경 이미지를 생성할 수 있다. 이때, 제1 전자 장치 1501은 제약 조건인 크롭핑 중심점 1511, 크롭핑 범위 1510를 고려하여 제2 또는 제3 전자 장치용 홈 화면 배경 이미지를 생성할 수 있다.
상기 제2 또는 제3 전자 장치용 홈 화면 배경 이미지는 제2 전자 장치 1502 또는 제3 전자 장치 1503으로 전송될 수 있다. 상기 제2 전자 장치 1502 또는 제3 전자 장치 1503는 수신한 홈 화면 배경 이미지를 자신의 장치 1502, 1503에 적용할 수 있다. 이로써, 제2 전자 장치 1502 또는 제3 전자 장치 1503의 홈 화면 배경 이미지 1520, 1530가 크롭핑 중심점 1512에 기반하여 설정될 수 있다.
다양한 실시예에 따르면, 제1 전자 장치 1501은 자신의 장치 1501에 적용되어 있는 테마 데이터에 포함된 다양한 이미지로부터, 우세한 색상 정보, 대표적인 패턴 정보, 질감 코드 정보 등을 추출할 수 있다. 제1 전자 장치 1501은 상기 색상 정보, 패턴 정보, 질감 코드 정보 등을 제2 전자 장치 1502 및/또는 제3 전자 장치 1503에 전송할 수 있다. 상기 제2 전자 장치 1502 및/또는 제3 전자 장치 1503은 상기 색상 정보, 패턴 정보, 질감 코드 정보 등에 따라 기 적용된 테마 데이터의 리소스를 변형할 수 있다. 이로써 제1 전자 장치 1501, 제2 전자 장치 1502, 및/또는 제3 전자 장치 1503은 유사한 색상, 패턴, 질감 등을 공유할 수 있다.
또한, 다양한 실시예에 따르면, 제2 전자 장치 1502 및/또는 제3 전자 장치 1503는, 제1 전자 장치 1501에 적용된 테마 데이터에 대응되는 테마 데이터를 저장하고 있을 수 있다. 이 경우, 제2 전자 장치 1502 및/또는 제3 전자 장치 1503는. 제1 전자 장치 1501로부터의 소정의 제어 신호에 따라서 대응되는 테마 데이터를 동기하여 적용할 수도 있다.
도 16은 본 발명의 일 실시 예에 따른 테마 설정 방법을 설명하기 위한 도면이다.
도 16을 참조하면, 스마트폰 1601은 자신의 장치 1601에 적용된 테마 데이터(테마 백업 데이터)를 테마 서버 1603에 백업할 수 있다. 상기 테마 백업 데이터에는 테마 변형을 위한 제약 조건이 포함되어 있을 수 있다. 스마트폰 1602는 스마트폰 1601이 백업한 테마 데이터를 다운로드 받아 자신의 장치 1602에 적용할 수 있다. 상기 스마트폰 1601과 스마트폰 1602 사이에서는 도 14a 또는 도 14b에서 설명한 테마 공유 방법이 수행될 수 있다. 이때, 스마트폰 1602는 전자 장치 1601과 장치 속성은 상이하나 스마트폰이라는 점에서 공통되므로, 테마 데이터 변형은 비교적 용이하게 이루어 질 수 있다.
스마트폰 1602는 테마 서버 1603으로부터 수신한 테마 데이터를 적용함과 아울러, 스마트폰 1602에 연결된 태블릿 PC 1604, 스마트 워치 1605, 및 스마트 TV 1606(이하, 주변 장치)과 상기 수신한 테마를 공유할 수 있다. 이때, 스마트폰 1602와 각 주변 장치 사이에서는 도 14a 또는 도 14b에서 설명한 테마 공유 방법이 수행될 수 있다.
본 발명의 다양한 실시 예에 의하면, 제1 전자 장치는, 자신의 장치에 적용된 테마 데이터를 제2 전자 장치의 테마 적용 능력(장치 속성)에 적합하도록 변형하여, 상기 제2 전자 장치와 공유할 수 있다. 이를 통해, 제1 전자 장치와 제2 전자 장치는 서로 대응되는 테마가 적용될 수 있어, 양 장치간에 통일성있는 분위기 또는 룩앤필(look & feel)이 구현할 수 있다.
또한, 신규 장치에 적합한 테마가 출시되지 않은 경우나, 전자 장치를 교체하는 경우에도 기존 테마를 변형하여 해당 신규 기기 및 교체된 전자 장치에 적용할 수 있는 효과가 있다.
도 17은 본 발명의 일 실시 예에 따른 지오 펜스(geo-fence)를 이용한 테마 적용 방법을 설명하기 위한 도면이다.
도 17을 참조하면, 본 발명의 일 실시 예에 따른 테마 적용 방법은, 지오 펜스(실제 지형에 구획된 가상의 영역)에 기반하여 동작할 수 있다. 예를 들면, 전자 장치 1701의 사용자는 지오 펜스에 기반한 테마의 설정 메뉴를 실행할 수 있다. 상기 지오 펜스에 기반한 테마의 설정 메뉴의 실행에 의해 소정의 지도가 디스플레이에 출력될 수 있다.
사용자는 디스플레이에 출력된 지도 위에 소정의 제스처를 통해 일정한 영역 1710을 특정할 수 있다. 상기 일정한 영역 1710이 특정되면, 상기 영역 1710에 포함된 지오 펜스 1721-1725 및 이에 대응하는 테마의 오브젝트(예: 섬네일, 텍스트 등) 1711-1715이 표시될 수 있다. 예컨대, 사용자가 오브젝트(예: 섬네일, 텍스트 등) 1711-1715 중 어느 하나를 선택(예: 터치, 호버링 등)하면, 상기 선택된 오브젝트와 관련된 테마의 상세 정보가 디스플레이에 표시될 수 있다.
상기 테마의 상세 정보는, 예를 들어, 테마 명칭, 제작자, 테마 이미지(예: 스크린샷 등), 테마 적용 여부를 판단하기 위한 키워드 또는 이벤트 정보(예: 타입, 명칭, 발생시기, 적용범위 등), 위경도 좌표, 반경, 고도, 주소, 실내외 여부 중 적어도 하나 이상 포함하는 지리 정보, 다운로드 연관 정보(예: 다운로드 여부, 링크, 횟수), 설치 여부(예: 설치 여부, 다운로드 경로, 횟수), 유료 여부, 구매 이력, 프리뷰 여부 및 사용제한 조건, 테마 변경 일자(생성, 등록, 갱신), 테마 인기 순위, 테마 적용 영역(지오 펜스)의 반경 등을 포함할 수 있다.
예를 들어, 전자 장치 1701은 내장한 위치 검출 모듈(예: GPS, GNSS 모듈 등)을 통해 지오 펜스 1721-1725 내에 진입한 것을 검출하여 대응되는 테마를 실행할 수 있다. 또는, 전자 장치 1701은, 예를 들어, 지오 펜스 1721-1725 내에 진입한 것을 검출하여, 대응 테마를 테마 서버 106으로부터 다운로드 할 수 있다. 상기 테마의 실행 조건 및/또는 다운로드 조건은 지오 펜스에 대응하는 테마 데이터에 미리 설정되어 있을 수 있다.
도 18은 본 발명의 일 실시 예에 따른 지오 펜스를 이용한 테마 설정 방법을 나타낸다.
도 18을 참조하면, 전자 장치 1801의 사용자는, 위치에 따라 상이하게 적용할 테마의 지오 펜스를 설정할 수 있다. 예를 들어, 전자 장치 1801은, 지오 펜스에 기반한 테마 설정 메뉴의 실행에 따라서 소정의 지도를 디스플레이에 출력할 수 있다.
예를 들면, 사용자는 복수의 테마 섬네일 1810-1860 중에서 어느 하나를 선택하여, 특정 위치에 매핑할 수 있다. 예컨대, 사용자는 복수의 테마 섬네일 1810-1860 중에서 테마 섬네일 1810을 터치 다운-터치 무브-터치 릴리즈 1815(또는, 드래그-앤드-드롭)함으로써, 해당 테마의 지오 펜스 1811가 설정될 위치(이른바, 지오 포인트(geo-point))를 특정할 수 있다. 유사한 방식으로 지오 펜스 1831, 1851가 설정될 수 있다(전자 장치 1802 참조). 또한, 도 18에 각 지오 펜스의 반경은 균일한 것으로 도시되어 있으나, 각 지오 펜스의 반경은 각각 상이하게 설정될 수 있다.
도 19는 본 발명의 일 실시 예에 따른 지오 펜스(geo-fence)를 이용한 테마 적용 방법을 나타낸다.
도 19를 참조하면, 본 발명의 일 실시 예에 따른 테마 적용 방법은, 동작 1901 내지 1905를 포함할 수 있다. 도 19에 도시된 동작들은 예를 들어 도 1의 전자 장치 101에 의해 수행될 수 있으므로, 도 1의 참조 부호를 이용하여 설명하기로 한다.
동작 1901에서, 전자 장치 101의 위치 검출 모듈을 이용하여 전자 장치 101의 위치 정보를 획득할 수 있다.
동작 1902에서, 전자 장치 101의 프로세서 120은 상기 획득한 전자 장치 101의 위치 정보에 기초하여, 전자 장치 101이 지정된 지오 펜스 내에 위치하는지 판단할 수 있다. 전자 장치 101이 지정된 지오 펜스 내에 위치하는 경우 동작 1903으로 진행할 수 있고, 그러하지 않은 경우 동작 1901로 되돌아갈 수 있다.
다양한 실시 예에 따르면, 전자 장치 101는 복수의 지오 펜스가 교차하는 영역에 위치할 수 있다. 이 경우, 전자 장치 101의 프로세서 120은, 전자 장치 101의 위치와 각 지오 펜스의 중심점(이른바, 지오 포인트) 사이의 거리를 비교할 수 있다. 상기 프로세서 120은 전자 장치 101의 위치와 가장 가까운 중심점을 가진 지오 펜스를 선택할 수 있고, 상기 선택된 지오 펜스에 해당하는 테마를 우선하여 적용할 수 있다.
동작 1903에서, 전자 장치 101의 프로세서 120은 지정된 지오펜스에 대응하는 테마 데이터가 전자 장치 101의 메모리 130에 저장되어 있지 판단할 수 있다. 상기 메모리 130에는 지오 펜스의 중심 좌표, 영역 반경 등의 정보와 테마 데이터가 대응된 테이블(즉, 이벤트 데이터의 집합)이 포함될 수 있다. 상기 메모리 130에 지정된 지오 펜스에 대응하는 테마 데이터가 저장되어 있는 경우 동작 1905로 진행할 수 있고, 그러하지 않은 경우 동작 1904로 진행할 수 있다.
동작 1904에서, 전자 장치 101의 메모리 130에는 지정된 지오 펜스에 대응하는 테마 데이터가 저장되어 있지 않다. 따라서, 전자 장치 101의 프로세서 120은 통신 인터페이스 170을 통해 테마 서버 106에 상기 지정된 지오 펜스에 대응하는 테마를 요청할 수 있다. 상기 요청에 응답하여 전자 장치 101는 지정된 다운로드 경로에 따라 상기 지오 펜스에 대응하는 테마를 획득할 수 있다.
동작 1905에서, 전자 장치 101의 프로세서 120은 상기 지정된 지오 펜스에 대응하는 테마 (데이터)를 전자 장치에 적용할 수 있다.
본 발명의 다양한 실시 예에 의하면, 지오 펜스에 기반하여 테마를 제공하는 제공자는, 다양한 테마를 지리적 정보를 기반으로 제공할 수 있으므로 다수의 사용자(고객)을 사업장으로 유인할 수 있다. 즉, 상기 제공자는 테마를 고객 유인의 마케팅 수단으로 활용할 수 있는 이점이 있다.
도 20은 본 발명의 일 실시 예에 따른 테마 공유 방법을 설명하기 위한 도면이다.
도 20을 참조하면, 본 발명의 일 실시 예에 따른 테마 공유 방법은 전자 장치 2001, 전자 장치 2002, 전자 장치 2003, 전자 장치 2004, 및/또는 테마 서버 2005 사이에서 수행될 수 있다.
전자 장치 2001은 테마 데이터를 테마 서버 2005에 업로드할 수 있다.
예를 들어, 상기 테마 데이터는 상기 전자 장치 2001에 기 적용되어 있는 테마 데이터이거나, 상기 전자 장치 2001에 내장된 메모리에 저장되어 있는 테마 데이터에 해당할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치 2001은 상기 테마 데이터를 업로드함에 있어서, 업로드할 테마 데이터에 제한(객관적 범위의 제한)을 가하거나, 또는 상기 업로드된 테마 데이터를 다운로드하는 전자 장치에 제한(주관적 범위의 제한)을 가할 수 있다.
일 실시 예에 따르면, 상기 테마 데이터(테마 리소스 데이터 및/또는 테마 레이아웃 데이터를 포함함)에는 객관적 범위에 제한이 가해질 수 있다. 예를 들어, 테마 리소스 데이터의 적어도 일부는 보안 레벨에 따라서 제외되어 업로드될 수 있다. 예컨대, 홈 화면에 포함될 수 있는 다양한 객체 중, 지정된 어플리케이션에 관한 객체(예: 아이콘/위젯의 이미지)는 업로드시 제외될 수 있도록 설정될 수 있다.
상기 지정된 어플리케이션은, 예컨대, 전자 장치 2001의 사용자 A의 신상 정보와 밀접한 관련이 있는 어플리케이션(예: 사내 모바일 메신저 어플리케이션, 특정 조직의 전자 결재 어플리케이션 등)에 해당할 수 있다. 또는, 상기 지정된 어플리케이션은, 예컨대, 지정된 보안 모드(예: KNOXTM 모드)에서 실행되는 어플리케이션에 해당할 수 있다.
또한, 일 실시 예에 따르면, 전자 장치 2001이 업로드하는 테마 데이터에는, 주관적 범위가 제한되어 있을 수 있다. 예를 들어, 상기 테마 데이터를 다운로드 받을 수 있는 사용자 또는 사용자 그룹은 특정되어 있을 수 있다. 상기 테마 데이터를 다운로드 받을 수 있는 사용자 또는 사용자 그룹은, 전자 장치 2001에서 설정될 수 있다. 다양한 실시 예에 따르면, 상기 테마 데이터를 다운로드 받을 수 있는 사용자 또는 사용자 그룹은, 미리 설정된 자격 기준(예: 출신 학교, 출신지, 소속 회사 등) 또는 보안 기준(접근 권한)에 기초하여 설정될 수도 있다.
예를 들어, 사용자 A는 전자 장치 2001를 이용하여 테마 데이터를 업로드할 때, 다운로드할 수 있는 사용자를 사용자 B로 설정할 수 있다. 예컨대, 사용자 A는 SNS 계정 정보, 주소록 정보 등을 이용하여 사용자 B를 특정할 수 있다. 상기 테마 데이터가 테마 서버 2005에 업로드되면, 상기 테마 서버 2005는 사용자 B의 전자 장치 2002로 알림(notification) 및 상기 테마 데이터의 다운로드 경로를 제공할 수 있다. 전자 장치 2002는 상기 다운로드 경로를 통해 사용자 A가 업로드한 테마 데이터를 다운로드할 수 있다.
또한, 예를 들어, 사용자 A는 전자 장치 2001를 이용하여 테마 데이터를 업로드할 때, 다운로드할 수 있는 사용자 또는 사용자 그룹을 일정한 자격 기준, 보안 레벨 등에 기초하여 설정할 수 있다. 따라서, 전자 장치 2002 및 전자 장치 2003은 상기 일정한 자격 기준, 보안 레벨을 인증하여야 전자 장치 2001로부터 업로드된 테마 데이터를 다운로드 받을 수 있다.
도 21a는 본 발명의 일 실시 예에 따른 공유자 측 전자 장치의 테마 공유 방법을 나타낸다.
도 21a를 참조하면 본 발명의 일 실시 예에 따른 공유자 측 전자 장치의 테마 공유 방법은, 동작 2101 내지 2107을 포함할 수 있다. 예를 들어, 상기 도 21a의 각 동작은 도 20의 전자 장치 2001에 의해 수행될 수 있다.
동작 2101에서, 전자 장치 2001은 테마 데이터(테마 리소스 데이터, 테마 레이아웃 데이터를 포함함)의 보안 레벨을 설정할 수 있다. 예를 들어, 테마 리소스 데이터의 적어도 일부는 상기 보안 레벨에 따라서 제외되어 업로드될 수 있다. 예컨대, 홈 화면에 포함될 수 있는 다양한 객체 중, 지정된 어플리케이션에 관한 객체(예: 아이콘/위젯의 이미지)는 업로드시 제외될 수 있다.
동작 2103에서, 전자 장치 2001은 테마 데이터를 다운로드할 수 있는 사용자 또는 사용자 그룹을 설정할 수 있다. 예를 들어, 전자 장치 2001은 전화번호, 소셜 네트워크 서비스의 계정 등을 이용하여 상기 테마 데이터를 다운로드할 수 있는 사용자 또는 사용자 그룹을 설정할 수 있다. 또는, 예를 들어, 전자 장치 2001은 상기 테마 데이터를 다운로드할 수 있는 사용자 또는 사용자 그룹을, 미리 설정된 자격 기준(예: 출신 학교, 출신지, 소속 회사 등) 또는 보안 기준(접근 권한)에 기초하여 설정할 수도 있다. 다양한 실시 예에 따르면, 상기 사용자 또는 사용자 그룹은, 해당 테마 데이터를 다운로드할 수 있다는 알림 및 다운로드 경로 등을 테마 서버 2005로부터 수신할 수 있다.
동작 2105에서, 전자 장치 2001은 상기 동작 2101 및/또는 동작 2103에서 설정된 제한 설정 정보를 업로드할 테마 데이터에 포함시킬 수 있다. 일 실시 예에 따르면, 상기 제한 설정 정보는 상기 테마 데이터에 포함되지 않고 별도로 구성될 수도 있다. 또한, 일 실시 예에 따르면, 동작 2101 및 2103 중 적어도 하나에 의한 제한 설정 정보는 생략될 수도 있다.
동작 2107에서, 전자 장치 2001은 테마 데이터를 테마 서버 2005에 테마 데이터를 업로드할 수 있다. 다양한 실시 예에 따르면 상기 제한 설정 정보는 별도로 테마 서버 2005로 전송되어 상기 테마 서버 2005에 설정될 수도 있다.
도 21b는 본 발명의 일 실시 예에 따른 수신자 측 전자 장치의 테마 공유 방법을 나타낸다.
도 21b를 참조하면 본 발명의 일 실시 예에 따른 수신자 측 전자 장치의 테마 공유 방법은, 동작 2102 내지 2108을 포함할 수 있다. 예를 들어, 상기 도 21b의 각 동작은 도 20의 전자 장치 2002, 전자 장치 2003, 또는 전자 장치 2004에 의해 수행될 수 있다. 다만, 이하의 동작 설명에서는 전자 장치 2002를 중심으로 설명하기로 한다.
동작 2102에서, 전자 장치 2002는 테마 데이터의 다운로드에 관한 알림을 테마 서버 2005로부터 수신할 수 있다. 다양한 실시 예에 따르면, 전자 장치 2002는 상기 알림과 함께 상기 테마 데이터의 다운로드 경로를 수신할 수도 있다. 예를 들어, 테마 데이터를 업로드한 전자 장치 2001이, 해당 테마 데이터를 다운로드 할 수 있는 사용자로서 사용자 B를 지정한 경우에 동작 2102가 수행될 수 있다. 따라서, 전자 장치 2001의 사용자가 해당 테마 데이터를 다운로드할 수 있는 사용자로서 사용자 B를 지정하지 않은 경우에는 동작 2102는 생략될 수도 있다.
동작 2104에서, 전자 장치 2002는 테마 서버 2005에 대해 사용자 B의 인증 권한에 관한 정보를 전송할 수 있다. 테마 서버 2005는 상기 인증 권한에 관한 정보에 기초하여, 전자 장치 2002의 사용자가 미리 지정된 사용자인지, 또는 미리 설정된 자격 기준(예: 출신 학교, 출신지, 소속 회사 등)이나 보안 레벨(접근 권한)에 부합하는지 판단할 수 있다. 상기 전자 장치 2002가 상기 테마 데이터를 다운로드할 권한을 가지는 경우 동작 2106으로 진행할 수 있고, 그러하지 않은 경우 프로세스를 종료할 수 있다.
동작 2106에서, 전자 장치 2002는, 전자 장치 2001이 업로드한 테마 데이터를 테마 서버 2005로부터 다운로드할 수 있다.
동작 2108에서, 전자 장치 2002는 다운로드한 테마 데이터를 파싱하여 자신의 장치 2002에 설치할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치는 업로드 또는 백업할 테마 데이터 중 공유되어서는 곤란한 정보를 제외할 수 있고, 또한, 테마 데이터를 공유받는 사용자를 제한할 수도 있으므로, 테마 공유에 보안성을 제고할 수 있다.
도 22a는 본 발명의 일 실시 예에 따른 테마 적용 방법을 나타낸다.
도 22a를 참조하면, 본 발명의 일 실시 예에 따른 테마 적용 방법은, 동작 2201 내지 동작 2207을 포함할 수 있다. 도 22의 설명과 관련하여는, 도 1의 참조부호를 사용한다. 도 22에 있어서, 전자 장치 101에는 제2 테마 데이터가 적용되어 있고, 제1 테마 데이터가 상기 제2 테마 데이터를 대신하여 적용된다고 가정한다.
동작 2201에서, 전자 장치 101은 통신 인터페이스 170을 통해 전자 장치 102로부터 제1 테마 데이터 획득할 수 있다. 상기 제1 테마 데이터에는 제1 테마 리소스 데이터 및/또는 테마 레이아웃 데이터가 포함될 수 있다.
동작 2202에서, 전자 장치 101의 프로세서 120은 제1 테마 데이터로부터 제1 테마 리소스 데이터를 추출할 수 있다. 예를 들어, 상기 제1 테마 리소스 데이터에는 홈 화면, 잠금 화면 등에 포함될 수 있는 객체(예: 아이콘, 위젯)의 이미지 데이터가 포함될 수 있다.
동작 2203에서, 전자 장치 101의 프로세서 120은 객체(예: 아이콘, 위젯)에 적용되어 있는 제2 테마 리소스 데이터와 제1 테마 리소스 데이터의 유사도를 판단할 수 있다. 예컨대, 상기 프로세서는 상기 객체에 적용되어 있는 제2 테마 리소스 데이터의 이미지 데이터와 제1 테마 리소스 데이터의 이미지 데이터 사이의 유사도를 판단할 수 있다.
일 실시 예에 따르면, 상기 프로세서 120은 양 이미지의 픽셀 RGB 값을 비교하여 유사도를 판단할 수 있다. 또는 상기 프로세서 120은 양 이미지의 히스토그램 빈도 간의 비교하여 두 영상 간의 유사도를 측정할 수 있다. 또는 상기 프로세서 120은 NDID(Near Duplicate Image Detector)를 이용하여 양 이미지의 유사도를 판단할 수 있다. 상기 프로세서 120은 양 이미지의 에지(edge)를 검출하여 유사도를 판단할 수 있다. 프로세서 120의 유사도 판단 방법은 상기에 제한되지 않는다. 예를 들어, 프로세서는 이미지의의 색상, 명도, 채도 등의 색 속성 비교 및 필터 적용을 통해 양 이미지 사이의 유사도를 판단할 수 있다.
동작 2204에서, 전자 장치 101의 프로세서 120은 동작 2203에서 판단된 유사도가 지정된 값 미만인지 판단할 수 있다. 상기 유사도가 지정된 값 미만인 경우 동작 2205로 진행할 수 있고, 그러하지 않은 경우 동작 2206으로 진행할 수 있다.
동작 2205에서, 전자 장치 101의 프로세서 120은, 유사도가 지정된 값 미만인 경우, 제1 테마 리소스 데이터에 관한 가이드를 객체에 제공할 수 있다. 상기 가이드는 다양한 형태로 디스플레이 160에 출력될 수 있다. 상기 가이드의 출력 형태 도 22b 및 도 22c에서 후술한다.
다양한 실시 예에 따르면, 전자 장치 101의 프로세서 120은 유사도가 지정된 값 미만인 경우, 제2 테마 리소스 데이터의 이미지 데이터와 제1 테마 리소스 데이터의 이미지 데이터를 합성하여 제3의 이미지 데이터를 생성할 수 있다. 상기 제3의 이미지 데이터는 제1 테마 리소스 데이터와 함께 전자 장치 101에 적용될 수 있다.
상기 전자 장치 101의 프로세서 120은 제2 테마 리소스 데이터의 이미지 데이터와 제1 테마 리소스 데이터의 이미지 데이터를 다양한 방법으로 합성할 수 있다. 예를 들어, 프로세서 120은 양 이미지 데이터의 특징점(feature point)을 추출하여 합성할 수 있다. 상기 특징점은, 이미지의 특징을 나타낼 수 있는 점으로서, 이미지의 스케일, 회전, 왜곡 등의 변화 등에 관계 없이 이미지의 특징을 잘 설명할 수 있는 점 또는 점들의 집합을 의미할 수 있다. 예컨대, 상기 프로세서 120은 LoG(Laplacian of Gaussian) 필터 또는 DoG(Difference of Gaussians) 필터의 스케일 공간상의 극대/극소값을 이용하여 특징점을 추출할 수 있다. 상기 외에도, 프로세서 120은 헤시안 매트릭스(Hessian Matrix)의 디터미넌트(determinant)를 이용하여 특징점을 추출할 수도 있다. 프로세서 120은 상술한 방법으로 특징점을 추출하고, 확대/축소, 크롭핑 등을 수행하여 이미지 데이터를 합성할 수 있다.
또한, 다양한 실시 예에 따르면, 전자 장치 101의 프로세서 120은 제1 테마 리소스 데이터에 관한 가이드를 다양한 시점에 객체에 제공할 수 있다. 예를 들어, 상기 가이드는 사용자 입력 이력(또는 콘텍스트(context))에 기반하여 제공될 수 있다. 예컨대, 사용자가 일정한 객체를 선택한 직후 취소되거나, 다수의 객체가 포함된 페이지를 반복하여 전환하거나, 특정 페이지에 사용자의 시선이 지정된 시간 이상 머무르는 경우 가이드가 일시적으로 제공될 수 있다. 또한, 예를 들어, 상기 가이드는 호버링, 사용자 터치 등의 사용자 입력이 수신된 경우에 제공될 수도 있다. 또한, 예를 들어, 상기 가이드는 제1 테마 데이터가 적용된 이후 지정된 시간 동안에만 제공될 수도 있다.
동작 2206에서, 전자 장치 101의 프로세서 120은 가이드를 제공하지 않을 수 있다. 이미지 유사도가 높은 경우이므로 사용자가 양 객체 이미지를 혼동할 가능성이 낮기 때문이다.
동작 2207에서, 전자 장치 101의 프로세서 120은 모든 페이지에 포함된 모든 객체에 대해 유사도를 판단하였는지 판단할 수 있다.
도 22b는 본 발명의 일 실시 예에 따른 테마 적용 방법이 적용되기 전 페이지과 적용된 후의 페이지를 나타낸다.
도 22b를 참조하면, 페이지 2201은 제2 테마 데이터가 적용된 페이지, 즉 테마 데이터의 전환이 이루어지기 이전의 페이지를 나타내고, 페이지 2202는 제1 테마 데이터가 적용된 페이지를 나타낸다.
도 22c는 본 발명의 일 실시 예에 따른 가이드가 제공된 페이지를 나타낸다.
도 22c를 참조하면, 페이지 2210 내지 2240은 본 발명의 일 실시 예에 따른 제1 테마 리소스 데이터에 관한 가이드가 제공된 페이지를 나타낸다. 페이지 2210을 참조하면, 객체 2211의 이미지는 제2 테마 리소스 데이터에 따른 객체 이미지와 비교하여 유사도가 지정된 값보다 높으므로 가이드가 제공되지 않을 수 있다. 반면, 객체 2212의 이미지는 제2 테마 리소스 데이터에 따른 객체 이미지와 비교하여 유사가 지정된 값보다 낮으므로 가이드 2213이 제공될 수 있다. 구체적으로 도시되지는 않았으나, 상기 가이드 2213은 제2 테마 리소스 데이터에 따른 객체 이미지의 축소 아이콘에 해당할 수 있다.
또한, 페이지 2220을 참조하면, 객체 2221의 이미지는 가이드 2222 내부에 도시될 수 있다. 페이지 2220에는 모든 객체 이미지에 가이드가 제공되어 있다. 구체적으로 도시되지는 않았으나, 정방형 테두리 형상의 상기 가이드 2222는, 제2 테마 리소스 데이터에 따른 객체 이미지의 대표색(우세한 색상)으로 구현될 수 있다. 예를 들어, 객체 2221으로 전환되기 전의 제2 테마 리소스 데이터에 따른 객체 이미지가 초록색 계열이었다면, 상기 가이드 2222는 초록색 정방형 테두리에 대응할 수 있다.
또한, 페이지 2230을 참조하면, 객체 2232의 이미지는 가이드 2231 내부에 도시될 수 있다. 페이지 2230에도 모든 객체 이미지에 가이드가 제공되어 있다. 구체적으로 도시되지는 않았으나, 정방형 테두리 형상의 상기 가이드 2231는, 제2 테마 리소스 데이터에 따른 객체 이미지로 구현될 수 있다. 예를 들어, 객체 2232으로 전환되기 전의 제2 테마 리소스 데이터에 따른 객체 이미지는 상기 객체 2232의 뒤에 배치될 수 있다. 따라서, 상기 제2 테마 리소스 데이터에 따른 객체 이미지의 일부만이 테두리 형상으로 제공될 수 있다.
또한, 페이지 2240을 참조하면, 객체 2241의 이미지의 가이드 2242 는 그림자 형상으로 제공될 수 있다. 페이지 2240에도 모든 객체 이미지에 가이드가 제공되어 있다. 구체적으로 도시되지는 않았으나, 그림자 형상의 상기 가이드 2242는, 제2 테마 리소스 데이터에 따른 객체 이미지로 구현될 수 있다. 예를 들어, 객체 2241로 전환되기 전의 제2 테마 리소스 데이터에 따른 객체 이미지는 상기 객체 2241의 그림자 부분에 포함되어 가이드 2242를 구성할 수 있다.
상기 페이지 2210 내지 2240 이외에도 다양한 가이드가 객체에 제공될 수 있다. 예를 들어, 제1 테마 리소스 데이터에 의한 객체 이미지와 제2 테마 리소스 데이터에 의한 객체 이미지는 서로 오버랩 또는 오버레이되어 동시에 제공될 수도 있다. 또한, 본 발명의 다양한 실시 예에 따른 가이드가 제공될 수 있는 객체는 상기 어플리케이션 아이콘에 제한되지 않는다. 위젯, 폴더 아이콘을 포함할 수 있다. 나아가, 페이지의 배경 이미지에도 본 발명의 다양한 실시 예에 따른 가이드가 제공될 수 있다.
본 발명의 다양한 실시 예에 따르면, 테마 적용 시, 변경 될 객체와 전 변경 전 객체와의 리소스(예: 이미지) 비교를 통해 소정의 가이드를 제공할 수 있다. 이를 통해, 테마가 변경되어도 사용자는 특정 객체가 어느 애플리케이션과 링크되어 있는지 쉽게 확인할 수 있으며, 테마 변경에 따른 이질감도 줄일 수 있다.
도 23은 본 발명의 다양한 실시 예에 따른 테마 데이터를 나타낸다.
도 23을 참조하면, 테마 데이터는 테마의 전반적인 정보를 아우르는 데이터로서, 테마 패키지 데이터로도 참조될 수 있다. 일 실시 예에 따르면, 테마 데이터 2301은 테마 리소스 데이터 2311 및 테마 레이아웃 데이터 2321을 포함할 수 있다. 일 실시 예에 따르면, 테마 데이터 2302는 테마 리소스 데이터 2321만을 포함할 수 있다. 또한, 일 실시 예에 따르면, 테마 데이터 2303은 테마 레이아웃 데이터 2323만을 포함할 수 있다. 즉, 테마 레이아웃 데이터 및 테마 리소스 데이터는 독자적으로 테마 데이터를 구성할 수 있고, 또한 타 장치와 독자적으로 송수신될 수 있다.
도 24는 본 발명의 다양한 실시 예에 따른 테마 데이터를 설명하기 위한 도면이다.
도 24를 참조하면, 테마 데이터 2410은 테마 레이아웃 데이터 2411 및 테마 리소스 데이터 2412를 포함할 수 있다. 테마 레이아웃 데이터 2411은, 예를 들어, 홈 화면에 포함된 객체의 배치 구성을 포함할 수 있다. 테마 리소스 데이터 2412는, 예를 들어, 홈 화면의 배경 이미지, 및 상기 홈 화면에 포함된 객체의 이미지를 포함할 수 있다.
도 24에서는 이해를 돕기 위하여, 테마 레이아웃 데이터 2411 및 테마 리소스 데이터 2412는 제한된 구성만을 포함하는 것으로 설명하였다. 그러나, 상기 테마 레이아웃 데이터 2411는 객체뿐만 아니라, 페이지, 및 어플리케이션의 실행창의 배치 위치, 크기, 또는 개수에 관한 데이터도 포함할 수 있다. 또한, 테마 리소스 데이터 2412도 배경 이미지 및 객체 이미지뿐만 아니라 OS, 어플리케이션의 실행창, 기능 버튼 등에 관한 일체의 이미지에 대한 데이터를 포함할 수 있다.
도 25는 본 발명의 일 실시 예에 따른 테마가 전자 장치에 적용되는 것을 설명하기 위한 도면이다.
도 25를 참조하면, 본 발명의 일 실시 예에 따른 전자 장치 2501은 테마 매니저 2510, 프레임 워크 리소스 2520, 런처 어플리케이션 2530을 포함할 수 있다. 상기 테마 매니저 2510, 프레임 워크 리소스 2520, 및 런처 어플리케이션 2530은 프로세서와 메모리의 상호작용에 의해 생성된 소프트웨어 모듈에 해당할 수 있다. 도 25의 설명에서는 상기 프로세서에 의해 복수의 테마 데이터가 통합되는 과정이 도시되어 있다. 한편, 도 5와 관련하여 중복된 설명은 생략한다.
테마 매니저 2510은 복수의 테마 데이터 2511X, 2511A, 2511B를 저장할 수 있다. 일 실시 예에 따르면, 테마 데이터 2511X는 외부(예: 테마 서버)로부터 전자 장치 2501의 통신 인터페이스를 통해 수신된 테마 데이터에 해당할 수 있다. 다양한 실시 예에 따르면, 도 23에서 설명한 바와 같이, 테마 데이터 2511X는 테마 레이아웃 데이터 2512X 및 테마 리소스 데이터 2513X 중 어느 하나만을 포함할 수 있으므로, 테마 매니저는 테마 레이아웃 데이터 2512X 및 테마 리소스 데이터 2513X 중 어느 하나만을 저장 및 인스톨할 수 있다.
테마 매니저 2510은 전자 장치 2501의 테마 적용을 위해 테마 데이터를 프레임워크 리소스 2520에 로드할 수 있다. 일 실시 예에 따르면, 테마 매니저 2510은 복수의 테마 데이터 중 어느 하나의 테마 데이터를 그대로 프레임워크 리소스 2520에 로드할 수 있다. 또한, 일 실시 예에 따르면, 테마 매니저 2510은 상기 수신된 테마 데이터의 적어도 일부와 메모리에 저장된 테마 데이터의 적어도 일부를 조합할 수 있다. 예를 들어, 복수의 테마 데이터에 포함된 각각의 테마 레이아웃 데이터 및 테마 리소스 데이터 중 적어도 하나를 조합하여 프레임워크 리소스 2520에 로드할 수도 있다.
예를 들어, 테마 매니저 2510은 테마 레이아웃 데이터 2512X의 일부(2512X1)와 테마 레이아웃 데이터 2512A의 일부(2512A1)를 조합하여 프레임워크 리소스 2520에 로드할 수 있다. 또한, 테마 매니저 2510은 상기 테마 레이아웃 데이터 2512X1, 2512A1과 각각 상이한 테마 패키지를 구성하는 테마 리소스 데이터 2513B를 프레임워크 리소스 2520에 로드할 수 있다.
또한, 다양한 실시 예에 따르면, 테마 매니저 2510은 테마 리소스 데이터 2513A의 일부(2513A1; 미도시)와 테마 레이아웃 데이터 2513B의 일부(2513B1; 미도시)를 조합하여 프레임워크 리소스 2520에 로드할 수도 있다.
런처 어플리케이션 2530은, 프레임워크 리소스 2520에 로드된 테마 레이아웃 데이터 2512X1, 2512A1과 테마 리소스 데이터 2513B를 참조함으로써, 테마를 다양한 UX/UI에 적용할 수 있다.
본 발명의 다양한 실시 예에 따르면, 테마 레이아웃 데이터 및 테마 리소스 데이터는 독립적으로 프레임워크에 로드될 수 있다. 상기 프레임워크에는, 서로 상이한 유형의 테마의 테마 레이아웃 데이터 및 테마 리소스 데이터가 일부 또는 전부로써 조합될 수 있으므로, 매우 다양한 유형의 테마를 제한된 테마 데이터를 기초로 구현할 수 있다.
도 26a은 본 발명의 일 실시 예에 따른 테마 공유 방법을 설명하기 위한 도면이다.
도 26a를 참조하면, 본 발명의 일 실시 예에 따른 테마 공유 방법은 제1 사용자 장치(전자 장치) 2601, 제2 사용자 장치 2602. 제3 사용자 장치 2605, 테마 서버 2603, 및 SNS 서버 2604 사이에서 수행될 수 있다.
제1 사용자 장치 2601에서 테마 A에서 테마 B로 전환되면(2610), 제1 사용자 장치 2601은 테마 A에서 테마 B로 전환되었다는 테마 변경 알림 신호를 테마 서버 2603으로 전송할 수 있다(2620). 테마 서버 2603은 상기 테마 변경 알림 신호를 수신하면, SNS 서버 2604와의 상호작용을 통해 테마 동기화가 적용된 사용자 계정 정보(예: 제2 사용자 장치 2602 및 제3 사용자 장치 2605의 사용자 계정 정보)를 획득할 수 있다(2630).
테마 서버 2603은 상기 획득한 사용자 계정 정보를 기초로, 예를 들어, 제2 사용자 장치 2602 및 제3 사용자 장치 2605에 대해 테마 동기화 알림 신호를 전송할 수 있다(2640, 2660). 예를 들어, 상기 테마 동기화 알림 신호는 동기화된 테마(테마 B)의 식별 정보 및/또는 상기 동기화된 테마의 다운로드 링크를 포함할 수 있다. 상기 테마 동기화 알림 신호를 수신한 제2 사용자 장치 2602 및 제3 사용자 장치 2605는 종래에 적용되어 있는 테마(테마 C, 테마 D)에서 테마 B로 변경 적용할 수 있다(2650, 2670).
도 26b는 본 발명의 또 다른 일 실시 예에 따른 테마 공유 방법을 설명하기 위한 도면이다.
도 26b를 참조하면, 테마 데이터 2600X(테마 X)가 적용되어 있는 전자 장치 2602는 테마 데이터 2600Y(테마 Y)를 테마 서버 2603으로부터 수신할 수 있다. 예를 들면, 전자 장치 2602는 도 26a에서 설명된 테마 동기화에 의하여 상기 테마 데이터 2600Y를 테마 서버 2603으로부터 수신할 수 있다. 또는, 전자 장치 2602는 도 17 내지 도 19에서 설명된 지오 펜스(geo-fence)에 진입함으로써 상기 테마 데이터 2600Y를 테마 서버 2603으로부터 수신할 수 있다.
일 실시예에 따르면, 상기 테마 데이터 2600X는 테마 레이아웃 데이터 2611X와 테마 리소스 데이터 2612X를 포함할 수 있다. 또한, 테마 데이터 Y는 테마 레이아웃 데이터 2611Y와 테마 리소스 데이터 2612Y를 포함할 수 있다. 테마 데이터 2600Y의 구성은 테마 데이터 2600X의 구성과 대응될 수 있으므로, 중복된 설명은 생략될 수 있다.
테마 레이아웃 데이터 2611X는, 예컨대, 제1 홈 화면 레이아웃 데이터 2611-1X, 제2 홈 화면 레이아웃 데이터 2611-2X를 포함할 수 있다. 설명의 편의를 위해, 상기 테마 레이아웃 데이터 2611X는 2개의 홈 화면 레이아웃 데이터를 포함하는 것으로 도시되어 있으나, 이에 제한되지 않는다. 예를 들어, 테마 레이아웃 데이터 2611X에 포함된 데이터의 종류는 홈 화면에 관한 것에 제한되지 않으며, 그 개수도 3개 이상일 수도 있다.
테마 리소스 데이터 2612X는, 예컨대, 테마 X의 홈 화면 리소스 2612-1X, 및 테마 X의 아이콘/위젯 리소스 2612-2X를 포함할 수 있다. 예를 들어, 상기 홈 화면 리소스 2612-1X는 홈 화면에 포함될 수 있는 테마 X와 관련된 배경 이미지를 포함할 수 있다. 또한, 예를 들어, 테마 X의 아이콘/위젯 리소스 2612-2X는 홈 화면에 출력될 수 있는 아이콘 또는 위젯에 관한 이미지, 텍스트 등의 데이터를 포함할 수 있다.
상기와 같이, 외부 장치(예: 테마 서버 2603)로부터 테마 데이터 2600Y가 수신된 경우, 상기 전자 장치 2602는 기 적용된 (혹은, 메모리에 저장된) 테마 데이터 2600X의 적어도 일부와 상기 수신된 테마 데이터 2600Y의 적어도 일부를 다양한 방식(예: 2650-1, 2650-2, 2650-3)으로 조합하여 자신의 장치 2602에 적용할 수 있다.
예를 들면(2650-1의 경우), 전자 장치 2602는, 기 적용된 레이아웃 데이터 2611X를 그대로 유지한 채로, 테마 서버 2603으로부터 수신된 테마 데이터 2600Y 중 테마 리소스 데이터 2612Y만을 적용할 수 있다. 즉, 전자 장치 2602는 수신된 테마 데이터 2600Y에 의한 레이아웃의 변경을 제한할 수 있다. 예컨대, 전자 장치 2602는 기존의 홈 화면 및 아이콘/위젯의 개수, 크기, 배치 등을 유지하면서, 홈 화면의 배경 이미지나 아이콘/위젯의 이미지 등을 테마 Y로 변경할 수 있다.
상기 2650-1의 경우, 전자 장치 2602는 기 적용된 테마 레이아웃을 유지하면서 외부로부터 수신된 테마 리소스를 적용할 수 있으므로, 테마 레이아웃이 변경됨으로써 수반되는 사용성 하락 등 새로운 테마의 적용과 관련된 불편을 최소화할 수 있다. 또한, 광고 또는 상업 목적의 테마 데이터가 수신되는 경우 상기 광고 또는 상업 목적의 테마 리소스만을 적용할 수 있고, 테마 레이아웃에 대한 변경은 제한할 수 있다.
또한, 예를 들면(2650-2의 경우), 전자 장치 2602에 있어서, 테마 X의 제1 홈 화면 레이아웃 데이터 2611-1X는, 사용자 설정에 의해 삭제 또는 교체가 제한되어 있을 수 있다. 이에 따라, 전자 장치 2602는 상기 테마 X의 제1 홈 화면 레이아웃 데이터 2611-1X를 유지한 채로 테마 Y의 제1 홈 화면 레이아웃 데이터 2611-1Y 및 테마 Y의 제2 홈 화면 레이아웃 데이터 2611-2Y를 추가하여 새로운 테마 레이아웃 데이터 2611Z를 구성할 수 있다. 이때, 삭제 또는 교체가 제한되어 있지 않은 테마 X의 제2 홈 화면 레이아웃 데이터 2611-2X는 상기 새로운 테마 레이아웃 데이터 2611Z에 포함되지 않을 수 있다.
상기 예의 경우(2650-2의 경우), 기 적용되어 있던 테마 X의 테마 리소스 데이터 2612X 대신에, 테마 서버 2603으로부터 수신된 테마 Y의 테마 리소스 데이터 2612Y를 적용할 수 있다. 즉, 전자 장치 2602는 테마 레이아웃 데이터 2611Z에 포함된 각 홈 화면 레이아웃 데이터 2611-1X, 2611-1Y, 2611-2Y에 상기 테마 Y의 테마 리소스 데이터 2612Y를 적용할 수 있다. 이를 통해, 전자 장치 2602는 삭제 또는 교체가 제한된 테마 X의 제1 홈 화면 레이아웃 데이터 2611-1X, 테마 Y의 제1 홈 화면 레이아웃 데이터 2611-1Y 및 테마 Y의 제2 홈 화면 레이아웃 데이터 2611-2Y에 테마 Y에 관한 리소스를 적용할 수 있다.
상기 2650-2의 경우, 전자 장치 2602는 기 적용된 테마 레이아웃의 적어도 일부(예: 제1 홈 화면 레이아웃 2611-1X)를 유지하면서 외부로부터 수신된 테마 레이아웃(예: 제1 홈 화면 레이아웃 2611-1Y, 제2 홈 화면 레이아웃 2611-2Y)을 추가할 수 있다. 또한, 외부로부터 수신된 테마 리소스는 상기 테마 레이아웃들에 모두 적용될 수 있으므로, 테마 레이아웃이 전면적으로 변경됨으로써 수반되는 사용성 하락 등 새로운 테마의 적용과 관련된 불편을 최소화할 수 있다.
또한, 예를 들면(2650-3의 경우), 전자 장치 2602에 있어서, 테마 X의 제1 홈 화면 레이아웃 데이터 2611-1X 및 제2 홈 화면 레이아웃 데이터 2611-2X는, 사용자 설정에 의해 삭제 또는 교체가 제한되어 있을 수 있다. 이에 따라, 전자 장치 2602는 상기 테마 X의 제1 홈 화면 레이아웃 데이터 2611-1X 및 제2 홈 화면 레이아웃 데이터 2611-2X를 유지한 채로, 테마 Y의 레이아웃 데이터의 전부 또는 일부를 추가하여 새로운 테마 레이아웃 데이터를 구성할 수 있다. 예컨대, 전자 장치 2602는 제1 홈 화면 레이아웃 데이터 2611-1X, 제2 홈 화면 레이아웃 데이터 2611-2X, 및 제1 홈 화면 레이아웃 데이터 2611-1Y를 포함한 새로운 테마 레이아웃 데이터 2611W를 구성할 수 있다.
상기 예의 경우(2650-3의 경우), 전자 장치 2602는 기 적용되어 있던 테마 X의 테마 리소스 데이터 2612X와 테마 서버 2603으로부터 수신된 테마 Y의 테마 리소스 데이터 2612Y를 포함하는 테마 리소스 데이터 2612W를 구성할 수 있다. 예를 들면, 전자 장치 2602는 상기 두 가지 테마 리소스 데이터 중 적어도 하나를 이용하여, 테마 레이아웃 데이터 2611W에 포함된 각 홈 화면 레이아웃 데이터 2611-1X, 2611-1Y, 2611-2Y에 적용할 수 있다. 구체적으로, 제1 홈 화면 레이아웃 데이터 2611-1X는 테마 X의 홈 화면 리소스 2612-1X 및 아이콘/위젯 리소스 2612-2X가 적용될 수 있다. 또한, 제1 홈 화면 레이아웃 데이터 2611-1Y 및 제2 홈 화면 레이아웃 데이터 2611-2Y는 테마 Y의 홈 화면 리소스 2612-1Y 및 아이콘/위젯 리소스 2612-2Y가 적용될 수 있다.
상기 2650-3의 경우, 전자 장치 2602는 기 적용된 테마 레이아웃를 유지하면서 외부로부터 수신된 테마 레이아웃 중 적어도 일부를 추가할 수 있다. 또한, 기 적용된 테마 리소스뿐만 아니라 외부로부터 수신된 테마 리소스도 상기 테마 레이아웃들에 각각 적용될 수 있으므로, 전자 장치 2602에 있어서 이른바 복수 테마가 구현 가능하다.
도 27은 본 발명의 일 실시 예에 따른 테마 공유 방법을 나타낸다.
도 27을 참조하면, 본 발명의 일 실시 예에 따른 테마 공유 방법은 동작 2701 내지 2711을 포함할 수 있다. 도 27의 각 동작을 설명함에 있어서, 도 26a의 참조번호를 사용하기로 한다.
동작 2701에서, 제1 사용자 장치 2601은 테마 서버 2603에 대해 테마 데이터 B를 요청할 수 있다.
동작 2702에서 제1 사용자 장치 2601은 테마 서버 2603로부터 테마 데이터 B를 제공받을 수 있다.
동작 2703에서 제1 사용자 장치 2601은 테마 서버 2603로부터 제공 받은 테마 데이터 B를 자신의 장치 2601에 적용할 수 있다.
동작 2704에서 제1 사용자 장치 2601은 테마 B가 적용되었다는 테마 변경 알림 신호를 테마 서버 2603으로 전송할 수 있다
동작 2705에서 테마 서버 2603은 상기 테마 변경 알림 신호를 수신하면, 동기화 설정이 이루어져 있는 사용자 계정을 SNS 서버 2604에 요청할 수 있다.
동작 2706에서 테마 서버 2603은 SNS 서버 2604로부터 동기화 설정이 이루어져 있는 사용자 계정을 획득할 수 있다. 예를 들어, 상기 동기화 설정이 이루어져 있는 사용자 계정은 제2 사용자 장치 2602 및 제3 사용자 장치 2605의 사용자 계정에 해당할 수 있다.
동작 2707에서 테마 서버 2603은 동기화되는 테마(테마 B)의 테마 식별 정보를 제2 사용자 장치 2602 및 제3 사용자 장치 2605로 전송할 수 있다.
동작 2708에서 제2 사용자 장치 2602는, 상기 테마 식별 정보에 기초하여, 테마 데이터 B를 저장하고 있지 않다고 판단하면, 테마 서버 2603에 대해 테마 데이터 B를 요청할 수 있다.
동작 2709에서 테마 서버 2603은 제2 사용자 장치 2602의 요청에 응답하여 테마 데이터 B를 제공할 수 있다.
동작 2710에서 제2 사용자 장치 2602는, 테마 서버 2603으로부터 제공받은 테마 데이터 B를 자신의 장치 2602에 적용할 수 있다.
동작 2711에서 제3 사용자 장치 2605는, 동작 2707에서 수신한 테마 식별 정보에 기초하여, 테마 데이터 B를 저장하고 있다고 판단하면, 테마 데이터 B를 자신의 장치 2605에 적용할 수 있다.
본 발명의 다양한 실시 예에 따르면, 복수의 사용자 장치는 동기하여 테마를 동일하게 변경할 수 있다. 즉, 상기 복수의 사용자 장치에는 공통된 테마가 실시간으로 적용될 수 있으므로, 테마 변경에 따른 사용자 감정 변화를 공유할 수 있다.
또한, 본 발명의 다양한 실시 예에 따르면, 어느 하나의 사용자 장치에서 테마가 변경되면, 나머지 사용자 장치에서도 테마가 변경될 수 있다. 따라서, 테마(예: 홈 화면, 잠금 화면, 또는 인스턴트 메시지 어플리케이션의 실행 화면의 배경 이미지 등)에 유용한 정보를 탑재한 경우 매우 효과적으로 상기 유용한 정보를 공유할 수 있다.
도 28은 본 발명의 일 실시 예에 따른 테마 적용 방법을 설명하기 위한 도면이다.
도 28을 참조하면, 페이지 2801, 페이지 2802, 가상 공간 배경 2803, 및 가상 공간 배경 2804가 도시되어 있다. 도 28과 관련하여는 도 1의 참조부호를 사용하기로 한다.
다양한 실시 예에 따르면, 전자 장치 101은 생체 센서를 포함할 수 있다. 상기 생체 센서는, 인체의 생체적 변화를 감지하여 전기적 신호로 변환할 수 있다. 상기 전기적 신호는 프로세서 120에 생체 정보로 제공될 수 있다.
상기 생체 센서는, 예를 들어, 혈당 센서, 심박 센서, 심전도(ECG; Electrocardiogram) 센서, 근전도 센서, 산소포화도 센서, 체온 센서, 혈압 센서, 뇌파 센서, 피부 전도도 센서, 동공 추적 센서 중 적어도 하나를 포함할 수 있다. 생체 센서는 전술한 예에 제한되지 않으며, 다양한 유형의 생체 센서를 추가로 포함할 수 있다. 또한, 다양한 실시 예에 따르면, 생체 센서의 적어도 하나는 전자 장치 101와 기능적으로 연결된 다른 전자 장치 102(예: 웨어러블 장치)에 탑재될 수 있다. 전자 장치 101은 상기 다른 전자 장치 102로부터 생체 정보를 수신할 수 있다.
전자 장치 101의 프로세서 120은 상기 생체 센서로부터 수집한 생체 정보를 지정된 알고리즘에 적용하여 사용자의 감정 상태를 판단할 수 있다. 전자 장치 101은 상기 감정 상태에 관한 정보를 통신 인터페이스 170을 통해 테마 서버 106으로 전송할 수 있다. 상기 테마 서버 106은 상기 감정 상태 정보에 기반하여 테마 데이터를 결정하고, 상기 결정된 테마 데이터를 전자 장치 101에 제공 또는 추천할 수 있다. 전자 장치 101은 테마 서버 106로부터 제공받은 테마 데이터를 적용할 수 있다.
일 실시 예에 따르면, 전자 장치 101은 테마 서버 106로부터 제공받은 테마 데이터를 적용하여, 사용자의 감정 상태를 변화시킬 수 있다. 예컨대, 전자 장치 101은 상기 테마 서버 106로부터 제공 또는 추천받은 테마 데이터를 적용함으로써, 홈 화면의 페이지를 페이지 2801에서 페이지 2802로 변경할 수 있다. 예를 들어, 흥분 상태에 있던 사용자는 상기 페이지 2802를 통해 안정된 감정 상태로 회복할 수도 있다.
또한, 일 실시 예에 따르면, 상기 전자 장치 101은 스테레오스코픽(streoscopic) 영상을 제공할 수 있는 HMD(Head Mounted Display) 2810에 해당할 수 있다. 예컨대, HMD 2810은 상기 테마 서버 106로부터 제공받은 테마 데이터를 적용함으로써, 홈 화면의 페이지를 가상 공간 배경 2803에서 가상 공간 배경 2804로 변경할 수 있다. 이를 통해, 흥분 상태에 있던 사용자는 가상 공간 배경 2804를 통해 보다 효과적으로 안정된 감정 상태로 회복할 수 있다.
도 29a는 본 발명의 일 실시 예에 따른 테마 적용 방법을 나타낸다.
도 29a를 참조하면, 본 발명의 일 실시 예에 따른 테마 적용 방법은 동작 2901 내지 2908을 포함할 수 있다. 도 29a와 관련하여는 도 1의 참조부호를 사용하기로 한다. 또한, 설명의 이해를 돕기 위하여 도 30a 내지 도 30d를 함께 참조한다.
동작 2901에서, 전자 장치 101의 프로세서 120은 생체 센서를 이용하여 생체 정보를 수집할 수 있다. 다양한 실시 예에 따르면, 상기 프로세서 120은 통신 인터페이스 170을 통해 외부 전자 장치 102(예: 웨어러블 장치)로부터 생체 정보를 수신할 수도 있다.
동작 2902에서, 전자 장치 101의 프로세서 120은 수집한 생체 정보에 지정된 알고리즘을 적용하여 사용자의 제1 감정 정보를 판단할 수 있다. 예를 들어, 프로세서 120은 평균 심박수, 심박 분포도, 심박 변이도, 혈압, 심전도, 호흡수, 산소포화도, 체온, 근전도, 또는 피부저항 중 적어도 하나를 기초로 사용자의 제1 감정 정보를 판단할 수 있다. 다양한 실시 예에 따르면, 전자 장치 101의 프로세서 120은 상기 생체 정보를 테마 서버 106로 전송하고, 상기 테마 서버 106에서 도출된 감정 상태를 수신할 수도 있다. 예를 들어, 상기 사용자의 감정 상태는 긴장, 흥분, 행복, 휴식, 안정, 지루함, 화남, 스트레스, 및 긴장과 같은 8가지 감정 상태 중 적어도 일부를 복합적으로 포함할 수 있다. 사용자의 감정 상태가 미리 설정된 목표 감정 영역에서 벗어난 경우에는, 상기 목표 감정 영역 내부로 감정 상태가 이동할 수 있도록, 테마 변경의 필요성이 제기될 수 있다.
동작 2903에서, 전자 장치 101의 프로세서 120은 동작 2902에서 판단된 사용자의 제1 감정 정보를 통신 인터페이스 170을 통해 테마 서버 106으로 전송할 수 있다. 이에 따라, 테마 서버 106은 전자 장치 101로부터 상기 제1 감정 정보를 수신할 수 있다.
동작 2904에서, 테마 서버 106은 동작 2903에서 수신한 제1 감정 정보를 기반으로 표준 감정 레벨을 결정할 수 있다. 일 실시 예에 따르면, 테마 서버 106은 사용자의 감정에 기반한 표준 데이터를 가지고 있을 수 있다. 상기 표준 데이터는 복수의 레벨로 분류될 수 있고, 각 레벨에 대응되는 테마 데이터가 그룹화되어 리스트로 관리될 수 있다.
예를 들면, 테마 서버 106은 사용자의 감정을 결정하는 몇 가지 파라미터에 기반하여 감정 상태를 수치화하여 정의하는 표준 데이터 정보를 가지고 있을 수 있다. 예컨대, 도 30a를 참조하면, 상기 표준 데이터 정보는, 활동성(activeness), 기쁨의 정도(pleasure) 등의 파라미터에 기반하여 수치로 환산 가능한 각 감정들(예: 긴장 , 흥분, 행복, 휴식, 안정, 지루함, 화남, 및 스트레스)에 대한 표준 데이터를 포함할 수 있다. 다양한 실시 예에 따르면 이외에도, 예컨대, 도 30b와 같이, 각 감정에 대한 표준 데이터는 더 많은 파라미터에 기반하여 더 세부적인 수치로 정의될 수 있다.
또한, 테마 서버 106은 상기 표준 데이터를 복수의 레벨로 분류하고, 각 레벨에 해당하는 테마 데이터(또는, 테마 패키지)를 그룹화하여 리스트로 관리할 수 있다. 예컨대, 도 30c와 같이, 테마 서버 106은 감정의 속성에 대한 수치화 된 값에 따라 복수의 레벨(또는 감정 영역)로 구분하여 표준 데이터를 관리할 수 있다.
또한, 도 30d를 참조하면, 테마 서버 106에 있어서, 적어도 일부의 레벨(또는, 감정 영역)은, 각 레벨에 해당하는 적어도 하나의 테마 데이터를 가질 수 있다. 예를 들어, 상기 적어도 일부의 레벨은 감정의 속성에 대한 미리 지정된 수치 범위를 초과하는 값을 가지는 레벨일 수 있다. 다시 말해, 상기 적어도 일부의 레벨은 특정 감정 속성에 대한 수치가 일반적 우려 범위보다 커서 조절이 필요한 정도의 레벨을 의미할 수 있다. 상기 적어도 하나의 테마 데이터는, 해당 레벨에 대응하는 감정 수치를 상기 미리 지정된 수치 범위 3001, 즉 일반적 우려 범위 내로 유도하는데 효과가 있는 콘텐츠를 포함하는 테마 데이터일 수 있다. 이를 통해, 테마 서버 106은 사용자의 감정 상태를 목표 감정 영역으로 유도할 수 있는 테마 데이터를 결정 또는 추천할 수 있다.
동작 2905에서, 테마 서버 106은 표준 감정 레벨에 대응하는 테마 데이터 리스트 중에서 적어도 하나의 테마 데이터를 결정할 수 있다.
동작 2906에서, 테마 서버 106은 동작 2905에서 결정된 테마 데이터 정보를 전자 장치 101에 전달 할 수 있다. 즉, 테마 서버 106은 동작 2905에서 결정된 테마 데이터 정보를 전자 장치 101에 추천할 수 잇다.
동작 2907에서, 테마 서버 106은 지정된 이벤트에 응답하여 전자 장치 101로부터 제2 감정 정보 수신할 수 있다. 상기 지정된 이벤트에 대하여는 도 29b에서 후술한다.
동작 2908에서, 테마 서버 106은 동작 2907에서 수신한 제2 감정 정보에 기반하여 테마 데이터 리스트를 업데이트할 수 있다. 테마 서버 106은 테마 데이터 리스트를 업데이트함에 있어서, 기존의 테마 데이터 결정 이력을 고려할 수도 있다.
도 29b는 본 발명의 일 실시예에 따른 제2 감정 정보를 수신하기 위한 지정된 이벤트를 설명하기 위한 도면이다.
예를 들어, 도 29b의 각 동작들은 도 29a의 동작 2904 이후에 진행될 수 있다. 도 29b와 관련하여는 도 1의 참조부호를 사용하기로 한다. 또한, 설명의 이해를 돕기 위하여 도 30e 및 도 30f를 함께 참조한다.
동작 2911에서, 테마 서버 106은 소정의 시간 경과 후 테마 적용 결과 업데이트와 관련된 요청을 수신할 수 있다. 상기 소정의 시간은 테마의 적용으로 인해 사용자의 감정 변화가 발생할 수 있는 미리 지정된 시간일 수 있다.
동작 2912에서, 테마 서버 106은 전자 장치 101에 특정 테마 데이터에 대한 적용 결과 정보를 요청 및 수신할 수 있다. 테마 서버 106은 전자 장치 101에 특정 테마 데이터 패키지에 대한 적용 결과 정보를 요청하고 해당 정보를 수신할 수 있다. 상기 적용 결과 정보는 상기 테마 데이터와 관련된 테마가 전자 장치 101에 지속적으로 적용된 시간 정보를 포함할 수 있다.
동작 2913에서, 테마 서버 106은 테마가 전자 장치 101에 지정된 시간 동안 적용되었는지 판단할 수 있다. 예를 들어, 테마 서버 106은 전자 장치 101로부터 수신한 정보에 기반하여 상기 테마 데이터 패키지와 관련된 테마가 전자 장치 101에 지정된 기간 동안 적용되었는지 판단할 수 있다. 상기 테마가 전자 장치 101에 지정된 기간 동안 적용되었다면 동작 2914로 진행할 수 있고, 그러하지 안은 경우 동작 2911로 되돌아 갈 수 있다.
동작 2914에서, 상기 테마가 전자 장치 101에 지정된 기간 동안 적용되었으므로, 테마 서버 106은 테마 데이터 리스트 업데이트 이벤트를 생성할 수 있다. 이후 도 29a의 동작 2905로 진행할 수 있다.
다양한 실시 예에 따르면, 동작 2914는 이하에 설명되는 동작을 포함할 수도 있다. 예를 들어, 테마 서버 106은 전자 장치 101로부터 수신된 감정 정보들을 분석하여 지정된 시간 동안 사용자의 감정이 변화된 패턴 정보를 파악할 수 있다. 테마 서버 106은 상기 변화된 패턴 정보로부터 특정 테마가 사용자 감정에 영향을 미치는 정도를 판단할 수 있다. 테마 서버 106은 상기 판단에 기초하여 테마 데이터가 속한 리스트에서 우선 순위를 조정하거나, 또는 상기 테마 데이터가 속한 표준 감정 레벨을 변경하는 방법으로 테마 데이터 패키지 리스트를 업데이트할 수 있다.
도 30e를 참조하면, 예를 들어, 테마 서버 106은 테마 A의 테마 데이터를 전자 장치 101에 추천하고, 지정된 기간 경과한 이후에, 상기 전자 장치 101로부터 수신한 정보에 기반하여 감정 변화 패턴 정보를 생성할 수 있다.
상기 생성되는 감정 변화 패턴 정보는, 예를 들어, 도 30e의 좌측 도면에 도시된 바와 같이, 미리 지정된 수치 범위 3001를 초과하는 스트레스 감정 레벨 3011에서 상기 미리 지정된 범위 3001 내의 감정 레벨 3012로 변화된 형태일 수 있다. 이 경우 감정 변화 패턴이 상기 미리 지정된 수치 범위 3001 내로 진입했으므로 테마 A의 테마 데이터는 현재 속해 있는 레벨을 유지할 수 있다. 반면, 상기 패턴 정보가 도 30e의 우측 도면에 도시된 바와 같이, 미리 지정된 수치 범위 3001 내로 진입하지 않았거나, 혹은 패턴의 변화 방향이 상기 미리 지정된 수치 범위 3001 내를 향하지 않는 경우(즉, 감정 레벨 3011에서 감정 레벨 3013으로 변화하는 경우), 테마 A의 테마 데이터의 감정 변화 효과는 예상되었던 효과에 어긋나는 것을 확인할 수 있다. 이 경우 테마 A의 테마 데이터는 소속된 레벨을 변경할 필요가 있다. 따라서, 테마 서버 106은 현재의 테마 A의 테마 데이터를 테마 데이터 리스트에서 제거하거나, 다른 레벨의 테마 데이터 리스트로 이동하도록 업데이트할 수 있다.
한편, 테마 서버 106은 테마 데이터 리스트를 업데이트함에 있어서, 테마 데이터가 이동할 다른 레벨을 결정하는 방법으로 상기 감정 변화 패턴을 참조할 수 있다. 예를 들어, 도 30f의 좌측 도면을 참조하면, 테마 서버 106은 테마 A의 데이터 패키지에 의해, 감정 레벨 3011이 감정 레벨 3013으로 천이하도록 할 수 있다. 이때, 테마 서버 106은, 도 30f의 우측 도면에 도시된 바와 같이, 테마 A의 테마 데이터에 의한 상기 감정 변화 패턴이 미리 지정된 수치 범위 3001 내에 포함되도록 할 수 있다. 다시 말해, 테마 서버 106은 상기 감정 변화 패턴의 시작점, 즉 감정 레벨 3011의 시작 위치를 감정 레벨 3014로 변경할 수 있다. 이를 통해, 테마 서버 106은 테마 A의 데이터 패키지에 의해, 감정 레벨 3011이 감정 레벨 3015으로 천이하도록 할 수 있다. 결국, 테마 서버 106은 테마 그룹 2에 포함된 테마 A의 테마 데이터를 테마 그룹 1의 테마 3의 리스트 위치로 이동킬 수 있고, 이를 통해, 테마 데이터 리스트를 업데이트 할 수 있다.
상기 이외에도 다양한 실시예에 의하면, 감정 변화 패턴 정보는 특정 테마 데이터 패키지에 대해 다수의 전자 장치로부터 수신한 테마 적용 결과 정보를 기반으로 생성할 수도 있다. 이를 통해, 감정 변화 패턴 정보를 생성하는데 있어서 오차를 줄이고 신뢰도를 향상시킬 수 있다.
전술한 다양한 실시예에 따르면, 테마 서버 106은 지정된 이벤트에 응답하여 전자 장치 101로부터 사용자의 감정 정보를 다시 수신할 수 있다. 또한, 테마 서버 106은 상기 다시 수신한 감정 정보에 기반하여 상기 표준 감정 레벨과 관련된 테마 데이터 리스트를 업데이트 할 수 있다. 이를 통해, 사용자의 감정을 향상 시킬 수 있는 테마 컨텐츠의 정확도를 향상시킬 수 있으며, 전자 장치 101은 사용자의 감정 상태에 따라서 가장 적합한 테마 데이터를 제공받을 수 있다.
도 31은 본 발명의 일 실시 예에 따른 테마 적용 방법을 나타낸다.
도 31을 참조하면, 본 발명의 일 실시 예에 따른 테마 적용 방법은 동작 3101 내지 3106을 포함할 수 있다. 도 31의 각 동작을 설명함에 있어서, 도 1의 참조번호를 사용하기로 한다.
동작 3101에서, 전자 장치 101의 프로세서 120은 SIM 변경 이벤트를 SIM(혹은, UICC(Universal IC Card)) 슬롯, eSIM(embedded SIM)(혹은, eUICC(embedded UICC)) 등으로부터 수신할 수 있다. 상기 SIM 변경 이벤트는, 예를 들어, 전자 장치 101이 가입된 이통통신 사업자가 변경되는 이벤트에 대응할 수 있다.
동작 3102에서, 전자 장치 101의 프로세서 120은 프로세서 120은 SIM 변경 이벤트에 기반하여 변경 전후의 이동통신 사업자를 식별할 수 있다. 예를 들어, 프로세서 120은 상기 SIM 변경 이벤트에 기반하여 전자 장치 101가 가입된 이동통신 사업자가 A사에서 B사로 변경된 것을 인식할 수 있다.
동작 3103에서, 전자 장치 101의 프로세서 120은 테마 데이터가 적용된 어플리케이션의 객체(예: 아이콘, 위젯 등) 중, 특정 통신 사업자에 특화된(dedicated) 어플리케이션과 관련된 객체를 판별할 수 있다. 예를 들면, 프로세서 120은 상기 테마 데이터가 적용된 어플리케이션의 속성 정보를 참조하여, 상기 특정 통신 사업자에 특화된 어플리케이션에 링크된 객체를 판별할 수 있다. 예컨대, 프로세서 120은 A사에 특화된 네비게이션 어플리케이션과 링크된 객체 X를 판별할 수 있다.
동작 3104에서, 전자 장치 101의 프로세서 120은 변경된 통신 사업자(B사)에 특화된 어플리케이션이 설치되어 있는지 판단할 수 있다. 예를 들어, 프로세서 120은, 동작 3103에서 판별된 객체 X와 연관된, B사가 제공하는 네비게이션 어플리케이션이 설치되어 있는지 판단할 수 있다. B사가 제공하는 네비게이션 어플리케이션이 설치되어 있으면, 동작 3105로 진행할 수 있고, 그러하지 않은 경우 동작 3106으로 진행할 수 있다.
동작 3105에서, 전자 장치 101의 프로세서 120은 설치되어 있는 통신 사업자(B사) 특화 어플리케이션과 상기 동작 3103에서 판별된 객체 X를 링크할 수 있다. 예를 들어, 프로세서 120은, B사가 제공하는 네비게이션 어플리케이션이 설치되어 있다고 판단하였으므로, 동작 3103에서 판별된 객체 X를 상기 B사가 제공하는 네비게이션 어플리케이션과 링크할 수 있다(즉, 실행 경로를 서로 매칭시킬 수 있다). 객체와 어플리케이션을 링크하기 위한, 통신 사업자 특화 어플리케이션과 특정 객체의 매칭 정보는 미리 전자 장치 101에 데이터베이스화되어 있을 수 있다.
동작 3106에서, 전자 장치 101의 프로세서 120은 변경된 통신 사업자(B사)에 특화된 어플리케이션을 어플리케이션 마켓에서 검색, 다운로드, 및 설치할 수 있다. 예를 들어, 프로세서 120은, B사가 제공하는 네비게이션 어플리케이션이 설치되어 있지 않다고 판단하였으므로, 상기 B사가 제공하는 네비게이션 어플리케이션을 어플리케이션 제공 서버(예: 어플리케이션 마켓 서버, 앱 스토어 서버 등)에서 검색하여, 다운로드하고, 이를 설치할 수 있다. 이후 전자 장치 101은 동작 3105를 수행할 수 있다.
본 발명의 다양한 실시 예에 따르면, 테마가 적용된 전자 장치에서 사용자 식별 모듈이 변경되더라도, 통신 사업자 특화 어플리케이션은 별다른 조작없이 즉시 이용 가능한 상태로 설정될 수 있다.
도 32는 본 발명의 일 실시 예에 따른 테마 추천 방법을 나타낸다.
도 32를 참조하면, 본 발명의 일 실시 예에 따른 테마 추천 방법은 동작 3201 내지 3203을 포함할 수 있다. 도 32의 각 동작을 설명함에 있어서, 도 1의 참조번호를 사용하기로 한다.
동작 3201에서, 전자 장치 101의 프로세서 120은 통신 인터페이스 170을 통해 현재 적용되어 있는 테마의 설정 정보를 테마 서버 106으로 전송할 수 있다. 상기 설정 정보는 예를 들어, 테마의 식별 정보, 테마가 적용된 페이지의 캡쳐 이미지 정보, 테마 레이아웃 데이터, 테마 리소스 데이터, 또는 테마 패키지 그 자체 중 적어도 하나를 포함할 수 있다.
동작 3202에서, 테마 서버 106은 상기 동작 3201에서 수신한 테마 설정 정보에 기반하여 추천 테마를, 테마 서버 106의 데이터베이스에서 검색할 수 있다. 상기 검색된 추천 테마는 추천 테마 리스트로 구성할 수 있다.
일 실시 예에 따르면, 테마 서버 106은 상기 테마 설정 정보를 기반으로 전자 장치 101에 적용된 테마 데이터를 획득할 수 있다. 테마 서버 106은 상기 획득된 테마 데이터의 테마 레이아웃 데이터 및/또는 테마 리소스 데이터를 분석하여 추천 테마를 검색할 수 있다.
예를 들어, 테마 서버 106은 전자 장치 101에 적용된 테마 리소스 데이터의 이미지 분석을 통해 추천 테마를 검색할 수 있다. 이때, 테마 서버는 상기 테마 리소스 데이터의 이미지로부터 특징점을 추출하거나, Bag of Words 기법을 이용할 수 있다. 또한, 이외에도 테마 서버 106은 도 22a에서 설명한 다양한 유사도 판단 기법을 이용할 수 있다.
일 실시 예에 따르면, 테마 서버 106은 추천 테마 데이터를 우선순위를 매겨 리스트화 할 수 있다. 예컨대, 도 33을 참조하면, 테마 서버 106은, 테마 레이아웃 데이터 및/또는 테마 리소스 데이터를 구성하는 다양한 설정 인자 중 어느 하나를 기준으로 우선 순위를 매길 수 있다. 또는 테마 서버 106은, 상기 다양한 설정 인자 중 적어도 하나에 가중치를 부여하여 우선 순위를 매길 수 있다.
예를 들어, 테마 레이아웃 데이터를 구성하는 설정 인자는 테마 페이지 구성(페이지 수, 메인 페이지 등), 각 페이지에 포함된 객체(아이콘/위젯)의 위치를 포함할 수 있다. 또한, 예를 들어, 테마 리소스 데이터를 구성하는 설정 인자는 각 객체의 형상(모양, 색깔, 크기), 페이지들(잠금 화면, 홈 화면)의 배경 이미지(동영상 포함), 각 페이지의 배경 음을 포함할 수 있다.
동작 3203에서 테마 서버 106은 테마 서버가 추천 테마 리스트를 전자 장치로 전송할 수 있다.
본 발명의 다양한 실시 예에 의하면, 테마 서버는 사용자의 전자 장치에 적용된 테마와 유사한 테마를 자동 검색하여 추천할 수 있다. 이로써, 테마 서버는 키워드 검색에 의하지 않고도 사용자의 기호에 맞는 테마를 추천해 줄 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리 130이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 있어서,
    사용자 인증 모듈;
    디스플레이;
    페이지에 적용될 수 있는 테마 데이터를 적어도 하나 저장하는 메모리; 및
    상기 사용자 인증 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고,
    상기 메모리는, 상기 프로세서에 의해 실행 시에, 상기 전자 장치가,
    상기 디스플레이를 통해 제1 테마 리소스 데이터를 포함하는 제1 테마 데이터가 적용된 페이지를 출력하고,
    상기 사용자 인증 모듈을 통해 사용자 인증 정보를 획득하고,
    상기 획득된 사용자 인증 정보에 대응하는 제2 테마 데이터를 결정하고,
    상기 제2 테마 데이터에서 제2 테마 리소스 데이터를 추출하고,
    상기 제1 테마 리소스 데이터와 상기 제2 테마 리소스 데이터의 유사도를 결정하고,
    상기 제2 테마 데이터를 상기 페이지에 적용하고,
    상기 유사도가 지정된 값 미만인 경우 객체에 상기 제1 테마 리소스 데이터에 관한 가이드를 제공하도록 하는 명령어들을 저장하는, 전자 장치.
  2. 청구항 1에 있어서,
    상기 디스플레이에 출력되는 페이지는 복수의 페이지를 포함하고,
    상기 복수의 페이지에 적용되는 상기 제2 테마 데이터는, 복수의 테마 데이터가 조합되어 형성되는, 전자 장치.
  3. 청구항 1에 있어서,
    상기 디스플레이에 출력되는 페이지는, 상기 전자 장치의 홈 화면, 잠금 화면, 또는 커버 화면과 관련된 페이지를 포함하는, 전자 장치.
  4. 청구항 1에 있어서,
    상기 테마 데이터는, 테마 리소스 데이터 또는 테마 레이아웃 데이터 중 적어도 하나를 포함하는, 전자 장치.
  5. 청구항 4에 있어서,
    상기 테마 리소스 데이터는, 상기 디스플레이에 출력되는 페이지의 배경 이미지 데이터, 또는 상기 디스플레이에 출력되는 페이지에 포함된 객체의 이미지 데이터를 포함하는, 전자 장치.
  6. 청구항 4에 있어서,
    상기 테마 레이아웃 데이터는, 상기 디스플레이에 출력되는 페이지의 배치 위치, 크기, 또는 개수와, 상기 디스플레이에 출력되는 페이지에 포함된 객체의 배치 위치, 크기, 또는 개수에 관한 데이터를 포함하는, 전자 장치.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 1에 있어서,
    상기 사용자 인증 정보는, 안면 인식 정보, 암호 정보, 터치 패턴 정보, 또는 생체 인증 정보 중 적어도 하나를 포함하는, 전자 장치.
  8. 청구항 1에 있어서,
    다른 전자 장치와 통신을 수립하는 통신 모듈을 더 포함하고,
    상기 명령어들은, 상기 다른 전자 장치에 포함된 디스플레이의 속성(properties)에 기초하여 상기 제2 테마 데이터를 변형하고, 상기 변형된 제2 테마 데이터를 상기 다른 전자 장치로 전송하도록 하는, 전자 장치.
  9. 청구항 8에 있어서,
    상기 명령어들은, 상기 디스플레이의 해상도에 따라서, 상기 제2 테마 데이터에 포함된 이미지를 리사이징 또는 크롭핑(cropping)함으로써, 상기 제2 테마 데이터를 변형하도록 하는, 전자 장치.
  10. 청구항 1에 있어서,
    다른 전자 장치와 통신을 수립하며 통신 모듈을 더 포함하고,
    상기 명령어들은, 상기 통신 모듈을 통해 상기 다른 전자 장치로부터 테마 데이터를 수신하고, 상기 수신된 테마 데이터의 적어도 일부와 상기 메모리에 저장된 테마 데이터의 적어도 일부를 조합하도록 하는, 전자 장치.
  11. 전자 장치의 테마 적용 방법에 있어서,
    디스플레이에 제1 테마 리소스 데이터를 포함하는 제1 테마 데이터가 적용된 페이지를 출력하는 동작;
    사용자 인증 정보를 획득하는 동작;
    상기 획득된 사용자 인증 정보에 대응하는 제2 테마 데이터를 결정하는 동작;
    상기 제2 테마 데이터로부터 제2 테마 리소스 데이터를 추출하는 동작;
    상기 제1 테마 리소스 데이터와 상기 제2 테마 리소스 데이터의 유사도를 결정하는 동작;
    상기 페이지에 상기 제2 테마 데이터를 적용하는 동작; 및
    상기 유사도가 지정된 값 미만인 경우 객체에 상기 제1 테마 리소스 데이터에 관한 가이드를 제공하는 동작을 포함하는, 테마 적용 방법.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 11에 있어서,
    상기 디스플레이에 출력되는 페이지는 복수의 페이지를 포함하고,
    상기 복수의 페이지에 적용되는 제2 테마 데이터는, 복수의 테마 데이터가 조합되어 형성된, 테마 적용 방법.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 11에 있어서,
    상기 디스플레이에 출력되는 페이지는, 상기 전자 장치의 홈 화면, 잠금 화면, 또는 커버 화면과 관련된 페이지를 포함하는, 테마 적용 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 11에 있어서,
    상기 테마 데이터는, 테마 리소스 데이터 또는 테마 레이아웃 데이터 중 적어도 하나를 포함하는, 테마 적용 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 14에 있어서,
    상기 테마 리소스 데이터는, 상기 디스플레이에 출력되는 페이지의 배경 이미지 데이터, 또는 상기 디스플레이에 출력되는 페이지에 포함된 객체의 이미지 데이터를 포함하는, 테마 적용 방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 14에 있어서,
    상기 테마 레이아웃 데이터는, 상기 디스플레이에 출력되는 페이지의 배치 위치, 크기, 또는 개수와, 상기 디스플레이에 출력되는 페이지에 포함된 객체의 배치 위치, 크기, 또는 개수에 관한 데이터를 포함하는, 테마 적용 방법.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 11에 있어서,
    상기 사용자 인증 정보는, 안면 인식 정보, 암호 정보, 터치 패턴 정보, 또는 생체 인증 정보 중 적어도 하나를 포함하는, 테마 적용 방법.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 11에 있어서,
    다른 전자 장치와 통신을 수립하는 동작;
    상기 다른 전자 장치에 포함된 디스플레이의 사양에 기초하여 상기 제2 테마 데이터를 변형하는 동작; 및
    상기 변형된 제2 테마 데이터를 상기 다른 전자 장치로 전송하는 동작을 더 포함하는, 테마 적용 방법.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 18에 있어서,
    상기 제2 테마 데이터를 변형하는 동작은, 상기 디스플레이의 해상도에 따라서, 상기 제2 테마 데이터에 포함된 이미지를 리사이징 또는 크롭핑(cropping)하는 동작을 포함하는, 테마 적용 방법.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 11에 있어서,
    다른 전자 장치와 통신을 수립하는 동작;
    상기 다른 전자 장치로부터 테마 데이터를 수신하는 동작; 및
    상기 수신된 테마 데이터의 적어도 일부와 상기 전자 장치에 저장된 테마 데이터의 적어도 일부를 조합하는 동작을 더 포함하는, 테마 적용 방법.
KR1020150140062A 2015-10-06 2015-10-06 테마 적용 방법 및 이를 수행하는 전자 장치 KR102471174B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150140062A KR102471174B1 (ko) 2015-10-06 2015-10-06 테마 적용 방법 및 이를 수행하는 전자 장치
US15/257,684 US10021569B2 (en) 2015-10-06 2016-09-06 Theme applying method and electronic device for performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150140062A KR102471174B1 (ko) 2015-10-06 2015-10-06 테마 적용 방법 및 이를 수행하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20170040872A KR20170040872A (ko) 2017-04-14
KR102471174B1 true KR102471174B1 (ko) 2022-11-28

Family

ID=58447049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150140062A KR102471174B1 (ko) 2015-10-06 2015-10-06 테마 적용 방법 및 이를 수행하는 전자 장치

Country Status (2)

Country Link
US (1) US10021569B2 (ko)
KR (1) KR102471174B1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909230B2 (en) * 2016-06-15 2021-02-02 Stephen D Vilke Methods for user authentication
US10521107B2 (en) 2016-09-24 2019-12-31 Apple Inc. Devices, methods, and graphical user interfaces for selecting and interacting with different device modes
CN107979691B (zh) * 2017-11-15 2021-01-08 维沃移动通信有限公司 一种主题推荐方法和服务器
DK201870334A1 (en) 2018-05-07 2019-12-05 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROACTIVE MANAGEMENT OF NOTIFICATIONS
CN110908565A (zh) * 2018-09-18 2020-03-24 中兴通讯股份有限公司 一种定制屏幕主题的方法、装置、设备以及存储介质
CN109373500A (zh) * 2018-10-23 2019-02-22 珠海格力电器股份有限公司 一种具有与人互动功能的空调控制方法及空调器
CN109803053A (zh) * 2019-01-23 2019-05-24 联动优势科技有限公司 一种应用主题的切换方法及装置
US11823421B2 (en) * 2019-03-14 2023-11-21 Nokia Technologies Oy Signalling of metadata for volumetric video
CN110225191A (zh) * 2019-05-24 2019-09-10 深圳传音控股股份有限公司 主题模式的实现方法
US20220261467A1 (en) * 2019-08-22 2022-08-18 Prevayl Innovations Limited Controller, method and data processing apparatus
KR20210040701A (ko) * 2019-10-04 2021-04-14 삼성전자주식회사 스크린들 간 수정 사항을 동기화하는 전자 장치 및 전자 장치의 동작 방법
CN111435313A (zh) * 2019-12-09 2020-07-21 杭州海康威视数字技术股份有限公司 一种软件换肤的方法及装置
KR20210115841A (ko) * 2020-03-16 2021-09-27 삼성전자주식회사 전자 장치 및 전자 장치의 테마를 부분적으로 운용하는 방법
CN113515279B (zh) * 2020-04-09 2024-01-12 Oppo广东移动通信有限公司 表盘生成方法、装置、电子设备、智能手表及存储介质
AU2020233622B2 (en) 2020-05-11 2022-03-10 Apple Inc. System, method and user interface for supporting scheduled mode changes on electronic devices
EP3998599A4 (en) * 2020-05-14 2022-09-07 BOE Technology Group Co., Ltd. DISPLAY SCREEN AND METHOD OF MANUFACTURING IT
CN113934477A (zh) * 2020-06-29 2022-01-14 Oppo广东移动通信有限公司 主题渲染方法、装置、电子设备和计算机可读存储介质
KR20220017094A (ko) * 2020-08-04 2022-02-11 삼성전자주식회사 전자 장치 및 테마 컨텐츠에서 시각적 정보를 표시하는 방법
CN112653742A (zh) * 2020-12-15 2021-04-13 武汉风行在线技术有限公司 基于用户微表情变化的大屏端动态桌面定制系统及方法
CN112882633A (zh) * 2021-01-27 2021-06-01 广州橙行智动汽车科技有限公司 一种车辆主题的切换方法、装置和车辆
CN112817677A (zh) * 2021-01-29 2021-05-18 中汽创智科技有限公司 车载信息娱乐系统主题切换方法、系统、设备及存储介质
US11379106B1 (en) * 2021-05-12 2022-07-05 Apple Inc. Devices, methods, and graphical user interfaces for adjusting the provision of notifications
KR102586377B1 (ko) * 2021-07-01 2023-10-06 주식회사 미리디 디자인 템플릿으로부터 추출된 테마 색상을 기반으로 전체 테마 색상을 편집하는 방법
TWI796761B (zh) * 2021-08-19 2023-03-21 崑山科技大學 具有顯示功能的廣告包
US20230367451A1 (en) * 2022-05-10 2023-11-16 Apple Inc. User interface suggestions for electronic devices
US20230367440A1 (en) 2022-05-10 2023-11-16 Apple Inc. Devices, Methods, and Graphical User Interfaces for Providing Notifications and Application Information
WO2024043681A1 (ko) * 2022-08-26 2024-02-29 삼성전자주식회사 전자 장치의 화면을 확장 현실 환경으로 변환하는 머리 착용형 전자 장치 및 그와 연결된 전자 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007150487A (ja) 2005-11-25 2007-06-14 Nec Corp 携帯端末および設定変更方法並びにプログラム
US20110283354A1 (en) * 2007-09-27 2011-11-17 Chang E Lee Multi-Touch Interfaces for User Authentication, Partitioning, and External Device Control
KR101345119B1 (ko) * 2013-01-30 2014-01-27 공미선 이미지 취향 아이디 코드 생성, 진단 시스템 및 방법, 그리고 정보 제공 시스템 및 정보 제공 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209104B1 (en) * 1996-12-10 2001-03-27 Reza Jalili Secure data entry and visual authentication system and method
JPH10240186A (ja) * 1997-02-28 1998-09-11 Toshiba Corp 表示制御装置および表示制御方法
JP2002368871A (ja) 2001-06-04 2002-12-20 Toshiba Corp 移動無線端末
US7694271B2 (en) * 2004-02-26 2010-04-06 International Business Machines Corporation Rendering GUI widgets with generic look and feel
KR100601875B1 (ko) 2005-01-10 2006-07-18 에스케이 텔레콤주식회사 이동통신 단말의 개인화된 그래픽 사용자 인터페이스 제공시스템 및 방법
US20080028326A1 (en) 2006-07-26 2008-01-31 Research In Motion Limited System and method for adaptive theming of a mobile device
US8688093B2 (en) 2007-09-13 2014-04-01 Sony Corporation Device and method for preserving customized user settings when transitioning between mobile communication devices
US8174503B2 (en) * 2008-05-17 2012-05-08 David H. Cain Touch-based authentication of a mobile device through user generated pattern creation
US20100105471A1 (en) * 2008-10-13 2010-04-29 Caneva Collin C Environmentally themed video game
KR101210863B1 (ko) * 2010-12-10 2012-12-11 유비벨록스(주) 아이콘 관리 방법 및 단말 장치
US9659164B2 (en) * 2011-08-02 2017-05-23 Qualcomm Incorporated Method and apparatus for using a multi-factor password or a dynamic password for enhanced security on a device
WO2013028813A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Implicit sharing and privacy control through physical behaviors using sensor-rich devices
EP2786280A4 (en) * 2011-11-30 2015-10-28 Patrick Welsch SAFE AUTHORIZATION
US9240061B2 (en) * 2012-10-02 2016-01-19 International Business Machines Corporation Pattern representation images for business intelligence dashboard objects
KR101822463B1 (ko) * 2013-01-21 2018-01-26 삼성전자주식회사 복수 개의 아이콘들을 화면상에 배치하는 장치 및 이의 운용 방법
JP6458427B2 (ja) * 2014-09-29 2019-01-30 ブラザー工業株式会社 情報処理装置、記録システム、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007150487A (ja) 2005-11-25 2007-06-14 Nec Corp 携帯端末および設定変更方法並びにプログラム
US20110283354A1 (en) * 2007-09-27 2011-11-17 Chang E Lee Multi-Touch Interfaces for User Authentication, Partitioning, and External Device Control
KR101345119B1 (ko) * 2013-01-30 2014-01-27 공미선 이미지 취향 아이디 코드 생성, 진단 시스템 및 방법, 그리고 정보 제공 시스템 및 정보 제공 방법

Also Published As

Publication number Publication date
US10021569B2 (en) 2018-07-10
US20170099602A1 (en) 2017-04-06
KR20170040872A (ko) 2017-04-14

Similar Documents

Publication Publication Date Title
KR102471174B1 (ko) 테마 적용 방법 및 이를 수행하는 전자 장치
KR102396514B1 (ko) 지문 정보 처리 방법 및 이를 지원하는 전자 장치
KR102252072B1 (ko) 음성 태그를 이용한 이미지 관리 방법 및 그 장치
KR102379171B1 (ko) 전자 장치 및 그의 영상 표시 방법
KR102363703B1 (ko) 질의 처리 방법, 전자 장치 및 서버
KR102409202B1 (ko) 전자 장치 및 전자 장치에서 폴더 내 객체를 관리하기 위한 방법
KR102447907B1 (ko) 추천 객체를 제공하기 위한 전자 장치 및 방법
KR102560635B1 (ko) 컨텐트 인식 장치 및 그 동작 방법
US10659933B2 (en) Electronic device and information processing system including the same
KR20170076489A (ko) 전자장치 및 그의 어플리케이션 프로그램 운용 방법
KR102411281B1 (ko) 전자 장치 및 전자 장치의 이미지 파일 생성 방법
KR102445719B1 (ko) 테마 패키지 설치 속도 개선 방법 및 전자장치
KR20170100309A (ko) 음성 인식 제어를 제공하는 전자 장치 및 그 동작 방법
US20180152554A1 (en) Text input method and electronic device supporting the same
KR102449543B1 (ko) 전자 장치 및 전자 장치에서 사용자의 정보를 획득하는 방법
KR102369319B1 (ko) 전자 장치 및 전자 장치의 핸드오프 기능 제공 방법
KR102362868B1 (ko) 사용자의 선호도에 따라 사용자에게 컨텐트들을 제공하는 방법 및 이를 위한 전자 장치
US10956592B2 (en) Contents securing method and electronic device supporting the same
KR20160068531A (ko) 어플리케이션 제어 방법 및 전자 장치
KR102354729B1 (ko) 전자 장치의 연락처 관리 방법 및 그 전자 장치
KR102415984B1 (ko) 컨트롤러를 제공하는 방법 및 장치
KR102341970B1 (ko) 전자 장치 및 전자 장치에서의 정보 처리 방법
KR102430271B1 (ko) 전자 장치의 동작 방법 및 전자 장치
KR102457006B1 (ko) 전자 장치의 정보 제공 방법 및 장치
KR102584981B1 (ko) 포스 입력에 따른 화면 출력 방법 및 이를 지원하는 전자 장치

Legal Events

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