KR20200009922A - 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법 - Google Patents

전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법 Download PDF

Info

Publication number
KR20200009922A
KR20200009922A KR1020180084989A KR20180084989A KR20200009922A KR 20200009922 A KR20200009922 A KR 20200009922A KR 1020180084989 A KR1020180084989 A KR 1020180084989A KR 20180084989 A KR20180084989 A KR 20180084989A KR 20200009922 A KR20200009922 A KR 20200009922A
Authority
KR
South Korea
Prior art keywords
image
electronic device
external device
communication
correction information
Prior art date
Application number
KR1020180084989A
Other languages
English (en)
Other versions
KR102609734B1 (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 KR1020180084989A priority Critical patent/KR102609734B1/ko
Priority to PCT/KR2019/008986 priority patent/WO2020017936A1/ko
Priority to US17/257,989 priority patent/US11393078B2/en
Publication of KR20200009922A publication Critical patent/KR20200009922A/ko
Application granted granted Critical
Publication of KR102609734B1 publication Critical patent/KR102609734B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/391Modelling the propagation channel
    • H04B17/3913Predictive models, e.g. based on neural network models
    • H04N5/23229
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/373Predicting channel quality or other radio frequency [RF] parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • 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/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • 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/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • 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
    • 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
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
    • H04N5/2257

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Studio Devices (AREA)

Abstract

전자 장치는 카메라; 하나 이상의 통신 모듈; 하나 이상의 메모리; 및 하나 이상의 프로세서를 포함하며, 상기 프로세서는 상기 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하고, 상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하고, 상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하고, 상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하고, 상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하고, 및 상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 설정될 수 있다.

Description

전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법{electronic device and method for revising image based on transfer status of image}
본 발명의 다양한 실시예는 이미지를 다른 장치로 전송할 때, 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치에 관한 것이다.
스마트 폰(Smart Phone), 태블릿 PC(Tablet PC), PMP(Portable Multimedia Player), PDA(Personal Digital Assistant), 랩탑 PC(Laptop Personal Computer) 및 손목 시계(Wrist watch), HMD(Head-Mounted Display)와 같은 웨어러블 기기(Wearable device) 등의 다양한 전자 장치는 카메라를 포함하고, 카메라를 이용하여 이미지를 촬영할 수 있다.
사용자는 전자 장치의 카메라를 이용하여 촬영한 이미지를 외부 전자 장치에 업로드 할 수 있다.
본 발명의 다양한 실시예들은 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치에 관한 것으로서, 클라우드(cloud) 서비스를 이용하여 이미지를 처리할 수 있다.
본 발명의 다양한 실시예들은 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치에 관한 것으로서, 네트워크 또는 통신 상태에 따라 클라우드 서비스에서 제공되는 정보 이용하여 이미지를 처리할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 카메라; 하나 이상의 통신 모듈; 하나 이상의 메모리; 및 하나 이상의 프로세서를 포함하며, 상기 프로세서는 상기 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하고, 상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하고, 상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하고, 상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하고, 상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하고, 및 상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 방법은 전자 장치의 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법에 있어서, 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하는 동작; 상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하는 동작; 상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하는 동작; 상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하는 동작; 상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하는 동작; 및 상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치는 클라우드 서비스를 이용하여 이미지를 처리함으로써, 사용자에게 다양한 이미지를 제공할 수 있다.
본 발명의 다양한 실시예에 따른 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치는 네트워크 또는 통신 상태에 기반하여 클라우드 서비스에서 제공되는 정보를 수신하는 시점을 변경하거나, 클라우드 서비스로부터 기 수신되어 전자 장치에 저장된 정보를 이용하여 이미지를 처리함으로써, 일정한 이미지 품질을 유지할 수 있다.
본 발명의 다양한 실시예에 따른 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치는 네트워크 또는 통신 상태에 기반하여 이미지 촬영 정보를 제공함으로써, 클라우드 서비스 이용에 관한 정보를 사용자에게 제공할 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는, 다양한 실시예들에 따른, 전자 장치와 클라우드 플랫폼의 블럭도이다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치 및 외부 전자 장치의 동작을 설명하기 위한 개념도를 도시한다.
도 4는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 5는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 6은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 7은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 8은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 9는 본 발명의 다양한 실시예에 따른 카메라 앱 아이콘(camera APP icon) 표시 동작을 나타내는 순서도이다.
도 10은 본 발명의 다양한 실시예에 따른 카메라 라이브 뷰(live view)표시 동작을 나타내는 순서도이다.
도 11은 본 발명의 다양한 실시예에 따른 레시피 정보 선택 동작을 나타내는 블록도이다.
도 12는 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
도 13은 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
도 14는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
도 15는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전자 장치(101)는 적어도 하나 이상의 카메라 모듈(180)을 포함할 수 있고, 전면 카메라 및 반대편에 위치한 후면 카메라로 구성될 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 하나 이상의 안테나들을 포함할 수 있고, 이로부터, 제 1 네트워크 198 또는 제 2 네트워크 199와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는, 다양한 실시예들에 따른, 전자 장치(210)와 클라우드 플랫폼(250)의 블럭도(200)이다. 도 2를 참조하면, 전자 장치(210)는 카메라 모듈(211) 및 디스플레이(220), 프로세서(221) 및 메모리(219, 222)를 포함할 수 있다. 도 2의 전자 장치(210)는 도 1의 전자 장치(101)와 동일하다. 도 2의 카메라 모듈(211)은 도 1의 카메라 모듈(180)과 동일하다. 도 2의 디스플레이(220)는 도 1의 표시 장치(160)와 동일하다. 도 2의 프로세서(213, 221)는 도 1의 프로세서(120)와 동일하다. 도 2의 메모리(219, 222)는 도 1의 메모리(130)와 동일하다.
카메라 모듈(211)은 이미지 센서(212), 프로세서(213), 메모리(219)를 포함할 수 있다. 프로세서(213)는 원시 이미지 처리부(214) 및 ISP(image signal processor)(215) 및 인코더(216)을 포함할 수 있다.
이미지 센서(212)는 피사체에 대한 다양한 원시 이미지(raw image)를 획득할 수 있다. 이미지 센서(212)는 컬러 필터 어레이(CFA, Color Filter Array) 패턴에 따라 다양한 형태의 원시 이미지를 획득할 수 있다. 이미지 센서(212)의 듀얼 픽셀(DP, dual pixel또는 2PD) 구조를 이용하면, 하나의 픽셀에 서로 다른 위상 차(또는 시차) 정보를 포함하는 이미지 센서(212)을 획득할 수 있다. 서로 같거나 다른 특성을 가진 복수의 이미지 센서들(예: 듀얼 센서(예: RGB+RGB, RGB+Mono, 또는 Wide+Tele 등), 어레이 센서(Array Sensor, 예: 2개 이상의 Sensor가 부착))을 이용하여, 한 장면에 대해 하나 이상의 이미지 센서(212)을 획득할 수 있다. 획득된 이미지 센서(212)은 그대로 또는 추가적인 처리를 거쳐 메모리(222)에 저장될 수 있다.
이미지 센서(212)는 피사체로부터 렌즈 어셈블리(미도시)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일실시예에 따르면, 이미지 센서(212)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(212)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서로 구현될 수 있다.
카메라 모듈(211)은 렌즈 어셈블리(미도시), 플래쉬(미도시), 이미지 스태빌라이저(미도시)를 더 포함할 수 있다.
렌즈 어셈블리(미도시)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(미도시)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다.
일실시예에 따르면, 카메라 모듈(211)은 복수의 렌즈 어셈블리(미도시)들을 포함할 수 있다. 이런 경우, 카메라 모듈(211)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)일 수 있다. 복수의 렌즈 어셈블리(미도시)들은 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 렌즈 어셈블리와 적어도 하나의 다른 렌즈 속성을 가질 수 있다. 렌즈 어셈블리(미도시)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 플래쉬(미도시)는 피사체로부터 방출되는 빛을 강화하기 위하여 사용되는 광원을 방출할 수 있다. 플래쉬(미도시)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.
이미지 스태빌라이저(미도시)는 카메라 모듈(212) 또는 이를 포함하는 전자 장치(210)의 움직임에 반응하여, 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향(예: 이미지 흔들림)을 적어도 일부 보상하기 위하여 렌즈 어셈블리(미도시)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(212)를 특정한 방향으로 움직이거나 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 일실시예에 따르면, 이미지 스태빌라이저(미도시)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있으며, 카메라 모듈(212)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 상기 움직임을 감지할 수 있다.
원시 이미지는 다양한 포맷(예: Bayer 포맷 등)으로 구성될 수 있다. 원시 이미지는 이미지 센서(212)의 픽셀(Pixel)에 대해 R(red),G(green),B(blue) 중 하나의 색으로 표현될 수 있고, 8~16비트(Bit)의 비트 깊이(Bit-Depth)로 표현 가능하다. 원시 이미지에는 다양한 컬러 필터 어레이(CFA, Color Filter Array)패턴이 적용될 수 있다. 원시 이미지는 하나의 픽셀에 대해 여러 가지 색(예: R,G,B 중 복수 의 색) 정보를 포함하는 레이어(Layer) 구조의 원시 이미지일 수 있다. 이미지 센서(212)의 다양한 구성에 따라, 색 정보(예:RGB) 뿐만 아니라, 위상차 정보 등도 포함할 수 있다. 영상의 촬영과 관련된 정보(예: 시간, 위치, 조도 등)는 메타데이터로 생성되어 원시 이미지와 관련하여 저장될 수 있다.
전자 장치의 프로세서(213, 221)는 영상 처리와 관련된 다양한 처리들을 수행할 수 있다. 다양한 영상 처리 모듈들(예: 원시 이미지 처리부(214), ISP(215), 인코더(216))은 하나의 프로세서 내에 포함될 수도 있고, 복수의 프로세서(213, 221)들에 분산되어 있을 수도 있다. 프로세서(213)는 카메라 모듈(211)의 내부에 또는 카메라 모듈(211)의 외부에(예: 전자 장치(210)) 또는 클라우드 플랫폼(250)의 일부를 구성하고 있는 하나 또는 여러 서버 등) 또는 내부와 외부 모두에 있을 수 있다. 다양한 처리들은 프로세서에 의해 단독으로 처리되거나 또는 복수의 프로세서에 의해 분산 처리될 수 있다.
원시 이미지 처리부(214)는 이미지 센서(212)에서 획득된 원시 이미지에 대해 다양한 처리를 수행할 수 있다. 원시 이미지에 대해 렌즈 왜곡 보상을 수행하거나 또는 또는 노이즈를 일부 제거할 수 있다. 원시 이미지는 데이터의 크기가 상당히 클 수 있으므로, 원시 이미지 처리부(214)는 원시 이미지를 저장, 처리 또는 전송하기 전에, 다양한 처리(예: 다운 스케일링(down scaling), 다운 샘플링(down sampling) 또는 압축(compression) 등)를 통해 데이터 크기를 줄일 수 있다.
소형 원시 이미지 생성부(217)는 원시 이미지를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다.
원시 이미지 압축부(218)는 다양한 영상 압축 알고리즘을 이용하여 원시 이미지 또는 소형 원시 이미지를 압축할 수 있다.
ISP(215)는 엔진(257)에서 분석된 원시 이미지에 대한 다양한 정보를 포함하는 레시피 정보(recipe)를 이용하여, 원시 이미지에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다. 예를 들면, 전자 장치(210)의 임베디드ISP(Embedded ISP)에서 제공되는 영상 처리와, 레시피 정보를 활용한 영상 처리를 복합적으로 수행할 수 있다. 클라우드 플랫폼(250)에서 영상 처리를 수행하는 경우, 클라우드 플랫폼(250)에 포함된 ISP(258)를 통해, 레시피 정보에 기반한 원시 이미지를 수행할 수도 있다. 클라우드 플랫폼(250)에 포함된 ISP(258)는 데이터베이스(252)로부터 레시피 정보에 대응하는 추가 정보(예: feature vector 등)를 수신하여 영상 처리에 이용할 수 있다. 처리된 영상은 전자 장치(210)로 송신되거나 또는 클라우드 플랫폼(250)의 이미지 저장소(254)에 저장될 수 있다. 영상 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 기능을 포함할 수 있다. 이러한 기능들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
ISP(215)는 이미지 센서(212)을 통하여 획득된 이미지 또는 메모리(219, 222)에 저장된 이미지에 대하여 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening))을 수행할 수 있다. 추가적으로 또는 대체적으로, ISP(215)는 카메라 모듈(211)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(212))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. ISP(215)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 표시 장치(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 전달될 수 있다. 일실시예에 따르면, ISP(215)는 프로세서(213, 221)의 적어도 일부로 구성되거나, 프로세서(213, 221)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 별도의 프로세서로 구성된 경우, ISP(215)에 의해 처리된 이미지들은 프로세서(213, 221)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이(220)를 통해 표시될 수 있다.
인코더(216)는 원시 이미지를 인코딩 하여 이미지 파일(예: JPEG, MPEG, 360 영상 등)을 생성할 수 있다.
전자 장치(210)는 카메라 모듈(211) 내부에 메모리(219) 및/또는 카메라 모듈(211) 외부에 메모리(222)를 포함할 수 있다. 메모리(219, 222)는 원시 이미지, 소형 원시 이미지, 이미지 파일, 및 이미지 처리된 원시 이미지 등을 저장할 수 있다. 메모리(219, 222)는 이미지 센서(212)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: 높은 해상도의 이미지)는 메모리(219, 222)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이(220)를 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(219, 222)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, ISP(215)에 의해 획득되어 처리될 수 있다. 일실시예에 따르면, 메모리(219)는 메모리(222)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
전자 장치(210)는 디스플레이(222, 도 1의 표시 장치(160)와 동일)를 포함할 수 있다.
클라우드 플랫폼(250)은 외부 장치로서, 프로세서(251), 데이터 베이스(252), 원시 이미지 저장소(253), 이미지 저장소(254)를 포함할 수 있다. 프로세서(251)는 엔진(예를 들어, 인식 엔진)(255), 인코더(256), 전처리부(257), ISP(258)을 포함할 수 있다.
클라우드 플랫폼(250)의 프로세서(251)는 영상 처리와 관련된 다양한 처리들을 수행할 수 있다. 다양한 영상 처리 모듈들(예: 엔진(255), 인코더(256), 전처리부(257), ISP(258))은 하나의 프로세서 내에 포함될 수도 있고 복수의 프로세서들에 분산되어 있을 수도 있다.
엔진(255)은 영상(예: 원시 이미지, 소형 원시 이미지, 이미지 파일 등)으로부터 다양한 유의미한 정보(예: 사물 인식, 속도 벡터, 얼굴 인식, 세그먼테이션(segmentation), 장면 파싱(scene parsing) 등)를 분석하는 동작을 수행한다. 이를 위한 다양한 알고리즘들을 포함할 수 있다. 분석 결과로써 ISP에서 다양한 영상 처리에 활용 가능한 정보(레시피 정보, recipe information)(예: segments, layers, vectors, 또는 scene category 등을 포함하는 정보)를 영상과 연관하여 생성, 저장, 또는 전송할 수 있다.
인코더(256)는 원시 이미지를 인코딩 하여 이미지 파일(예: JPEG, MPEG, 360 영상 등)을 생성할 수 있다.
전처리부(257)는 전자 장치(210)로부터 수신된 원시 이미지를 엔진(255)이나 ISP(258)로 전달하기 전에 필요한 처리를 수행할 수 있다. 압축된 원시 이미지의 압축 해제, 간단한 화질 개선, 디모자이크(de-mosaic) 처리, 또는 영상 포맷 변경 등을 수행할 수 있다.
ISP(258)는 엔진(257)에서 분석된 원시 이미지에 대한 다양한 정보를 포함하는 레시피 정보(recipe)를 이용하여, 원시 이미지에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다. 예를 들면, 전자 장치(210)의 임베디드ISP(Embedded ISP)에서 제공되는 영상 처리와, 레시피 정보를 활용한 영상 처리를 복합적으로 수행할 수 있다. 클라우드 플랫폼(250)에서 영상 처리를 수행하는 경우, 클라우드 플랫폼(250)에 포함된 ISP(258)를 통해, 레시피 정보에 기반한 원시 이미지를 수행할 수도 있다. 클라우드 플랫폼(250)에 포함된 ISP(258)는 데이터베이스(252)로부터 레시피 정보에 대응하는 추가 정보(예: feature vector 등)를 수신하여 영상 처리에 이용할 수 있다. 처리된 영상은 전자 장치(210)로 송신되거나 또는 클라우드 플랫폼(250)의 이미지 저장소(254)에 저장될 수 있다. 영상 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 기능을 포함할 수 있다. 이러한 기능들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
데이터베이스(252)는 영상의 카테고리에 대응하는 특징(feature)을 저장할 수 있다. 원시 이미지 저장소(253)는 원시 이미지를 저장할 수 있다. 이미지 저장소(254)는 이미지 파일을 저장할 수 있다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치(101) 및 외부 전자 장치(300)(예: 서버(108))의 동작을 설명하기 위한 개념도를 도시한다.
전자 장치(101)는, 이미지 센서(321), ISP(323) 및 메모리(325)를 포함할 수 있다. 외부 전자 장치(300)는, 인식 모듈(331), ISP(333) 및 저장소(335)를 포함할 수 있다. 인식 모듈(331)은 논리 모듈일 수도 있으며, 외부 전자 장치(300)의 프로세서로 구현될 수도 있다. ISP (333) 또한 외부 전자 장치(300)의 프로세서로 구현될 수 있으며, 예를 들어 외부 전자 장치(300)의 프로세서가 인식과 이미지 처리를 모두 수행할 수도 있다. 도시되지는 않았지만, 전자 장치(101)는 외부 전자 장치(300)와 데이터를 송수신할 수 있는 통신 모듈(예: 통신 인터페이스(170) 또는 통신 모듈(220))을 포함할 수 있다. 외부 전자 장치(300)는 전자 장치(101)와 데이터를 송수신할 수 있는 통신 모듈을 포함할 수 있다.
이미지 센서(321)(예: 카메라 모듈(291))는, 외부 객체에 대한 이미지를 획득할 수 있으며, 이에 대응하는 로우 이미지(322)(원시 이미지, raw image)를 생성할 수 있다. 이미지 센서(321)는, 로우 이미지(322)를 ISP(323)로 전달할 수 있다. 본 발명의 다양한 실시예에서, 이미지 센서(321)는 스몰 로우 이미지(321)를 생성하여 이를 통신 모듈을 통하여 외부 전자 장치(300)로 송신할 수 있다. 또 다른 실시예에서는, 이미지 센서(321)가 아닌 전자 장치(101)의 프로세서가 스몰 로우 이미지(321)를 생성할 수도 있으며, 생성된 스몰 로우 이미지(321)를 통신 모듈을 통하여 외부 전자 장치(300)로 송신할 수 있다. 이미지 센서(321)는, 로우 이미지(322)를 압축된 상태로 상기 ISP 또는 상기 외부 전자 장치(300)으로 송신할 수 있다. 이미지 센서(321)는, 로우 이미지(322)의 일부 처리를 위해 압축하여 상기 이미지 센서(321)내부의 메모리에 저장할 수 있다. 외부 전자 장치(300)의 인식 모듈(331)은 통신 모듈을 통하여 스몰 로우 이미지(321)를 획득할 수 있으며, 스몰 로우 이미지(321)로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 인식 모듈(321)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 인식 모듈(321)로부터 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보 또는 인식 결과 중 적어도 하나를 포함하는 보정 영역 정보(332)가 생성될 수 있다. 보정 영역 정보(332)는 전자 장치(101)로 송신될 수 있다. ISP(323)는 보정 영역 정보(332)를 이용하여 로우 이미지(322)를 보정할 수 있으며, 이에 따라 보정된 이미지(324)가 생성될 수 있다. 보정된 이미지(324)는, 예를 들어 YUV의 포맷을 가질 수 있다. 보정된 이미지(324)는 메모리(325)에 저장될 수 있다. 또는, 보정된 이미지(324)는 예를 들어 JPEG 방식에 따라 압축될 수 있으며, 압축된 이미지가 메모리(325)에 저장될 수도 있다. 본 발명의 다양한 실시예에서, 이미지 센서(321)로부터 제공되는 로우 이미지(322)는 스몰 로우 이미지(321)와 별도로 외부 전자 장치(300)로 송신될 수 있다. 로우 이미지(322)는, 스몰 로우 이미지(321)에 비하여 용량이 크므로, 스몰 로우 이미지(321)가 우선 외부 전자 장치(300)로 송신되며, 이후 로우 이미지(322)가 외부 전자 장치(300)로 송신될 수 있다. 예를 들어, ISP(323)가 로우 이미지(322)에 대한 보정을 수행하는 동안에 로우 이미지(322)가 외부 전자 장치(300)로 송신될 수도 있다. 로우 이미지(322)는, 이미지 센서(321)에 의하여 생성된 그대로 외부 전자 장치(300)로 업로드될 수도 있으며, 또는 렌즈 왜곡 보상 또는 노이즈 제거가 수행된 전처리 영상이 업로드될 수도 있다. 상술한 전처리는 외부 전자 장치(300)에서 수행될 수도 있다. 외부 전자 장치(300)는, Demosaic 처리 또는 이미지 포맷 변형, 또는 영상 인식률을 높이기 위한 전처리를 수행할 수도 있다. 외부 전자 장치(300)의 ISP(333)는, 수신된 로우 이미지(322)를 보정할 수 있다. 외부 전자 장치(300)는 기존에 생성하였던 보정 영역 정보(332)를 이용하여 로우 이미지(322)를 보정할 수도 있으며, 또는 확장된 보정 영역 정보를 이용하여 로우 이미지(322)를 보정할 수도 있다. 로우 이미지(322)는, 스몰 로우 이미지(321)에 비하여 해상도가 높을 수도 있으며, 이에 따라 외부 전자 장치(300)의 ISP(333)는 고해상도 이미지로부터 보다 상세한 확장된 보정 영역 정보를 획득할 수 있다. ISP(333)는, 기존에 생성된 보정 영역 정보와 로우 이미지(322)를 함께 이용하여 확장된 보정 영역 정보를 생성할 수도 있다. ISP(333)는 확장된 보정 영역 정보를 이용하여 로우 이미지(322)를 보정함으로써, 고해상도 이미지(high quality image)(334)를 획득할 수 있다. 고해상도 이미지(334)는 외부 전자 장치(300)의 저장소(335)에 저장될 수 있으며, 전자 장치(101)로 다운로드될 수도 있다.
외부 전자 장치(300)는, 예를 들어 클라우드 서버로 구현될 수 있으며, 이에 따라 외부 전자 장치의 ISP(333)는 클라우드 ISP(cloud ISP)로 명명될 수도 있다. 외부 전자 장치의 ISP(333)는, original color mapping, detail re-generation, text reconstruction, image inpainting, scene based white balance(WB) / color adjustment, segmentation based noise reduction(NR) / sharpen 또는 segmentation based detail enhancement 중 적어도 하나의 보정을 수행할 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 401 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 외부 객체에 대한 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 403 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 405 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단할 수 있다. 전자 장치(210)가 405 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단하는 동작은, 클라우드 서버와 통신 연결 가능한 상태인지를 판단하는 동작일 수 있다.
전자 장치(210)는, 405 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
예를 들어, 전자 장치(210)는 생성된 소형 원시 이미지를 클라우드 플랫폼(250)에 전송 가능한 상태이거나, 전자 장치(210)가 클라우드 플래폼(250)으로부터 레시피(recipe) 정보를 수신 가능한 상태를 클라우드 플랫폼(250)과 통신 연결 상태가 양호한 것으로 판단할 수 있다.
반대로, 전자 장치(210)는 생성된 소형 원시 이미지를 클라우드 플랫폼(250)에 전송 불가능한 상태이거나, 전자 장치(210)가 클라우드 플랫폼(250)으로부터 레시피(recipe) 정보를 수신 불가능한 상태를 클라우드 플랫폼(250)과 통신 연결 상태가 양호하지 않은 것(불량한 것)으로 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)가 405 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호한지 여부를 판단할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
도1을 참조하여, 연결 매니저에 관하여 구체적으로 설명하면, 프로그램(140)은 전자 장치(101)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(146))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다.
도 1을 참조하면, 프로그램(140)은 운영 체제(142), 커널, 미들웨어(144), API(application programming interface), 및/또는 어플리케이션 프로그램(146)을 포함할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션(146)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(146)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 미들웨어(144) 는 런타임 라이브러리, 어플리케이션 매니저, 윈도우 매니저, 멀티미디어 매니저, 리소스 매니저, 파워 매니저, 데이터베이스 매니저, 패키지 매니저, 연결 매니저, 노티피케이션 매니저, 로케이션 매니저, 그래픽 매니저, 또는 시큐리티 매니저 중 적어도 하나를 포함할 수 있다. 연결 매니저는, 예를 들면, 통신 연결을 관리할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 405 동작에서 407 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 407 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다.
전자 장치(210)는, 409 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
레시피 정보는 도 2의 레시피 정보, 또는 도 3에 언급된 보정 영역 정보(332)와 동일할 수 있다. 클라우드 플랫폼(250)은 소형 원시 이미지(예, 도 3의 스몰 로우 이미지(321))로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 클라우드 플랫폼(250)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 클라우드 플랫폼(250)은 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보(벡터 정보), 세그먼트(segment) 정보, 레이어(layer) 정보, 인식 결과, 장면 카테고리 정보 중 적어도 하나를 포함하는 레시피 정보를 생성하고, 생성된 레시피 정보를 전자 장치(210)로 전송할 수 있다.
전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 413 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 413 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 413 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 405 동작에서 415 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는, 415 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 미리 준비된 레시피 정보를 선택할 수 있다.
전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 준비된 레시피 정보에 기반하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 전자 장치(210)의 ISP(215)는 미리 준비된 레시피 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 이미지 처리를 수행할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 여러 상황을 고려해서 전자 장치(210)에서 미리 설정된(pre-setting) 복수의 레시피 정보 중 하나일 수 있다. 전자 장치(210)는 현재 카메라 모듈(211)를 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를 미리 설정된(pre-setting) 복수의 레시피 정보 중 적어도 하나 이상을 미리 준비된 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되어, 전자 장치(210)가, 415 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 미리 준비된 레시피 정보를 선택하는 동작은 다음과 같다. 전자 장치(210)의 415 동작은 451 동작, 453 동작, 455 동작을 포함할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는 451 동작에서, 이미지에 대한 상황 정보를 판단할 수 있다. 이미지에 대한 상황 정보는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환일 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는 451 동작에서, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있는지 여부를 판단할 수 있다. 전자 장치(210)가 화면 또는 장면의 전환이 있는지 여부는 판단하는 동작은 현재 획득되는 프레임과 이전 프레임을 비교하여, 미리 설정된 조건 이상으로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 있다고 판단하고, 미리 설정된 조건 이하로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 없다고 판단할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는 451 동작에서, 453 동작으로 분기할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는, 453 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 설정된 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보를 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 453 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를, 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)가, 453 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 복수의 레시피 정보 중 하나 이상의 레시피 정보를 선택하는 동작은 다음과 같을 수 있다.
적어도 하나의 프로세서(213, 221)는 현재 카메라 모듈(211)을 통해 획득되는 프레임(frame)을 기반으로 이미지의 장면(scene) 분석을 수행하고, 분석된 장면에 기초하여 복수의 레시피 정보 중 하나 이상을 레시피 정보로 선택할 수 있다.
적어도 하나의 프로세서(213, 221)가 획득한 프레임을 기반으로 이미지의 장면을 분석하는 동작은, 적어도 하나의 프로세서(213, 221)가 이미지의 심도(depth)등을 분석하여, 분석된 심도를 이용하여 적어도 하나의 이미지 영역을 세그먼테이션(segmentation)하여 영역별 세그먼테이션 정보를 산출할 수 있다. 적어도 하나의 프로세서(213, 221)는 산출된 세그먼테이션 정보를 이용하여 장면 전체의 특징과 영역별 밝기 정보(예를 들어, ISO 정보, 조도 정보)를 산출할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보와 장면 특징을 이용하여 세그먼테이션된 이미지의 영역별 파라미터 값을 결정할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하는 레시피 정보를 메모리(219)에 저장된 복수의 레시피 정보로부터 선택할 수 있다.
적어도 하나의 프로세서(213, 221) 또는 ISP(215)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하여 선택된 레시피 정보를 이용하여 이미지를 처리할 수 있다.
현재 카메라 모듈(221)을 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는 451 동작에서, 455 동작으로 분기할 수 있다.
현재 카메라 모듈(211) 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는, 455 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이전 프레임의 레시피 정보를 선택할 수 있다. 이전 프레임의 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
453 동작에서 선택된 레시피 정보는 전자 장치(210)에서 산출, 생성된 레시피 정보이고, 409 동작에서 수신된 레시피 정보 및 455 동작에서 선택된 레시피 정보는 클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보일 수 있다. 409 동작에서 수신된 레시피 정보는 실시간 또는 프레임 생성 주기에 따라서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있고, 455 동작에서 선택된 레시피 정보는 이전 시간 또는 이전 프레임에서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있다.
클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보와 전자 장치(210)에서 산출, 생성된 레시피 정보를 비교하면 표 1과 같을 수 있다.
클라우드 플랫폼(250)에서 산출, 생성되는 레시피 정보 전자 장치(210)에서 산출, 생성되는 레시피 정보
세그먼테이션 지도(segmentation map)세그먼테이션 신뢰 지도(segmentation confidence map)
심도 지도(depth map)
심도 신뢰 지도(depth confidence map)
장면 인식 정보(scene recognition)
장면 파싱 정보(scene parsing)
이미지 영역(region) 별 파라미터
인식 정보(예, 사물, 인물, 텍스쳐)
세그먼테이션 지도(segmentation map)
세그먼테이션 신뢰 지도(segmentation confidence map)
심도 지도(depth map)
심도 신뢰 지도(depth confidence map)
이미지 영역(region) 별 파라미터
인식 정보(인물)
클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보와 전자 장치(210)에서 산출, 생성된 레시피 정보는 정확도 측면에서 차이가 있을 수 있다.
도 5는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 501 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 503 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 505 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송을 시도하고, 전송 성공 여부를 판단할 수 있다.
전자 장치(210)는 소형 원시 이미지를 클라우드 플랫폼(250)으로 전송하는 것이 성공하면 505 동작에서 507 동작으로 분기할 수 있다.
전자 장치(210)는 소형 원시 이미지를 클라우드 플랫폼(250)으로 전송하는 것이 성공하지 못하면, 505 동작에서 513 동작으로 분기할 수 있다.
전자 장치(210)는, 507 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신을 시도하고, 일정 시간 동안 레시피 정보를 수신 시도하여, 수신 성공 여부를 판단할 수 있다.
전자 장치(210)는 레시피 정보를 클라우드 플랫폼(250)으로부터 수신하는 것이 성공하면 507 동작에서 509 동작으로 분기할 수 있다.
전자 장치(210)는 레시피 정보를 클라우드 플랫폼(250)으로부터 수신하는 것이 성공하지 못하면, 507 동작에서 513 동작으로 분기할 수 있다.
레시피 정보는 도 2의 레시피 정보, 또는 도 3에 언급된 보정 영역 정보(332)와 동일할 수 있다. 클라우드 플랫폼(250)은 소형 원시 이미지(예, 도 3의 스몰 로우 이미지(321))로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 클라우드 플랫폼(250)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 클라우드 플랫폼(250)은 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보(벡터 정보), 세그먼트(segment) 정보, 레이어(layer) 정보, 인식 결과, 장면 카테고리 정보 중 적어도 하나를 포함하는 레시피 정보를 생성하고, 생성된 레시피 정보를 전자 장치(210)로 전송할 수 있다.
전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)으로부터 레시피 정보 수신에 성공하면, 전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 511 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 511 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 511 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못하면, 전자 장치(210)는, 513 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라서 미리 준비된 레시피 정보를 선택할 수 있다.
전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못하면, 전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 준비된 레시피 정보에 기반하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 전자 장치(210)의 ISP(215)는 미리 준비된 레시피 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 이미지 처리를 수행할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 여러 상황을 고려해서 전자 장치(210)에서 미리 설정된(pre-setting) 복수의 레시피 정보 중 하나일 수 있다. 전자 장치(210)는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를 미리 설정된(pre-setting) 복수의 레시피 정보 중 적어도 하나 이상을 미리 준비된 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
다양한 실시예에서, 전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못한 경우, 전자 장치(210)가, 513 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 미리 준비된 레시피 정보를 선택하는 동작은 다음과 같다. 전자 장치(210)의 513 동작은 531 동작, 533 동작, 535 동작을 포함할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는 531 동작에서, 이미지에 대한 상황 정보를 판단할 수 있다. 이미지에 대한 상황 정보는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환일 수 있다.
다양한 실시예에서, 전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못하면, 전자 장치(210)는 531 동작에서, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있는지 여부를 판단할 수 있다. 전자 장치(210)가 화면 또는 장면의 전환이 있는지 여부는 판단하는 동작은 현재 획득되는 프레임과 이전 프레임을 비교하여, 미리 설정된 조건 이상으로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 있다고 판단하고, 미리 설정된 조건 이하로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 없다고 판단할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는 531 동작에서, 533 동작으로 분기할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는, 533 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 설정된 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보를 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 533 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를, 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)가, 533 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 복수의 레시피 정보 중 하나 이상의 레시피 정보를 선택하는 동작은 다음과 같을 수 있다.
적어도 하나의 프로세서(213, 221)는 현재 카메라 모듈(211)을 통해 획득되는 프레임(frame)을 기반으로 이미지의 장면(scene) 분석을 수행하고, 분석된 장면에 기초하여 복수의 레시피 정보 중 하나 이상을 레시피 정보로 선택할 수 있다.
적어도 하나의 프로세서(213, 221)가 획득한 프레임을 기반으로 이미지의 장면을 분석하는 동작은, 적어도 하나의 프로세서(213, 221)가 이미지의 심도(depth)등을 분석하여, 분석된 심도를 이용하여 적어도 하나의 이미지 영역을 세그먼테이션(segmentation)하여 영역별 세그먼테이션 정보를 산출할 수 있다. 적어도 하나의 프로세서(213, 221)는 산출된 세그먼테이션 정보를 이용하여 장면 전체의 특징과 영역별 밝기 정보(예를 들어, ISO 정보, 조도 정보)를 산출할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보와 장면 특징을 이용하여 세그먼테이션된 이미지의 영역별 파라미터 값을 결정할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하는 레시피 정보를 메모리(219)에 저장된 복수의 레시피 정보로부터 선택할 수 있다.
적어도 하나의 프로세서(213, 221) 또는 ISP(215)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하여 선택된 레시피 정보를 이용하여 이미지를 처리할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는 531 동작에서, 535 동작으로 분기할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는, 535 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이전 프레임의 레시피 정보를 선택할 수 있다. 이전 프레임의 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
535 동작에서 선택된 레시피 정보는 전자 장치(210)에서 산출, 생성된 레시피 정보이고, 507 동작에서 수신된 레시피 정보 및 535 동작에서 선택된 레시피 정보는 클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보일 수 있다. 507 동작에서 수신된 레시피 정보는 실시간 또는 프레임 생성 주기에 따라서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있고, 535 동작에서 선택된 레시피 정보는 이전 시간 또는 이전 프레임에서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있다.
도 6은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 601 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 603 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하고, 통신 연결이 양호할지 여부를 예측할 수 있다.
전자 장치(210)는, 605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 예측하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
통신 연결이 양호할 것으로 예측되면, 605 동작에서 607 동작으로 분기할 수 있다. 통신 연결이 불량할 것으로 예측되면, 605 동작에서 615 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)가 605 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호할지 여부를 예측하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호할지 여부를 예측할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 607 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 제 1 주기로 전송할 수 있다.
전자 장치(210)는, 609 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 제 2 주기로 수신할 수 있다. 제 1 주기와 제 2 주기는 동일할 수 있다.
전자 장치(210)는, 611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 주기로 수신된 레시피 정보 또는 제 4 주기로 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 제 2 주기 또는 제 4 주기로 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 613 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 613 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 613 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 605 동작에서 615 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 제 3 주기로 전송할 수 있다. 제 1 주기와 제 3 주기는 서로 다를 수 있고, 제 1 주기보다 제 3 주기는 더 짧을 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측될 때보다 빠른 주기로 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다.
전자 장치(210)는, 617 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 제 4 주기로 수신할 수 있다. 제 3 주기와 제 4 주기는 동일할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 617 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측될 때보다 빠른 주기로 클라우드 플랫폼(250)으로부터 레시피 정보를 수신할 수 있다.
전자 장치(210)는, 611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 주기로 수신된 레시피 정보 또는 제 4 주기로 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
도 7은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 701 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 703 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하거나 또는 통신 연결 상태를 확인할 수 있다.
전자 장치(210)는, 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 예측하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)가 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호할지 여부를 예측하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호할지 여부를 예측할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 전자 장치(210)가 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 확인하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호한지 여부를 확인할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 확인할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 확인할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 확인할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 확인할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 확인할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 확인할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 707 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하거나 또는 통신 연결 상태를 확인한 결과에 따라서 통신 채널 변경 여부를 결정할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 707 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태가 불량하다고 예측되거나 또는 통신 연결 상태를 확인한 결과 통신 연결 상태가 불량하다고 판단되면 통신 채널 변경 할 수 있다. 통신 채널이 변경되면, 707 동작에서 709 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 707 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태가 양호하다고 예측되거나 또는 통신 연결 상태를 확인한 결과 통신 연결 상태가 양호하다고 판단되면 통신 채널 변경하지 않을 수 있다. 통신 채널이 변경되지 않으면, 707 동작에서 717 동작으로 분기할 수 있다.
통신 채널이 변경되면, 전자 장치(210)는, 709 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 변경된 통신 채널을 이용하여 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다. 변경된 통신 채널은 제 1 통신 채널일 수 있고, 와이파이 또는 WLAN 통신 채널일 수 있다.
통신 채널이 변경되면, 전자 장치(210)는, 711 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 변경된 통신 채널을 이용하여 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
통신 채널이 변경되지 않으면, 전자 장치(210)는, 717 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 원래 통신 채널을 이용하여 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다. 원래 통신 채널은 제 2 통신 채널일 수 있고, LTE 채널 또는 WWAN 통신 채널일 수 있다.
통신 채널이 변경되지 않으면, 전자 장치(210)는, 719 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 원래 통신 채널을 이용하여 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
전자 장치(210)는, 713 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 변경된 통신 채널(예, 제 1 통신 채널(와이파이 통신 채널 또는 WLAN 통신 채널))을 통해 수신된 레시피 정보 또는 원래 통신 채널(예, 제 2 통신 채널(LTE 통신 채널 또는 WWAN 통신 채널))을 통해 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 715 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 715 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 715 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 801 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 803 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 805 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하고, 통신 연결이 양호할지 여부를 예측할 수 있다.
전자 장치(210)는, 805 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 예측하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
통신 연결이 양호할 것으로 예측되면, 805 동작에서 807 동작으로 분기할 수 있다. 통신 연결이 불량할 것으로 예측되면, 805 동작에서 815 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)가 805 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호할지 여부를 예측하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호할지 여부를 예측할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 807 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 주기적으로 전송할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 809 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 주기적으로 수신할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 805 동작에서 815 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 815 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 미리 정해진 시간까지 전송할 수 있다. 미리 정해진 시간은 통신 상태가 나빠질 것으로 예측되는 시점일 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 817 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 미리 정해진 시간까지 수신할 수 있다. 미리 정해진 시간은 통신 상태가 나빠질 것으로 예측되는 시점일 수 있다.
전자 장치(210)는, 811 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 주기적으로 수신된 레시피 정보 또는 미리 정해진 시간까지 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 811 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 주기적으로 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 주기적 또는 미리 정해진 시간까지 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 813 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 813 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 813 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 카메라 앱 아이콘(camera APP icon) 표시 동작을 나타내는 순서도이다.
전자 장치(210)는, 901 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지를 포함하는 카메라 앱 아이콘을 홈 스크린(home screen) 상에 표시할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 901 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지를 포함하는 카메라 앱 아이콘을 홈 스크린(home screen) 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 예를 들어, 제 1 이미지는 카메라와 관련된 이미지를 포함할 수 있다.
전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화 되었는지 여부를 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 사용자 입력에 따라 클라우드 플랫폼(250) 기반 촬영을 활성화하는 동작일 수 있다.
다양한 실시예에서, 전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 클라우드 플랫폼(250)과의 통신 상태에 따라서 자동으로 활성화하는 동작일 수 있다.
전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되지 않았다고 판단되면, 901 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되면, 901 동작으로 분기할 수 있다.
전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 905 동작으로 분기할 수 있다.
클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는, 905 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 이미지를 포함하는 카메라 앱 아이콘을 홈스크린 상에 표시할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는, 905 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 이미지를 포함하는 카메라 앱 아이콘을 홈스크린 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 제 2 이미지는 제 1 이미지를 포함하고, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지에는 구름과 관련된 이미지, 통신 안테나와 관련된 이미지를 포함할 수 있다.
도 10은 본 발명의 다양한 실시예에 따른 카메라 라이브 뷰(live view)표시 동작을 나타내는 순서도이다.
전자 장치(210)는, 1001 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 카메라 기능을 실행할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1001 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 기능을 실행할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1001 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 홈스크린 상에 표시된 카메라 앱 아이콘에 대한 사용자 입력을 수신하면 카메라 기능을 실행할 수 있다.
전자 장치(210)는, 1003 동작에서, 카메라 기능이 실행되면, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘을 디스플레이(220) 상에 표시할 수 있다.
다양한 실시예에서, 1003 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 전자 장치(210)가 라이브 뷰와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰 상에 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다.
제 1 이미지 세트는 촬영 버튼, 이전 촬영 결과에 관한 썸네일 이미지 또는 이전 촬영 결과에 관한 썸네일 이미지 퀵 뷰(quick view)이미지 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다.
전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화 되었는지 여부를 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 사용자 입력에 따라 클라우드 플랫폼(250) 기반 촬영을 활성화하는 동작일 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 클라우드 플랫폼(250)과의 통신 상태에 따라서 자동으로 활성화하는 동작일 수 있다.
전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되지 않았다고 판단되면, 1003 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되면, 1003 동작으로 분기할 수 있다.
전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 1007 동작으로 분기할 수 있다.
클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는, 1007 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰와 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰 상에 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다. 1007 동작에서 표시되는 라이브 뷰는 클라우드 플랫폼(250)으로부터 전달받은 레시피 정보가 반영될 수 있다.
제 2 이미지 세트는 촬영 버튼, 이전 촬영 결과에 관한 썸네일 이미지 또는 이전 촬영 결과에 관한 썸네일 이미지 퀵 뷰(quick view)이미지, 또는 통신 상태에 관한 이미지 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다. 제 2 이미지 세트에 포함된 촬영 버튼, 이전 촬영 결과에 관한 썸네일 이미지 또는 이전 촬영 결과에 관한 퀵 뷰(quick view)이미지, 또는 통신 상태에 관한 이미지는 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지 세트에는 구름과 관련된 이미지, 통신 안테나와 관련된 이미지를 포함할 수 있다.
도 11은 본 발명의 다양한 실시예에 따른 레시피 정보 선택 동작을 나타내는 블록도이다.
제 1 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보이고, 제 2 레시피 정보는 전자 장치(210)로부터 선택된 레시피 정보일 수 있다.
레시피 정보 선택부(1110)는 적어도 하나의 프로세서(213, 221)일 수 있다.
레시피 정보 선택부(1110)는 장면 전환을 조건으로 하여 제 1 레시피 정보 또는 제 2 레시피 정보를 선택하여 ISP(215)로 선택된 레시피 정보를 전송할 수 있다. ISP(215)는 선택된 레시피 정보에 따라 이미지를 처리할 수 있다.
도 12는 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
전자 장치(210)는 카메라 기능이 실행되면, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰(1210)와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘(1220, 1230)을 디스플레이(220) 상에 표시할 수 있다.
다양한 실시예에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 전자 장치(210)가 라이브 뷰(1210)와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘(1220, 1230)을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰(1210) 상에 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘(1220, 1230)을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다.
제 1 이미지 세트는 촬영 버튼(1220), 이전 촬영 결과에 관한 썸네일 이미지(1230) 또는 이전 촬영 결과에 관한 퀵 뷰(quick view)이미지(1230) 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰(1210)는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다.
도 13은 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
전자 장치(210)는 카메라 기능이 실행되면, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰(1310)와 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘(1320, 1330, 1340)을 디스플레이(220) 상에 표시할 수 있다.
다양한 실시예에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 전자 장치(210)가 라이브 뷰(1310)와 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘(1320, 1330, 1340)을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰(1310) 상에 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘(1320, 1330, 1340)을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다.
제 2 이미지 세트는 촬영 버튼(1320), 이전 촬영 결과에 관한 썸네일 이미지(1230) 또는 이전 촬영 결과에 관한 썸네일 이미지 퀵 뷰(quick view)이미지 (1230), 또는 통신 상태에 관한 이미지(1340) 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰(1310)는 클라우드 플랫폼(250)으로부터 전달받은 레시피 정보가 반영될 수 있다. 라이브 뷰(1310)는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다. 제 2 이미지 세트에 포함된 촬영 버튼(1320), 이전 촬영 결과에 관한 썸네일 이미지(1330) 또는 이전 촬영 결과에 관한 퀵 뷰(quick view)이미지(1330), 또는 통신 상태에 관한 이미지(1340)는 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지 세트에는 구름과 관련된 이미지(예, 1331), 통신 안테나와 관련된 이미지(1340)를 포함할 수 있다.
도 14는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 디스플레이(220) 상에 홈 스크린을 표시하고, 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1410, 1420, 1430)을 표시할 수 있다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지(1431)를 포함하는 카메라 앱 아이콘(1430)을 홈 스크린(home screen) 상에 표시할 수 있다.
다양한 실시예에서, 전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지(1431)를 포함하는 카메라 앱 아이콘(1410)을 홈 스크린(home screen) 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 예를 들어, 제 1 이미지(1431)는 카메라와 관련된 이미지를 포함할 수 있다.
도 15는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 디스플레이(220) 상에 홈 스크린을 표시하고, 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1510, 1520, 1530)을 표시할 수 있다. 도 15의 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1510, 1520, 1530)은 도 14의 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1410, 1420, 1430)과 같은 기능에 관한 아이콘일 수 있다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 제 2 이미지(1531)를 포함하는 카메라 앱 아이콘(1530)을 홈스크린 상에 표시할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 이미지(1531)를 포함하는 카메라 앱 아이콘(1530)을 홈스크린 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 제 2 이미지(1531)는 도 14의 제 1 이미지(1431)를 포함하고, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지에는 구름과 관련된 이미지, 통신 안테나와 관련된 이미지를 포함할 수 있다.
도 16은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 1601 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 외부 객체에 대한 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 1603 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 1605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 모듈을 통하여 클라우드 플랫폼(250)에 소형 원시 이미지를 전송할 수 있는지 여부를 판단할 수 있다.
전자 장치(210)는, 1605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)에 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)가 1605 동작에서, 소형 원시 이미지를 전송할 수 있는지를 판단하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호한지 여부를 판단할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
도1을 참조하여, 연결 매니저에 관하여 구체적으로 설명하면, 프로그램(140)은 전자 장치(101)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(146))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다.
도 1을 참조하면, 프로그램(140)은 운영 체제(142), 커널, 미들웨어(144), API(application programming interface), 및/또는 어플리케이션 프로그램(146)을 포함할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션(146)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(146)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 미들웨어(144) 는 런타임 라이브러리, 어플리케이션 매니저, 윈도우 매니저, 멀티미디어 매니저, 리소스 매니저, 파워 매니저, 데이터베이스 매니저, 패키지 매니저, 연결 매니저, 노티피케이션 매니저, 로케이션 매니저, 그래픽 매니저, 또는 시큐리티 매니저 중 적어도 하나를 포함할 수 있다. 연결 매니저는, 예를 들면, 통신 연결을 관리할 수 있다.
소형 원시 이미지를 전송 가능하다고 판단되면, 전자 장치(210)는, 1605 동작에서 1607 동작으로 분기할 수 있다.
클라우드 플랫폼(250)에 소형 원시 이미지를 전송 가능하다고 판단되면, 전자 장치(210)는, 1607 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다.
전자 장치(210)는, 1609 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 제 1 보정 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
제 1 보정 정보는 도 2의 레시피 정보, 또는 도 3에 언급된 보정 영역 정보(332)와 동일할 수 있다. 클라우드 플랫폼(250)은 소형 원시 이미지(예, 도 3의 스몰 로우 이미지(321))로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 클라우드 플랫폼(250)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 클라우드 플랫폼(250)은 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보(벡터 정보), 세그먼트(segment) 정보, 레이어(layer) 정보, 인식 결과, 장면 카테고리 정보 중 적어도 하나를 포함하는 레시피 정보를 생성하고, 생성된 레시피 정보를 전자 장치(210)로 전송할 수 있다.
전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 보정 정보 또는 제 2 보정 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 제 1 보정 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 1613 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 1613 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 1613 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
소형 원시 이미지를 전송할 수 없다고 판단되면, 1605 동작에서 1615 동작으로 분기할 수 있다.
소형 원시 이미지를 전송할 수 없다고 판단되면, 전자 장치(210)는, 1615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 제 2 보정 정보를 확인할 수 있다.
전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 보정 정보 또는 제 2 보정 정보를 이용하여 획득한 원시 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 보정 정보에 기반하여 획득한 이미지를 처리할 수 있다. 제 2 보정 정보는 상황 정보에 따라 생성된 정보일 수 있고, 미리 준비된 레시피 정보일 수 있다.
다양한 실시예에서, 전자 장치(210)의 ISP(215)는 제 2 보정 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 이미지 처리를 수행할 수 있다.
다양한 실시예에서, 제 2 보정 정보는 여러 상황을 고려해서 전자 장치(210)에서 미리 설정된(pre-setting) 복수의 레시피 정보 중 하나일 수 있다. 전자 장치(210)는 현재 카메라 모듈(211)를 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를 미리 설정된(pre-setting) 복수의 레시피 정보 중 적어도 하나 이상을 제 2 보정 정보로 선택할 수 있다.
다양한 실시예에서, 제 2 보정 정보는 클라우드 플랫폼(250)으로부터 수신한 제 1 보정 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 제 1 보정 정보일 수 있다.
다양한 실시예에서, 소형 원시 이미지를 전송할 수 없다고 판단되면, 전자 장치(210)는 1615 동작에서, 이미지에 대한 상황 정보를 판단할 수 있다. 이미지에 대한 상황 정보는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환일 수 있다.
다양한 실시예에서, 소형 원시 이미지를 전송할 수 없다고 판단되면 , 전자 장치(210)는 1615 동작에서, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있는지 여부를 판단할 수 있다. 전자 장치(210)가 화면 또는 장면의 전환이 있는지 여부는 판단하는 동작은 현재 획득되는 프레임과 이전 프레임을 비교하여, 미리 설정된 조건 이상으로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 있다고 판단하고, 미리 설정된 조건 이하로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 없다고 판단할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 설정된 복수의 제 2 보정 정보 중 적어도 하나 이상의 제 2 보정 정보를 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를, 복수의 레시피 정보 중 적어도 하나 이상의 제 2 정보로 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)가, 적어도 하나의 프로세서(213, 221) 제어 하에, 복수의 레시피 정보 중 하나 이상의 제 2 보정 정보를 선택하는 동작은 다음과 같을 수 있다.
적어도 하나의 프로세서(213, 221)는 현재 카메라 모듈(211)을 통해 획득되는 프레임(frame)을 기반으로 이미지의 장면(scene) 분석을 수행하고, 분석된 장면에 기초하여 복수의 레시피 정보 중 하나 이상을 제 2 보정 정보로 선택할 수 있다.
적어도 하나의 프로세서(213, 221)가 획득한 프레임을 기반으로 이미지의 장면을 분석하는 동작은, 적어도 하나의 프로세서(213, 221)가 이미지의 심도(depth)등을 분석하여, 분석된 심도를 이용하여 적어도 하나의 이미지 영역을 세그먼테이션(segmentation)하여 영역별 세그먼테이션 정보를 산출할 수 있다. 적어도 하나의 프로세서(213, 221)는 산출된 세그먼테이션 정보를 이용하여 장면 전체의 특징과 영역별 밝기 정보(예를 들어, ISO 정보, 조도 정보)를 산출할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보와 장면 특징을 이용하여 세그먼테이션된 이미지의 영역별 파라미터 값을 결정할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하는 레시피 정보를 메모리(219)에 저장된 복수의 레시피 정보로부터 선택할 수 있다.
적어도 하나의 프로세서(213, 221) 또는 ISP(215)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하여 선택된 레시피 정보를 이용하여 이미지를 처리할 수 있다.
현재 카메라 모듈(211) 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 이전 프레임의 레시피 정보를 선택할 수 있다. 이전 프레임의 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 제 1 보정 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 제 1 보정 정보일 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    카메라;
    하나 이상의 통신 모듈;
    하나 이상의 메모리; 및
    하나 이상의 프로세서를 포함하며,
    상기 프로세서는
    상기 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하고,
    상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하고,
    상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하고,
    상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하고,
    상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하고, 및
    상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는
    상기 소형 원시 이미지를 상기 외부 장치에 전송 가능하거나, 상기 외부 장치로부터 전송에 응답한 상기 제 1 보정 정보를 수신가능 여부를 이용하여, 상기 외부 장치와의 통신 연결 상태를 판단하는 전자 장치.
  3. 제 1항에 있어서,
    상기 프로세서는
    상기 이미지의 장면 전환 여부에 따라서 상기 이미지에 대한 상황 정보를 판단하고,
    상기 이미지의 장면 전환이 있으면,
    상기 제 2 보정 정보를 이용하여 상기 이미지를 처리하고,
    상기 이미지의 장면 전환이 없으면,
    상기 전자 장치에 이전 프레임에서 상기 외부 장치로부터 수신한 제 2 보정 정보를 이용하여 상기 이미지를 처리하도록 설정된 전자 장치.
  4. 제 1항에 있어서,
    상기 제 2 보정 정보는 미리 설정된 보정 정보인 것을 특징으로 하는 전자 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    상기 상황 정보에 기반하여 결정된 이미지 처리 방식에 따라 상기 원시 이미지 또는 상기 소형 원시 이미지를 이용하여 상기 제 2 보정 정보를 생성하도록 설정된 전자 장치.
  6. 제 1항에 있어서,
    상기 프로세서는
    상기 외부 장치와의 통신 연결 상태를 예측하고,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 제 1 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하며,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 제 2 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하도록 설정된 것을 특징으로 하며,
    상기 제 1 주기는 제 2 주기는 더 짧은 것을 특징으로 하는 전자 장치.
  7. 제 1항에 있어서,
    상기 프로세서는
    상기 외부 장치와의 통신 연결 상태를 예측하고,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 통신 채널을 변경하지 않고, 원래의 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하며,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 통신 채널을 변경하여, 변경된 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하도록 설정된 전자 장치.
  8. 제 1항에 있어서,
    상기 프로세서는
    상기 외부 장치와의 통신 연결 상태를 예측하고,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 주기적으로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하며,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 미리 정해진 시간까지 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하도록 설정된 전자 장치.
  9. 제 1항에 있어서,
    디스플레이를 더 포함하며,
    상기 프로세서는
    제 1 이미지를 포함하는 카메라 앱 아이콘을 상기 디스플레이 상의 홈 스크린에 표시하도록 제어하며,
    상기 외부 장치를 기반으로 한 촬영 동작의 활성화 여부를 판단하고,
    상기 외부 장치를 기반으로 한 촬영 동작이 활성화되면, 제 2 이미지를 포함하는 상기 카메라 앱 아이콘을 상기 디스플레이 상의 상기 홈 스크린에 표시하도록 제어하는 전자 장치.
  10. 제 1항에 있어서,
    디스플레이를 더 포함하며,
    상기 프로세서는
    상기 카메라를 실행하도록 제어하며,
    라이브 뷰와 제 1 이미지 세트를 포함하는 복수의 아이콘을 상기 디스플레이 상에 표시하도록 제어하며,
    상기 외부 장치를 기반으로 한 촬영 동작의 활성화 여부를 판단하고,
    상기 외부 장치를 기반으로 한 촬영 동작이 활성화되면, 상기 보정 정보가 반영된 라이브 뷰와 제 2 이미지 세트를 포함하는 복수의 아이콘을 상기 디스플레이 상에 표시하도록 제어하는 전자 장치.
  11. 전자 장치의 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법에 있어서,
    카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하는 동작;
    상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하는 동작;
    상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하는 동작;
    상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하는 동작;
    상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하는 동작; 및
    상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 하는 동작을 포함하는 방법.
  12. 제 11항에 있어서,
    상기 외부 장치와의 통신 연결 상태를 판단하는 동작은
    상기 소형 원시 이미지를 상기 외부 장치에 전송 가능하거나, 상기 외부 장치로부터 전송에 응답한 상기 제 1 보정 정보를 수신가능 여부를 이용하여, 상기 외부 장치와의 통신 연결 상태를 판단하는 동작을 더 포함하는 방법.
  13. 제 11항에 있어서,
    상기 이미지의 장면 전환 여부에 따라서 상기 이미지에 대한 상황 정보를 판단하는 동작;
    상기 이미지의 장면 전환이 있으면, 상기 제 2 보정 정보를 이용하여 상기 이미지를 처리하는 동작; 및
    상기 이미지의 장면 전환이 없으면, 이전 프레임에서 상기 외부 장치로부터 수신한 제 2 보정 정보를 이용하여 상기 이미지를 처리하는 동작;을 더 포함하는 방법.
  14. 제 11항에 있어서,
    상기 제 2 보정 정보는 미리 설정된 보정 정보인 것을 특징으로 하는 방법.
  15. 제 11항에 있어서,
    상기 상황 정보에 기반하여 결정된 이미지 처리 방식에 따라 상기 원시 이미지 또는 상기 소형 원시 이미지를 이용하여 상기 제 2 보정 정보를 생성하는 동작을 더 포함하는 방법.
  16. 제 11항에 있어서,
    상기 외부 장치와의 통신 연결 상태를 예측하는 동작;
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 제 1 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1보정 정보를 수신하여 상기 이미지를 처리하는 동작; 및
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 제 2 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하는 동작을 더 포함하며,
    상기 제 1 주기는 제 2 주기는 더 짧은 것을 특징으로 하는 방법.
  17. 제 11항에 있어서,
    상기 외부 장치와의 통신 연결 상태를 예측하는 동작;
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 통신 채널을 변경하지 않고, 원래의 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1보정 정보를 수신하여 상기 이미지를 처리하는 동작; 및
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 통신 채널을 변경하여, 변경된 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1보정 정보를 수신하여 상기 이미지를 처리하는 동작을 더 포함하는 방법.
  18. 제 11항에 있어서,
    상기 외부 장치와의 통신 연결 상태를 예측하는 동작;
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 주기적으로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하는 동작; 및
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 미리 정해진 시간까지 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하는 동작을 더 포함하는 방법.
  19. 제 11항에 있어서,
    제 1 이미지를 포함하는 카메라 앱 아이콘을 디스플레이 상의 홈 스크린에 표시하도록 제어하는 동작;
    상기 외부 장치를 기반으로 한 촬영 동작의 활성화 여부를 판단하는 동작; 및
    상기 외부 장치를 기반으로 한 촬영 동작이 활성화되면, 제 2 이미지를 포함하는 상기 카메라 앱 아이콘을 상기 디스플레이 상의 상기 홈 스크린에 표시하도록 제어하는 동작을 더 포함하는 방법.
  20. 제 11항에 있어서,
    카메라를 실행하도록 제어하는 동작;
    라이브 뷰와 제 1 이미지 세트를 포함하는 복수의 아이콘을 상기 디스플레이 상에 표시하도록 제어하는 동작;
    상기 외부 장치를 기반으로 한 촬영 동작의 활성화 여부를 판단하는 동작; 및
    상기 외부 장치를 기반으로 한 촬영 동작이 활성화되면, 상기 보정 정보가 반영된 라이브 뷰와 제 2 이미지 세트를 포함하는 복수의 아이콘을 상기 디스플레이 상에 표시하도록 제어하는 동작을 더 포함하는 방법.
