KR20190098518A - 서버 및 그것의 동작 방법 - Google Patents

서버 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20190098518A
KR20190098518A KR1020180018563A KR20180018563A KR20190098518A KR 20190098518 A KR20190098518 A KR 20190098518A KR 1020180018563 A KR1020180018563 A KR 1020180018563A KR 20180018563 A KR20180018563 A KR 20180018563A KR 20190098518 A KR20190098518 A KR 20190098518A
Authority
KR
South Korea
Prior art keywords
image
information
image filter
type
received
Prior art date
Application number
KR1020180018563A
Other languages
English (en)
Inventor
안상일
신범준
오민식
최은희
Original Assignee
주식회사 하이퍼커넥트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하이퍼커넥트 filed Critical 주식회사 하이퍼커넥트
Priority to KR1020180018563A priority Critical patent/KR20190098518A/ko
Priority to US16/268,924 priority patent/US11080325B2/en
Priority to EP19156400.4A priority patent/EP3528203A1/en
Priority to JP2019023297A priority patent/JP6732977B2/ja
Publication of KR20190098518A publication Critical patent/KR20190098518A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4545Input to filtering algorithms, e.g. filtering a region of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration by non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • G06T5/60
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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/20081Training; Learning

Abstract

서버는 복수의 단말기 중 대상 단말기로부터 이미지를 수신하는 통신부, 및 수신된 이미지에 포함된 컨텐츠의 종류를 식별하고, 이미지에 적용될 이미지 필터에 대한 추천 알고리즘을 이용하여 서로 다른 두 개 이상의 이미지 필터를 선택하는 제어부를 포함하고, 제어부는 추천 알고리즘을 이용하여 대상 단말기의 사용자가 선택할 확률이 가장 높을 것으로 예측된 제1 이미지 필터, 및 대상 단말기의 사용자가 선택할 확률이 두 번째로 높을 것으로 예측된 제2 이미지 필터를 선택하고, 통신부는 제1 이미지 필터에 대한 정보 및 제2 이미지 필터에 대한 정보를 대상 단말기에 전송할 수 있다.

Description

