KR102278945B1 - 이미지 처리 방법 및 이를 지원하는 전자 장치 - Google Patents

이미지 처리 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR102278945B1
KR102278945B1 KR1020150012655A KR20150012655A KR102278945B1 KR 102278945 B1 KR102278945 B1 KR 102278945B1 KR 1020150012655 A KR1020150012655 A KR 1020150012655A KR 20150012655 A KR20150012655 A KR 20150012655A KR 102278945 B1 KR102278945 B1 KR 102278945B1
Authority
KR
South Korea
Prior art keywords
image
electronic device
information
images
image processing
Prior art date
Application number
KR1020150012655A
Other languages
English (en)
Other versions
KR20160092256A (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 KR1020150012655A priority Critical patent/KR102278945B1/ko
Priority to PCT/KR2016/000620 priority patent/WO2016122158A1/en
Priority to AU2016212943A priority patent/AU2016212943B2/en
Priority to EP16152409.5A priority patent/EP3051463B1/en
Priority to CN201610055043.9A priority patent/CN105825522B/zh
Priority to US15/008,009 priority patent/US9886454B2/en
Publication of KR20160092256A publication Critical patent/KR20160092256A/ko
Application granted granted Critical
Publication of KR102278945B1 publication Critical patent/KR102278945B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • 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/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • G06V20/47Detecting features for summarising video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N5/23216
    • H04N5/23229
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Devices (AREA)

Abstract

복수의 이미지를 촬영하는 카메라 또는 복수의 이미지를 수신하는 통신 인터페이스 중 적어도 하나, 상기 이미지를 획득한 시점의 상기 전자 장치 관련 액티비티 종류를 결정하고, 상기 액티비티 종류에 대응하는 이미지 처리 방식을 이용하여 획득된 상기 복수의 이미지들 중 적어도 일부 이미지들을 검출하여 하이라이트 컨텐츠를 생성하는 이미지 운용 모듈을 포함하는 전자 장치가 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

이미지 처리 방법 및 이를 지원하는 전자 장치{Image processing method and electronic device supporting the same}
다양한 실시 예들은 이미지 처리 기술과 관련된다.
기존의 스마트폰과 같은 전자 장치는, 이미지 수집 기능을 제공하고 있다. 사용자들은 이미지 수집 기능을 이용하여 다양한 환경에서 자유롭게 이미지를 수집할 수 있다.
그러나 기존의 전자 장치에서 제공하는 이미지 수집 기능은 단순히 이미지를 수집하는 기능에만 초점이 맞추어져 있다. 이에 따라, 사용자들은 많은 사진을 수집한 경우 긴 시간과 노력을 들여 몇몇의 사진들을 골라내고 별도 보관해야 하는 등의 불편함이 있었다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 복수의 이미지를 촬영하는 카메라 또는 복수의 이미지를 수신하는 통신 인터페이스 중 적어도 하나, 상기 이미지를 획득한 시점의 상기 전자 장치 관련 액티비티 종류를 결정하고, 상기 액티비티 종류에 대응하는 이미지 처리 방식을 이용하여 획득된 상기 복수의 이미지들 중 적어도 일부 이미지들을 검출하여 하이라이트 컨텐츠를 생성하는 이미지 운용 모듈을 포함할 수 있다.
다양한 실시 예에 따른 이미지 처리 방법은 이미지를 수집하는 동작, 상기 이미지를 획득한 시점의 전자 장치의 액티비티 종류를 결정하는 동작, 상기 액티비티 종류에 대응하는 필터링 조건을 가지는 이미지 처리 방식을 선택하는 동작, 상기 선택된 이미지 처리 방식을 적용하여 상기 획득된 이미지들 중 일부 이미지들을 선택 또는 영상 처리하는 동작, 상기 선택 또는 영상 처리된 이미지들을 기반으로 하이라이트 컨텐츠를 생성하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 실시 예들은 사용자들이 많은 수고를 들이지 않더라도 이미지 수집 환경에 따라 보다 적응적이고 의미를 가지는 형태의 이미지 모음 또는 이미지 그룹핑을 자동으로 제공할 수 있다.
다양한 실시 예에 따르면, 상기 실시 예들은 이미지 수집 상황에 맞도록 이미지 분류, 선택, 효과 처리 등을 수행하여 그룹핑된 이미지 내의 유사 이미지들의 그룹핑 정도를 상황별로 다르게 적용하거나 통계적으로 또는 심미적으로 최적화할 수 있다.
다양한 실시 예에 따르면, 상기 실시 예들은 그룹핑된 이미지 내에 식별이 어려운 이미지들의 분포를 줄여 컨텐츠 용량은 최소화하면서도 유의미한 이미지들의 분포도를 개선할 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 2a는 다양한 실시 예에 따른 이미지 운용 모듈의 블록도를 나타낸다.
도 2b는 다양한 실시 예에 따른 에지 처리 기반의 품질 필터 적용의 예시를 나타낸다.
도 2c는 다양한 실시 예에 따른 픽셀 분포 처리 기반의 품질 필터 적용의 예시를 나타낸다.
도 3은 다양한 실시 예에 따른 이미지 처리 방법을 나타낸 도면이다.
도 4는 다양한 실시 예에 따른 이미지를 이용한 액티비티 분석 방법을 도시한다.
도 5는 다양한 실시 예에 따른 센서 정보를 이용한 액티비티 분석 방법을 도시한다.
도 6은 다양한 실시 예에 따른 컨텍스트 정보를 이용한 액티비티 분석 방법을 도시한다.
도 7a는 다양한 실시 예에 따른 하이라이트 이미지 수집 방법을 도시한다.
도 7b는 다양한 실시 예에 따른 하이라이트 컨텐츠 제공 방법을 도시한다.
도 8은 다양한 실시 예에 따른 이미지 운용과 관련한 시스템 신호 처리의 한 예이다.
도 9는 다양한 실시 예에 따른 이미지 처리와 관련한 화면 인터페이스의 한 예이다.
도 10은 다양한 실시 예에 따른 프로그램 모듈 1010의 블록도를 나타낸다
도 11은 다양한 실시 예에 따른 전자 장치 1100의 블록도를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(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)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(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) 장치, GPS 수신기(global positioning system receiver), 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 내의 전자 장치 100이 기재된다. 전자 장치 100은 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 170, 디스플레이 150, 이미지 운용 모듈 180, 카메라 190 및 통신 인터페이스 160을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 100은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스 110은, 예를 들면, 구성요소들 120-190을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다. 한 실시 예에 따르면, 버스 110은 카메라 190이 수집한 이미지(예: 동영상 또는 정지 영상)을 이미지 운용 모듈 180 또는 프로세서 120 중 적어도 하나에 전달할 수 있다. 다양한 실시 예에 따르면, 버스 110은 이미지 운용 모듈 180 또는 프로세서 120에서 처리된 그룹핑 이미지(또는 이미지 모음, 군집 이미지, 클러스터링 이미지 등)를 메모리 130 또는 디스플레이 150, 또는 통신 인터페이스 160 중 적어도 하나에 전달할 수 있다.
프로세서 120은, 중앙처리장치(CPU), AP(application processor), 또는 CP(communication processor) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 120은, 예를 들면, 전자 장치 100의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 한 실시 예에 따르면, 프로세서 120은 입력 이벤트 발생에 대응하여 카메라 190 제어를 수행할 수 있다. 프로세서 120은 카메라 190이 수집한 이미지의 이미지 처리에 필요한 연산을 지원할 수 있다. 다양한 실시 에에 따르면, 이미지 운용 모듈 180은 적어도 하나의 프로세서를 포함할 수 있다. 또는, 이미지 운용 모듈 180은 프로세서와 관련된 적어도 하나의 소프트웨어 모듈 또는 하드웨어 모듈로 구성될 수 있다.
메모리 130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리 130은, 예를 들면, 전자 장치 100의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 예컨대, 메모리 130은 카메라 190이 수집한 이미지를 저장할 수 있다. 또한 메모리 130은 수집된 이미지를 기반으로 생성된 그룹핑 이미지를 저장할 수 있다. 그룹핑된 이미지는 복수개의 정지 영상들의 그룹 또는 일정 시간 간격의 동영상들의 그룹 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 메모리 130은 소프트웨어 및/또는 프로그램 140을 저장할 수 있다. 프로그램 140은, 예를 들면, 커널 141, 미들웨어 143, API(application programming interface) 145, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 147 등을 포함할 수 있다. 커널 141, 미들웨어 143, 또는 API 145의 적어도 일부는, 운영 시스템(operating system, OS)이라고 불릴 수 있다.
커널 141은, 예를 들면, 다른 프로그램들(예: 미들웨어 143, API 145, 또는 어플리케이션 프로그램 147)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 110, 프로세서 120, 또는 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 커널 141은 미들웨어 143, API 145, 또는 어플리케이션 프로그램 147에서 전자 장치 100의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. 다양한 실시 예에 따르면, 커널 141은 카메라 190 제어와 관련한 인터페이스, 이미지 처리와 관련한 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스 등을 제공할 수 있다.
미들웨어 143은, 예를 들면, API 145 또는 어플리케이션 프로그램 147이 커널 141과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어 143은 어플리케이션 프로그램 147로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어 143은 어플리케이션 프로그램 147 중 적어도 하나에 전자 장치 100의 시스템 리소스(예: 버스 110, 프로세서 120, 또는 메모리 130 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어 143은 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다. 한 실시 예에 따르면, 미들웨어 143은 전자 장치 100 운용 상황, 운용 환경, 정보 저장 상태, 운동 상태 중 적어도 하나에 대응하는 액티비티(activity) 분석, 액티비티 종류에 대응하는 이미지 처리 방식 선택, 선택된 이미지 처리 방식에 의해 생성된 하이라이트 컨텐츠 처리 등의 스케줄링을 지원할 수 있다.
API 145는, 예를 들면, 어플리케이션 147이 상기 141 또는 미들웨어 143에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 다양한 실시 예에 따르면, API 145는 카메라 190 운용과 관련한 API, 수집된 이미지에 대한 액티비티 분석과 관련한 API, 적어도 하나의 액티비티들에 대한 이미지 처리 방식을 정의한 API를 포함할 수 있다. 또한 API 145는 이미지 처리 방식에 포함되는 적어도 하나의 처리 모듈들에 대응하는 적어도 하나의 API를 포함할 수 있다. 상기 API 145는 수집된 이미지들에 특정 이미지 처리 방식을 적용하여 생성한 그룹핑된 이미지들을 기반으로 하이라이트 컨텐츠를 생성하는 API, 생성된 하이라이트 컨텐츠의 출력과 저장 또는 전송 처리와 관련한 API 등을 포함할 수 있다.
입출력 인터페이스 170은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치 100의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스 170은 전자 장치 100의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. 한 실시 예에 따르면, 입출력 인터페이스 170은 카메라 190 활성화와 관련한 입력 신호, 활성화된 카메라 190을 이용한 이미지 수집 제어와 관련한 입력 신호 등을 생성할 수 있다. 입출력 인터페이스 170은 생성된 하이라이트 컨텐츠의 출력, 저장, 또는 전송과 관련한 입력 신호를 생성할 수 있다. 추가적으로 또는 대체적으로, 입출력 인터페이스 170은 특정 형태의 그룹핑된 이미지를 생성하는 적어도 하나의 이미지 처리 방식을 선택하는 입력 신호를 사용자 입력에 대응하여 생성할 수 있다.
다양한 실시 예에 따르면, 입출력 인터페이스 170은 오디오 모듈을 포함할 수 있다. 오디오 모듈은 예컨대 카메라 190 기능 중 동영상 수집 기능이 활성화되면 자동으로 활성화될 수 있다. 오디오 모듈이 수집한 오디오는 수집된 동영상에 연계되어 저장될 수 있다.
디스플레이 150은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이 150은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이 150은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
다양한 실시 예에 따르면, 디스플레이 150은 이미지 운용과 관련한 다양한 화면을 출력할 수 있다. 예컨대, 디스플레이 150은 카메라 190을 활성화할 수 있는 아이콘이나 메뉴 등이 배치된 홈 화면이나 대기 화면을 출력할 수 있다. 또한 디스플레이 150은 카메라 190 활성화에 대응하여 획득되는 프리뷰 이미지, 이미지 수집 요청에 따라 촬영된 이미지(예: 정지 영상 또는 동영상)을 출력할 수 있다. 다양한 실시 예에 따르면, 디스플레이 150은 적어도 하나의 하이라이트 컨텐츠를 생성할 수 있다. 다양한 실시 예에 따르면, 디스플레이 150은 적어도 하나의 이미지 처리 방식을 선택할 수 있는 화면, 그룹핑된 이미지들을 썸네일 형태로 표시하는 화면 등을 제공할 수 있다. 다양한 실시 예에 따르면, 디스플레이 150은 설정된 액티비티 방식들에 대응하는 이미지 처리 방식을 수동으로 설정하거나 조정하는 설정 화면을 제공할 수 있다.
통신 인터페이스 160은, 예를 들면, 전자 장치 100과 외부 장치(예: 외부 전자 장치 102, 외부 전자 장치 200 또는 서버 장치 106) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스 160은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치(예: 외부 전자 장치 200 또는 서버 장치 106)와 통신할 수 있다.
무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 또한 무선 통신은, 예를 들면, 근거리 통신 164를 포함할 수 있다. 근거리 통신 164는, 예를 들면, Wi-Fi, Bluetooth, NFC(near field communication), 또는 GPS(global positioning system) 등 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, 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) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면 통신 인터페이스 160은 외부 전자 장치 102와의 근거리 통신 채널을 형성할 수 있다. 통신 인터페이스 160은 외부 전자 장치 102의 이미지 촬영과 관련한 제어 신호를 외부 전자 장치 102에 전달할 수 있다. 또한 통신 인터페이스 160은 외부 전자 장치 102가 촬영한 이미지를 수신할 수 있다. 통신 인터페이스 160은 외부 전자 장치 102로부터 수신한 이미지를 이용하여 생성한 하이라이트 컨텐츠 또는 카메라 190을 기반으로 촬영한 이미지를 이용하여 생성한 하이라이트 컨텐츠를 외부 전자 장치 102에 전송할 수 있다.
다양한 실시 예에 따르면, 통신 인터페이스 160은 생성된 하이라이트 컨텐츠를 외부 전자 장치 200 또는 서버 장치 106에 전송할 수 있다. 또는 통신 인터페이스 160은 외부 전자 장치 200 또는 서버 장치 106으로부터 하이라이트 컨텐츠를 수신할 수도 있다.
외부 전자 장치 102, 200 각각은 전자 장치 100과 동일한 또는 다른 종류의 장치일 수 있다. 서버 장치 106은 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 102, 200, 또는 서버 장치 106)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치 100이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치 100은 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 102, 200, 또는 서버 장치 106)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치 102, 200, 또는 서버 장치 106)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치 100으로 전달할 수 있다. 전자 장치 100은 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
카메라 190은 이미지 운용 모듈 180의 제어에 대응하여 이미지를 수집하고, 수집된 이미지를 제공할 수 있다. 한 실시 예에 따르면, 카메라 190은 하이라이트 컨텐츠 제공 기능이 활성화되면 자동으로 활성화되고, 지정된 시간 동안 지정된 횟수 동안 이미지를 촬영할 수 있다. 또는 카메라 190은 셔터(또는 가상 셔터 버튼) 선택에 대응하여 이미지(예: 정지 영상 또는 동영상)을 촬영하고 이를 이미지 운용 모듈 180에 전달할 수 있다. 카메라 190은 하이라이트 컨텐츠 제공 기능이 종료되면 자동으로 종료될 수 있다. 또는 카메라 190은 카메라 종료와 관련한 입력 신호 발생 시 종료될 수 있다.
이미지 운용 모듈 180은 하이라이트 컨텐츠 제공 기능과 관련한 이미지 획득 및 처리를 제어할 수 있다. 예컨대, 이미지 운용 모듈 180은 하이라이트 컨텐츠 제공 기능과 관련한 메뉴나 아이콘 출력, 하이라이트 컨텐츠 제공 기능 활성화 요청에 대응하여 카메라 190의 활성화, 획득된 이미지의 수집을 제어할 수 잇다. 또한, 이미지 운용 모듈 180은 이미지 수집 환경에 대한 정보의 수집, 이미지 수집 환경에 따른 액티비티 분석을 수행할 수 있다. 상기 이미지 운용 모듈 180은 분석된 액티비티에 대응하여 적용할 이미지 처리 방식 선택, 선택된 이미지 처리 방식을 기반으로 이미지의 분류와 처리를 수행하여 그룹핑된 이미지 생성을 수행할 수 있다. 상기 이미지 운용 모듈 180은 그룹핑된 이미지들을 기반으로 하이라이트 컨텐츠 생성, 생성된 하이라이트 컨텐츠의 전송과 출력 또는 저장 등을 제어할 수 있다.
도 2a는 다양한 실시 예에 따른 이미지 운용 모듈의 블록도이고, 도 2b는 다양한 실시 예에 따른 에지 처리 기반의 품질 필터 적용의 예시이며, 도 2c는 다양한 실시 예에 따른 픽셀 분포 처리 기반의 품질 필터 적용의 예시를 나타낸다.
도 2a를 참조하면, 이미지 운용 모듈 180은 이미지 수집 모듈 181, 액티비티 처리 모듈 183, 음원 처리 모듈 185, 컨텐츠 처리 모듈 187을 포함할 수 있다.
이미지 수집 모듈 181은 이미지(예: 정지 영상 또는 동영상) 수집을 지원할 수 있다. 예컨대, 이미지 수집 모듈 181은 입력 이벤트 발생에 대응하여 카메라 190을 활성화하고, 정지 영상 또는 동영상 등을 획득할 수 있다. 다양한 실시 예에 따르면, 이미지 수집 모듈 181은 카메라 190 활성화 이후 지정된 시간 동안 일정 간격으로 자동으로 이미지를 획득할 수 있다. 또는 이미지 수집 모듈 181은 카메라 190 활성화 이후 셔터 입력에 대응하는 입력 이벤트 발생에 따라 이미지를 획득할 수 있다. 또는 이미지 수집 모듈 181은 입력 이벤트 발생에 따라 지정된 일정 시간 동안 동영상을 촬영하거나, 지정된 프레임 수에 해당하는 정지 영상을 촬영할 수 있다. 이미지 수집 모듈 181은 수집된 이미지를 컨텐츠 처리 모듈 187에 전달할 수 있다. 또는 이미지 수집 모듈 181은 수집된 이미지 중 적어도 일부 이미지들을 액티비티 처리 모듈 183에 전달할 수 있다.
액티비티 처리 모듈 183은 전자 장치 100에 포함된 센서 또는 전자 장치 100과 연결된 외부 전자 장치에 포함된 센서로부터 센서 신호를 수집할 수 있다. 액티비티 처리 모듈 183은 수집된 센서 신호를 기반으로 전자 장치 100 또는 외부 전자 장치의 움직임 분석, 위치 분석, 제스처 분석 중 적어도 하나를 수행할 수 있다. 액티비티 처리 모듈 183은 분석 결과에 따른 액티비티 종류를 결정할 수 있다.
다양한 실시 예에 따르면, 액티비티 처리 모듈 183은 이미지 수집 모듈 181이 제공한 이미지를 분석하여 액티비티의 종류를 결정할 수 있다. 예컨대, 액티비티 처리 모듈 183은 수집된 이미지들 내에 움직임 분석(예: 이미지에 포함된 적어도 하나의 객체 움직임 거리나 속도 등을 분석)할 수 있다. 또는 액티비티 처리 모듈 183은 수집된 이미지들의 프레임 차이를 분석할 수 있다. 예컨대, 액티비티 처리 모듈 183은 복수의 이미지들이 전달되면, 각 이미지들의 변화 정도 등을 분석할 수 있다. 또는 액티비티 처리 모듈 183은 수집된 이미지 내에 포함된 특정 객체 예컨대, 인물 분석을 수행할 수 있다. 예컨대, 액티비티 처리 모듈 183은 이미지 내에 인물의 얼굴 크기나 표정, 바라보는 각도 등을 분석할 수 있다.
다양한 실시 예에 따르면, 액티비티 처리 모듈 183은 지정된 스케줄 정보 또는 사용자 입력에 따른 액티비티 분석을 수행할 수 있다. 예컨대, 액티비티 처리 모듈 183은 전자 장치 100의 입출력 인터페이스 170을 통해 입력되는 상황 종류 정보(예: 특정 상황을 설명하는 텍스트 입력 정보), 또는 사용자 프로파일 정보(예: 사용자가 위치한 지역의 날씨 정보, 시간 정보, 사용자의 성별, 사용자의 나이 등), 사용자의 일정이나 약속 등 저장된 정보(예: 알람 시간 정보, 업무 스케줄 정보, 휴식 스케줄 정보, 산책 스케줄 정보, 회의 스케줄 정보 등) 중 적어도 하나를 수집할 수 있다. 액티비티 처리 모듈 183은 수집된 정보들을 토대로 액티비티 종류를 결정할 수 있다. 상기 액티비티 처리 모듈 183은 결정된 액티비티 종류 정보를 컨텐츠 처리 모듈 187에 전달할 수 있다.
음원 처리 모듈 185는 이미지 수집 모듈 181이 이미지를 수집하는 동안 음원을 수집하거나 또는 수집된 음원을 분석하여 지정된 음원으로 대체 처리할 수 있다. 예컨대, 음원 처리 모듈 185는 이미지를 수집하는 동안 마이크를 활성화하여 음원을 수집할 수 있다. 음원 처리 모듈 185는 수집된 음원을 컨텐츠 처리 모듈 187에 제공할 수 있다. 다양한 실시 예에 따르면, 음원 처리 모듈 185는 마이크를 통해 수집된 음원이 지정된 조건을 만족하지 못하는 경우 예컨대 일정 데시벨 범위의 음원이 지정된 시간 동안 또는 지정된 시간 간격으로 수집되지 않는 경우 지정된 음원을 컨텐츠 처리 모듈 187에 제공할 수 있다. 예컨대, 음원 처리 모듈 185는 특정 음악 파일이나, 특정 리듬 파일 등을 컨텐츠 처리 모듈 187에 제공할 수 있다.
다양한 실시 예에 따르면, 음원 처리 모듈 185는 이미지 수집 과정에서 수집된 오디오 데이터와 동일한 음원을 검색하고, 검색된 음원을 컨텐츠 처리 모듈 187에 제공할 수도 있다. 이 동작에서 음원 처리 모듈 185는 수집된 오디오 데이터를 전자 장치 100에 저장된 음원들과 비교하여 적어도 일부 구간이 수집된 오디오 데이터와 동일한 음원을 검색할 수 있다. 또는 음원 처리 모듈 185는 수집된 오디오 데이터를 통신 인터페이스 160을 통해 서버 장치 106에 제공하고, 서버 장치 106로부터 오디오 데이터와 관련한 음원을 수신할 수도 있다. 다양한 실시 예에 따르면, 음원 처리 모듈 185는 배경 음원 생성 시 수집된 음악 또는 액티비티의 종류(예: 활동 내용, 장소, 날씨, 지역, 유행 음악 등 다양한 요소)를 고려하여 음원을 선정할 수 있다. 다양한 실시 예에 따르면, 음원 처리 모듈 185는 이미지 획득 시 이어폰을 통해 출력된 음원을 획득된 이미지들에 대한 하이라이트 컨텐츠의 배경 음원으로 선정할 수 있다.
컨텐츠 처리 모듈 187은 수신된 이미지들에 대한 필터링을 액티비티 종류에 따라 수행할 수 있다. 예컨대, 컨텐츠 처리 모듈 187은 품질 필터, 중복 필터, 분류 필터(예: 얼굴, 객체 또는 장면) 중 적어도 하나를 액티비티 종류에 따라 다양한 형태로 적용할 수 있다. 예컨대, 컨텐츠 처리 모듈 187은 품질 필터(quality filter, QF) 적용과 관련하여 에지(edge) 검출을 통한 블러링(blurring)정도 측정, 픽셀 분포(pixel distribution) 측정을 통한 조도 측정 등을 수행할 수 있다.
한 실시 예에 따르면, 품질 필터 적용과 관련하여, 컨텐츠 처리 모듈 187은 도 2b에 도시된 바와 같이 영상에 대한 에지(edge) 검출을 수행할 수 있다. 블러링이 발생한 경우 영상의 경계선이 무뎌져서 검출되는 에지의 양이 줄어들 수 있다. 이에 따라, 컨텐츠 처리 모듈 187은 지정된 영상에서 검출된 에지의 양을 기준으로 해당 영상에서의 블러링 양 또는 블러링의 정도를 검출한다.
한 실시 예에 따르면, 품질 필터 적용과 관련하여, 컨텐츠 처리 모듈 187은 도 2c에 도시된 바와 같이 픽셀 분포 측정을 수행할 수 있다. 컨텐츠 처리 모듈 187은 픽셀 분포(또는 히스토그램)를 통해 지정된 영상의 전반적인 조도 값을 파악할 수 있다. 예컨대, 컨텐츠 처리 모듈 187은 도시된 도면에서 피크 값들이 우측으로 몰릴수록 전반적으로 밝은 이미지로 판단할 수 있으며, 피크 값이 좌측으로 몰릴수록 어두운 이미지로 판단할 수 있다.
컨텐츠 처리 모듈 187은 중복 필터(duplicate filter, DF) 적용과 관련하여, 특징점 기반 디스크립터 매칭(feature-based descriptor matching)을 통한 중복 영역 측정을 수행하여 중복 검출을 수행할 수 있다. 중복 필터 적용과 관련하여, 컨텐츠 처리 모듈 187은 액티비티 종류에 따라 중복 정도(어느 정도 동일한 지에 대한 문턱값)를 조정할 수 있다. 중복 정도가 조정되면 중복 필터에 의해 필터링되는 프레임들의 개수가 달라질 수 있다.
컨텐츠 처리 모듈 187은 분류 필터(classification filter, CF) 적용과 관련하여, 학습 기반 이미지 분류 알고리즘(image classification algorithm)으로 이미지 분류를 수행할 수 있다. 컨텐츠 처리 모듈 187은 객체(예: 차, 사람 등)와 장면(예: 숲, 해안, 도시 등) 분류를 사용하여 의미 있는 이미지 선별을 수행할 수 있다. 컨텐츠 처리 모듈 187은 수신된 이미지들에 대하여 컨텐츠 그룹핑(content grouping, CG)을 수행할 수 있다. 예컨대, 컨텐츠 처리 모듈 187은 시간 또는 장소 기반 그룹핑 알고리즘을 수신된 이미지들에 적용하여 분류할 수 있다.
다양한 실시 예에 따르면, 컨텐츠 처리 모듈 187은 생성할 컨텐츠의 종류(예: 정지 영상 또는 동영상)와 관련하여, 액티비티 종류에 따른 하이라이트 컨텐츠 생성 방법을 다르게 적용할 수 있다. 예컨대, 컨텐츠 처리 모듈 187은 비디오 타입 하이라이트 컨텐츠 생성이 설정되거나 요청된 경우 필터링을 통해 남은(filter-in) 키 프레임(key frame)을 중심으로 일정 세그먼트를 비디오 먹싱(video muxing) 또는 트랜스코딩(transcoding, 비디오 프레임을 디코딩 후 다시 인코딩)할 수 있다. 다양한 실시 예에 따르면, 컨텐츠 처리 모듈 187은 획득된 이미지와 이미지 사이에 지정된 이미지 변환(transition)효과를 첨가하여 비디오로 인코딩하여 하이라이트 비디오 컨텐츠를 생성할 수 있다. 또한 컨텐츠 처리 모듈 187은 원본 이미지 또는 동영상으로부터 일정 시간 간격의 이미지 또는 프레임만을 추출하여 동영상으로 인코딩하여 하이라이트 비디오 컨텐츠를 생성할 수 있다. 이를 기반으로, 컨텐츠 처리 모듈 187은 긴 비디오를 빨리 재생하는 효과를 제공할 수 있다. 다양한 실시 예에 따르면, 컨텐츠 처리 모듈 187은 음원 처리 모듈 185로부터 전달된 음원 데이터를 생성된 하이라이트 컨텐츠의 배경 음원으로 사용할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 복수의 이미지를 촬영하는 카메라 또는 복수의 이미지를 수신하는 통신 인터페이스 중 적어도 하나, 상기 이미지를 획득한 시점의 상기 전자 장치 관련 액티비티 종류를 결정하고, 상기 액티비티 종류에 대응하는 이미지 처리 방식을 이용하여 획득된 상기 복수의 이미지들 중 적어도 일부 이미지들을 검출하여 하이라이트 컨텐츠를 생성하는 이미지 운용 모듈을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 상기 복수의 이미지들의 차이 분석 또는 이미지들에 포함된 객체들의 차이 변화 분석 중 적어도 하나를 기반으로 상기 전자 장치 관련 액티비티 종류를 결정할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 상기 전자 장치 관련 센서 정보 또는 상기 복수의 이미지를 전송하는 외부 전자 장치로부터 수신한 센서 정보 중 적어도 하나를 기반으로 상기 전자 장치 관련 액티비티 종류를 결정할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 상기 전자 장치의 메모리에 저장된 컨텍스트 정보 또는 상기 이미지를 전송한 외부 전자 장치에 저장된 컨텍스트 정보 중 적어도 하나를 기반으로 상기 액티비티 종류를 결정할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 메모리에 저장된 정보 중 알람 시간 정보, 업무 스케줄 정보, 휴식 스케줄 정보, 산책 스케줄 정보, 회의 스케줄 정보 중 적어도 하나를 상기 컨텍스트 정보로서 획득할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 상기 액티비티 종류에 따라 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 적용 여부가 다르게 설정된 이미지 처리 방식 또는 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 파라메터를 다르게 설정된 이미지 처리 방식을 선택할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 지정된 일정 시간 또는 지정된 일정 위치에서 상기 선택된 이미지 처리 방식을 동일하게 적용하여 하이라이트 컨텐츠를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 무선 연결된 웨어러블 전자 장치로부터 수신한 상기 복수의 이미지들을 기반으로 상기 하이라이트 컨텐츠를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 분석된 상기 액티비티 종류 정보, 상기 선택된 이미지 처리 방식, 상기 하이라이트 컨텐츠와 관련한 표시 정보 중 적어도 하나를 출력하도록 제어할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 운용 모듈은 표시된 액티비티 종류 정보 또는 이미지 처리 방식 중 적어도 하나를 사용자 입력에 대응하여 변경하고, 상기 변경에 대응하여 하이라이트 컨텐츠를 재생성하도록 제어할 수 있다.
도 3은 다양한 실시 예에 따른 이미지 처리 방법을 나타낸 도면이다.
도 3을 참조하면, 이미지 처리 방법에 있어서, 동작 301에서 전자 장치 100의 이미지 운용 모듈 180은 이미지 수신이 있는지 확인할 수 있다. 이와 관련하여, 이미지 운용 모듈 180은 카메라 190 활성화를 제어하거나 또는 외부 전자 장치와 이미지 수신을 위한 통신 채널을 형성할 수 있다. 이미지 수신이 없는 경우, 동작 303에서 이미지 운용 모듈 180은 현재 발생된 이벤트 또는 설정된 스케줄링 이벤트에 대응하는 기능 수행을 제어할 수 있다. 예컨대, 이미지 운용 모듈 180은 사용자 입력의 종류에 따라 이미지 검색 기능을 지원하거나 저장된 하이라이트 컨텐츠 검색 기능을 지원하거나, 저장된 하이라이트 컨텐츠 공유 기능을 지원할 수 있다.
이미지 수신이 발생하면, 동작 305에서, 이미지 운용 모듈 180은 액티비티 분석을 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 카메라 190으로부터 이미지가 수집되면 또는 외부 전자 장치(예: 전자 장치 100과 연계되는 웨어러블 장치)로부터 이미지가 수집되면, 전자 장치 100의 또는 외부 전자 장치의 액티비티 분석을 수행할 수 있다. 액티비티 분석과 관련하여, 이미지 운용 모듈 180은 예컨대, 수집된 이미지들에 포함된 적어도 하나의 객체 변화 분석을 수행할 수 있다. 또는 이미지 운용 모듈 180은 외부 전자 장치 또는 카메라 190 활성화 시 적어도 하나의 센서(예: 전자 장치 100에 포함된 센서 또는 외부 전자 장치에 포함된 센서)를 활성화할 수 있다. 이미지 운용 모듈 180은 센서가 제공한 센서 정보를 기반으로 전자 장치의 움직임 상태, 주변 조도 상태, 위치 등을 분석할 수 있다. 또는 이미지 운용 모듈 180은 메모리 130에 저장된 정보(예: 스케줄 정보, 약속 정보, 기념일 정보, 업무 정보 등)를 기반으로 컨텍스트 정보를 분석할 수 있다.
동작 307에서, 이미지 운용 모듈 180은 액티비티 종류를 확인할 수 있다. 예컨대, 이미지 운용 모듈 180은 상술한 이미지 분석 정보, 센서 분석 정보, 메모리 130에 저장된 컨텍스트 분석 정보 중 적어도 하나에 대응하는 액티비티 종류를 확인할 수 있다. 한 실시 예에 따르면, 이미지 운용 모듈 180은 분석 정보에 따라 걷기 액티비티, 뛰기 액티비티, 차량 이동 액티비티, 야간 상황 액티비티, 우천 상황 액티비티, 특정 위치 액티비티 등의 종류를 확인할 수 있다.
동작 309에서, 이미지 운용 모듈 180은 액티비티 종류에 따른 이미지 처리 방식을 선택할 수 있다. 이미지 운용 모듈 180은 확인된 액티비티 종류에 매핑된 이미지 처리 방식을 선택할 수 있다. 이와 관련하여, 전자 장치 100은 액티비티 종류별 다르게 처리되는 이미지 처리 방식과 관련한 정보를 저장한 매핑 리스트를 저장 및 관리할 수 있다. 이미지 운용 모듈 180은 액티비티 종류가 확인되면 상기 매핑 리스트를 참조하여 어떠한 이미지 처리 방식을 적용할 것인지 결정할 수 있다. 한 실시 예에 따르면, 상기 매핑 리스트는 액티비티 종류에 따라 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 필터 파라메터(예: 필터 적용 문턱값)가 다르게 정의된 이미지 처리 방식들을 포함할 수 있다.
동작 311에서, 이미지 운용 모듈 180은 선택된 이미지 처리 방식에 따른 이미지 처리를 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 선택된 이미지 처리 방식에서 정의하는 필터의 정도에 따라 수집된 이미지들의 분류 및 선택을 다르게 할 수 있다. 한 실시 예에 따르면, 이미지 운용 모듈 180은 이미지 처리 방식의 품질 필터, 중복 필터 또는 분류 필터의 정도에 따라 이미지들 중 선택되는 프레임 수를 다르게 처리할 수 있다.
동작 313에서, 이미지 운용 모듈 180은 하이라이트 컨텐츠 생성을 처리할 수 있다. 예컨대, 이미지 운용 모듈 180은 선택된 이미지들을 연속적으로 배치하여 동영상으로 된 하이라이트 컨텐츠를 생성할 수 있다. 또는 이미지 운용 모듈 180은 선택된 이미지들을 일정 시간 간격 단위로 변하는 슬라이드 하이라이트 컨텐츠를 생성할 수 있다. 또는 이미지 운용 모듈 180은 선택된 이미지들 사이에 이미지 변환 효과를 제공하여 슬라이드 하이라이트 컨텐츠를 생성할 수 있다.
도 4는 다양한 실시 예에 따른 이미지를 이용한 액티비티 분석 방법을 도시한다.
도 4를 참조하면, 액티비티 분석 방법과 관련하여 동작 401에서, 이미지 운용 모듈 180은 이미지 수집을 처리할 수 있다. 이와 관련하여, 이미지 운용 모듈 180은 카메라 190을 활성화하거나 또는 카메라 장치를 포함한 외부 전자 장치 102와 통신 채널을 형성하여 이미지 수신이 가능하도록 처리할 수 있다. 다양한 실시 예에 따르면, 이미지 운용 모듈 180은 외부 전자 장치 102가 저장한 이미지들을 수신할 수도 있다.
동작 403에서, 이미지 운용 모듈 180은 피사체 움직임이 있는지 확인할 수 있다. 예컨대, 이미지 운용 모듈 180은 수집되는 이미지들을 비교하여 지정된 값 이상의 이미지 차이를 가지는 확인할 수 있다. 또는 이미지 운용 모듈 180은 이미지 내에 포함된 적어도 하나의 객체의 변화가 지정된 값 이상인지를 확인할 수 있다.
동작 405에서, 이미지 운용 모듈 180은 객체 움직임 분석, 이미지들 차이 분석, 또는 객체 종류 분석 중 적어도 하나를 수행할 수 있다. 이미지 운용 모듈 180은 피사체 움직임에 대응하는 이미지 차이가 발생하면, 이미지에 포함된 적어도 하나의 객체들의 움직임 또는 이미지들 차이 또는 객체 종류를 분석하여 움직임 정보 및 객체 종류 등을 검출할 수 있다. 예컨대, 이미지 운용 모듈 180은 객체가 어떠한 방향으로 얼마의 속도를 가지며 이동하는지 등을 검출할 수 있다. 또한, 이미지 운용 모듈 180은 이미지 내에 지정된 객체(예: 사람 얼굴 등)가 포함되어 있는지 등을 검출할 수 있다.
동작 407에서, 이미지 운용 모듈 180은 움직임 정보 및 객체 종류에 대응하는 액티비티 분석을 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 움직임 정보를 기반으로 현재 전자 장치 100을 보유한 사용자가 걷고 있는 상태인지 또는 뛰고 있는 상태인지 또는 낙하하고 있는 상태인지 등을 확인할 수 있다. 또는 이미지 운용 모듈 180은 객체 종류를 기반으로 풍경을 촬영하는 것인지 또는 인물을 촬영하는 것인지 또는 특정 피사체를 촬영하는 것인지 등을 확인할 수 있다. 상술한 분석을 기반으로 이미지 운용 모듈 180은 걷기, 뛰기, 낙하 등의 액티비티 종류 또는 인물 촬영, 물체 촬영 등의 액티비티 종류를 결정할 수 있다.
동작 409에서, 이미지 운용 모듈 180은 액티비티 분석과 관련한 종료 관련 이벤트가 발생하는지 확인할 수 있다. 예컨대, 이미지 운용 모듈 180은 이미지 수집이 종료되는지 확인할 수 있다. 또는 이미지 운용 모듈 180은 사진 기능 비활성화와 관련한 이벤트가 발생하는지 확인할 수 있다.
다양한 실시 예에 따르면, 이미지 운용 모듈 180은 이미지 분석뿐만 아니라, 센서 데이터 또는 컨텍스트 데이터 등을 활용하여 액티비티 분석을 수행할 수도 있다. 예컨대, 이미지 운용 모듈 180은 입력 데이터로서 촬영된 이미지 도는 비디오와 시간, 장소 및 그 밖의 센서 데이터 그리고 사용자의 컨텍스트 데이터 등을 기반으로 사용자 액티비티(activity)를 인식하여 하이라이트 컨텐츠 생성과 관련한 프로세싱 플로우(processing flow)를 제어(control)할 수 있다. 사용자 컨텍스트 데이터는 사용자가 설정한 촬영 시작과 종료 정보 및 명시적으로 정의한 액티비티의 종류 정보를 포함할 수 있다. 촬영의 시작과 종료 정보는 컨텐츠 그룹핑 처리 시 이용될 수 있다. 예컨대, 촬영 시작과 종료가 설정된 경우 그룹핑은 스킵될 수 있다. 촬영 시작과 종료 설정이 없으면, 이미지 운용 모듈 180은 획득된 하이라이트 이미지들 또는 컨텐츠들을 위치, 시간, 이미지 특성 중 적어도 하나를 기반으로 그룹핑할 수 있다.
도 5는 다양한 실시 예에 따른 센서 정보를 이용한 액티비티 분석 방법을 도시한다.
도 5를 참조하면, 액티비티 분석 방법과 관련하여, 동작 501에서 이미지 운용 모듈 180은 센서 정보를 수집할 수 있다. 한 실시 예에 따르면, 이미지 운용 모듈 180은 카메라 190 활성화 시 또는 외부 전자 장치 102로부터 이미지 수신 시 적어도 하나의 센서를 활성화할 수 있다. 또는 이미지 운용 모듈 180은 외부 전자 장치 102로부터 이미지와 함께 센서 정보를 수신할 수도 있다.
동작 503에서, 이미지 운용 모듈 180은 장치 움직임, 장치 위치 분석 및 제스처 분석 중 적어도 하나를 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 센서 정보를 기반으로 전자 장치 100 또는 외부 전자 장치 102 중 적어도 하나의 장치 움직임의 방향 또는 움직임 정도(예: 속도, 가속도 등) 등을 분석할 수 있다. 또한 이미지 운용 모듈 180은 센서 정보를 기반으로 전자 장치 100 또는 외부 전자 장치 102의 위치 변화 또는 현재 위치 분석을 수행할 수 있다. 또한, 이미지 운용 모듈 180은 센서 정보를 기반으로 일정 시간 내의 장치 움직임에 따른 제스처(예: 흔들기, 두드리기, 돌리기 또는 기울이기 제스처 등) 분석을 수행할 수 있다.
동작 505에서, 이미지 운용 모듈 180은 움직임 및 위치에 따른 액티비티 분석을 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 전자 장치 100 또는 외부 전자 장치 102의 속도 또는 가속도, 또는 움직임 방향에 따라 걷기(walking) 액티비티, 뛰기(jumping) 액티비티, 달리기(running) 액티비티, 이동 수단(예: 자전거, 바이크 또는 차량 등)에 의한 이동(movement) 액티비티 등의 종류를 결정할 수 있다. 또는 이미지 운용 모듈 180은 움직임, 위치 또는 제스처 등에 따라 산행(예: 고도 정보와 이동 정보 기반) 액티비티, 운동(예: 수영, 테니스, 골프, 탁구, 야구 등) 액티비티 등의 종류를 결정할 수 있다. 이미지 운용 모듈 180은 액티비티 종류가 결정되면, 결과에 따른 이미지 처리 방식 선택 과정 후 하이라이트 컨텐츠 생성을 처리할 수 있다.
동작 507에서, 이미지 운용 모듈 180은 종료 이벤트 발생 여부를 확인할 수 있다. 이미지 운용 모듈 180은 종료 이벤트 발생이 없으면, 센서 정보를 일정 주기로 또는 실시간으로 수집하여 동작 501 이후 동작을 재수행할 수 있다. 종료 이벤트 발생 시, 이미지 운용 모듈 180은 하이라이트 컨텐츠 생성 종료와 함께 센서 정보 수집 종료를 제어할 수 있다.
도 6은 다양한 실시 예에 따른 컨텍스트 정보를 이용한 액티비티 분석 방법을 도시한다.
도 6은 참조하면, 액티비티 분석 방법과 관련하여, 동작 601에서, 이미지 운용 모듈 180은 컨텍스트 정보를 수집할 수 있다. 예컨대, 이미지 운용 모듈 180은 컨텍스트 정보가 기입되도록 지정된 메모리 130의 일정 영역(예: 스케줄 정보가 기입되는 영역, 메모가 기입되는 영역, 문자 메시지나 채팅 메시지가 기입되는 영역, 이메일이 기입되는 영역, 알람이 기입되는 영역 등)을 검색할 수 있다. 이미지 운용 모듈 180은 메모리 130 일정 영역에 지정된 일정 검색어(예: 인물, 시간, 위치 중 적어도 하나와 관련한 용어)에 대응하는 용어를 검색할 수 있다. 이미지 운용 모듈 180은 검색어에 대응하는 용어들을 기반으로 특정 시간과 위치 또는 인물 등과 관련한 컨텍스트 정보를 수집할 수 있다.
동작 603에서, 이미지 운용 모듈 180은 현재 상황 정보를 수집할 수 있다. 예컨대, 이미지 운용 모듈 180은 전자 장치 100(또는 외부 전자 장치 102)의 현재 위치 정보, 전자 장치 100이 위치한 현재 시간 정보를 수집할 수 있다. 다양한 실시 예에 따르면, 이미지 운용 모듈 180은 주변 스캔을 수행하여 지정된 인물과 관련하여 등록된 외부 전자 장치 200 정보를 수집할 수 있다.
동작 605에서, 이미지 운용 모듈 180은 현재 상황 정보에 따른 컨텍스트 정보 분석을 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 동작 601에서 획득한 컨텍스트 정보에 포함된 시간, 위치, 인물 정보와 현재 상황에서 획득된 시간, 위치, 인물 정보가 일정 오차 범위 내에서 일치하는지 확인할 수 있다. 이미지 운용 모듈 180은 현재 상황 정보가 일정 오차 범위 내에서 컨텍스트 정보와 일치하는 경우, 컨텍스트 정보에 따른 상황이 수행되고 있는 것으로 판단할 수 있다.
동작 607에서, 이미지 운용 모듈 180은 액티비티 분석을 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 컨텍스트 정보에 따라 일정 액티비티 종류를 할당할 수 있다. 한 실시 예에 따르면, 이미지 운용 모듈 180은 컨텍스트 정보에 따라 모임 액티비티, 회의 액티비티, 출장 액티비티, 퇴근 액티비티, 출근 액티비티 등을 결정할 수 있다. 이미지 운용 모듈 180은 각 액티비티에 따라 다른 촬영 시간과 종료 시간(또는 다른 이미지 획득 인터벌)을 설정할 수 있다. 또는 이미지 운용 모듈 180은 획득된 이미지들의 이미지 처리 방식을 다르게 설정할 수 있다.
동작 609에서, 이미지 운용 모듈 180은 종료 이벤트 발생 여부를 확인할 수 있다. 이미지 운용 모듈 180은 하이라이트 컨텐츠 생성 기능의 비활성화와 관련한 이력 이벤트 발생이 있는지 확인할 수 있다. 이미지 운용 모듈 180은 비활성화 관련 이벤트가 발생하면, 컨텍스트 정보 수집 및 분석을 종료할 수 있다.
도 7a는 다양한 실시 예에 따른 하이라이트 이미지 수집 방법을 도시한다.
도 7a를 참조하면, 액티비티 종류가 결정되고, 액티비티 종류에 따른 이미지 처리 방식이 결정되면 하이라이트 이미지 수집과 관련하여, 동작 701에서 이미지 운용 모듈 180은 비디오 입력 여부를 확인할 수 있다. 예컨대, 이미지 운용 모듈 180은 카메라 190으로부터 비디오(예: 동영상)가 입력되는지 또는 외부 전자 장치 102가 전송한 이미지가 비디오인지 확인할 수 있다. 액티비티 종류를 결정하는 방식은 앞서 설명한 도 4 내지 도 6의 방법 중 적어도 하나가 적용에 따라 결정될 수 있다.
비디오 입력인 경우, 동작 703에서 이미지 운용 모듈 180은 키 프레임 추출을 수행할 수 있다. 비디오 입력이 아닌 경우 예컨대, 정지 영상 입력인 경우, 동작 705에서 이미지 운용 모듈 180은 지정된 방식의 복호 예컨대 JPG 디코딩을 수행할 수 있다. 동작 707에서, 이미지 운용 모듈 180은 비트맵 이미지 생성을 처리할 수 있다. 예컨대, 이미지 운용 모듈 180은 추출된 키 프레임을 비트맵 이미지로 변환할 수 있다. 또는 이미지 운용 모듈 180은 JPG 디코딩된 이미지를 비트맵 이미지로 변환할 수 있다.
동작 709에서, 이미지 운용 모듈 180은 저품질 이미지 필터링이 적용되는 이미지인지 여부를 확인할 수 있다. 예컨대, 이미지 운용 모듈 180은 비트맵 이미지 내의 해상도가 지정된 값 이상인지 확인할 수 있다. 또는 이미지 운용 모듈 180은 비트맵 이미지 내의 화소 깨짐이나 번짐, 블러 등이 발생한 영역 등이 지정된 값 이상인지 확인할 수 있다. 저품질 이미지 필터링의 파라메터(예: 품질의 정도를 정의한 파라메터)는 액티비티 종류에 따라 다르게 결정될 수 있다.
저품질 이미지 필터링이 적용되는 이미지인 경우, 동작 711에서 이미지 운용 모듈 180은 필터링 적용을 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 해당 비트맵 이미지를 하이라이트 컨텐츠 생성에 이용되지 않도록 제외시킬 수 있다.
저품질 이미지 필터링이 적용되지 않는 이미지인 경우 예컨대 지정된 품질 이상의 이미지인 경우, 동작 713에서 이미지 운용 모듈 180은 중복 필터링 적용되는 이미지인지 확인할 수 있다. 이와 관련하여, 이미지 운용 모듈 180은 다른 비트맵 이미지(예: 이미 획득된 하이라이트 이미지)와의 동일 정도가 지정된 조건을 만족하는지 확인할 수 있다. 예컨대, 이미지 운용 모듈 180은 현재 획득된 이미지와 다른 이미지의 유사도가 지정된 비율 이상인지 확인할 수 있다. 유사도의 비율 정도는 액티비티의 종류에 따라 다르게 결정될 수 있다.
중복 필터링 적용되는 이미지인 경우(예: 유사도가 지정된 비율 이상인 경우), 동작 715에서 이미지 운용 모듈 180은 이미지 통합 처리를 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 획득된 이미지를 중복으로 판단되는 다른 하이라이트 이미지와 통합 처리할 수 있다. 또는 이미지 운용 모듈 180은 획득된 이미지를 중복으로 마킹하고 하이라이트 이미지에 포함시키지 않도록 제외할 수 있다.
중복 필터링 적용되지 않는 이미지인 경우, 동작 717에서 이미지 운용 모듈 180은 객체 검출을 수행할 수 있다. 예컨대, 획득된 하이라이트 이미지들과 지정된 일정 비율 이상 상이한 이미지가 획득되면, 이미지 운용 모듈 180은 획득된 이미지에 포함된 적어도 하나의 객체를 검출할 수 있다. 객체 검출 이후, 동작 719에서, 이미지 운용 모듈 180은 이미지 분류를 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 검출되는 객체의 종류에 따라 이미지 분류를 수행할 수 있다. 이와 관련하여, 전자 장치 100은 지정된 일정 객체 예컨대 인물 객체, 차량 객체, 자전거 객체 등에 대한 정보를 메모리 130에 저장 관리할 수 있다. 이미지 운용 모듈 180은 검출된 객체의 특징점들과 메모리 130에 저장된 객체들을 비교하여, 이미지가 어떠한 객체를 포함하고 있는지 확인할 수 있다. 이미지 운용 모듈 180은 확인된 객체의 종류에 따라 이미지 분류를 수행할 수 있다.
동작 721에서, 이미지 운용 모듈 180은 하이라이트 이미지 수 계산을 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 동일 종류로 분류된 이미지들에 대하여 이전 획득된 이미지들까지의 합이 얼마인지(예: 프레임 수가 몇 개인지) 확인할 수 있다.
상술한 바와 같이 이미지 운용 모듈 180은 특정 액티비티 종류에 해당하는 환경 예컨대 일정 속도 이상 이동 중인 상태(예: 전자 장치를 보유한 사용자가 달리는 상태 또는 자전거 등의 이동 수단에 탑승한 상태 등)에서 입력 이벤트에 대응하여 정지 영상 또는 동영상 등의 이미지 촬영을 제어할 수 있다. 이미지 운용 모듈 180은 이동에 따른 액티비티 종류가 결정되면, 이에 대응하여 획득된 영상 예컨대 비디오 영상에서 이미지 셋을 추출할 수 있다. 예컨대, 이미지 운용 모듈 180은 필터링을 수행하여 살아남은 적어도 하나의 프레임을 하이라이트 이미지로 저장해서 하나의 셋을 구성할 수 있다.
도 7b는 다양한 실시 예에 따른 하이라이트 컨텐츠 제공 방법을 도시한다.
도 7b를 참조하면, 하이라이트 컨텐츠 제공 방법에 있어서, 동작 723에서 이미지 운용 모듈 180은 하이라이트 이미지 수가 지정된 조건 이상인지 여부를 확인할 수 있다. 예컨대, 이미지 운용 모듈 180은 하이라이트 이미지 수가 지정된 수 이상으로 획득된 상태인지 확인할 수 있다. 한 실시 예에 따르면, 이미지 운용 모듈 180은 필터링 수행 후 하이라이트 이미지의 개수가 사용자가 설정한 또는 자동으로 설정된 문턱 값(threshold)을 넘어가는 경우, 상술한 도 7a에서 설명한 필터링들을 포함하는 하이라이트 컨텐츠 생성 프로세서를 추가적으로 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 품질 필터의 파라메터 예컨대 블러 정도 조정, 분류 필터의 파라메터 예컨대 “인물”의 장면 비중 조정, 배경 장면(예: forest Scene)의 비중 조정 중 적어도 하나를 수행함으로써 원본 대비 일정 비율 이하의 정지 영상 또는 동영상을 추출하도록 제어할 수 있다. 예컨대, 이미지 운용 모듈 180은 필터 파라메터를 조정하여 전체 이미지 수 대비 하이라이트 이미지 출력 수의 비율, 또는 전체 액티비티 기간 동영상 중 일정 비율 등을 조절하여 정지 영상 또는 동영상을 추출할 수 있다.
하이라이트 이미지 수가 지정된 조건을 만족하는 경우 동작 725에서, 이미지 운용 모듈 180은 비 하이라이트 이미지 처리를 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 해당 이미지를 하이라이트 되지 않은 이미지로 마킹할 수 있다. 이미지 운용 모듈 180은 상기 획득된 이미지를 하이라이트 컨텐츠 생성 시 이용되지 않도록 제외 처리할 수 있다.
하이라이트 이미지 수가 지정된 조건을 만족하지 않는 경우, 예컨대, 하이라이트 이미지 수가 지정된 수 이하여서 하이라이트 이미지 수의 획득이 더 필요한 경우, 동작 727에서 이미지 운용 모듈 180은 비디오 입력 인지 여부를 확인할 수 있다. 비디오 입력인 경우, 이미지 운용 모듈 180은 동작 729에서 하이라이트 키 프레임 처리를 수행할 수 있다. 비디오 입력이 아닌 경우, 이미지 운용 모듈 180은 동작 731에서 하이라이트 이미지 처리를 수행할 수 있다.
동작 733에서, 이미지 운용 모듈 180은 처리 종료와 관련한 이벤트 발생 여부를 확인할 수 있다. 이미지 운용 모듈 180은 처리 종료 관련 이벤트 발생이 없으면, 도 7a의 동작 701 이전으로 분기하여 이하 동작을 재수행할 수 있다.
처리 종료와 관련한 이벤트가 발생하면, 동작 735에서 이미지 운용 모듈 180은 그룹핑된 비디오 또는 이미지 생성을 처리할 수 있다. 예컨대, 이미지 운용 모듈 180은 하이라이트 이미지들을 하나의 이미지 셋이 되도록 관리할 수 있다. 동작 737에서, 이미지 운용 모듈 180은 컨텐츠 그룹핑을 수행할 수 잇다. 예컨대, 이미지 운용 모듈 180은 하이라이트 이미지 셋들을 시간 또는 위치 중 적어도 하나를 기반으로 그룹핑할 수 있다. 예컨대, 이미지 운용 모듈 180은 시간적으로 지정된 일정 시간 범위 내에 생성된 하이라이트 이미지 셋들을 하나의 컨텐츠로 그룹핑할 수 있다. 또는 이미지 운용 모듈 180은 위치(또는 시간 및 위치가)가 지정된 일정 범위 내에서 동일한 경우의 하이라이트 이미지 셋들을 하나의 컨텐츠로 그룹핑할 수 있다.
동작 739에서, 이미지 운용 모듈 180은 하이라이트 컨텐츠 생성, 저장 또는 출력 중 적어도 하나를 수행할 수 있다. 예컨대, 이미지 운용 모듈 180은 하이라이트 컨텐츠를 전자 장치 100의 메모리 130에 저장하거나, 또는 외부 전자 장치 102에 전송하거나 또는 지정된 서버 장치에 전송할 수 있다.
상술한 바와 같이 다양한 실시 예에 따르면, 한 실시 예에 따른 이미지 처리 방법은 이미지를 수집하는 동작, 상기 이미지를 획득한 시점의 전자 장치의 액티비티 종류를 결정하는 동작, 상기 액티비티 종류에 대응하는 필터링 조건을 가지는 이미지 처리 방식을 선택하는 동작, 상기 선택된 이미지 처리 방식을 적용하여 상기 획득된 이미지들 중 일부 이미지들을 선택 또는 영상 처리하는 동작, 상기 선택 또는 영상 처리된 이미지들을 기반으로 하이라이트 컨텐츠를 생성하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 액티비티 종류를 결정하는 동작은 상기 복수의 이미지들의 차이 분석 또는 이미지들에 포함된 객체들의 차이 변화 분석 중 적어도 하나를 기반으로 상기 전자 장치 관련 액티비티 종류를 결정하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 액티비티 종류를 결정하는 동작은 상기 전자 장치 관련 센서 정보 또는 상기 복수의 이미지를 전송하는 외부 전자 장치로부터 센서 정보를 수신하는 동작, 상기 수신한 센서 정보 기반으로 상기 전자 장치 관련 액티비티 종류를 결정하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 액티비티 종류를 결정하는 동작은 상기 전자 장치의 메모리에 저장된 컨텍스트 정보 또는 상기 이미지를 전송한 외부 전자 장치에 저장된 컨텍스트 정보를 수집하는 동작, 상기 수집된 컨텍스트 정보를 기반으로 상기 액티비티 종류를 결정하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 컨텍스트 정보를 수집하는 동작은 메모리에 저장된 정보 중 알람 시간 정보, 업무 스케줄 정보, 휴식 스케줄 정보, 산책 스케줄 정보, 회의 스케줄 정보 중 적어도 하나를 상기 컨텍스트 정보로서 획득하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이미지 처리 방식을 선택하는 동작은 상기 액티비티 종류에 따라 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 적용 여부가 다르게 설정된 이미지 처리 방식 또는 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 파라메터가 다르게 설정된 이미지 처리 방식을 선택하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 하이라이트 컨텐츠를 생성하는 동작은 지정된 일정 시간 또는 지정된 일정 위치에서 상기 선택된 이미지 처리 방식을 동일하게 적용하여 하이라이트 컨텐츠를 생성하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 하이라이트 컨텐츠를 생성하는 동작은 무선 연결된 웨어러블 전자 장치로부터 수신한 상기 복수의 이미지들을 기반으로 상기 하이라이트 컨텐츠를 생성하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 분석된 상기 액티비티 종류 정보, 상기 선택된 이미지 처리 방식, 상기 하이라이트 컨텐츠와 관련한 표시 정보 중 적어도 하나를 출력하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 표시된 액티비티 종류 정보 또는 이미지 처리 방식 중 적어도 하나를 사용자 입력에 대응하여 변경하는 동작, 상기 변경에 대응하여 하이라이트 컨텐츠를 재생성하는 동작을 더 포함할 수 있다.
도 8은 다양한 실시 예에 따른 이미지 운용과 관련한 시스템 신호 처리의 한 예이다.
도 8을 참조하면, 이미지 운용과 관련한 시스템 신호 처리와 관련하여, 동작 801에서 외부 전자 장치 102는 입력 이벤트에 따라 또는 전자 장치 100의 요청에 대응하여 이미지 수집 또는 센서 정보 수집을 수행할 수 있다. 예컨대, 외부 전자 장치 102는 사용자 입력에 대응하여 적어도 하나의 센서를 활성화하고, 카메라를 통해 이미지를 획득하면서, 센서 정보를 수집할 수 있다.
동작 803에서, 외부 전자 장치 102는 수집된 이미지 또는 센서 정보를 전자 장치 100에 전송할 수 있다. 한 실시 예에 따르면, 외부 전자 장치 102는 이동 속도 정보, 이동 방향 정보 등을 센서 정보로 수집하여 전자 장치 100에 획득된 이미지와 함께 전송할 수 있다.
동작 805에서, 전자 장치 100은 액티비티 종류 분석을 수행할 수 있다. 예컨대, 전자 장치 100은 외부 전자 장치 102가 제공한 이동 속도 정보 또는 이동 방향 정보 등을 기반으로 액티비티 종류 분석을 수행할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 이동 속도 정보 또는 이동 방향 정보 등을 기반으로 걷기 액티비티 또는 달리기 액티비티, 또는 자전거 이동 액티비티가 결정될 수도 있다.
액티비티 종류 분석이 완료되면, 동작 807에서, 전자 장치 100은 액티비티에 따른 이미지 처리 방식을 결정할 수 있다. 예컨대, 전자 장치 100은 액티비티 종류에 따라 지정된 파라메터를 가지는 필터들로 구성된 이미지 처리 방식을 결정할 수 있다. 이와 관련하여, 전자 장치 100은 메모리 130에 저장된 액티비티에 종류에 따른 이미지 처리 방식이 매핑된 매핑 테이블을 참조할 수 있다.
동작 809에서, 전자 장치 100은 하이라이트 컨텐츠 생성을 수행할 수 있다. 예컨대, 전자 장치 100은 이미지 처리 방식에 따라 선택된 적어도 하나의 하이라이트 이미지들을 연속 배치하거나 동영상으로 인코딩하거나, 이미지들 사이를 변환 처리하여 연속 재생 영상이 되도록 처리할 수 있다.
동작 811에서, 전자 장치 100은 하이라이트 컨텐츠를 외부 전자 장치 102에 전송할 수 있다. 추가적으로 또는 대체적으로, 전자 장치 100은 하이라이트 컨텐츠의 출력 또는 저장 중 적어도 하나를 처리할 수 있다. 동작 813에서, 외부 전자 장치 200은 수신된 하이라이트 컨텐츠의 출력 또는 저장 중 적어도 하나를 처리할 수 있다.
다양한 실시 예에 따르면, 이미지 운용 방법에 있어서 전자 장치 100의 액티비티 분석이 외부 전자 장치 102의 센서 정보를 기반으로 수행되는 것으로 설명하였으나, 다양한 실시 예들이 이에 한정되는 것은 아니다. 예컨대, 다양한 실시 예에 따른 이미지 운용 방법은 외부 전자 장치 102가 전달한 이미지 분석을 통하여 액티비티 분석이 수행될 수도 있다. 또한 다양한 실시 예에 따른 이미지 운용 방법은 외부 전자 장치 102의 메모리 130에 저장된 컨텍스트 정보를 기반으로 액티비티 분석이 수행될 수도 있다.
다양한 실시 예에 따르면, 상술한 설명에서는 액티비티 분석과, 액티비티 종류 결정, 이미지 처리 방식의 선택 등이 전자 장치 100에서 수행되는 형태를 예시하였으나 다양한 실시 예들이 이에 한정되는 것은 아니다. 예컨대, 상술한 액티비티 관련 처리와 이미지 처리 방식의 선택 및 이미지 처리는 외부 전자 장치 200에서 처리될 수도 있다.
상술한 바와 같이, 다양한 실시 예에 따른 이미지 운용 방법에 따른 장치들의 운용은 수집된 이미지들을 액티비티 종류에 따라 지정된 이미지 처리 방식에 따라 처리하여, 액티비티 종류에 따라 다른 형태의 하이라이트 컨텐츠 생성을 지원할 수 있다. 예컨대, 전자 장치 100은 수집된 정보에 따라 실제 상황에 따른 입력 데이터 분석, 액티비티 평가, 이미지 처리 방식 선택 및 적용을 다르게 할 수 있다.
한 실시 예에 따르면, 전자 장치 100을 보유한 사용자가 걸을 때, 이미지 운용 모듈 180은 상하 움직임이 지정된 레벨 이하로 주기적으로 발생하는 영상을 획득할 수 있다. 또는 이미지 운용 모듈 180은 약 4-5km 의 이동 속도로 앞뒤로 주로 움직이는 가속도 센서 정보를 획득할 수 있다. 또는 이미지 운용 모듈 180은 운동 기록과 일정에 해당 시간에 걷기라고 입력되어 있는 컨텍스트 정보를 획득할 수 있다. 다양한 실시 예에 따르면, 이미지 운용 모듈 180은 프레임워크에서 제공하는 API를 사용하여 현재 걷고 있는 상황임을 확인할 수 있다.
이미지 운용 모듈 180은 상술한 입력 데이터 분석을 기반으로 액티비티 종류를 걷기 상태로 결정할 수 있다. 이에 따라, 이미지 운용 모듈 180은 걷기 상태 액티비티에 대한 이미지 처리 방식을 선택할 수 있다. 예컨대, 이미지 운용 모듈 180은 이미지 안정화기(image stabilizer)의 움직임 보정을 약하게 하고, 필터링과 관련하여 지정된 파라메터 값의 품질 필터, 중복 필터, 분류 필터를 포함하는 이미지 처리 방식을 선택할 수 있다. 이미지 운용 모듈 180은 컨텐츠 그룹핑과 관련하여, 시간 장소 기반 그룹핑을 적용하고, 그룹간 절대 시간 간격은 3시간, 절대 장소 간격은 10km 등으로 설정할 수 있다. 또는 이미지 운용 모듈 180은 스케줄러, 달력, 헬스케어 기능 등에 의해서 발생하는 시작/종료 이벤트 또는 사용자 입력에 따른 시작/종료 이벤트에 따른 컨텐츠 그룹핑을 처리할 수도 있다. 하이라이트 컨텐츠 생성과 관련하여, 이미지 운용 모듈 180은 걷기 상태 액티비티에 대응하여 타입 랩스(time lapse) 비디오 생성 및 5분간격 이미지 셋 생성을 수행할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100을 보유한 사용자가 뛸때(running), 이미지 운용 모듈 180은 상하 움직임이 큰 레벨로 주기적으로 일어는 영상을 획득할 수 있다. 또는 이미지 운용 모듈 180은 약 10-15km 의 속도로 앞뒤로 주로 움직이고, 위아래 좌우로도 주기적으로 움직이는 가속도 센서 정보를 획득할 수 있다. 또는 이미지 운용 모듈 180은 운동 기록과 일정에 해당 시간에 조깅이라고 입력되어 있고 외부 전자 장치 102에 달리기(running)이라고 입력되는 컨텍스트 정보를 획득할 수 있다. 이미지 운용 모듈 180은 프레임워크에서 제공하는 API를 사용하여 현재 뛰고 있는 상황을 확인할 수 있다. 이에 따라, 이미지 운용 모듈 180은 달리기 액티비티 발생으로 판단할 수 있다. 이미지 운용 모듈 180은 달리기 액티비티 발생에 따라 이미지 안정화기의 움직임 보정을 강하게 하고, 지정된 파라메터 값의 품질 필터와 중복 필터를 적용하는 이미지 처리 방식을 선택할 수 있다. 이미지 운용 모듈 180은 컨텐츠 그룹핑과 관련하여 시간 장소 기반 그룹핑을 적용하고, 그룹간 절대 시간 간격은 3시간, 절대 장소 간격은 10km 등으로 설정할 수 있다. 또는 이미지 운용 모듈 180은 컨텐츠 그룹핑과 관련하여 이미지 운용 모듈 180은 관련 어플리케이션 예컨대, 달력, 헬스케어 등의 시작/종료 이벤트를 받아서 그룹핑 처리를 수행할 수 있다. 이미지 운용 모듈 180은 하이라이트 컨텐츠 생성과 관련하여, 비디오에서 이미지 셋을 추출해서 구성할 수 있다.
다양한 실시 예에 따르면, 아이와 놀고 있을 때(normal) 이미지 운용 모듈 180은 피사체가 지정된 시간 간격 내에서 일정 횟수 이상 바뀌고 동일 객체(또는 인물)가 지속적으로 등장하는 영상을 획득할 수 있다. 또는 이미지 운용 모듈 180은 위치 정보 수집 센서에 의해 장소의 큰 변화가 없는 위치 정보와, 불규칙함 가속도 센서 정보 및 자이로 센서 정보가 획득될 수 있다. 또는 이미지 운용 모듈 180은 특정된 사용자 입력이 없는 컨텍스트 정보를 수집할 수 있다. 이에 따라, 이미지 운용 모듈 180은 일반 액티비티(normal activity) 발생으로 판단할 수 있다. 이미지 운용 모듈 180은 지정된 파라메터의 품질 필터, 중복 필터, 분류 필터를 포함하는 이미지 처리 방식을 선택할 수 있다. 이미지 운용 모듈 180은 액티비티 종류에 따라 시간 장소 기반 그룹핑 적용, 그룹간 절대 시간 간격은 3시간, 절대 장소 간격은 5km 등으로 설정할 수 있다. 이미지 운용 모듈 180은 이미지 슬라이드 효과를 포함한 그룹당 하나의 비디오를 생성하는 하이라이트 컨텐츠 생성을 수행할 수 있다.
상술한 바와 같이, 다양한 실시 예에서는 액티비티 인식을 수행하고, 그에 대응하는 하이라이트를 생성하기 위한 이미지 처리 방식을 조절함으로써 하이라이트 컨텐츠의 품질을 개선하고 불필요한 연산을 줄여 발열과 배터리 사용성도 개선할 수 있다.
도 9는 다양한 실시 예에 따른 이미지 처리와 관련한 화면 인터페이스의 한 예이다.
도 9를 참조하면, 다양한 실시 예에 따르면, 전자 장치 100은 카메라 190을 활성화하여 특정 피사체에 대한 영상을 획득할 수 있다. 이 동작에서 전자 장치 100의 디스플레이 150은 상태 901에서와 같이 영상 획득 화면을 출력할 수 있다. 상태 901에서 표시된 화면은 예컨대, 피사체에 대한 정지 영상 또는 동영상 중 어느 하나일 수 있다. 다양한 실시 예에 따르면, 디스플레이 150에 출력되는 영상은 외부 전자 장치 102가 촬영하여 전송한 화면일 수도 있다. 전자 장치 100은 하이라이트 컨텐츠 생성과 관련하여 적어도 하나의 센서를 활성화할 수 있다. 또는 전자 장치 100은 컨텍스트 정보 수집을 수행할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 영상 획득이 완료되거나(예: 카메라 190 기능 비활성화) 또는 하이라이트 컨텐츠 생성 기능이 요청되는 경우, 획득된 영상들을 이용하여 하이라이트 컨텐츠 생성을 수행할 수 있다. 또는 전자 장치 100은 하이라이트 컨텐츠 생성 기능 활성화에 의해 카메라 190이 활성화되면 지정된 시간 동안 영상을 획득하거나, 또는 영상 촬영 시작 후 종료 입력 이벤트가 발생하면 하이라이트 컨텐츠 생성을 처리할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 하이라이트 컨텐츠 생성과 관련하여 액티비티 종류 분석을 수행하고, 그에 따른 이미지 처리 방식을 선택할 수 있다. 이에 따라, 전자 장치 100은 디스플레이 150에 도시된 바와 같은 정보를 표시할 수 있다. 예컨대, 디스플레이 150은 상태 903에서와 같이 하이라이트 컨텐츠 정보 화면 930을 출력할 수 있다. 하이라이트 컨텐츠 정보 화면 930은 예컨대, 분석된 액티비티 정보 영역 931, 이미지 처리 방식 영역 933, 선택된 이미지 처리 방식 933c에 의해 생성된 하이라이트 컨텐츠 표시 영역 935를 포함할 수 있다.
상기 액티비티 정보 영역 931은 예컨대 이미지 분석 정보, 센서 정보, 컨텍스트 정보 중 적어도 하나를 기반으로 분석된 액티비티 종류(예: 자전거 탑승) 정보를 표시할 수 있다. 다양한 실시 예에 따르면, 액티비티 정보 영역 931은 사용자 입력 제어에 대응하여 다른 액티비티 종류(예: 걷기, 달리기, 차량 등의 항목)를 포함하는 리스트를 출력할 수 있다. 액티비티 종류가 사용자 입력에 대응하여 변경되면, 선택된 이미지 처리 방식 933c의 내용이 그에 대응하여 자동으로 변경될 수 있다.
이미지 처리 방식 영역 933은 액티비티 종류에 대응하여 지정된 정보를 표시할 수 있다. 이미지 처리 방식 영역 933은 숫자나 문자 등으로 구분 표시될 수 있다. 예컨대, 이미지 처리 방식 영역 933은 액티비티 종류에 대응하는 선택된 이미지 처리 방식 933c가 표시될 수 있다. 선택된 이미지 처리 방식 933c는 사용자 입력 제어에 대응하여 다른 번호나 문자 등으로 변경될 수 있다. 다른 번호나 문자 등은 그에 대응하는 필터 적용 방식 또는 파라메터 값이 다른 필터가 설정될 수 있다.
다양한 실시 예에 따르면, 이미지 처리 방식 영역 933은 남자 항목 933a 또는 여자 항목 933b를 포함할 수 있다. 남자 항목 933a 또는 여자 항목 933b는 필터링되는 이미지들의 종류를 설정된 특정 값들을 기준으로 처리되는 항목일 수 있다. 예컨대, 남자 항목 933a 또는 여자 항목 933b는 복수개의 획득된 이미지들에 포함된 객체들 중 지정된 카테고리에 해당하는 객체를 포함한 이미지를 하이라이트 이미지로 분류할 수 있는 가중치 항목일 수 있다. 한 실시 예에 따르면, 남자 항목 933a가 선택되면 이미지 운용 모듈 180은 획득된 복수개의 이미지들 중 인물 객체와 배경 객체가 일정 비율 이상(예: 인물 객체의 전체 형태가 확인되는 이미지)인 이미지들을 하이라이트 이미지로 검출할 수 있다. 한 실시 예에 따르면, 여자 항목 933b가 선택되면 이미지 운용 모듈 180은 획득된 복수개의 이미지들 중 인물 객체와 관련하여 배치된 주변 객체(예: 옷, 액세서리, 가방 등)이 영상 내에서 일정 비율 이상 차지하는 이미지들을 하이라이트 이미지로 검출할 수 있다.
하이라이트 컨텐츠 표시 영역 935는 선택된 이미지 처리 방식에 의해 생성된 하이라이트 컨텐츠 937의 적어도 일부 이미지를 표시하는 영역일 수 있다. 하이라이트 컨텐츠 937은 예컨대, 액티비티 종료 변경, 이미지 처리 방식 변경, 남자 항목 933a 또는 여자 항목 933b 선택에 대응하여 다양하게 변경될 수 있다. 전자 장치 100은 획득된 한 그룹의 컨텐츠들 예컨대 남자 항목 933a가 적용된 하이라이트 컨텐츠, 여자 항목 933b가 적용된 하이라이트 컨텐츠들을 각각 생성하고 저장할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100의 디스플레이 150은 상태 905에서와 같이 하이라이트 컨텐츠들을 검색할 수 있는 컨텐츠 리스트 화면 950을 출력할 수 있다. 컨텐츠 리스트 화면 950은 예컨대 액티비티 분류 리스트 951, 시간 분류 리스트 953, 위치 분류 리스트 955를 포함할 수 있다. 액티비티 분류 리스트 951은 예컨대, 액티비티 종류에 따라 구분된 다양한 하이라이트 컨텐츠들 예컨대 자전거 액티비티 기반의 하이라이트 컨텐츠 951a, 걷기 액티비티 기반의 하이라이트 컨텐츠 951b, 아이(baby) 액티비티 기반의 하이라이트 컨텐츠 951c, 여행 액티비티 기반의 하이라이트 컨텐츠 951d를 포함할 수 있다. 시간 분류 리스트 953은 예컨대, 시간 단위, 일단위, 월단위, 년단위 등으로 구분된 하이라이트 컨텐츠들을 포함할 수 있다. 위치 분류 리스트 955는 예컨대, 지정된 위치 단위(예: 회사, 집 등)로 구분된 하이라이트 컨텐츠들을 포함할 수 있다.
상술한 다양한 실시 예에 따른 이미지 처리 방법 및 이를 지원하는 전자 장치에 따르면, 다양한 실시 예들은 wearable camera를 통하여 촬영된 이미지 및 비디오 영상을 이용하여 사용자의 activity에 적절한 highlight content를 생성하고, 용이한 영상 감상 및 컨텐츠 공유를 할 수 있다.
상기 다양한 실시 예들은 예컨대 wearable camera를 착용하고 여행을 다니면서 촬영된 영상을 자동으로 highlight로 만들어 앨범 형태로 제공할 수 있다. 상기 다양한 실시 예들은 Wearable camera를 착용하고 아침 조깅을 하고 나서 매 500m마다의 사진을 추출해서 highlight 컨텐츠를 제공할 수 있고, 또한 코스 중에서 특별히 인상적인 곳에서 촬영된 사진을 같이 highlight 컨텐츠로 제공할 수 있다. 상기 다양한 실시 예들은 Wearable camera를 착용하고 자전거를 타고 아침 운동을 하면 time lapse처럼 전체 경로에 해당하는 동영상으로 제공할 수 있다. 상기 다양한 실시 예들은 Wearable camera를 착용하고 가족 모임에 참석할 경우 인물 분석을 통해 모임에 참석한 인물들이 가까운 가족으로 판단되면 전체 highlight 동영상과 함께 가족 구성원별로 그룹핑된 동영상을 제공할 수 있고, 해당 동영상을 해당 가족과 공유할 수 있다.
걷기 액티비티 실시 예에 따르면, 전자 장치 100을 소지한 사용자가 지정된 속도와 방향으로 걷는 상황(walking)에서, 전자 장치 100이 동영상을 수집하는 경우, 수집된 입력 데이터는 영상의 상하 움직임이 일정 크기 이하의 작은 레벨로 주기적으로 발생하는 것으로 분석될 수 있다. 한 실시 예에 따르면, 전자 장치 100에 포함된 센서(예: 가속도 센서)는 약 4 ~ 5km 속도를 가지며 주로 전후 방향 움직임과 관련한 센서 정보를 수집할 수 있다. 한편, 전자 장치 100은 사용자 입력(User context)에 따라 운동 기록 또는 지정된 일정을 확인하여 현재 시간이 “걷기”라고 입력된 상황에 대응하는 시간임을 확인할 수 있다. 전자 장치 100은 프레임워크에서 제공하는 API를 사용하여 현재 걷고 있다는 것을 파악할 수 있다.
전자 장치 100은 상술한 영상 정보, 센서 정보, 사용자 입력 정보를 종합적으로 도는 일정 정보들에 대한 가중치 적용을 수행하여 최종적으로 걷기 액티비티(walking activity) 상태라고 평가할 수 있다. 상기 전자 장치 100은 정보에 대한 가중치 적용에 대하여 다양한 형태로 지원할 수 있다. 예컨대, 전자 장치 100은 사용자 입력 정보의 종류에 따라 가중치 점수를 다양하게 지정할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 사용자 입력 정보가 지정된 정보(예: 걷기)인 경우 액티비티 평가를 위한 영상 정보 가중치 점수를 센서 정보 등에 비하여 상대적으로 높게(또는 낮게) 할당할 수 있다. 이에 따라, 전자 장치 100은 액티비티 평가 시 영상 정보의 변화가 지정된 조건(예: 걷기로 판단할 수 있는 영상 상하 움직임 레벨)을 만족하는 상황인 경우 걷기로 판단하고, 센서 정보를 이용하여 걷기 액티비티 평가에 대한 보정을 수행할 수 있다. 예컨대, 획득된 센서 정보가 지정된 조건 이상이어서 달리기 등으로 판단할 수 있는 상황이라 하더라도 상기 전자 장치 100은 영상 정보가 걷기 상황으로 결정된 경우 걷기 액티비티로 판단할 수 있다. 또는 전자 장치 100은 센서 정보가 지정된 조건을 일정 수준 이상 상회하는 경우 가중치 적용에 따라 영상 정보 기반 걷기 상황으로 판단되더라도 달리기 액티비티로 판단할 수도 있다.
상기 전자 장치 100은 액티비티 평가에서 걷기 액티비티로 결정되면, 수집되는 영상에 대한 이미지 안정화(image stabilizer) 필터링(예: 움직임 보정, 약하게), 품질 필터, 중복 필터, 얼굴 필터(사람 얼굴로 판단되는 특징점들을 가진 영상을 이용하기 위해 필터링하는 필터), 객체/장면 분류 필터 순으로 플로우 컨트롤을 결정할 수 있다. 상기 전자 장치 100은 플로우 컨트롤이 결정되면, 해당 플로우 컨트롤에 대응하여 수집된 영상 처리를 수행할 수 있다. 상기 전자 장치 100의 플로우 컨트롤은 앞서 언급한 바와 같이 액티비티 평가 결과에 따라 지정된 필터들을 이용하는 형태일 수 있다. 또는 상기 전자 장치 100은 액티비티 평가 결과 및 영상 정보 또는 센서 정보의 상태에 따라 지정된 필터들의 특성을 보정할 수 있다. 예컨대, 전자 장치 100은 걷기 액티비티 결정에 따라 상술한 플로우 컨트롤을 결정한 후, 영상 정보의 상하 움직임 값 또는 센서 정보 값에 따라 필터의 특성을 약하게(rough) 또는 강하게(sharp or strict) 적용할 수 있다. 이와 관련하여, 전자 장치 100은 적어도 하나의 영상 정보의 상하 움직임 조건 또는 적어도 하나의 센서 정보 크기 조건 등을 포함하고, 이를 기준으로 현재 영상 정보 관련된 획득된 정보 또는 획득된 센서 정보가 어떠한 기준인지를 확인할 수 있다. 전자 장치 100은 확인된 기준 값에 따라 플로우 컨트롤의 필터 특성 값을 변경하거나 유지할 수 있다.
걷기 액티비티와 관련하여, 걷기 동작의 경우 서있는 경우에 비해서 상대적으로 걷는 과정에서 상하 움직임(movement)이 심해진다. 또한 걷기 동작의 경우 상대적으로 달리기 상황(running)보다는 상하 움직임이 약하므로 전자 장치 100은 움직임 보정 수준을 약하게 적용할 수 있다. 여기서, 전자 장치 100은 품질이 지정된 값 이하인 이미지를 걸러내기 위해서 품질 필터(Quality filter)를 공통적으로 적용할 수 있다. 상기 품질 관련 지정된 값은 액티비티 평가 결과에 따라 또는 상하 움직임의 평균적인 레벨 또는 지정된 시간 동안의 평균적인 레벨에 따라 달라질 수 있다.
상기 전자 장치 100은 지정된 값 이상으로 중복되는 이미지를 걸러내기 위해서 중복 필터를 공통적으로 사용할 수 있다. 걷기의 경우 걸으면서 주위를 살펴 볼 수 있으므로(또는 지정된 크기 이하의 이동 속도를 가짐으로) 얼굴 인식을 통해 인물 중심으로 영상을 필터링할 수 있다. 여기서, 전자 장치 100은 평가된 액티비티(예: 걷기)의 종류에 따라 지정된 크기 이상의 얼굴 특징점을 포함한 영상을 필터링하도록 제어할 수 있다. 여기서 지정된 크기는 다른 액티비티(예: 달리기 등)에 비하여 작은 크기일 수 있다.
전자 장치 100은 객체 또는 장면(object/scene) 인식을 통해 주변에서 의미 있는 정보를 담고 있는 경우를 걸러낼 수 있다. 이와 관련하여, 전자 장치 100은 획득된 영상이 의미 있는 정보를 담고 있는지 여부를 확인하기 위한 다양한 조건 정보를 사전 저장하거나, 또는 의미 정보 분석을 위한 서버 장치에 해당 영상 정보를 제공할 수 있다.
전자 장치 100은 플로우 컨트롤에 따라 필터링된 영상에 대한 그룹핑을 수행할 수 있다. 이 동작에서, 전자 장치 100은 평가된 액티비티(예: 걷기)를 기준으로 그룹핑 특성을 정의할 수 있다. 예컨대, 전자 장치 100은 시간 또는 장소 기반 그룹핑 적용, 산출된 그룹간 절대 시간 간격은 지정된 제1 시간(예: 3시간), 절대 장소 간격(또는 절대 거리 간격)은 지정된 제1 거리(예: 10km)로 결정할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100은 시간 또는 장소 중 적어도 하나에 대한 기준 정보(예: 제1 시간 또는 제1 거리 등)를 저장할 수 있다. 전자 장치 100은 기준 정보를 기준으로 그룹핑을 수행할 수 있다. 상기 기준 정보는 관련 액티비티에 대응하여 통계적으로 또는 실험적을 획득된 데이터를 기반으로 산출되거나, 설계자나 사용자에 의해 지정될 수 있다. 또는 사용자의 액티비티 운용과 관련하여 일정 기준치 이상의 데이터가 수집되면, 해당 데이터의 패턴 분석을 기반으로 상기 기준 정보가 결정될 수 있다.
다양한 실시 예에 따르면, 그룹핑 동작은 관련 어플리케이션에서 시작 및 종료 이벤트(Start/Stop event)를 받아서 처리할 수 있다. 상기 관련 어플리케이션은 예컨대, 카렌다, S-Health 등일 수 있다. 또한, 전자 장치 100은 그룹핑 동작에서 지정된 운동 어플리케이션(예: 만보계 or pedometer)과 연동하여 시작부터 종료 시점까지 하나의 그룹으로 가정할 수 있다.
전자 장치 100은 평가된 액티비티 및 그룹핑된 그룹들을 이용하여 하일라이트를 생성할 수 있다. 예컨대, 전자 장치 100은 타임 랩스(time lapse) 비디오 생성 및 지정된 시간(예: 5분) 간격 이미지 셋 생성을 수행할 수 있다. 타임 랩스 방식과 관련하여, 지정된 시간 동안의 액티비티 감상을 극대화하는 방안으로 운동 전반에 대응하는 상황을 보여줄 수 있도록 타임 랩스 방식이 기본적으로 또는 자동으로 제공될 수 있다. 상술한 타임 랩스 방식 외에 인물 위주 방식 도는 풍경 위주 방식 등 다양한 방식이 사용자 입력 제어 또는 설계자 의도에 따라 제공될 수 있다.
달리기 액티비티 실시 예와 관련하여, 달리기 상황에서 전자 장치 100이 획득하는 영상의 상하 움직임은 지정된 크기 이상의 큰 레벨로 주기적으로 일어날 수 있다. 또한 센서(예: 가속도 센서)는 약 10 ~ 15km 의 속도로 앞뒤로 주로 움직이는 센서 정보를 획득하며, 또한 위아래 좌우로도 주기적으로 움직이는 센서 정보를 획득할 수 있다. 사용자 입력 정보(User context)와 관련하여, 사용자는 전자 장치 100의 운동 기록과 일정 기능 중 현재 시간 항목에 조깅이라고 입력할 수 있으며, 전자 장치 100과 연동되는 외부 전자 장치(예: 손목 착용 전자 장치 등)에 달리기 항목을 입력하거나 사전 설정할 수 있다. 전자 장치 100은 프레임워크에서 제공하는 API를 사용하여 현재 뛰고 있는 상황으로 판단할 수 있다. 이에 따라, 전자 장치 100은 액티비티 평가와 관련하여 달리기 액티비티로 판단할 수 있다.
플로우 컨트롤과 관련하여, 전자 장치 100은 이미지 안정화(image stabilizer) 필터링(움직임 보정, 강하게), 품질 필터 및 중복 필터 순서로 획득된 영상에 적용할 수 있다. 상술한 플로우 컨트롤은 달리기 액티비티 평가에 따른 결과일 수 있다. 전자 장치 100은 품질 필터 및 중복 필터의 특성을 달리기 상황에 따라 다르게 적용할 수 있다. 예컨대, 전자 장치 100은 달리기 속도가 지정된 속도 이상인 경우 품질 필터의 품질 값을 지정된 크기 이하(또는 이상)로 낮추고, 중복 필터의 중복 영역 값을 지정된 크기 이상(또는 이하)으로 높일 수 있다. 달리기의 경우, 움직임이 상대적으로 심하여 원본 영상을 획득된 상태대로 보기가 어려울 수 있기 때문에 전자 장치 100은 움직임 보정을 강하게 적용해서 전반적으로 보기 편하고 움직임이 심하지 않게 조정할 수 있다. 품질 필터는 매우 안좋은 이미지(또는 지정된 크기 이하 또는 지정된 해상도 이하 등)를 걸러내기 위해서 사용될 수 있으며, 중복 필터는 중복이 심한 이미지를 걸러내기 위해 사용될 수 있다. 달리기의 경우 걷기 보다 빠른 속도를 가지기 때문에 통계적으로 주변 인지보다는 전방 주시의 확률이 높고 이 경우 특정 사람이나 물체 보다는 전반적으로 달렸던 전방 영상이 중요할 수 있다. 이에 따라, 전자 장치 100은 필터링 과정에서 전방 일정 범위 이내 영상 정보들의 필터링 또는 보정을 강화할 수 있다.
그룹핑과 관련하여, 전자 장치 100은 달리기 액티비티 평가에 따라 시간 장소 기반 그룹핑을 적용하고, 그룹간 절대 시간 간격은 예컨대, 3시간, 절대 장소 간격은 예컨대, 10km로 지정할 수 있다. 여기서, 상기 절대 시간 간격 또는 절대 장소 간격에 대한 기준 정보(예: 상기 3시간 또는 10km)는 전자 장치 100에 저장될 수 있다. 상기 기준 정보는 통계적으로 또는 실험적으로 획득된 데이터를 통해 산출될 수 있다. 또는 기준 정보는 액티비티 평가와 관련한 설계자 또는 사용자에 의해 지정될 수 있다. 또는 기준 정보는 특정 액티비티(예: 달리기 액티비티)와 관련한 데이터가 일정 기준치 이상 수집되면, 수집된 데이터들의 패턴 분석을 통하여 산출될 수도 있다.
한 실시 예에 따르면, 달리기의 경우 일정 지역 등을 기준으로 관측적으로 또는 통계적으로 10km를 넘지 않는 경우가 많을 수 있기 때문에, 전자 장치 100은 설계자 의도에 따라 하나의 그룹을 10km로 가정할 수 있다. 또한, 전자 장치 100은 지정된 시간(예: 3시간) 동안의 영상을 하나의 그룹으로 묶어서 보여줄 수 있다. 전자 장치 100은 지정된 시간과 지정된 거리를 넘어갈 경우 상대적으로 긴 시간과 큰 위치 변화 발생으로 판단하고, 서로 다른 그룹으로 그룹핑할 수 있다. 또한 그룹핑과 관련하여, 전자 장치 100은 지정된 어플리케이션의 시작 및 종료 이벤트를 받아서 시작과 종료 이벤트 사이의 영상들을 그룹핑에 이용할 수도 있다.
하일라이트 생성과 관련하여, 전자 장치 100은 달리기 액티비티 평가에 따라 비디오에서 이미지 셋을 추출해서 하일라이트 영상을 구성할 수 있다. 달리기의 경우 매 프레임의 움직임이 상대적으로 클 수 있기 때문에 움직임이 상대적으로 큰 프레임들을 이용하여 동영상을 만들었을 경우 움직임이 커서 사용자가 시청하기에 불편할 수 있다. 이에 따라, 전자 장치 100은 달리기의 경우 촬영된 비디오 영상을 적절히 사진의 조합으로 하일라이트를 생성하거나 이미지 슬라이드 기능으로 제공할 수 있다.
일반 액티비티 실시 예와 관련하여, 전자 장치 100을 소지한 사용자 등이 일반적인 행동 예컨대, 아이와 놀고 있을 때(normal) 전자 장치 100이 획득하는 영상은 동일 인물이 지속적으로 관측될 수 있다. 센서(예: GPS 센서)는 장소의 큰 변화 없는 센서 정보를 획득할 수 있으며, 또한 센서(예: 가속도와 자이로 센서)는 불규칙한 움직임이 지속적으로 발생하는 형태의 센서 정보를 획득할 수 있다. 또한, 사용자 입력(User context)과 관련하여, 전자 장치 100은 입력된 정보가 없는 상태를 확인할 수 있다. 상기 전자 장치 100은 영상 정보, 센서 정보 및 사용자 입력 정보 중 적어도 하나와 지정된 기준 정보를 기반으로 일반 액티비티(normal activity) 상태라고 판단할 수 있다. 상기 기준 정보는 일반 액티비티 상태로 판단할 수 있도록 마련된 사전 획득된 영상 정보, 센서 정보 및 사용자 입력 정보 중 적어도 하나를 포함할 수 있다. 예컨대, 상기 기준 정보는 얼굴 인식을 통해 동일 인물이 일정 시간 동안 또는 일정 프레임 개수 내에서 반복 출력하는 경우를 포함할 수 있다.
플로우 컨트롤과 관련하여, 전자 장치 100은 평가된 일반 액티비티 결과에 대응하여, 품질 필터, 중복 필터, 얼굴 필터, 객체 및 장면 분류 필터를 포함하는 지정된 플로우 컨트롤을 적용할 수 있다. 통계적으로 또는 실험적으로 일반 액티비티 상황에서 획득된 영상은 특정한 패턴을 보일 확률이 상대적으로 적을 수 있다. 이에 따라, 전자 장치 100은 품질 필터 및 중복 필터를 통해 품질이 지정된 크기 이하로 낮고 지정된 크기 이상으로 계속 중복되는 이미지를 걸러낼 수 있다. 이에 따라, 움직이지 않는 경우(또는 지정된 크기 이하의 움직임이 있는 경우)에 대하여 촬영된 영상은 중복 필터로 걸러질 수 있다. 전자 장치 100은 일반 액티비티 상황에서 활동 중 특정인물과의 액티비티를 중요한 요소로 결정한 기준 정보를 저장할 수 있다. 상기 기준 정보는 사용자 또는 설계자에 의해 지정되거나 변경될 수 있으며, 또는 통계적으로 또는 실험적으로 획득된 데이터를 통해 획득되거나 변경될 수 있다. 특정 인물과의 액티비티 요소가 기준 정보로 선택된 경우, 전자 장치 100은 얼굴 인식을 통해 인물이 포함된 이미지만 찾아내고 추가로 객체 및 장면 인식을 통해 일정 의미를 가지는 물체 등을 포함한 이미지를 검출할 수 있다.
그룹핑과 관련하여, 전자 장치 100은 평가된 일반 액티비티 결과에 대응하여, 시간 장소 기반 그룹핑 적용, 그룹간 절대 시간 간격을 3시간, 절대 장소 간격을 5km 등으로 지정할 수 있다. 운동이 아닌 경우 통계적으로 또는 실험적으로, 또는 전자 장치 100에 저장된 일정 기준 정보에 따라 전자 장치 100은 지정된 거리(예: 5km정도)를 움직임 반경으로 가정하고, 지정된 시간(예: 3시간 정도)를 하나의 의미있는 액티비티 그룹핑 단위로 가정할 수 있다. 상술한 시간 및 거리 등은 사용자 입력 제어 또는 설계자의 설계 변경 등에 따라 달라질 수 있다. 또는 상기 지정된 거리 또는 시간 등은 기준 정보로서 전자 장치 100에 저장될 수 있다. 상기 기준 정보는 통계적 또는 실험적 데이터, 또는 전자 장치 100의 운용에 따라 획득된 일정 기준치 이상의 데이터들로부터 획득된 패턴 데이터로부터 산출될 수 있다.
하일라이트 생성과 관련하여, 전자 장치 100은 평가된 일반 액티비티 결과에 대응하여, 이미지 슬라이드 효과를 포함한 그룹당 하나의 비디오 생성을 처리할 수 있다. 필터링을 통해서 찾아낸 의미 있는 프레임들을 중심으로 전자 장치 100은 프레임 그룹을 이어 붙여 하나의 비디오를 생성할 수 있다.
상술한 바와 같이, 본 발명의 다양한 실시 예들은 액티비티를 상황에 따라 인식하고 이에 따라 하일라이트를 생성하기 위한 플로우 컨트롤을 수행함으로써 하일라이트 컨텐츠의 품질을 개선하고, 불필요한 연산을 줄여 발열과 배터리 사용에서의 장점을 제공할 수 있다. 상술한 바와 같이, 다양한 실시 예는 복수의 이미지 데이터를 전송 받는 동작, 사용자의 상황을 분석하는 동작, 상기 분석된 사용자의 상황에 기반하여 상기 복수의 이미지 중 적어도 하나 이상의 이미지 데이터를 추출하는 동작, 상기 추출한 이미지 데이터를 이용하여 적어도 하나의 영상 데이터를 만드는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 복수의 이미지 데이터는 기설정된 세팅에 기반하여 자동으로 촬영할 수 있다.
다양한 실시 예에 따르면, 상기 사용자의 상황을 분석하는 동작은, 상기 전송받은 복수의 이미지의 패턴을 분석하는 동작, 상기 패턴에 기반하여 사용자의 상황을 결정하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 적어도 하나 이상의 센서로부터 센서 데이터를 수신하는 동작을 더 포함하고, 상기 센서 데이터에 기반하여 상기 사용자의 상황을 분석하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 적어도 하나 이상의 애플리케이션 데이터를 추출하는 동작을 더 포함하고, 상기 애플리케이션 데이터에 기반하여 상기 사용자의 상황을 분석하는 동작을 포함할 수 있다.
도 10은 다양한 실시 예에 따른 프로그램 모듈 1010의 블록도를 나타낸다
도 10을 참조하면, 한 실시 예에 따르면, 프로그램 모듈 1010(예: 프로그램 140)은 전자 장치(예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제(operating system, OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 147)을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 1010은 커널 1020, 미들웨어 1030, API 1060, 및/또는 어플리케이션 1070을 포함할 수 있다. 프로그램 모듈 1010의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치 102, 200, 서버 106 등)로부터 다운로드 가능하다.
커널 1020(예: 커널 141)은, 예를 들면, 시스템 리소스 매니저 1021 또는 디바이스 드라이버 1023를 포함할 수 있다. 시스템 리소스 매니저 1021은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저 1021은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버 1023은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어 1030은, 예를 들면, 어플리케이션 1070이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션 1070이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API 1060을 통해 다양한 기능들을 어플리케이션 1070으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어 1030(예: 미들웨어 143)은 런타임 라이브러리 1035, 어플리케이션 매니저(application manager) 1041, 윈도우 매니저(window manager) 1042, 멀티미디어 매니저(multimedia manager) 1043, 리소스 매니저(resource manager) 1044, 파워 매니저(power manager) 1045, 데이터베이스 매니저(database manager) 1046, 패키지 매니저(package manager) 1047, 연결 매니저(connectivity manager) 1048, 통지 매니저(notification manager) 1049, 위치 매니저(location manager) 1050, 그래픽 매니저(graphic manager) 1051, 또는 보안 매니저(security manager) 1052 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리 1035는, 예를 들면, 어플리케이션 1070이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리 1035는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저 1041은, 예를 들면, 어플리케이션 1070 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저 1042는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저 1043은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저 1044는 어플리케이션 1070 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저 1045는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저 1046은 어플리케이션 1070 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저 1047은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저 1048은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저 1049는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저 1050은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저 1051은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저 1052는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 101)가 전화 기능을 포함한 경우, 미들웨어 1030은 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
미들웨어 1030은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어 1030은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어 1030은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API 1060(예: API 145)은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션 1070(예: 어플리케이션 프로그램 147)은, 예를 들면, 홈 1071, 다이얼러 1072, SMS/MMS 1073, IM(instant message) 1074, 브라우저 1075, 카메라 1076, 알람 1077, 컨택트 1078, 음성 다이얼 1079, 이메일 1080, 달력 1081, 미디어 플레이어 1082, 앨범 1083, 또는 시계 1084, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션 1070은 전자 장치(예: 전자 장치 101)와 외부 전자 장치(예: 전자 장치 102, 200) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 102, 200)로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 102, 200)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 어플리케이션 1070은 외부 전자 장치(예: 전자 장치 102, 200)의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 1070은 외부 전자 장치(예: 서버 106 또는 전자 장치 102, 200)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 1070은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 1010의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 프로그램 모듈 1010의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈 1010의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서 210)에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈 1010의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
도 11은 다양한 실시 예에 따른 전자 장치 1100의 블록도를 나타낸다.
도 11을 참조하면, 전자 장치 1100은, 예를 들면, 도 1에 도시된 전자 장치 100의 전체 또는 일부를 포함할 수 있다. 전자 장치 1100은 하나 이상의 프로세서(예: 어플리케이션 프로세서(AP)) 1110, 통신 모듈 1120, 가입자 식별 모듈 1124, 메모리 1130, 센서 모듈 1140, 입력 장치 1150, 디스플레이 1160, 인터페이스 1170, 오디오 모듈 1180, 카메라 모듈 1191, 전력 관리 모듈 1195, 배터리 1196, 인디케이터 1197, 및 모터 1198을 포함할 수 있다.
프로세서 1110은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서 1110에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서 1110은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 프로세서 1110은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서 1110은 도 11에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 1121)를 포함할 수도 있다. 프로세서 1110은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈 1120은, 도 1의 상기 통신 인터페이스 170과 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈 1120은, 예를 들면, 셀룰러 모듈 1121, Wi-Fi 모듈 1123, 블루투스 모듈 1125, GPS 모듈 1127, NFC 모듈 1128 및 RF(radio frequency) 모듈 1129를 포함할 수 있다.
셀룰러 모듈 1121은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 1121은 가입자 식별 모듈(예: SIM 카드) 1124를 이용하여 통신 네트워크 내에서 전자 장치 1100의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 1121은 프로세서 1110이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 1121은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
Wi-Fi 모듈 1123, 블루투스 모듈 1125, GPS 모듈 1127 또는 NFC 모듈 1128 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 1121, Wi-Fi 모듈 1123, 블루투스 모듈 1125, GPS 모듈 1127 또는 NFC 모듈 1128 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈 1129는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈 1129는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 1121, Wi-Fi 모듈 1123, 블루투스 모듈 1125, GPS 모듈 1127 또는 NFC 모듈 1128 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈 1124는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
메모리 1130(예: 메모리 130)는, 예를 들면, 내장 메모리 1132 또는 외장 메모리 1134를 포함할 수 있다. 내장 메모리 1132는, 예를 들면, 휘발성 메모리(예: 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) 중 적어도 하나를 포함할 수 있다.
외장 메모리 1134는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(MultiMediaCard), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리 1134는 다양한 인터페이스를 통하여 전자 장치 1100과 기능적으로 및/또는 물리적으로 연결될 수 있다.
센서 모듈 1140은, 예를 들면, 물리량을 계측하거나 전자 장치 1100의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈 1140은, 예를 들면, 제스처 센서 1140A, 자이로 센서 1140B, 기압 센서 1140C, 마그네틱 센서 1140D, 가속도 센서 1140E, 그립 센서 1140F, 근접 센서 1140G, 컬러 센서 1140H(예: RGB 센서), 생체 센서 1140I, 온/습도 센서 1140J, 조도 센서 1140K, 또는 UV(ultra violet) 센서 1140M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈 1140은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈 1140은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1100은 프로세서 1110의 일부로서 또는 별도로, 센서 모듈 1140을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서 1110이 슬립(sleep) 상태에 있는 동안, 센서 모듈 1140을 제어할 수 있다.
입력 장치 1150은, 예를 들면, 터치 패널(touch panel) 1152, (디지털) 펜 센서(pen sensor) 1154, 키(key) 1156, 또는 초음파(ultrasonic) 입력 장치 1158을 포함할 수 있다. 터치 패널 1152는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널 1152는 제어 회로를 더 포함할 수도 있다. 터치 패널 1152는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서 1154는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 키 1156은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치 1158은 마이크(예: 마이크 1188)를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이 1160(예: 디스플레이 160)은 패널 1162, 홀로그램 장치 1164, 또는 프로젝터 1166을 포함할 수 있다. 패널 1162는, 도 1의 디스플레이 160과 동일 또는 유사한 구성을 포함할 수 있다. 패널 1162는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널 1162는 터치 패널 1152와 하나의 모듈로 구성될 수도 있다. 홀로그램 장치 1164는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터 1166은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치 1100의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 디스플레이 1160은 상기 패널 1162, 상기 홀로그램 장치 1164, 또는 프로젝터 1166를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스 1170은, 예를 들면, HDMI 1172, USB 1174, 광 인터페이스(optical interface) 1176, 또는 D-sub(D-subminiature) 1178을 포함할 수 있다. 인터페이스 1170은, 예를 들면, 도 1에 도시된 통신 인터페이스 170에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스 1170은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈 1180은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈 1180의 적어도 일부 구성요소는, 예를 들면, 도 1에 도시된 입출력 인터페이스 150에 포함될 수 있다. 오디오 모듈 1180은, 예를 들면, 스피커 1182, 리시버 1184, 이어폰 1186, 또는 마이크 1188 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈 1191은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
전력 관리 모듈 1195는, 예를 들면, 전자 장치 1100의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈 1195는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리 1196의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리 1196은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터 1197은 전자 장치 1100 혹은 그 일부(예: 프로세서 1110)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터 1198은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치 1100은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(MediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리 130이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD, 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시 예에 따르면, 한 실시 예에 따른 컴퓨터 기록 매체는 적어도 하나의 프로세서로 구동 가능한 명령어를 저장하고, 상기 명령어는 이미지를 수집하는 동작, 상기 이미지를 획득한 시점의 전자 장치의 액티비티 종류를 결정하는 동작, 상기 액티비티 종류에 대응하는 필터링 조건을 가지는 이미지 처리 방식을 선택하는 동작, 상기 선택된 이미지 처리 방식을 적용하여 상기 획득된 이미지들 중 일부 이미지들을 선택 또는 영상 처리하는 동작, 상기 선택 또는 영상 처리된 이미지들을 기반으로 하이라이트 컨텐츠를 생성하는 동작을 수행하도록 설정될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 복수의 이미지를 저장하는 메모리;
    상기 메모리와 동작적으로 연결된 프로세서;를 포함하고,
    상기 프로세서는
    상기 복수의 이미지들을 토대로 액티비티 종류를 결정하고,
    복수의 이미지 처리 방식들 중 상기 액티비티 종류을 위한 이미지 처리 방식을 결정하고,
    상기 결정된 이미지 처리 방식을 상기 복수의 이미지들 중 하일라이트 이미지로서 사용할 적어도 하나의 이미지에 적용하고,
    상기 이미지 처리 방식이 적용된 적어도 하나의 이미지들을 기반으로 하이라이트 컨텐츠를 생성하는 전자 장치.
  2. 청구항 1에 있어서,
    상기 프로세서는
    상기 복수의 이미지들의 차이 분석 또는 상기 복수의 이미지들에 포함된 객체들의 차이 변화 분석 중 적어도 하나를 기반으로 상기 액티비티 종류를 결정하는 전자 장치.
  3. 청구항 1에 있어서,
    상기 프로세서는
    상기 전자 장치 관련 센서 정보 또는 상기 복수의 이미지를 전송하는 외부 전자 장치 관련 센서 정보 중 적어도 하나를 수신하고, 수신된 상기 센서 정보를 기반으로 상기 액티비티 종류를 결정하는 전자 장치.
  4. 청구항 1에 있어서,
    상기 프로세서는
    상기 전자 장치의 메모리에 저장된 컨텍스트 정보 또는 상기 복수의 이미지를 전송한 외부 전자 장치에 저장된 컨텍스트 정보 중 적어도 하나를 기반으로 상기 액티비티 종류를 결정하는 전자 장치.
  5. 청구항 4에 있어서,
    상기 프로세서는
    상기 메모리에 저장된 정보 중 알람 시간 정보, 업무 스케줄 정보, 휴식 스케줄 정보, 산책 스케줄 정보, 회의 스케줄 정보 중 적어도 하나를 상기 컨텍스트 정보로서 획득하는 전자 장치.
  6. 청구항 1에 있어서,
    상기 프로세서는
    상기 액티비티 종류에 따라 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 적용 여부가 다르게 설정된 이미지 처리 방식 또는 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 파라미터 다르게 설정된 이미지 처리 방식을 선택하는 전자 장치.
  7. 청구항 1에 있어서,
    상기 프로세서는
    지정된 일정 시간 또는 지정된 일정 위치에서 상기 결정된 이미지 처리 방식을 동일하게 적용하여 하이라이트 컨텐츠를 생성하는 전자 장치.
  8. 청구항 1에 있어서,
    상기 프로세서는
    무선 연결된 웨어러블 전자 장치로부터 수신한 상기 복수의 이미지들을 기반으로 상기 하이라이트 컨텐츠를 생성하는 전자 장치.
  9. 청구항 1에 있어서,
    상기 프로세서는
    분석된 상기 액티비티 종류 정보, 상기 결정된 이미지 처리 방식에 관한 정보, 상기 하이라이트 컨텐츠와 관련한 표시 정보 중 적어도 하나를 표시하도록 제어하는 전자 장치.
  10. 청구항 9에 있어서,
    상기 프로세서는
    상기 표시된 액티비티 종류 정보 또는 상기 이미지 처리 방식에 관한 정보 중 적어도 하나를 사용자 입력에 대응하여 변경하고, 상기 변경에 대응하여 하이라이트 컨텐츠를 재생성하도록 제어하는 전자 장치.
  11. 메모리에 저장된 복수의 이미지들을 수집하는 동작;
    상기 복수의 이미지들을 토대로 액티비티 종류를 결정하는 동작;
    복수의 이미지 처리 방식들 중 상기 액티비티 종류에 대응하는 필터링 조건을 가지는 이미지 처리 방식을 선택하는 동작;
    상기 선택된 이미지 처리 방식을 상기 복수의 이미지들 중 하일라이트 이미지로서 사용할 적어도 하나의 이미지에 적용하는 영상 처리하는 동작;
    상기 영상 처리된 적어도 하나의 이미지를 기반으로 하이라이트 컨텐츠를 생성하는 동작;을 포함하는 이미지 처리 방법.
  12. 청구항 11에 있어서,
    상기 액티비티 종류를 결정하는 동작은
    상기 복수의 이미지들의 차이 분석 또는 상기 복수의 이미지들에 포함된 객체들의 차이 변화 분석 중 적어도 하나를 기반으로 상기 액티비티 종류를 결정하는 동작;을 포함하는 이미지 처리 방법.
  13. 청구항 11에 있어서,
    상기 액티비티 종류를 결정하는 동작은
    전자 장치 관련 센서 정보 또는 상기 복수의 이미지를 전송하는 외부 전자 장치로부터 센서 정보를 수신하는 동작;
    상기 수신한 센서 정보 기반으로 상기 액티비티 종류를 결정하는 동작;을 포함하는 이미지 처리 방법.
  14. 청구항 11에 있어서,
    상기 액티비티 종류를 결정하는 동작은
    전자 장치의 메모리에 저장된 컨텍스트 정보 또는 상기 이미지를 전송한 외부 전자 장치에 저장된 컨텍스트 정보를 수집하는 동작;
    상기 수집된 컨텍스트 정보를 기반으로 상기 액티비티 종류를 결정하는 동작;을 포함하는 이미지 처리 방법.
  15. 청구항 14에 있어서,
    상기 컨텍스트 정보를 수집하는 동작은
    상기 메모리에 저장된 정보 중 알람 시간 정보, 업무 스케줄 정보, 휴식 스케줄 정보, 산책 스케줄 정보, 회의 스케줄 정보 중 적어도 하나를 상기 컨텍스트 정보로서 획득하는 동작;을 포함하는 이미지 처리 방법.
  16. 청구항 11에 있어서,
    상기 이미지 처리 방식을 선택하는 동작은
    상기 액티비티 종류에 따라 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 적용 여부가 다르게 설정된 이미지 처리 방식 또는 품질 필터, 중복 필터, 분류 필터 중 적어도 하나의 파라미터가 다르게 설정된 이미지 처리 방식을 선택하는 동작;을 포함하는 이미지 처리 방법.
  17. 청구항 11에 있어서,
    상기 하이라이트 컨텐츠를 생성하는 동작은
    지정된 일정 시간 또는 지정된 일정 위치에서 상기 선택된 이미지 처리 방식을 동일하게 적용하여 하이라이트 컨텐츠를 생성하는 동작;을 포함하는 이미지 처리 방법.
  18. 청구항 11에 있어서,
    상기 하이라이트 컨텐츠를 생성하는 동작은
    무선 연결된 웨어러블 전자 장치로부터 수신한 상기 복수의 이미지들을 기반으로 상기 하이라이트 컨텐츠를 생성하는 동작;을 포함하는 이미지 처리 방법.
  19. 청구항 11에 있어서,
    분석된 상기 액티비티 종류 정보, 상기 선택된 이미지 처리 방식에 관한 정보, 상기 하이라이트 컨텐츠와 관련한 표시 정보 중 적어도 하나를 표시하는 동작;을 더 포함하는 이미지 처리 방법.
  20. 청구항 19에 있어서,
    상기 표시된 액티비티 종류 정보 또는 상기 선택된 이미지 처리 방식에 관한 정보 중 적어도 하나를 사용자 입력에 대응하여 변경하는 동작;
    상기 변경에 대응하여 하이라이트 컨텐츠를 재생성하는 동작;을 더 포함하는 이미지 처리 방법.
KR1020150012655A 2015-01-27 2015-01-27 이미지 처리 방법 및 이를 지원하는 전자 장치 KR102278945B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020150012655A KR102278945B1 (ko) 2015-01-27 2015-01-27 이미지 처리 방법 및 이를 지원하는 전자 장치
PCT/KR2016/000620 WO2016122158A1 (en) 2015-01-27 2016-01-21 Image processing method and electronic device for supporting the same
AU2016212943A AU2016212943B2 (en) 2015-01-27 2016-01-21 Image processing method and electronic device for supporting the same
EP16152409.5A EP3051463B1 (en) 2015-01-27 2016-01-22 Image processing method and electronic device for supporting the same
CN201610055043.9A CN105825522B (zh) 2015-01-27 2016-01-27 图像处理方法和支持该方法的电子设备
US15/008,009 US9886454B2 (en) 2015-01-27 2016-01-27 Image processing, method and electronic device for generating a highlight content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150012655A KR102278945B1 (ko) 2015-01-27 2015-01-27 이미지 처리 방법 및 이를 지원하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20160092256A KR20160092256A (ko) 2016-08-04
KR102278945B1 true KR102278945B1 (ko) 2021-07-19

Family

ID=55299224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150012655A KR102278945B1 (ko) 2015-01-27 2015-01-27 이미지 처리 방법 및 이를 지원하는 전자 장치

Country Status (6)

Country Link
US (1) US9886454B2 (ko)
EP (1) EP3051463B1 (ko)
KR (1) KR102278945B1 (ko)
CN (1) CN105825522B (ko)
AU (1) AU2016212943B2 (ko)
WO (1) WO2016122158A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016154359A1 (en) * 2015-03-23 2016-09-29 Golfstream Inc. Systems and methods for programmatically generating anamorphic images for presentation and 3d viewing in a physical gaming and entertainment suite
US9839830B1 (en) * 2016-06-10 2017-12-12 PNI Sensor Corporation Aiding a swimmer in maintaining a desired bearing
JP2018081404A (ja) * 2016-11-15 2018-05-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 識別方法、識別装置、識別器生成方法及び識別器生成装置
US10275687B2 (en) * 2017-02-16 2019-04-30 International Business Machines Corporation Image recognition with filtering of image classification output distribution
CN110574365B (zh) * 2017-03-31 2021-07-06 本田技研工业株式会社 图像生成装置以及图像生成方法
US10083360B1 (en) 2017-05-10 2018-09-25 Vivint, Inc. Variable rate time-lapse with saliency
CN108012175A (zh) * 2017-12-18 2018-05-08 信利光电股份有限公司 一种智能电视机
US10699126B2 (en) * 2018-01-09 2020-06-30 Qualcomm Incorporated Adaptive object detection and recognition
KR102495763B1 (ko) * 2018-02-23 2023-02-06 삼성전자주식회사 제1 이미지 처리 방식으로 보정된 이미지를 제2 이미지 처리 방식을 이용하여 외부 전자 장치에서 보정하기 위한 전자 장치 및 방법
DE102018209898A1 (de) * 2018-06-19 2019-12-19 Robert Bosch Gmbh Verfahren zur Bestimmung von zueinander korrespondierenden Bildpunkten, SoC zur Durchführung des Verfahrens, Kamerasystem mit dem SoC, Steuergerät und Fahrzeug
US10872400B1 (en) 2018-11-28 2020-12-22 Vulcan Inc. Spectral selection and transformation of image frames
US11044404B1 (en) * 2018-11-28 2021-06-22 Vulcan Inc. High-precision detection of homogeneous object activity in a sequence of images
CN109788200B (zh) * 2019-01-31 2021-04-06 长安大学 一种基于预测分析的摄像稳定控制方法
US11050972B1 (en) * 2019-07-02 2021-06-29 Gopro, Inc. Systems and methods for generating time-lapse videos
CN111339811B (zh) * 2019-08-27 2024-02-20 杭州海康威视系统技术有限公司 图像处理方法、装置、设备及存储介质
IT201900019037A1 (it) * 2019-10-16 2021-04-16 St Microelectronics Srl Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo
CN111222476B (zh) * 2020-01-10 2023-06-06 北京百度网讯科技有限公司 视频时序动作的检测方法、装置、电子设备及存储介质
KR20220102418A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 멀티미디어 콘텐트를 제공하는 장치 및 그 방법
EP4311244A4 (en) * 2021-03-19 2024-08-07 Sony Group Corp INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
US20230120348A1 (en) * 2021-10-19 2023-04-20 Salesforce.Com, Inc. Systems and methods of personally identifiable information (pii) tracking in a network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090103888A1 (en) * 2007-10-17 2009-04-23 Sony Corporation Electronic apparatus, content categorizing method, and program therefor
US20120224072A1 (en) 2011-03-03 2012-09-06 Qualcomm Incorporated Blurred image detection for text recognition
US20140294370A1 (en) 2013-03-28 2014-10-02 Novatek Microelectronics Corp. Image Blurring Avoiding Method and Image Processing Chip Thereof

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7626626B2 (en) * 2006-01-13 2009-12-01 Micron Technology, Inc. Method and apparatus providing pixel storage gate charge sensing for electronic stabilization in imagers
US8311277B2 (en) * 2007-02-01 2012-11-13 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for video indexing and video synopsis
JP2010016482A (ja) * 2008-07-01 2010-01-21 Sony Corp 情報処理装置および情報処理方法
US20100045596A1 (en) * 2008-08-21 2010-02-25 Sony Ericsson Mobile Communications Ab Discreet feature highlighting
US8744122B2 (en) * 2008-10-22 2014-06-03 Sri International System and method for object detection from a moving platform
IL195848A0 (en) * 2008-12-10 2009-09-01 Artivision Technologies Ltd A method and device for processing video frames
US8560267B2 (en) 2009-09-15 2013-10-15 Imetrikus, Inc. Identifying one or more activities of an animate or inanimate object
JP5503921B2 (ja) * 2009-08-21 2014-05-28 ソニーモバイルコミュニケーションズ, エービー 情報端末、情報端末の情報制御方法及び情報制御プログラム
US20140205266A1 (en) * 2011-02-18 2014-07-24 Nokia Corporation Method, Apparatus and Computer Program Product for Summarizing Media Content
US8737803B2 (en) 2011-05-27 2014-05-27 Looxcie, Inc. Method and apparatus for storing and streaming audiovisual content
KR101870773B1 (ko) * 2011-08-31 2018-06-26 삼성전자 주식회사 광학식 문자 판독기를 이용한 스케줄 관리 방법 및 장치
WO2013089740A1 (en) * 2011-12-15 2013-06-20 Intel Corporation Evolving metadata
CN102664819A (zh) * 2012-03-27 2012-09-12 陈奕龙 一种基于社交机制和地理位置的事件发布网络系统
US20140328570A1 (en) 2013-01-09 2014-11-06 Sri International Identifying, describing, and sharing salient events in images and videos
KR20140060760A (ko) * 2012-11-12 2014-05-21 엘지전자 주식회사 어레이 카메라, 휴대 단말기 및 그 동작 방법
CN103226575A (zh) * 2013-04-01 2013-07-31 北京小米科技有限责任公司 一种图像处理方法和装置
CN103235805A (zh) * 2013-04-18 2013-08-07 广东欧珀移动通信有限公司 一种照片的分类管理方法及系统
US20150019523A1 (en) * 2013-07-15 2015-01-15 Adam Lior Event-based social networking system and method
US9474481B2 (en) * 2013-10-22 2016-10-25 Mindstrong, LLC Method and system for assessment of cognitive function based on electronic device usage
CN104038534A (zh) * 2014-05-13 2014-09-10 圆刚科技股份有限公司 自动同步与分类相片的方法及其移动装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090103888A1 (en) * 2007-10-17 2009-04-23 Sony Corporation Electronic apparatus, content categorizing method, and program therefor
US20120224072A1 (en) 2011-03-03 2012-09-06 Qualcomm Incorporated Blurred image detection for text recognition
US20140294370A1 (en) 2013-03-28 2014-10-02 Novatek Microelectronics Corp. Image Blurring Avoiding Method and Image Processing Chip Thereof

Also Published As

Publication number Publication date
EP3051463B1 (en) 2023-08-30
AU2016212943A1 (en) 2017-06-08
EP3051463A1 (en) 2016-08-03
CN105825522A (zh) 2016-08-03
US9886454B2 (en) 2018-02-06
KR20160092256A (ko) 2016-08-04
US20160217348A1 (en) 2016-07-28
CN105825522B (zh) 2021-03-16
WO2016122158A1 (en) 2016-08-04
AU2016212943B2 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
KR102278945B1 (ko) 이미지 처리 방법 및 이를 지원하는 전자 장치
KR102402096B1 (ko) 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치
KR102446811B1 (ko) 복수의 디바이스들로부터 수집된 데이터 통합 및 제공 방법 및 이를 구현한 전자 장치
KR102349428B1 (ko) 이미지 처리 방법 및 이를 지원하는 전자장치
KR102430941B1 (ko) 생체 상태 정보 제공 방법 및 이를 지원하는 전자 장치
KR102423184B1 (ko) 화면 출력 방법 및 이를 지원하는 전자 장치
KR102457724B1 (ko) 영상 처리를 수행하기 위한 방법 및 그 전자 장치
KR102252072B1 (ko) 음성 태그를 이용한 이미지 관리 방법 및 그 장치
KR102379171B1 (ko) 전자 장치 및 그의 영상 표시 방법
KR102376700B1 (ko) 비디오 컨텐츠 생성 방법 및 그 장치
US20180249062A1 (en) Photographing method using external electronic device and electronic device supporting the same
KR20160072705A (ko) 생채 특징 패턴을 업데이트하는 방법 및 이를 위한 전자 장치
KR20160103398A (ko) 이미지의 품질 측정 방법 및 장치
KR102272108B1 (ko) 영상 처리 장치 및 방법
KR20170017289A (ko) 콘텐츠를 송수신하는 전자 장치 및 방법
KR20160044252A (ko) 색 보정 방법 및 장치
KR102437698B1 (ko) 전자 장치 및 전자 장치의 이미지 인코딩 방법
KR102579895B1 (ko) 전자장치, 이를 활용한 적외선 센서 기반의 심장 박동 수 측정 방법
KR102349684B1 (ko) 활동 정보 제공 방법 및 이를 지원하는 전자 장치
KR102423364B1 (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
US20180033463A1 (en) Electronic device and operation method thereof
KR20170035604A (ko) 이미지를 처리하는 전자 장치 및 그 제어 방법
KR102700131B1 (ko) 이미지의 유사도에 기초하여 이미지들을 연속적으로 표시하는 방법 및 장치
US11596764B2 (en) Electronic device and method for providing information for stress relief by same
KR102457247B1 (ko) 이미지를 처리하는 전자 장치 및 그 제어 방법

Legal Events

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