KR1020180084989A 2018-07-20 2018-07-20 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법 KR102609734B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180084989A KR102609734B1 (ko) 2018-07-20 2018-07-20 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법
PCT/KR2019/008986 WO2020017936A1 (ko) 2018-07-20 2019-07-19 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법
US17/257,989 US11393078B2 (en) 2018-07-20 2019-07-19 Electronic device and method for correcting image on basis of image transmission state

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180084989A KR102609734B1 (ko) 2018-07-20 2018-07-20 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법

Publications (2)

Publication Number Publication Date
KR20200009922A true KR20200009922A (ko) 2020-01-30
KR102609734B1 KR102609734B1 (ko) 2023-12-05

Family

ID=69165169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180084989A KR102609734B1 (ko) 2018-07-20 2018-07-20 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법

Country Status (3)

Country Link
US (1) US11393078B2 (ko)
KR (1) KR102609734B1 (ko)
WO (1) WO2020017936A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308593B2 (en) 2019-03-19 2022-04-19 Samsung Electronics Co., Ltd. Electronic device for generating composite image and method thereof
WO2022092742A1 (ko) * 2020-10-27 2022-05-05 삼성전자 주식회사 피사체가 촬영된 영상을 생성하는 디바이스 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102608127B1 (ko) * 2019-04-08 2023-12-01 삼성전자주식회사 이미지 프로세싱을 수행하는 전자 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014013957A (ja) * 2012-07-03 2014-01-23 Canon Inc 撮像装置及び撮像装置の制御方法
KR20160092136A (ko) * 2015-01-26 2016-08-04 한국전자통신연구원 가상 데스크탑 제공 방법 및 가상 데스크탑 제공 서버

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4823184A (en) * 1984-04-09 1989-04-18 Corporate Communications Consultants, Inc. Color correction system and method with scene-change detection
JP5983327B2 (ja) * 2012-11-08 2016-08-31 富士ゼロックス株式会社 画像形成装置、定着装置、及び乾燥装置
TWI571762B (zh) 2012-11-08 2017-02-21 國立台灣科技大學 即時影像雲端系統及其管理方法
KR102228457B1 (ko) 2014-01-09 2021-03-16 삼성전자주식회사 단말과 서버간의 정보 동기화 방법 및 시스템
KR20150128482A (ko) 2014-05-09 2015-11-18 삼성전자주식회사 전자 장치들 간의 연동 서비스 운용 방법 및 장치
JP6406949B2 (ja) 2014-09-12 2018-10-17 キヤノン株式会社 画像処理装置及び画像処理方法
KR102407133B1 (ko) * 2015-08-21 2022-06-10 삼성전자주식회사 전자 장치 및 이의 콘텐트 변형 방법
KR101795537B1 (ko) 2016-02-24 2017-12-04 경북대학교 산학협력단 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법
KR102495753B1 (ko) 2017-10-10 2023-02-03 삼성전자주식회사 카메라를 이용하여 획득한 원시 이미지를 외부 전자 장치를 이용하여 처리하는 방법 및 전자 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014013957A (ja) * 2012-07-03 2014-01-23 Canon Inc 撮像装置及び撮像装置の制御方法
KR20160092136A (ko) * 2015-01-26 2016-08-04 한국전자통신연구원 가상 데스크탑 제공 방법 및 가상 데스크탑 제공 서버

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308593B2 (en) 2019-03-19 2022-04-19 Samsung Electronics Co., Ltd. Electronic device for generating composite image and method thereof
WO2022092742A1 (ko) * 2020-10-27 2022-05-05 삼성전자 주식회사 피사체가 촬영된 영상을 생성하는 디바이스 및 방법

Also Published As

Publication number Publication date
US11393078B2 (en) 2022-07-19
WO2020017936A1 (ko) 2020-01-23
US20210272249A1 (en) 2021-09-02
KR102609734B1 (ko) 2023-12-05

Similar Documents

Publication Publication Date Title
CN110581948B (zh) 提供质量定制图像的电子装置及其控制方法、服务器
US10812768B2 (en) Electronic device for recording image by using multiple cameras and operating method thereof
KR102495763B1 (ko) 제1 이미지 처리 방식으로 보정된 이미지를 제2 이미지 처리 방식을 이용하여 외부 전자 장치에서 보정하기 위한 전자 장치 및 방법
KR102386385B1 (ko) 전자 장치 및 전자 장치의 이미지 압축 방법
CN109756763B (zh) 用于基于优先级处理图像的电子装置及其操作方法
US11102409B2 (en) Electronic device and method for obtaining images
US10929961B2 (en) Electronic device and method for correcting images using external electronic device
US20200322530A1 (en) Electronic device and method for controlling camera using external electronic device
US11393078B2 (en) Electronic device and method for correcting image on basis of image transmission state
KR20190105380A (ko) 이미지 보정 방식 및 이미지의 특징 정보에 기반하여 이미지를 보정하는 전자 장치 및 방법
US11144197B2 (en) Electronic device performing function according to gesture input and operation method thereof
US20230133394A1 (en) Method for processing photographed image and electronic device therefor
US10970587B2 (en) Electronic device for notifying of update of image signal processing and method for operating the same
KR20190097545A (ko) 카메라를 이용하여 획득한 이미지를 압축 처리하는 전자 장치 및 그 동작 방법
CN115516494A (zh) 用于生成图像的方法及其电子装置
KR102608127B1 (ko) 이미지 프로세싱을 수행하는 전자 장치 및 방법
US11477443B2 (en) Electronic device for performing image compression and operating method of electronic device

Legal Events

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