서버 및 그것의 동작 방법{SERVER AND OPERATING METHOD THEREOF}
기재된 실시예는 사용자가 촬영하려는 이미지에 포함된 컨텐츠에 따라 사용자가 선택할 것으로 예측되는 두 개 이상의 이미지 필터를 추천할 수 있는 서버 및 그것의 동작 방법에 관한 것이다.
통신 기술이 발전되고 전자 장치가 소형화됨에 따라 개인용 단말기가 일반 소비자에게 널리 보급되고 있다. 특히 최근에는 스마트폰 또는 스마트 태블릿과 같은 휴대용 개인 단말기가 널리 보급되고 있다. 대부분의 단말기는 이미지 촬영 기술을 포함하고 있다. 사용자는 단말기를 이용하여 다양한 컨텐츠를 포함하는 이미지를 촬영할 수 있다.
또한, 사용자는 단말기에 다운로드 가능한 다양한 애플리케이션을 이용하여 촬영된 이미지를 보정할 수 있다. 예를 들어, 사용자는 애플리케이션에서 제공되는 다양한 이미지 필터들을 이용하여 촬영된 이미지를 보정할 수 있다. 애플리케이션을 통해 제공되는 이미지 필터가 다양하기 때문에 사용자는 촬영된 이미지에 모든 이미지 필터들을 적용해보기 어려울 수 있다. 또한, 사용자는 촬영된 이미지에 포함된 컨텐츠에 가장 적합한 이미지 필터가 무엇인지 모를 수 있다.
기재된 실시예에 따르면 사용자에 의해 촬영될 이미지에 포함된 컨텐츠에 적합한 두 개 이상의 이미지 필터를 추천할 수 있는 서버 및 그것의 동작 방법이 제공될 수 있다.
또한, 실시예에 따르면 두 개 이상의 이미지 필터를 자동으로 추천해줌으로써 사용자의 편리성을 향상시킬 수 서버 및 그것의 동작 방법이 제공될 수 있다.
본 발명의 실시예에 따른 서버의 동작 방법은 복수의 단말기 중 대상 단말기로부터 이미지를 수신하는 단계, 수신된 이미지에 포함된 컨텐츠의 종류를 식별하는 단계, 이미지에 적용 가능한 이미지 필터에 대한 추천 알고리즘을 준비하는 단계, 추천 알고리즘을 이용하여 컨텐츠의 종류에 대응하는 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계, 및 선택된 두 개 이상의 이미지 필터에 대한 정보를 대상 단말기에 전송하는 단계를 포함할 수 있다.
실시예로서, 서버의 동작 방법은 이미지에 포함된 컨텐츠의 종류를 식별하기 전에 다수의 사진에 대한 이미지 데이터 및 다수의 사진에 포함된 컨텐츠의 종류 사이의 상관관계에 대해 학습된, 이미지에 포함된 컨텐츠의 종류를 식별하기 위한 학습 모델을 준비하는 단계를 더 포함할 수 있다.
실시예로서, 서버의 동작 방법은 대상 단말기로부터 대상 단말기의 사용자의 취미 정보, 성별 정보, 나이 정보, 또는 선호하는 이미지 필터의 종류에 대한 정보 중 적어도 하나를 포함하는 사용자 정보를 수신하는 단계를 더 포함할 수 있다.
실시예로서, 이미지에 적용될 이미지 필터에 대한 추천 알고리즘을 준비하는 단계는 복수의 단말기 중 대상 단말기를 제외한 적어도 하나 이상의 단말기 각각으로부터 사용자 정보 및 이미지를 수신하는 단계, 적어도 하나 이상의 단말기 각각으로부터 수신된 이미지에 포함된 컨텐츠의 종류를 식별하는 단계, 적어도 하나 이상의 단말기 각각으로부터 이미지에 적용하기 위해 선택된 이미지 필터의 종류에 대한 정보를 수신하는 단계, 및 사용자 정보, 식별된 컨텐츠의 종류에 대한 정보, 및 수신된 이미지 필터의 종류에 대한 정보를 이용하여 학습 모델을 준비하는 단계를 포함할 수 있다.
실시예로서, 사용자 정보, 식별된 컨텐츠의 종류에 대한 정보, 및 수신된 이미지 필터의 종류에 대한 정보를 이용하여 학습 모델을 준비하는 단계는 사용자 정보, 및 식별된 컨텐츠의 종류에 대한 정보와 수신된 이미지 필터의 종류에 대한 정보 사이의 상관관계에 대해 학습된 서로 다른 두 개 이상의 이미지 필터를 선택하기 위한 학습 모델을 준비하는 단계를 포함할 수 있다.
실시예로서, 추천 알고리즘을 이용하여 컨텐츠의 종류에 대응하는 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계는 대상 단말기로부터 수신된 사용자 정보, 대상 단말기로부터 수신된 이미지에서 식별된 컨텐츠의 종류에 대한 정보 및 학습 모델을 이용하여 대상 단말기의 사용자가 선택할 확률이 높을 것으로 예측되는 두 개 이상의 이미지 필터를 선택하는 단계를 포함할 수 있다.
실시예로서, 수신된 이미지에 포함된 컨텐츠의 종류를 식별하는 단계는 대상 단말기로부터 수신된 이미지에 포함된 컨텐츠가 제1 컨텐츠인 것으로 판단하는 단계를 포함하고, 이미지에 적용될 이미지 필터에 대한 추천 알고리즘을 준비하는 단계는 대상 단말기로부터 이미지가 수신되기 전에 수신된, 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보 및 복수의 단말기 중 대상 단말기를 제외한 적어도 하나 이상의 단말기로부터 각각 수신된, 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보를 준비하는 단계를 포함할 수 있다.
실시예로서, 추천 알고리즘을 이용하여 컨텐츠의 종류에 대응하는 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계는 적어도 하나 이상의 단말기로부터 각각 수신된, 이미지 필터 이력 정보 중에서 대상 단말기로부터 수신된 이미지 필터 이력 정보에 포함된 이미지 필터와 중복된 이미지 필터를 가장 많이 포함하는 이미지 필터 이력 정보를 선택하는 단계, 및 선택된 이미지 필터 이력 정보 중에서 대상 단말기로부터 수신된 이미지 필터 이력 정보와 중복되지 않은 이미지 필터에 기초하여 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계를 포함할 수 있다.
실시예로서, 수신된 이미지에 포함된 컨텐츠의 종류를 식별하는 단계는 컨텐츠는 사람, 특정 오브젝트(object), 특정 동물, 특정 풍경, 특정 패턴 또는 특정 색상 중 적어도 하나를 포함하는지 여부를 검출하는 단계를 포함할 수 있다.
실시예로서, 추천 알고리즘을 이용하여 컨텐츠의 종류에 대응하는 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계는 추천 알고리즘을 이용하여 대상 단말기의 사용자가 선택할 확률이 가장 높을 것으로 예측된 제1 이미지 필터, 및 대상 단말기의 사용자가 선택할 확률이 두 번째로 높을 것으로 예측된 제2 이미지 필터를 선택하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 서버는 복수의 단말기 중 대상 단말기로부터 이미지를 수신하는 통신부, 및 수신된 이미지에 포함된 컨텐츠의 종류를 식별하고, 이미지에 적용될 이미지 필터에 대한 추천 알고리즘을 이용하여 서로 다른 두 개 이상의 이미지 필터를 선택하는 제어부를 포함하고, 제어부는 추천 알고리즘을 이용하여 대상 단말기의 사용자가 선택할 확률이 가장 높을 것으로 예측된 제1 이미지 필터, 및 대상 단말기의 사용자가 선택할 확률이 두 번째로 높을 것으로 예측된 제2 이미지 필터를 선택하고, 통신부는 제1 이미지 필터에 대한 정보 및 제2 이미지 필터에 대한 정보를 대상 단말기에 전송할 수 있다.
실시예로서, 제어부는 대상 단말기로부터 수신된 이미지에 포함된 컨텐츠가 제1 컨텐츠인 것으로 판단하고, 통신부는 대상 단말기로부터 이미지가 수신되기 전에 수신된, 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보 및 복수의 단말기 중 대상 단말기를 제외한 적어도 하나 이상의 단말기로부터 각각 수신된, 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보를 수신할 수 있다.
실시예로서, 제어부는 적어도 하나 이상의 단말기로부터 각각 수신된, 이미지 필터 이력 정보 중에서 대상 단말기로부터 수신된 이미지 필터 이력 정보에 포함된 이미지 필터와 중복된 이미지 필터를 가장 많이 포함하는 이미지 필터 이력 정보를 선택하고, 선택된 이미지 필터 이력 정보 중에서 대상 단말기로부터 수신된 이미지 필터 이력 정보와 중복되지 않은 이미지 필터에 기초하여 서로 다른 두 개 이상의 이미지 필터를 선택할 수 있다.
실시예로서, 통신부는 대상 단말기로부터 대상 단말기의 사용자의 취미 정보, 성별 정보, 나이 정보, 또는 선호하는 이미지 필터의 종류에 대한 정보 중 적어도 하나를 포함하는 사용자 정보를 수신할 수 있다.
실시예로서, 통신부는 복수의 단말기 중 대상 단말기를 제외한 적어도 하나 이상의 단말기 각각으로부터 사용자 정보, 이미지 필터가 적용된 이미지 및 이미지 필터가 적용된 이미지의 이미지 필터의 종류에 대한 정보를 수신하고, 제어부는 적어도 하나 이상의 단말기 각각으로부터 수신된 이미지 필터가 적용된 이미지에 포함된 컨텐츠의 종류를 식별하고, 사용자 정보, 식별된 컨텐츠의 종류, 및 수신된 이미지 필터의 종류 사이의 상관관계에 대해 학습된, 서로 다른 두 개 이상의 이미지 필터를 선택하기 위한 추천 알고리즘을 준비할 수 있다.
기재된 실시예에 따르면 사용자에 의해 촬영될 이미지에 포함된 컨텐츠에 적합한 서로 다른 두 개 이상의 이미지 필터가 자동으로 추천될 수 있다.
또한, 실시예에 따르면 서로 다른 두 개 이상의 이미지 필터를 자동으로 추천해줌으로써 사용자의 편리성이 향상될 수 있다.
도 1은 본 발명의 실시예에 따른 전자 장치가 동작하는 환경을 나타내는 네트워크 구성도이다.
도 2는 본 발명의 실시예에 따른 단말기의 구성을 나타내는 블록도이다.
도 3은 본 발명의 실시예에 따른 서버의 구성을 나타내는 블록도이다.
도 4는 본 발명의 실시예에 따른 서버의 동작 방법을 보여주는 블록도이다.
도 5는 본 발명의 실시예에 따른 서버가 추천 알고리즘을 준비하는 방법을 보여주는 순서도이다.
도 6 내지 도 8은 본 발명의 실시예에 따른 단말기로부터 사용자 입력 정보가 생성되는 방법을 보여주는 도면이다.
도 9는 본 발명의 다른 실시예에 따른 서버의 동작 방법을 보여주는 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 서버가 추천 알고리즘을 준비하는 방법을 보여주는 순서도이다.
도 11은 본 발명의 또 다른 실시예에 따른 서버의 동작 방법을 보여주는 순서도이다.
도 12는 본 발명의 실시예에 따른 서버에 준비된 컨텐츠의 종류별로 선택된 이미지 필터의 종류에 대한 정보를 보여주는 도면이다.
도 13 본 발명의 실시예에 따른 단말기 및 서버의 통신 방법을 보여주는 도면이다.
도 14는 본 발명의 다른 실시예에 따른 서버의 동작 방법을 보여주는 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1구성요소는 본 발명의 기술적 사상 내에서 제2구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 실시예에 따른 전자 장치가 동작하는 환경을 나타내는 네트워크 구성도이다. 도 1을 참조하면, 복수의 전자 장치(100~300)가 동작하는 환경은 서버(400) 및 복수의 전자 장치(100~300)를 포함할 수 있다. 예를 들어, 복수의 전자 장치(100~300)가 동작하는 환경은 서버(400)를 포함하지 않을 수 있다.
복수의 전자 장치(100~300) 각각은 서버(400)를 매개로 연결될 수 있다. 본 발명의 설명의 편의를 위해, 도 1에서 세 개의 전자 장치가 도시되어 있다. 하지만, 전자 장치의 개수는 세 개로 한정되지 않는다. 복수의 전자 장치(100~300) 각각은 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 스마트 태블릿, 스마트 워치, 이동 단말, 디지털 카메라, 웨어러블 디바이스(wearable device), 또는 휴대용 전자기기 중 하나로써 구현될 수 있다. 복수의 전자 장치(100~300) 각각은 프로그램 또는 애플리케이션을 실행할 수 있다.
복수의 전자 장치(100~300) 각각은 통신망에 연결될 수 있다. 복수의 전자 장치(100~300) 각각은 통신망을 통해 서로 연결되거나 서버(400)와 연결될 수 있다. 복수의 전자 장치(100~300) 각각은 서로 연결된 다른 장치에 데이터를 출력하거나 다른 장치로부터 데이터를 수신할 수 있다.
복수의 전자 장치(100~300) 각각에 연결된 통신망은 유선 통신망, 무선 통신망, 또는 복합 통신망을 포함할 수 있다. 통신망은 3G, LTE, 또는 LTE-A 등과 같은 이동 통신망을 포함할 수 있다. 통신망은 와이파이(Wi-Fi), UMTS/GPRS, 또는 이더넷(Ethernet) 등과 같은 유선 또는 무선 통신망을 포함할 수 있다. 통신망은 마그네틱 보안 출력(MST, Magnetic Secure Transmission), RFID(Radio Frequency IDentification), NFC(Near Field Communication), 지그비(ZigBee), Z-Wave, 블루투스(Bluetooth), 저전력 블루투스(BLE, Bluetooth Low Energy), 또는 적외선 통신(IR, InfraRed communication) 등과 같은 근거리 통신망을 포함할 수 있다. 통신망은 근거리 네트워크(LAN, Local Area Network), 도시권 네트워크(MAN, Metropolitan Area Network), 또는 광역 네트워크(WAN, Wide Area Network) 등을 포함할 수 있다.
서버(400)는 복수의 전자 장치(100~300) 각각의 사용자가 복수의 전자 장치(100~300)를 이용하여 촬영된 이미지를 보정할 수 있도록 각종 프로그램 또는 애플리케이션 및 데이터를 저장할 수 있다.
이하에서, 발명의 설명의 편의를 위해, 전자 장치 및 단말기는 동일한 의미로 사용될 수 있다.
도 2는 본 발명의 실시예에 따른 단말기의 구성을 나타내는 블록도이다. 도 2를 참조하면, 제1 단말기(100)는 입력부(110), 저장부(120), 제어부(130), 출력부(140) 및 통신부(150)를 포함할 수 있다. 도 1에 도시된 제2 단말기(200) 및 제3 단말기(300) 각각은 제1 단말기(100)와 유사 또는 동일하게 구현될 수 있다.
입력부(110)는 외부로부터 신호를 수신할 수 있다. 입력부(110)는 단말기(100)의 사용자로부터 신호를 수신할 수 있다. 또한, 입력부(110)는 외부 장치로부터 신호를 수신할 수 있다. 입력부(110)는 예를 들어, 마이크, 카메라, 키보드, 마우스, 트랙볼, 터치스크린, 버튼, 스위치, 센서, 네트워크 인터페이스, 또는 기타 입력 장치 등을 포함할 수 있다. 입력부(110)는 입력부(110)에 포함된 마이크를 통해 외부로부터 음성을 수신할 수 있다.
또한, 입력부(110)는 입력부(110)에 포함된 카메라로부터 촬영된 이미지 또는 사용자로부터 제스처를 수신할 수 있다. 또는, 입력부(110)는 단말기(100)의 주변으로부터 반사된 빛으로부터 변환된 프리뷰 이미지(preview image)를 입력받을 수 있다. 입력부(110)에 포함된 터치스크린은 단말기(100)의 사용자로부터 터치 입력을 수신할 수 있다. 입력부(110)는 단말기(100)의 사용자로부터 수신된 사용자 정보 또는 사용자 입력를 수신할 수 있다. 예를 들어, 사용자 정보는 단말기(100)의 사용자의 취미 정보, 성별 정보, 나이 정보, 또는 선호하는 이미지 필터 정보 중 적어도 하나를 포함할 수 있다. 그리고, 사용자 입력은 단말기(100)의 사용자로부터 수신되는 터치 입력일 수 있다.
저장부(120)는 데이터를 저장할 수 있다. 저장부(120)는 입력부(110)로부터 수신된 음성 또는 이미지 데이터를 저장할 수 있다. 그리고, 저장부(120)는 제어부(130)에 의해 수행된 연산 결과를 저장할 수 있다. 예를 들어, 저장부(120)는 제어부(130)에 의해 인코딩된 음성을 저장할 수 있다. 저장부(120)는 통신부(150)를 통해 외부에 출력할 데이터를 저장하거나 통신부(150)를 통해 외부로부터 수신된 데이터를 저장할 수 있다.
저장부(120)는 입력부(110)를 통해 수신된 사용자 정보 또는 사용자 입력 정보를 저장할 수 있다. 저장부(120)는 입력부(110)를 통해 수신된 이미지를 저장할 수 있다. 그리고, 수신된 이미지에 이미지 필터가 적용된 경우, 저장부(120)는 수신된 이미지 필터에 적용된 이미지 필터의 종류에 대한 정보를 함께 저장할 수 있다.
저장부(120)는 소프트웨어 또는 프로그램을 저장할 수 있다. 예를 들어, 저장부(120)는 애플리케이션, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 프로그램 및 다양한 종류의 데이터를 저장할 수 있다. 저장부(120)는 제어부(130)에 의해 실행 가능한 명령어들을 저장할 수 있다.
저장부(120)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 저장부(120)는 예를 들어, 플래시(flash) 메모리, ROM(Read Only Memory), RAM(Random Access Memory), EEROM(Electrically Erasable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 하드디스크 드라이브(HDD, Hard Disk Drive), 또는 레지스터(register) 중 적어도 하나를 포함할 수 있다. 저장부(120)는 예를 들어, 파일 시스템, 데이터베이스, 또는 임베디드 데이터베이스 등을 포함할 수 있다.
제어부(130) 또는 제어부(130)에 포함된 구성 요소들 각각은 소프트웨어(software) 또는 하드웨어(hardware) 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계코드, 펌웨어 코드(firmware code), 임베디드 코드(embedded code), 및 애플리케이션(application) 등과 같은 프로그램 실행 명령어들로써 구현될 수 있다. 하드웨어는 전기 전자 회로, 프로세서, 컴퓨터, 압력 센서, 관성 센서, MEMS(microelectromechanical system), 수동 소자들, 또는 그것들의 조합일 수 있다.
제어부(130)는 단말기(100)의 동작을 제어할 수 있다. 제어부(130)는 단말기(100)에 포함된 각각의 구성요소와 서로 연결될 수 있다. 제어부(130)는 단말기(100)에 포함된 각각의 구성요소의 동작을 제어할 수 있다. 제어부(130)는 입력부(110)에 의해 수신된 신호에 대한 응답으로, 단말기(100)의 동작을 제어할 수 있다.
제어부(130)는 입력부(110)를 통해 입력되는 프리뷰 이미지를 검사할 수 있다. 프리뷰 이미지는 단말기(100)의 사용자가 입력부(110)를 통해 입력되는 이미지를 저장하기 전에, 입력부(110)를 통해 입력되는 이미지를 의미할 수 있다. 예를 들어, 제어부(130)는 입력된 프리뷰 이미지에 포함된 컨텐츠(contents)의 종류를 식별할 수 있다.
예를 들어, 프리뷰 이미지에 포함된 컨텐츠는 사람, 특정 오브젝트(object), 특정 동물, 특정 풍경, 특정 패턴 또는 특정 색상 중 하나를 포함할 수 있다. 좀 더 구체적으로, 프리뷰 이미지에 포함된 컨텐츠가 특정 오브젝트인 경우, 제어부(130)는 오브젝트의 종류, 색상, 또는 패턴 등을 식별할 수 있다. 프리뷰 이미지에 포함된 컨텐츠가 사람인 경우, 제어부(130)는 사람의 성별, 피부색, 또는 모발색 등을 식별할 수 있다. 제어부(130)는 준비된 학습 모델을 이용하여 프리뷰 이미지에 포함된 컨텐츠의 종류에 적합한 두 개 이상의 이미지 필터를 선택할 수 있다.
출력부(140)는 표시부(141)를 포함할 수 있다. 표시부(141)는 화면을 표시할 수 있다. 제어부(130)는 표시부(141)에 화면이 표시되도록 제어할 수 있다. 표시부(141)는 사용자 인터페이스를 표시할 수 있다. 표시부(141)는 사용자로부터의 입력에 대한 응답으로 다른 화면을 표시할 수 있다.
표시부(141)는 데이터를 표시할 수 있다. 표시부(141)는 제어부(130)에 의해 수행된 연산 결과를 표시할 수 있다. 예를 들어, 표시부(141)는 제어부(130)에 의해 선택된 두 개 이상의 이미지 필터가 적용된 프리뷰 이미지를 출력할 수 있다. 표시부(141)는 저장부(120)에 저장된 데이터를 표시할 수 있다. 표시부(141)는 통신부(150)에 의해 수신된 데이터를 표시할 수 있다. 예를 들어, 표시부(141)는 입력부(110)로부터 수신되는 영상을 표시할 수 있다.
표시부(141)는 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode), 또는 PDP(Plasma Display Panel) 등의 평판 표시 장치를 포함할 수 있다. 표시부(141)는 곡면 디스플레이 또는 플렉서블 디스플레이(flexible display)를 포함할 수 있다. 표시부(141)는 터치스크린을 포함할 수 있다. 표시부(141)가 터치스크린을 포함하는 경우, 표시부(141)는 출력 동작을 수행하는 동시에 입력부(110)로써 동작할 수 있다.
출력부(140)는 소리를 출력할 수 있다. 출력부(140)는 입력부(110)를 통해 수신된 소리, 또는 외부 장치를 통해 수신된 소리를 출력할 수 있다. 예를 들어, 출력부(140)는 스피커(speaker)를 포함할 수 있다.
통신부(150)는 단말기(100)의 외부에 데이터를 출력하거나 외부로부터 데이터를 수신할 수 있다. 통신부(150)는 서버(400) 또는 외부 장치에 데이터를 출력할 수 있다. 통신부(150)는 서버(400) 및 외부 장치로부터 데이터를 수신할 수 있다. 통신부(150)는 제어부(130)에 의해 수행된 연산 결과를 외부에 출력할 수 있다.
통신부(150)는 프리뷰 이미지를 서버(400)에 출력하거나 프리뷰 이미지에서 식별된 컨텐츠의 종류에 대한 정보를 서버(400)에 출력할 수 있다. 통신부(150)는 저장부(120)에 저장된 이미지 또는 저장된 이미지에 적용된 이미지 필터의 종류에 대한 정보를 서버(400)에 출력할 수 있다. 또는, 통신부(150)는 저장부(120)에 저장된 사용자 정보 또는 사용자 입력 정보를 서버(400)에 출력할 수 있다. 그리고, 통신부(150)는 서버(400)로부터 선택된 두 개 이상의 이미지 필터의 종류에 대한 정보를 수신할 수 있다.
통신부(150)는 예를 들어, 3G 모듈, LTE 모듈, LTE-A 모듈, Wi-Fi 모듈, 와이기그(WiGig) 모듈, UWB(Ultra Wide Band) 모듈, 또는 랜카드 등과 같은 원거리용 네트워크 인터페이스를 포함할 수 있다. 또한, 통신부(150)는 마그네틱 보안 출력(MST) 모듈, 블루투스 모듈, NFC 모듈, RFID 모듈, 지그비(ZigBee) 모듈, Z-Wave 모듈, 또는 적외선 모듈 등과 같은 근거리용 네트워크 인터페이스를 포함할 수 있다. 또한, 통신부(150)는 기타 네트워크 인터페이스를 포함할 수 있다.
도 3은 본 발명의 실시예에 따른 서버의 구성을 나타내는 블록도이다. 도 1 및 도 3을 참조하면, 서버(400)는 통신부(410), 저장부(420) 및 제어부(430)를 포함할 수 있다.
통신부(410)는 서버(400)의 외부에 데이터를 출력하거나 외부로부터 데이터를 수신할 수 있다. 통신부(410)는 복수의 단말기(100~300)에 데이터를 출력할 수 있다. 통신부(410)는 복수의 단말기(100~300)로부터 데이터를 수신할 수 있다. 통신부(410)는 제어부(430)에 의해 수행된 연산 결과를 외부에 출력할 수 있다. 또한, 통신부(410)는 저장부(420)에 저장된 데이터를 외부에 출력할 수 있다.
통신부(410)는 복수의 단말기(100~300) 중 적어도 하나로부터 이미지를 수신할 수 있다. 이미지는 복수의 단말기(100~300) 중 적어도 하나의 주변으로부터 반사된 빛으로부터 변환된 프리뷰 이미지일 수 있다. 또는, 이미지는 복수의 단말기(100~300) 중 적어도 하나에 저장된 이미지일 수 있다. 수신된 이미지에 이미지 필터가 적용된 경우, 통신부(410)는 수신된 이미지에 적용된 이미지 필터의 종류에 대한 정보를 함께 수신할 수 있다. 또는, 통신부(410)는 복수의 단말기(100~300) 중 적어도 하나로부터 이미지 및 이미지에 포함된 컨텐츠의 종류에 대한 정보를 수신할 수 있다. 통신부(410)는 복수의 단말기(100~300) 중 적어도 하나로부터 사용자 입력 정보 또는 사용자 정보를 수신할 수 있다.
통신부(410)에 의해 출력될 데이터 또는 통신부(410)에 의해 수신된 데이터는 저장부(420)에 저장될 수 있다. 그리고, 통신부(410)는 제어부(430)에서 학습된 기계 학습 모델에 대한 정보를 복수의 단말기(100~300) 중 하나에 전송할 수 있다.
통신부(410)는 예를 들어, 3G 모듈, LTE 모듈, LTE-A 모듈, Wi-Fi 모듈, 와이기그 모듈, UWB 모듈, 또는 랜카드 등과 같은 원거리용 네트워크 인터페이스를 포함할 수 있다. 또한, 통신부(201)는 마그네틱 보안 출력(MST) 모듈, 블루투스 모듈, NFC 모듈, RFID 모듈, 지그비 모듈, Z-Wave 모듈, 또는 적외선 모듈 등과 같은 근거리용 네트워크 인터페이스를 포함할 수 있다. 또한, 통신부(410)는 기타 네트워크 인터페이스를 포함할 수 있다.
저장부(420)는 애플리케이션, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 프로그램 및 다양한 종류의 데이터를 저장할 수 있다. 저장부(420)는 제어부(430)에 의해 실행 가능한 명령어들을 저장할 수 있다. 예를 들어, 애플리 케이션은 이미지에 이미지 필터를 적용 가능한 이미지 필터를 추천해주는 서비스를 제공하는 애플리케이션일 수 있다. 저장부(420)는 통신부(410)를 통해 수신된 이미지, 이미지에 적용된 이미지 필터의 종류에 대한 정보, 또는 이미지에 포함된 컨텐츠의 종류에 대한 정보 중 적어도 하나를 저장할 수 있다. 또는, 저장부(420)는 통신부(410)를 통해 수신된 복수의 단말기(100~300) 중 적어도 하나의 사용자 입력 정보 또는 사용자 정보를 저장할 수 있다.
저장부(420)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 저장부(420)는 예를 들어, 플래시 메모리, ROM, EEROM, EPROM, EEPROM, 하드디스크 드라이브, 또는 레지스터 중 적어도 하나를 포함할 수 있다. 저장부(420)는 예를 들어, 파일 시스템, 데이터베이스, 또는 임베디드 데이터베이스 등을 포함할 수 있다.
제어부(430) 또는 제어부(430)에 포함된 구성 요소들 각각은 소프트웨어 또는 하드웨어 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계코드, 펌웨어 코드, 임베디드 코드, 및 애플리케이션 등과 같은 프로그램 실행 명령어들로 구현될 수 있다. 하드웨어는 전기 전자 회로, 프로세서, 컴퓨터, 압력 센서, 관성 센서, MEMS, 수동 소자들, 또는 그것들의 조합일 수 있다.
제어부(430)는 저장부(420)에 저장된 명령어들 및 애플리케이션을 실행할 수 있다. 예를 들어, 제어부(430)는 애플리케이션을 실행함으로써 복수의 단말기(100~300) 중 적어도 하나로부터 수신된 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다. 또는, 제어부(430)는 저장부(420)에 저장된 애플리케이션을 실행함으로써 복수의 단말기(100~300) 중 특정 단말기의 사용자가 선택할 확률이 높을 것으로 예측되는 적어도 두 개 이상의 이미지 필터를 선택할 수 있다. 예를 들어, 제어부(430)는 복수의 단말기(100~300) 중 적어도 하나로부터 수신된 이미지에 포함된 컨텐츠의 종류에 대한 정보 및 선택된 필터의 종류에 대한 정보 기초하여 특정 단말기의 사용자가 선택할 확률이 높을 것으로 예측되는 적어도 두 개 이상의 이미지 필터를 선택할 수 있다.
다른 예로서, 제어부(430)는 저장부(420)에 저장된 애플리케이션을 실행함으로써, 복수의 단말기(100~300) 중 적어도 하나로부터 수신된 사용자 정보, 이미지에 포함된 컨텐츠의 종류에 대한 정보, 및 선택된 필터의 종류에 대한 정보에 기초하여 특정 단말기의 사용자가 선택할 확률이 높을 것으로 예측되는 적어도 두 개 이상의 이미지 필터를 선택할 수 있다.
다른 예로서, 제어부(430)는 저장부(420)에 저장된 애플리케이션을 실행함으로써, 복수의 단말기(100~300) 중 적어도 하나로부터 수신된 사용자 입력 정보, 이미지에 포함된 컨텐츠의 종류에 대한 정보, 및 선택된 필터의 종류에 대한 정보에 기초하여 특정 단말기의 사용자가 선택할 확률이 높을 것으로 예측되는 적어도 두 개 이상의 이미지 필터를 선택할 수 있다.
제어부(430)의 동작은 도 4 내지 도 14를 참조하여 설명될 수 있다.
도 4는 본 발명의 실시예에 따른 서버의 동작 방법을 보여주는 블록도이다. S110 단계에서, 서버(400)의 통신부(410)는 대상 단말기(100)로부터 이미지를 수신할 수 있다. 본 발명의 설명을 위해, 대상 단말기(100)는 제1 단말기(100)인 것으로 가정한다. 예를 들어, 서버(400)는 통신부(410)를 통해 입력되는 이미지에 적용되는 이미지 필터를 선택할 수 있는 서비스를 제공하는 애플리케이션을 실행할 수 있다.
S120 단계에서, 서버(400)의 제어부(430)는 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 준비된 학습 모델을 이용하여 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다.
준비된 학습 모델은 애플리케이션을 통해 수신된 이미지에 포함된 컨텐츠의 종류를 식별하기 위해 이용되는 데이터 인식 모델일 수 있다. 데이터 인식 모델은 인공 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예를 들면, 학습 모델은 DNN(Deep Neural Network), RNN(Recurrent Neural Network), 및 BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
준비된 학습 모델은 이미지에 포함된 컨텐츠의 종류를 식별하기 위한 학습 모델 일 수 있다. 컨텐츠의 종류를 식별하기 위한 학습 모델은 다수의 사진에 대한 이미지 데이터 및 다수의 사진에 포함된 컨텐츠의 종류 사이의 상관관계에 대해 학습된 결과일 수 있다. 예를 들어, 서버(400)는 다수의 사진 에 대한 이미지 데이터 및 다수의 사진에 포함된 컨텐츠의 종류 사이의 상관관계를 학습할 수 있다. 서버(400)는 학습 결과에 기초하여 인공 신경망을 훈련하여, 이미지에 포함된 컨텐츠의 종류를 식별하기 위한 학습 모델을 생성할 수 있다.
S130 단계에서, 서버(400)의 제어부(430)는 이미지에 적용 가능한 이미지 필터에 대한 추천 알고리즘을 준비할 수 있다. 예를 들어, 준비된 추천 알고리즘은 프리뷰 이미지에 적용 가능한 이미지 필터를 선택하기 위해 이용되는 데이터 인식 모델일 수 있다. 데이터 인식 모델은 인공 신경망을 기반으로 하는 모델일 수 있다. 예를 들면, 학습 모델은 DNN, RNN, 및 BRDNN과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
준비된 추천 알고리즘은 이미지에 적용 가능한 이미지 필터를 추천하기 위한 학습 모델일 수 있다. 이미지 필터를 추천하기 위한 학습 모델은 다수의 이미지에 포함된 컨텐츠의 종류 및 다수의 이미지를 보정하기 위해 사용자에 의해 선택된 이미지 필터의 종류 사이의 상관관계에 대해 학습된 결과일 수 있다. 예를 들어, 서버(400)는 다수의 이미지에 포함된 컨텐츠의 종류 및 다수의 이미지를 보정하기 위해 선택된 이미지 필터의 종류 사이의 상관관계를 학습할 수 있다. 서버(400)는 학습 결과에 기초하여 인공 신경망을 훈련하여, 이미지에 적용 가능한 이미지 필터의 종류를 선택하기 위한 학습 모델을 생성할 수 있다.
또는, 준비된 추천 알고리즘은 복수의 단말기(100~300) 중 대상 단말기(100)를 제외한 나머지 단말기(200, 300)로부터 수신된 정보에 기초하여 학습될 수 있다. 이에 대한 실시예는 도 5를 참조하여 설명될 수 있다.
S140 단계에서, 서버(400)의 제어부(430)는 이미지 필터를 선택하기 위한 추천 알고리즘을 이용하여 두 개 이상의 이미지 필터를 선택할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 대상 단말기(100)로부터 수신된 이미지에 포함된 컨텐츠를 보정하기 위한 두 개 이상의 이미지 필터를 선택할 수 있다.
예를 들어, 서버(400)의 제어부(430)는 이미지에 포함된 컨텐츠의 종류에 따라 대상 단말기(100)의 사용자가 선택할 확률이 높을 것으로 예측되는 두 개 이상의 이미지 필터를 선택할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 이미지에 포함된 컨텐츠의 종류에 따라 단말기(100)의 사용자가 선택할 확률이 가장 높을 것으로 예측된 이미지 필터 및 선택할 확률이 두 번째로 높을 것으로 예측된 이미지 필터를 선택할 수 있다.
S150 단계에서, 서버(400)의 통신부(410)는 선택된 두 개 이상의 이미지 필터에 대한 정보를 대상 단말기(100)에 전송할 수 있다. 예를 들어, 대상 단말기(100)의 출력부(140)는 두 개 이상의 이미지 필터에 대한 정보를 기반으로 이미지를 두 개 이상의 이미지 영역으로 구분하고, 두 개 이상의 이미지 영역에 각각 선택된 두 개 이상의 이미지 필터를 적용할 수 있다.
도 5는 본 발명의 실시예에 따른 서버가 추천 알고리즘을 준비하는 방법을 보여주는 순서도이다. 도 4 및 도 5를 참조하면 S131 단계에서, 서버(400)의 통신부(410)는 적어도 하나 이상의 단말기로부터 사용자 입력 정보 및 이미지를 수신할 수 있다. 예를 들어, 적어도 하나 이상의 단말기는 복수의 단말기(100~300) 중 대상 단말기(100)를 제외한 나머지 단말기들(200, 300)일 수 있다. 사용자 입력 정보는 대상 단말기(100)의 표시부(141)에 입력되는 터치 드래그(touch drag) 입력으로부터 생성되는 정보일 수 있다. 사용자 입력 정보가 생성되는 방법은 도 6 내지 도 8을 참조하여 설명될 수 있다.
도 6 내지 도 8은 본 발명의 실시예에 따른 단말기로부터 사용자 입력 정보가 생성되는 방법을 보여주는 도면이다.
도 6에 도시된 단말기는 제2 단말기(200)인 것으로 가정한다. 본 발명은 이에 한정되지 않고, 도 6에 도시된 단말기는 제2 단말기(200) 또는 제3 단말기(300) 중 적어도 하나로 구현될 수 있다.
제2 단말기(200)의 출력부(141)를 통해 프리뷰 이미지가 표시될 수 있다. 프리뷰 이미지는 제2 단말기(200)의 입력부(110)를 통해 입력된 제2 단말기(200)의 주변으로부터 반사된 빛으로부터 생성될 수 있다. 예를 들어, 표시부(141)의 제1 표시 영역(142)은 프리뷰 이미지의 제1 이미지 영역에 대응하고, 제2 표시 영역(143)은 프리뷰 이미지의 제2 이미지 영역에 대응할 수 있다.
제1 표시 영역(142)을 통해 표시되는 제1 이미지 영역 및 제2 표시 영역(143)을 통해 표시되는 제2 이미지 영역 각각에 서로 다른 이미지 필터가 적용될 수 있다. 예를 들어, 제1 표시 영역(142)에는 제1 이미지 필터(예를 들어, ‘mellow’ 이미지 필터)가 적용된 제1 이미지 영역이 표시될 수 있고, 제2 표시 영역(143)에는 제2 이미지 필터(예를 들어, ‘hipster’ 이미지 필터)가 적용된 제2 이미지 영역이 표시될 수 있다. 즉, 제1 이미지 영역은 프리뷰 이미지에서 제1 이미지 필터가 적용된 범위일 수 있고, 제2 이미지 영역은 프리뷰 이미지에서 제2 이미지 필터가 적용된 범위일 수 있다.
예를 들어, 제1 이미지 영역은 프리뷰 이미지의 좌측 일부 영역에 대응할 수 있다. 제2 이미지 영역은 프리뷰 이미지의 우측 일부 영역에 대응할 수 있다. 그리고, 제2 이미지 영역은 프리뷰 이미지에서 제1 이미지 영역을 제외한 나머지 영역에 대응할 수 있다. 본 발명은 이에 한정되지 않고, 제1 이미지 영역은 프리뷰 이미지의 상측 일부 영역에 대응할 수 있다. 제2 이미지 영역은 프리뷰 이미지의 하측 일부 영역에 대응할 수 있다. 그리고, 제2 이미지 영역은 프리뷰 이미지에서 제1 이미지 영역을 제외한 나머지 영역에 대응할 수 있다.
예를 들어, 제1 이미지 영역에 적용된 제1 이미지 필터는 서버(400)에서 프리뷰 이미지에 포함된 오브젝트의 종류에 따라 단말기(100)의 사용자가 선택할 확률이 가장 높을 것으로 예측된 이미지 필터일 수 있다. 제2 이미지 영역에 적용된 제2 이미지 필터는 서버(400)에서 프리뷰 이미지에 포함된 오브젝트의 종류에 따라 단말기(100)의 사용자가 선택할 확률이 두 번째로 높을 것으로 예측된 이미지 필터일 수 있다
예를 들어, 제2 단말기(200)의 표시부(141)는 제1 표시 영역(142) 및 제2 표시 영역(143)의 경계의 임의의 지점에서 시작하는 터치 드래그 입력을 수신할 수 있다. 도 6을 참조하면, 제2 단말기(200)는 제1 표시 영역(142) 및 제2 표시 영역(143)의 경계의 임의의 지점을 터치하고, 제1 방향(D1)으로 드래그하는 사용자 입력 또는 제1 방향(D1)과 반대되는 제2 방향(D2)으로 드래그하는 사용자 입력 중 하나를 수신할 수 있다. 예를 들어, 제1 방향(D1)은 제2 표시 영역(143)에서 제1 표시 영역(142)을 향하는 방향이고, 제2 방향(D2)은 제1 표시 영역(142)에서 제2 표시 영역(143)을 향하는 방향일 수 있다. 제2 단말기(200)는 사용자 입력에 기초하여 프리뷰 이미지의 제1 이미지 영역 또는 제2 이미지 영역의 비율을 조정할 수 있다.
도 7을 참조하면, 제1 표시 영역(142) 및 제2 표시 영역(143)의 경계의 임의의 지점에서부터 시작되는 제1 방향(D1)으로의 터치 드래그 입력이 수신되는 경우, 단말기(100)는 터치 드래그 입력의 시작점과 종점 사이의 거리에 비례하도록 프리뷰 이미지에서 제2 이미지 영역의 비율을 증가시킬 수 있다. 그리고, 제2 이미지 영역의 비율이 증가한만큼 제1 이미지 영역의 비율이 감소할 것이다. 제2 이미지 영역의 크기가 증가하면, 제2 이미지 영역에 대응하는 제2 표시 영역(143)의 크기도 함께 증가할 수 있다.
제1 표시 영역(142) 및 제2 표시 영역(143)의 경계의 임의의 지점에서부터 시작되는 제1 방향(D1)으로의 터치 드래그 입력이 수신되는 경우, 제2 단말기(200)는 터치 드래그 입력의 시작점과 종점 사이의 거리에 비례하도록 프리뷰 이미지에서 제2 이미지 영역의 비율을 증가시킬 수 있다. 그리고, 제2 이미지 영역의 비율이 증가한만큼 제1 이미지 영역의 비율이 감소할 것이다. 제2 이미지 영역의 크기가 증가하면, 제2 이미지 영역에 대응하는 제2 표시 영역(143)의 크기도 함께 증가할 수 있다.
도 8을 참조하면, 제1 표시 영역(142) 및 제2 표시 영역(143)의 경계의 임의의 지점에서부터 시작되는 제2 방향(D2)으로의 터치 드래그 입력이 수신되는 경우, 제2 단말기(200)는 터치 드래그 입력의 시작점과 종점 사이의 거리에 비례하도록 프리뷰 이미지에서 제1 이미지 영역의 비율을 증가시킬 수 있다. 그리고, 제1 이미지 영역의 비율이 증가한만큼 제2 이미지 영역의 비율은 감소할 것이다. 제1 이미지 영역의 크기가 증가하면, 제1이미지 영역에 대응하는 제1 표시 영역(142)의 크기도 함께 증가할 수 있다.
제1 이미지 영역의 비율이 제2 이미지 영역보다 증가하면, 제1 표시 영역(142)에서 표시되는 제1 이미지 영역의 가로 폭(W1)은 제2 표시 영역(143)에서 표시되는 제2 이미지 영역의 가로 폭(W2)보다 넓어질 수 있고, 프리뷰 이미지에서 제2 이미지 필터가 적용된 제2 이미지 영역보다 제1 이미지 필터가 적용된 제1 이미지 영역의 크기가 더 커질 수 있다.
예를 들어, 제2 단말기(200)는 제1 이미지 영역의 비율이 제2 이미지 영역의 비율보다 높아진 횟수, 또는 제2 이미지 영역의 비율이 제1 이미지 영역의 비율보다 높아진 횟수에 대한 정보를 사용자 입력 정보로서 생성할 수 있다. 제2 단말기(200)는 생성된 사용자 입력 정보를 서버(400)에 전송할 수 있다.
다른 예로서, 제2 단말기(200)는 제1 이미지 영역의 비율이 제2 이미지 영역의 비율보다 높아진 시간, 또는 제2 이미지 영역의 비율이 제1 이미지 영역의 비율보다 높아진 시간에 대한 정보를 사용자 입력 정보로서 생성할 수 있다. 제2 단말기(200)는 생성된 사용자 입력 정보를 서버(400)에 전송할 수 있다.
제3 단말기(300)는 도 6 내지 도 8을 참조하여 설명된 방법과 유사 또는 동일한 방법으로 사용자 입력 정보를 생성할 수 있다. 제3 단말기(300)는 생성된 사용자 정보를 서버(400)에 전송할 수 있다.
다시 도 5를 참조하면, S132 단계에서, 서버(400)의 제어부(430)는 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 준비된 학습 모델을 이용하여 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다.
S133 단계에서, 서버(400)의 통신부(410)는 적어도 하나 이상의 단말기(200, 300)로부터 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 정보를 수신할 수 있다. 예를 들어, 이미지에 적용되기 위해 선택된 이미지 필터는 적어도 하나 이상의 단말기(200, 300) 각각의 사용자가 자신의 단말기에 저장된 이미지에 적용한 이미지 필터일 수 있다.
S134 단계에서, 서버(400)의 제어부(430)는 적어도 하나 이상의 단말기(200, 300)로부터 수신된 사용자 입력 정보, 이미지로부터 식별된 컨텐츠의 종류 및 적용된 필터의 종류를 이용하여 학습 모델을 학습할 수 있다. 학습 모델은 적어도 하나 이상의 단말기(200, 300)로부터 수신된 사용자 입력 정보, 및 적어도 하나 이상의 단말기(200, 300)로부터 수신된 이미지로부터 식별된 컨텐츠의 종류와 이미지에 적용되기 위해 선택된 이미지 필터의 종류 사이의 상관관계에 대해 학습된 결과일 수 있다.
서버(400)의 제어부(430)는 학습 결과에 기초하여 인공 신경망을 훈련하여, 서로 다른 두 개 이상의 이미지 필터를 선택하기 위한 학습 모델을 생성할 수 있다. 서버(400)의 제어부(430)는 대상 단말기(100)로부터 수신된 이미지 및 학습 모델을 이용하여 대상 단말기(100)의 사용자가 선택할 확률이 높을 것으로 예측되는 적어도 두 개 이상의 이미지 필터를 선택할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 서버의 동작 방법을 보여주는 순서도이다. S210 단계에서, 서버(400)의 통신부(410)는 대상 단말기(100)로부터 사용자 정보 및 이미지를 수신할 수 있다. 사용자 정보는 대상 단말기(100)의 사용자가 자신의 단말기에 입력한 프로필 정보일 수 있다. 프로필 정보는 단말기의 사용자의 취미 정보, 성별 정보, 나이 정보, 또는 선호하는 이미지 필터의 종류에 대한 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 서버(400)는 대상 단말기(100)로부터 수신된 이미지에 적용 가능한 이미지 필터를 추천할 수 있는 서비스를 제공하는 애플리케이션을 실행할 수 있다.
S220 단계에서, 서버(400)의 제어부(430)는 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 준비된 학습 모델을 이용하여 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다.
S230 단계에서, 서버(400)의 제어부(430)는 이미지에 적용 가능한 이미지 필터에 대한 추천 알고리즘을 준비할 수 있다. 예를 들어, 준비된 추천 알고리즘은 애플리케이션을 통해 이미지에 적용 가능한 이미지 필터를 선택하기 위해 이용되는 데이터 인식 모델일 수 있다. 서버(400)의 제어부가 추천 알고리즘을 준비하는 방법은 도10을 참조하여 설명될 수 있다.
S240 단계에서, 서버(400)의 제어부(430)는 이미지 필터를 선택하기 위한 추천 알고리즘을 이용하여 두 개 이상의 이미지 필터를 선택할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 대상 단말기(100)로부터 수신된 이미지에 포함된 컨텐츠를 보정하기 위한 두 개 이상의 이미지 필터를 선택할 수 있다. 서버(400)의 제어부(430)는 대상 단말기로부터 수신된 사용자 정보, 이미지, 및 추천 알고리즘을 이용하여 서로 다른 두 개 이상의 이미지 필터를 선택할 수 있다.
예를 들어, 서버(400)의 제어부(430)는 대상 단말기(100)의 사용자의 사용자 정보 및 이미지에 포함된 컨텐츠의 종류에 따라 대상 단말기(100)의 사용자가 선택할 확률이 높을 것으로 예측되는 두 개 이상의 이미지 필터를 선택할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 대상 단말기(100)의 사용자의 사용자 정보 및 이미지에 포함된 컨텐츠의 종류에 따라 단말기(100)의 사용자가 선택할 확률이 가장 높을 것으로 예측된 이미지 필터 및 선택할 확률이 두 번째로 높을 것으로 예측된 이미지 필터를 선택할 수 있다.
S250 단계에서, 서버(400)의 통신부(410)는 선택된 두 개 이상의 이미지 필터에 대한 정보를 대상 단말기(100)에 전송할 수 있다. 예를 들어, 대상 단말기(100)의 출력부(140)는 이미지를 두 개 이상의 이미지 영역으로 구분하고, 두 개 이상의 이미지 영역에 각각 선택된 두 개 이상의 이미지 필터를 적용할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 서버가 추천 알고리즘을 준비하는 방법을 보여주는 순서도이다. 도 3, 도 9, 및 도 10을 참조하면, S231 단계에서, 서버(400)의 통신부(410)는 적어도 하나 이상의 단말기로부터 사용자 정보 및 이미지를 수신할 수 있다. 예를 들어, 적어도 하나 이상의 단말기(200, 300)는 복수의 단말기(100~300) 중 대상 단말기(100)를 제외한 나머지 단말기들일 수 있다. 사용자 정보는 적어도 하나 이상의 단말기(200, 300) 각각의 사용자가 자신의 단말기에 입력한 프로필 정보일 수 있다. 프로필 정보는 단말기의 사용자의 취미 정보, 성별 정보, 나이 정보, 또는 선호하는 이미지 필터 정보 중 적어도 하나를 포함할 수 있다.
S232 단계에서, 서버(400)의 제어부(430)는 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 준비된 학습 모델을 이용하여 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다.
S233 단계에서, 서버(400)의 통신부(410)는 적어도 하나 이상의 단말기(200, 300)로부터 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 정보를 수신할 수 있다. 예를 들어, 선택된 이미지 필터는 적어도 하나 이상의 단말기(200, 300) 각각의 사용자가 자신의 단말기에 입력된 이미지에 적용하기 위해 선택한 이미지 필터일 수 있다.
S234 단계에서, 서버(400)의 제어부(430)는 적어도 하나 이상의 단말기(200, 300)로부터 수신된 사용자 정보, 이미지에서 식별된 컨텐츠의 종류 및 선택된 필터의 종류를 이용하여 학습 모델을 학습할 수 있다. 학습 모델은 적어도 하나 이상의 단말기(200, 300)로부터 수신된 사용자 정보, 및 이미지에서 식별된 컨텐츠의 종류와 적용된 필터의 종류 사이의 상관관계에 대해 학습된 결과일 수 있다.
서버(400)의 제어부(430)는 학습 결과에 기초하여 인공 신경망을 훈련하여, 서로 다른 두 개 이상의 이미지 필터를 선택하기 위한 학습 모델을 생성할 수 있다. 제어부(430)는 학습 모델, 대상 단말기(100)의 사용자의 사용자 정보 및 이미지에 포함된 컨텐츠의 종류를 이용하여 대상 단말기(100)의 사용자가 선택할 확률이 높을 것으로 예측되는 두 개 이상의 이미지 필터를 선택할 수 있다.
도 11은 본 발명의 또 다른 실시예에 따른 서버의 동작 방법을 보여주는 순서도이다. 도 3 및 도 11을 참조하면, S310 단계에서, 서버(400)의 통신부(410)는 대상 단말기(100)로부터 이미지를 수신할 수 있다.
S320 단계에서, 서버(400)의 제어부(430)는 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 준비된 학습 모델을 이용하여 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다.
S330 단계에서, 서버(400)는 컨텐츠의 종류별로 선택된 이미지 필터의 종류에 대한 정보를 준비할 수 있다. S340 단계에서, 서버(400)는 컨텐츠의 종류별로 선택된 이미지 필터의 종류에 대한 정보를 기반으로 대상 단말기(100)의 사용자가 선택할 것으로 예측되는 두 개 이상의 이미지 필터를 선택할 수 있다. S330 단계 및 S340 단계는 도 12 및 도 13을 참조하여 자세히 설명될 수 있다.
도 12는 본 발명의 실시예에 따른 서버에 준비된 컨텐츠의 종류별로 선택된 이미지 필터의 종류에 대한 정보를 보여주는 도면이다. 도 3, 도 11 및 도 12를 참조하면, 목록에 포함된 정보는 복수의 단말기(100~300)로부터 수신될 수 있다. 목록은 서버(400)의 저장부(420)에 저장될 수 있다.
예를 들어, 제1 이미지 필터 이력 정보(421)는 제1 단말기(100)로부터 수신된, 제1 컨텐츠(CN1)가 포함된 이미지에 적용된 이미지 필터의 종류에 대한 정보를 포함할 수 있다. 제1 단말기(100)의 사용자는 제1 컨텐츠(CN1)가 포함된 이미지에 적용하기 위한 이미지 필터로써 제2 이미지 필터(IF2), 제3 이미지 필터(IF3), 제6 이미지 필터(IF6), 제7 이미지 필터(IF7) 및 제8 이미지 필터(IF8)를 선택할 수 있다.
선택된 필터(예를 들어, 제2 이미지 필터(IF2), 제3 이미지 필터(IF3), 제6 이미지 필터(IF6), 제7 이미지 필터(IF7) 또는 제8 이미지 필터(IF8))에 대한 정보는 제1 단말기(100)의 사용자에 의해 제1 컨텐츠(CN1)를 포함하는 이미지에 적용하기 위해 각각의 이미지 필터가 선택될 때마다 서버(400)에 전송될 수 있다.
제2 이미지 필터 이력 정보(422)는 제2 단말기(200)로부터 수신된, 제1 컨텐츠(CN1)가 포함된 이미지에 적용된 이미지 필터의 종류에 대한 정보를 포함할 수 있다. 제2 단말기(200)의 사용자는 제1 컨텐츠(CN1)가 포함된 이미지에 적용하기 위한 이미지 필터로써 제3 이미지 필터(IF3), 제4 이미지 필터(IF4), 제5 이미지 필터(IF5), 제8 이미지 필터(IF8), 제9 이미지 필터(IF9), 및 제10 이미지 필터(IF10)를 선택할 수 있다.
선택된 필터(예를 들어, 제3 이미지 필터(IF3), 제4 이미지 필터(IF4), 제5 이미지 필터(IF5), 제8 이미지 필터(IF8), 제9 이미지 필터(IF9), 또는 제10 이미지 필터(IF10))에 대한 정보는 제2 단말기(200)의 사용자에 의해 제1 컨텐츠(CN1)를 포함하는 이미지에 적용하기 위해 각각의 이미지 필터가 선택될 때마다 서버(400)에 전송될 수 있다.
제3 이미지 필터 이력 정보(423)는 제3 단말기(300)로부터 수신된, 제1 컨텐츠(CN1)가 포함된 이미지에 적용하기 위해 선택된 이미지 필터의 종류에 대한 정보를 포함할 수 있다. 제3 단말기(300)의 사용자는 제1 컨텐츠(CN1)가 포함된 이미지에 적용하기 위한 이미지 필터로써 제1 이미지 필터(IF1), 제3 이미지 필터(IF3), 제6 이미지 필터(IF6), 제7 이미지 필터(IF7), 제8 이미지 필터(IF8), 및 제9 이미지 필터(IF9)를 선택할 수 있다.
선택된 필터(예를 들어, 제1 이미지 필터(IF1), 제3 이미지 필터(IF3), 제6 이미지 필터(IF6), 제7 이미지 필터(IF7), 제8 이미지 필터(IF8), 또는 제9 이미지 필터(IF9))에 대한 정보는 제3 단말기(300)의 사용자에 의해 제1 컨텐츠(CN1)를 포함하는 이미지에 적용하기 위해 각각의 이미지 필터가 선택될 때마다 서버(400)에 전송될 수 있다.
대상 단말기(100)로부터 수신된 이미지로부터 식별된 컨텐츠의 종류는 제1 컨텐츠(CN1)일 수 있다. 서버(400)는 대상 단말기(100)에 제공될 두 개 이상의 이미지 필터의 종류에 대한 정보를 생성하기 위해, 복수의 단말기(100~300) 각각으로부터 수신된 제1 내지 제3 이미지 필터 이력 정보(421~423)를 이용할 수 있다. 복수의 단말기(100~300) 각각으로부터 수신된 제1 내지 제3 이미지 필터 이력 정보(421~423)는 대상 단말기(100)로부터 이미지를 수신하기 전에 수신되어 서버(400)의 저장부(420)에 저장될 수 있다.
서버(400)의 제어부(430)는 추천 알고리즘으로써 협업 필터링 알고리즘(collaborative filtering algorithm)을 이용할 수 있다. 서버(400)의 제어부(430)는 협업 필터링 알고리즘을 이용하여 대상 단말기(100)에 제공될 두 개 이상의 이미지 필터의 종류에 대한 정보를 생성할 수 있다. 좀 더 구체적으로, 서버(400)의 제어부(430)는 협업 필터릴 알고리즘을 이용하여 대상 단말기(100)의 사용자가 선택할 확률이 높을 것으로 예측되는 이미지 필터를 선택할 수 있다.
서버(400)의 제어부(430)는 제2 이미지 필터 이력 정보(422) 및 제3 이미지 필터 이력 정보(423) 중 제1 이미지 필터 이력 정보(421)에 포함된 이미지 필터와 중복된 이미지 필터를 가장 많이 포함하는 정보를 선택할 수 있다. 제2 이미지 필터 이력 정보(422)는 제1 이미지 필터 이력 정보(421)와 두 개의 중복된 이미지 필터를 포함할 수 있다. 예를 들어, 2 이미지 필터 이력 정보(422) 및 제1 이미지 필터 이력 정보(421) 사이에 중복된 이미지 필터는 제3 이미지 필터(IF3), 및 제8 이미지 필터(IF8)일 수 있다. 그리고, 제3 이미지 필터 이력 정보(423)는 제1 이미지 필터 이력 정보(421)와 네 개의 중복된 이미지 필터를 포함할 수 있다. 예를 들어, 제3 이미지 필터 이력 정보(423) 및 제1 이미지 필터 이력 정보(421) 사이의 중복된 이미지 필터는 제3 이미지 필터(IF3), 제6 이미지 필터(IF6), 제7 이미지 필터(IF7) 및 제8 이미지 필터(IF8)일 수 있다.
제1 이미지 필터 이력 정보(421)와 중복된 이미지 필터를 가장 많이 포함하는 정보는 제3 이미지 필터 이력 정보(423)이다. 따라서, 서버(400)의 제어부(430)는 제3 단말기(300)의 사용자가 선택한 이미지 필터를 대상 단말기(100)의 사용자가 선호할 것으로 예측할 수 있다.
서버(400)의 제어부(430)는 제3 이미지 필터 이력 정보(423)를 기반으로 대상 단말기(100)에 제공될 이미지 필터의 종류를 선택할 수 있다. 예를 들어, 서버(400)의 제어부(430)는 제3 이미지 필터 이력 정보(423)에 포함된 이미지 필터의 종류 중에서, 제1 이미지 필터 이력 정보(421)에 포함된 이미지 필터의 종류와 중복되지 않는 나머지 두 개의 이미지 필터를 대상 단말기(100)의 사용자가 선호할 이미지 필터로서 선택할 수 있다. 나머지 두 개의 이미지 필터는 제1 이미지 필터(IF1) 및 제9 이미지 필터(IF9)일 수 있다.
다시 도 11을 참조하면, S350 단계에서, 서버(400)의 통신부(410)는 선택된 두 개 이상의 이미지 필터의 종류에 대한 정보를 대상 단말기에 전송할 수 있다. 서버(400)는 협업 필터링 알고리즘을 이용하여 대상 단말기(100)의 사용자가 선호할 것으로 예측된 이미지 필터를 선택하고, 선택된 이미지 필터의 종류에 대한 정보를 대상 단말기(100)에 전송할 수 있다. 서버(400)가 이미지 필터의 종류에 대한 정보를 대상 단말기(100)에 전송하는 방법은 도 9를 참조하여 설명될 수 있다.
도 13 본 발명의 실시예에 따른 단말기 및 서버의 통신 방법을 보여주는 도면이다. 도 11 내지 도 13을 참조하면, 서버(400)는 이미지 필터의 종류에 대한 정보로서 제1 이미지 필터 정보(IF1_INF), 및 제9 이미지 필터 정보(INF9_INF)를 대상 단말기(100)에 전송할 수 있다.
도 14는 본 발명의 다른 실시예에 따른 서버의 동작 방법을 보여주는 순서도이다. 도 4 및 도 14를 참조하면, S410 단계에서, 서버(400)의 통신부(410)는 대상 단말기(100)로부터 컨텐츠의 종류에 대한 정보를 수신할 수 있다. 예를 들어, 대상 단말기(100)는 이미지에 적용되는 이미지 필터를 선택할 수 있는 서비스를 제공하는 애플리케이션을 실행할 수 있다. 대상 단말기(100)는 준비된 학습 모델을 이용하여 이미지에 포함된 컨텐츠의 종류를 식별할 수 있다.
준비된 학습 모델은 이미지에 포함된 컨텐츠의 종류를 식별하기 위한 학습 모델 일 수 있다. 컨텐츠의 종류를 식별하기 위한 학습 모델은 다수의 사진에 대한 이미지 데이터 및 다수의 사진에 포함된 컨텐츠의 종류 사이의 상관관계에 대해 학습된 결과일 수 있다. 대상 단말기(100)는 컨텐츠의 종류를 식별하기 위한 학습 모델 및 이미지를 이용하여 이미지에 포함된 컨텐츠의 종류를 예측할 수 있다. 예측된 컨텐츠의 종류에 대한 정보는 대상 단말기(100)로부터 서버(400)에 전송될 수 있다.
S420 단계에서, 서버(400)의 제어부(430)는 이미지에 적용 가능한 이미지 필터에 대한 추천 알고리즘을 준비할 수 있다. S430 단계에서, 서버(400)의 제어부(430)는 이미지 필터를 선택하기 위한 추천 알고리즘을 이용하여 두 개 이상의 이미지 필터를 선택할 수 있다. 그리고, S440 단계에서, 서버(400)의 통신부(410)는 선택된 두 개 이상의 이미지 필터에 대한 정보를 대상 단말기(100)에 전송할 수 있다. S420 단계 내지 S440 단계는 각각 도 4를 참조하여 설명된 S130 단계 내지 S150 단계와 유사 또는 동일할 수 있다. 따라서, S420 단계 내지 S440 단계에 대한 자세한 설명은 생략된다.
도 1 내지 도 14를 참조하여 설명된 바와 같이, 본 발명의 실시예에 따른 서버(400)는 사용자에 의해 촬영될 이미지에 포함된 컨텐츠의 종류에 적합한 서로 다른 두 개 이상의 이미지 필터가 자동으로 추천할 수 있다. 서버(400)가 서로 다른 두 개 이상의 이미지 필터를 자동으로 추천해줌으로써 사용자의 편리성이 향상될 수 있다.
이상에서 설명된 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함할 수 있다.
또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 또는 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 출력 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함할 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (16)

  1. 서버의 동작 방법에 있어서,
    복수의 단말기 중 대상 단말기로부터 이미지를 수신하는 단계;
    상기 수신된 이미지에 포함된 컨텐츠의 종류를 식별하는 단계;
    상기 이미지에 적용 가능한 이미지 필터에 대한 추천 알고리즘을 준비하는 단계;
    상기 추천 알고리즘을 이용하여 상기 컨텐츠의 종류에 대응하는 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계; 및
    상기 선택된 두 개 이상의 이미지 필터에 대한 정보를 상기 대상 단말기에 전송하는 단계를 포함하는 동작 방법.
  2. 제 1 항에 있어서,
    상기 이미지에 포함된 상기 컨텐츠의 종류를 식별하기 전에 다수의 사진에 대한 이미지 데이터 및 상기 다수의 사진에 포함된 컨텐츠의 종류 사이의 상관관계에 대해 학습된, 상기 이미지에 포함된 상기 컨텐츠의 종류를 식별하기 위한 학습 모델을 준비하는 단계
    를 더 포함하는 동작 방법.
  3. 제 1 항에 있어서,
    상기 대상 단말기로부터 상기 대상 단말기의 사용자의 취미 정보, 성별 정보, 나이 정보, 또는 선호하는 이미지 필터의 종류에 대한 정보 중 적어도 하나를 포함하는 사용자 정보를 수신하는 단계를 더 포함하는 동작 방법.
  4. 제 3 항에 있어서,
    상기 이미지에 적용될 상기 이미지 필터에 대한 상기 추천 알고리즘을 준비하는 단계는,
    상기 복수의 단말기 중 상기 대상 단말기를 제외한 적어도 하나 이상의 단말기 각각으로부터 상기 사용자 정보 및 이미지를 수신하는 단계;
    상기 적어도 하나 이상의 단말기 각각으로부터 수신된 상기 이미지에 포함된 컨텐츠의 종류를 식별하는 단계;
    상기 적어도 하나 이상의 단말기 각각으로부터 상기 이미지에 적용하기 위해 선택된 이미지 필터의 종류에 대한 정보를 수신하는 단계; 및
    상기 사용자 정보, 상기 식별된 컨텐츠의 종류에 대한 정보, 및 상기 수신된 이미지 필터의 종류에 대한 정보를 이용하여 학습 모델을 준비하는 단계
    를 포함하는 동작 방법.
  5. 제 4 항에 있어서,
    상기 사용자 정보, 상기 식별된 컨텐츠의 종류에 대한 정보, 및 상기 수신된 이미지 필터의 종류에 대한 정보를 이용하여 상기 학습 모델을 준비하는 단계는,
    상기 사용자 정보, 및 상기 식별된 컨텐츠의 종류에 대한 정보와 상기 수신된 이미지 필터의 종류에 대한 정보 사이의 상관관계에 대해 학습된 상기 서로 다른 두 개 이상의 이미지 필터를 선택하기 위한 학습 모델을 준비하는 단계
    를 포함하는 동작 방법.
  6. 제 4 항에 있어서,
    상기 추천 알고리즘을 이용하여 상기 컨텐츠의 종류에 대응하는 상기 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계는,
    상기 대상 단말기로부터 수신된 상기 사용자 정보, 상기 대상 단말기로부터 수신된 이미지에서 식별된 상기 컨텐츠의 종류에 대한 정보 및 상기 학습 모델을 이용하여 상기 대상 단말기의 사용자가 선택할 확률이 높을 것으로 예측되는 상기 두 개 이상의 이미지 필터를 선택하는 단계
    를 포함하는 동작 방법.
  7. 제 1 항에 있어서,
    상기 수신된 이미지에 포함된 컨텐츠의 종류를 식별하는 단계는,
    상기 대상 단말기로부터 상기 수신된 이미지에 포함된 상기 컨텐츠가 제1 컨텐츠인 것으로 판단하는 단계를 포함하고,
    상기 이미지에 적용될 이미지 필터에 대한 상기 추천 알고리즘을 준비하는 단계는,
    상기 대상 단말기로부터 상기 이미지가 수신되기 전에 수신된, 상기 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보 및 상기 복수의 단말기 중 상기 대상 단말기를 제외한 적어도 하나 이상의 단말기로부터 각각 수신된, 상기 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보를 준비하는 단계
    를 포함하는 동작 방법.
  8. 제 7 항에 있어서,
    상기 추천 알고리즘을 이용하여 상기 컨텐츠의 종류에 대응하는 상기 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계는,
    상기 적어도 하나 이상의 단말기로부터 각각 수신된, 상기 이미지 필터 이력 정보 중에서 상기 대상 단말기로부터 수신된 이미지 필터 이력 정보에 포함된 이미지 필터와 중복된 이미지 필터를 가장 많이 포함하는 이미지 필터 이력 정보를 선택하는 단계; 및
    상기 선택된 이미지 필터 이력 정보 중에서 상기 대상 단말기로부터 수신된 상기 이미지 필터 이력 정보와 중복되지 않은 이미지 필터에 기초하여 상기 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계
    를 포함하는 동작 방법.
  9. 제 1 항에 있어서,
    상기 수신된 이미지에 포함된 상기 컨텐츠의 종류를 식별하는 단계는,
    상기 컨텐츠는 사람, 특정 오브젝트(object), 특정 동물, 특정 풍경, 특정 패턴 또는 특정 색상 중 적어도 하나를 포함하는지 여부를 검출하는 단계
    를 포함하는 동작 방법.
  10. 제 1 항에 있어서,
    상기 추천 알고리즘을 이용하여 상기 컨텐츠의 종류에 대응하는 상기 서로 다른 두 개 이상의 이미지 필터를 선택하는 단계는,
    상기 추천 알고리즘을 이용하여 상기 대상 단말기의 사용자가 선택할 확률이 가장 높을 것으로 예측된 제1 이미지 필터, 및 상기 대상 단말기의 상기 사용자가 선택할 확률이 두 번째로 높을 것으로 예측된 제2 이미지 필터를 선택하는 단계
    를 포함하는 동작 방법.
  11. 제1항의 동작 방법을 컴퓨터에서 실행시키는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.
  12. 복수의 단말기 중 대상 단말기로부터 이미지를 수신하는 통신부; 및
    상기 수신된 이미지에 포함된 컨텐츠의 종류를 식별하고, 상기 이미지에 적용될 이미지 필터에 대한 추천 알고리즘을 이용하여 서로 다른 두 개 이상의 이미지 필터를 선택하는 제어부를 포함하고,
    상기 제어부는 상기 추천 알고리즘을 이용하여 상기 대상 단말기의 사용자가 선택할 확률이 가장 높을 것으로 예측된 제1 이미지 필터, 및 상기 대상 단말기의 사용자가 선택할 확률이 두 번째로 높을 것으로 예측된 제2 이미지 필터를 선택하고,
    상기 통신부는 상기 제1 이미지 필터에 대한 정보 및 상기 제2 이미지 필터에 대한 정보를 상기 대상 단말기에 전송하는 서버.
  13. 제 12 항에 있어서,
    상기 제어부는 상기 대상 단말기로부터 상기 수신된 이미지에 포함된 상기 컨텐츠가 제1 컨텐츠인 것으로 판단하고,
    상기 통신부는 상기 대상 단말기로부터 상기 이미지가 수신되기 전에 수신된, 상기 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보 및 상기 복수의 단말기 중 상기 대상 단말기를 제외한 적어도 하나 이상의 단말기로부터 각각 수신된, 상기 제1 컨텐츠를 포함하는 이미지에 적용되기 위해 선택된 이미지 필터의 종류에 대한 이미지 필터 이력 정보를 수신하는 서버.
  14. 제 13 항에 있어서,
    상기 제어부는 상기 적어도 하나 이상의 단말기로부터 각각 수신된, 상기 이미지 필터 이력 정보 중에서 상기 대상 단말기로부터 수신된 이미지 필터 이력 정보에 포함된 이미지 필터와 중복된 이미지 필터를 가장 많이 포함하는 이미지 필터 이력 정보를 선택하고, 상기 선택된 이미지 필터 이력 정보 중에서 상기 대상 단말기로부터 수신된 상기 이미지 필터 이력 정보와 중복되지 않은 이미지 필터에 기초하여 상기 서로 다른 두 개 이상의 이미지 필터를 선택하는 서버.
  15. 제 12 항에 있어서,
    상기 통신부는 상기 대상 단말기로부터 상기 대상 단말기의 사용자의 취미 정보, 성별 정보, 나이 정보, 또는 선호하는 이미지 필터의 종류에 대한 정보 중 적어도 하나를 포함하는 사용자 정보를 수신하는 서버.
  16. 제 15 항에 있어서,
    상기 통신부는 상기 복수의 단말기 중 상기 대상 단말기를 제외한 적어도 하나 이상의 단말기 각각으로부터 상기 사용자 정보, 이미지 필터가 적용된 이미지 및 상기 이미지 필터가 적용된 이미지의 이미지 필터의 종류에 대한 정보를 수신하고,
    상기 제어부는 상기 적어도 하나 이상의 단말기 각각으로부터 수신된 상기 이미지 필터가 적용된 이미지에 포함된 컨텐츠의 종류를 식별하고, 상기 사용자 정보, 상기 식별된 컨텐츠의 종류, 및 상기 수신된 이미지 필터의 종류 사이의 상관관계에 대해 학습된, 상기 서로 다른 두 개 이상의 이미지 필터를 선택하기 위한 상기 추천 알고리즘을 준비하는 서버.
KR1020180018563A 2018-02-14 2018-02-14 서버 및 그것의 동작 방법 KR20190098518A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180018563A KR20190098518A (ko) 2018-02-14 2018-02-14 서버 및 그것의 동작 방법
US16/268,924 US11080325B2 (en) 2018-02-14 2019-02-06 Server and operating method thereof
EP19156400.4A EP3528203A1 (en) 2018-02-14 2019-02-11 Server and operating method thereof
JP2019023297A JP6732977B2 (ja) 2018-02-14 2019-02-13 サーバー及びその動作方法(server and operating method thereof)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180018563A KR20190098518A (ko) 2018-02-14 2018-02-14 서버 및 그것의 동작 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200050796A Division KR20200051540A (ko) 2020-04-27 2020-04-27 서버 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20190098518A true KR20190098518A (ko) 2019-08-22

Family

ID=65628514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180018563A KR20190098518A (ko) 2018-02-14 2018-02-14 서버 및 그것의 동작 방법

Country Status (4)

Country Link
US (1) US11080325B2 (ko)
EP (1) EP3528203A1 (ko)
JP (1) JP6732977B2 (ko)
KR (1) KR20190098518A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11553157B2 (en) 2016-10-10 2023-01-10 Hyperconnect Inc. Device and method of displaying images
KR101932844B1 (ko) 2017-04-17 2018-12-27 주식회사 하이퍼커넥트 영상 통화 장치, 영상 통화 방법 및 영상 통화 중개 방법
US10078909B1 (en) * 2017-05-16 2018-09-18 Facebook, Inc. Video stream customization using graphics
KR102282963B1 (ko) 2019-05-10 2021-07-29 주식회사 하이퍼커넥트 단말기, 서버 및 그것의 동작 방법
KR102311603B1 (ko) 2019-10-01 2021-10-13 주식회사 하이퍼커넥트 단말기 및 그것의 동작 방법
KR102293422B1 (ko) 2020-01-31 2021-08-26 주식회사 하이퍼커넥트 단말기 및 그것의 동작 방법
US11935154B2 (en) * 2022-03-02 2024-03-19 Microsoft Technology Licensing, Llc Image transformation infrastructure

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254674B2 (en) * 2004-10-28 2012-08-28 DigitalOptics Corporation Europe Limited Analyzing partial face regions for red-eye detection in acquired digital images
JP5442547B2 (ja) 2010-07-08 2014-03-12 株式会社Nttドコモ コンテンツ推薦装置及び方法
US8526728B2 (en) 2010-12-21 2013-09-03 Microsoft Corporation Establishing clusters of user preferences for image enhancement
US9154709B2 (en) * 2012-12-21 2015-10-06 Google Inc. Recommending transformations for photography
EP2782326B1 (en) 2013-03-20 2022-04-27 Samsung Electronics Co., Ltd. Method and apparatus for processing an image based on an image property and ambient environment information
US9230328B1 (en) 2013-06-28 2016-01-05 Google Inc. Providing image parameters
CN103413270A (zh) 2013-08-15 2013-11-27 北京小米科技有限责任公司 一种图像的处理方法、装置和终端设备
JP6454973B2 (ja) * 2014-03-20 2019-01-23 フリュー株式会社 サーバ、制御プログラム、および記録媒体
WO2015162647A1 (en) 2014-04-25 2015-10-29 Sony Corporation Processing digital photographs in response to external applications
US20150370474A1 (en) 2014-06-19 2015-12-24 BrightSky Labs, Inc. Multiple view interface for video editing system
US9225897B1 (en) * 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
KR20160051390A (ko) 2014-11-03 2016-05-11 삼성전자주식회사 전자장치 및 전자장치의 필터 제공 방법
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
JP2017228224A (ja) 2016-06-24 2017-12-28 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2019139775A (ja) 2019-08-22
US11080325B2 (en) 2021-08-03
JP6732977B2 (ja) 2020-07-29
EP3528203A1 (en) 2019-08-21
US20190251118A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
KR102079091B1 (ko) 단말기 및 그것의 이미지 처리 방법
JP6732977B2 (ja) サーバー及びその動作方法(server and operating method thereof)
US11222413B2 (en) Method for correcting image by device and device therefor
KR102446811B1 (ko) 복수의 디바이스들로부터 수집된 데이터 통합 및 제공 방법 및 이를 구현한 전자 장치
US10366519B2 (en) Operating method for image and electronic device supporting the same
KR102311603B1 (ko) 단말기 및 그것의 동작 방법
EP3121557B1 (en) Method and apparatus for determining spatial parameter based on an image
KR102283972B1 (ko) 통신 장치, 서버 및 동작 방법
US20190057684A1 (en) Electronic device and method for controlling the same
KR20180051367A (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
KR102264431B1 (ko) 복수의 압전 소자를 구비하는 전자 장치
US10382907B2 (en) Device and method for providing notification message about call request
KR102389996B1 (ko) 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
KR20190053675A (ko) 전자 장치 및 그 동작 방법
US11606397B2 (en) Server and operating method thereof
US20200082244A1 (en) Computing apparatus using convolutional neural network and method of operating the same
EP3816917A1 (en) Electronic device for updating artificial intelligence model, server, and operation method therefor
KR20200125502A (ko) 이미지 내 객체를 식별하는 신경망 모델을 학습하는 방법 및 장치
EP3654291A1 (en) Image processing system, method and computer readable recording medium thereof
US10691318B2 (en) Electronic device and method for outputting thumbnail corresponding to user input
KR102399809B1 (ko) 전자 장치 및 그 제어 방법
US20190163436A1 (en) Electronic device and method for controlling the same
KR20200051540A (ko) 서버 및 그것의 동작 방법
US20210004702A1 (en) System and method for generating information for interaction with a user
KR102289194B1 (ko) 서버 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination