KR20220001417A - 전자 장치 및 전자 장치의 제어 방법 - Google Patents

전자 장치 및 전자 장치의 제어 방법 Download PDF

Info

Publication number
KR20220001417A
KR20220001417A KR1020200167701A KR20200167701A KR20220001417A KR 20220001417 A KR20220001417 A KR 20220001417A KR 1020200167701 A KR1020200167701 A KR 1020200167701A KR 20200167701 A KR20200167701 A KR 20200167701A KR 20220001417 A KR20220001417 A KR 20220001417A
Authority
KR
South Korea
Prior art keywords
camera
image frame
image
values
electronic device
Prior art date
Application number
KR1020200167701A
Other languages
English (en)
Inventor
아쉬시 초프라
카리 바피 레디
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/339,449 priority Critical patent/US11928799B2/en
Priority to CN202180045892.5A priority patent/CN115868170A/zh
Priority to EP21832591.8A priority patent/EP4097964A4/en
Priority to PCT/KR2021/008075 priority patent/WO2022005126A1/en
Publication of KR20220001417A publication Critical patent/KR20220001417A/ko

Links

Images

Classifications

    • 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
    • H04N5/23216
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/026Details of the structure or mounting of specific components
    • H04M1/0264Details of the structure or mounting of specific components for a camera module assembly
    • 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/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • H04N5/2257
    • H04N5/23293
    • H04N5/247

Abstract

전자 장치가 개시된다. 본 전자 장치는 복수의 카메라 및 복수의 카메라와 연결된 적어도 하나의 프로세서를 포함하고, 프로세서는 라이브 뷰 영상을 획득하기 위한 제1 사용자 명령이 수신되면, 복수의 카메라 중 카메라를 통해 획득된 이미지 프레임을 픽셀들의 밝기 및 이미지 프레임에 포함된 오브젝트에 기초하여 복수의 영역으로 분할하고, 분할된 복수의 영역에 대하여, 각각 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득하고, 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라 중 카메라를 이용하여 복수의 이미지 프레임을 획득하고, 획득된 복수의 이미지 프레임을 병합하여 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득한다.

Description

전자 장치 및 전자 장치의 제어 방법 { ELECTRONIC DEVICE AND CONTROLLING METHOD OF ELECTRONIC DEVICE }
본 개시는 전자 장치 및 전자 장치의 제어 방법에 관한 것으로서, 구체적으로는, 캡쳐를 위한 사용자 명령에 기초하여 이미지 프레임을 획득하는 전자 장치 및 전자 장치의 제어 방법에 관한 것이다.
최근 전자 기술의 발전으로, 복수의 카메라를 구비하는 전자 장치가 다양하게 개발되고 있다.
이와 관련하여, 복수의 카메라를 이용하여 사용자의 캡쳐 명령에 대응되는 이미지 프레임을 생성할 때, 보다 양질의 이미지 프레임을 제공하기 위한 필요성이 대두되고 있다.
본 개시는 상술한 바와 같은 필요성에 따라 안출된 것으로서, 본 개시의 목적은 라이브 뷰 영상을 이용하여 복수의 파라미터 값들을 획득하고, 복수의 파라미터 값들을 이용하여 캡쳐 명령에 대응되는 이미지 프레임을 획득하는 전자 장치 및 전자 장치의 제어 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는 복수의 카메라, 상기 복수의 카메라와 연결된 적어도 하나의 프로세서를 포함하고, 상기 프로세서는 라이브 뷰 영상을 획득하기 위한 제1 사용자 명령이 수신되면, 복수의 카메라 중 카메라를 통해 획득된 이미지 프레임을 픽셀들의 밝기 및 이미지 프레임에 포함된 오브젝트에 기초하여 복수의 영역으로 분할하고, 상기 분할된 복수의 영역에 대하여, 각각 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득하고, 상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 카메라를 이용하여 복수의 이미지 프레임을 획득하고, 상기 획득된 복수의 이미지 프레임을 병합하여 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득한다.
여기에서, 상기 프로세서는 상기 복수의 영역을 제1 신경망 모델에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋을 획득하고, 상기 복수의 제1 카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값을 제2 신경망 모델에 입력하여, 상기 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
또한, 상기 제1 신경망 모델은 이미지 프레임에서 획득된 영역, 상기 이미지 프레임을 획득한 카메라의 복수의 파라미터 값, 상기 영역의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 기초하여 학습된 신경망 모델일 수 있다.
그리고, 상기 제2 신경망 모델은 카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값이 입력되면, 상기 입력된 카메라 파라미터 설정 값 셋에 대응되는 상기 입력된 이미지 프레임의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 출력하고, 상기 프로세서는 상기 제2 신경망 모델로부터 획득한 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보에 기초하여, 상기 복수의 제1 카메라 파라미터 설정 값 셋 중 상기 엣지 인덱스가 최대인 카메라 파라미터 설정 값 셋, 상기 콘트라스트 인덱스가 최대인 카메라 파라미터 설정 값 셋 및 상기 백그라운드 인덱스가 최대인 카메라 파라미터 설정 값 셋을 획득할 수 있다.
한편, 상기 프로세서는 상기 복수의 영역 각각에 포함된 픽셀들의 픽셀 값을 식별하고, 상기 식별된 픽셀 값들 및 기정의된 룰에 기초하여, 상기 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
한편, 상기 프로세서는 상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 중 하나의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제1 카메라를 이용하여 이미지 프레임을 획득하고 상기 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제2 카메라를 이용하여 적어도 2 개의 이미지 프레임을 획득하여, 상기 복수의 이미지 프레임을 획득할 수 있다.
한편, 상기 프로세서는 상기 병합된 이미지 프레임을 제3 신경망 모델에 입력하여, 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득할 수 있다.
여기에서, 상기 획득된 복수의 이미지 프레임 각각은 베이어 로우 이미지일 수 있다.
또한, 상기 제3 신경망 모델로부터 획득된 이미지 프레임은 블랙 레벨 조정, 컬러 보정, 감마 보정 및 엣지 강화 중 적어도 하나가 수행된 이미지 프레임일 수 있다.
한편, 본 개시의 일 실시 예에 따른 복수의 카메라를 포함하는 전자 장치의 제어 방법은 라이브 뷰 영상을 획득하기 위한 제1 사용자 명령이 수신되면, 상기 복수의 카메라 중 카메라를 통해 획득된 이미지 프레임을 픽셀들의 밝기 및 이미지 프레임에 포함된 오브젝트에 기초하여 복수의 영역으로 분할하는 단계, 상기 분할된 복수의 영역에 대하여, 각각 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계, 상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 카메라를 이용하여 복수의 이미지 프레임을 획득하는 단계 및 상기 획득된 복수의 이미지 프레임을 병합하여 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득하는 단계를 포함한다.
여기에서, 상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계는 상기 복수의 영역을 제1 신경망 모델에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋을 획득하고, 상기 복수의 제1 카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값을 제2 신경망 모델에 입력하여, 상기 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
또한, 상기 제1 신경망 모델은 이미지 프레임에서 획득된 영역, 상기 이미지 프레임을 획득한 카메라의 복수의 파라미터 값, 상기 영역의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 기초하여 학습된 신경망 모델일 수 있다.
그리고, 상기 제2 신경망 모델은 카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값이 입력되면, 상기 입력된 카메라 파라미터 설정 값 셋에 대응되는 상기 입력된 이미지 프레임의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 출력하고, 상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계는 상기 제2 신경망 모델로부터 획득한 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보에 기초하여, 상기 복수의 제1 카메라 파라미터 설정 값 셋 중 상기 엣지 인덱스가 최대인 카메라 파라미터 설정 값 셋, 상기 콘트라스트 인덱스가 최대인 카메라 파라미터 설정 값 셋 및 상기 백그라운드 인덱스가 최대인 카메라 파라미터 설정 값 셋을 획득할 수 있다.
한편, 상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계는 상기 복수의 영역 각각에 포함된 픽셀들의 픽셀 값을 식별하고, 상기 식별된 픽셀 값들 및 기정의된 룰에 기초하여, 상기 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
한편, 상기 복수의 이미지 프레임을 획득하는 단계는 상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 중 하나의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제1 카메라를 이용하여 이미지 프레임을 획득하고 상기 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제2 카메라를 이용하여 적어도 2 개의 이미지 프레임을 획득하여, 상기 복수의 이미지 프레임을 획득할 수 있다.
한편, 상기 이미지 프레임을 획득하는 단계는 상기 병합된 이미지 프레임을 제3 신경망 모델에 입력하여, 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득할 수 있다.
여기에서, 상기 획득된 복수의 이미지 프레임 각각은 베이어 로우 이미지일 수 있다.
또한, 상기 제3 신경망 모델로부터 획득된 이미지 프레임은 블랙 레벨 조정, 컬러 보정, 감마 보정 및 엣지 강화 중 적어도 하나가 수행된 이미지 프레임일 수 있다.
본 개시에 따른 전자 장치 및 전자 장치의 제어 방법은 고품질의 이미지 프레임을 획득할 수 있다. 특히, 저계조에서도 노이즈의 영향을 최소화한 고품질의 이미지 프레임을 획득할 수 있다.
본 개시에 따른 전자 장치 및 전자 장치의 제어 방법은 라이브 뷰 영상을 통해 최적의 파라미터 설정 값 셋을 실시간으로 식별함으로써, 캡쳐를 위한 사용자 명령에 따라 고품질의 이미지 프레임을 사용자에게 제공할 수 있다.
본 개시에 따른 전자 장치 및 전자 장치의 제어 방법은 서로 다른 설정 값 셋이 적용된 복수의 카메라를 통해 획득된 복수의 이미지를 병합함으로써, 고품질의 이미지 프레임을 생성할 수 있다.
또한, 고 해상도의 이미지에 패치 현상(ex. 하늘 배경 내의 수평선)이 발생하는 경우가 많지만, 본 개시에 따른 전자 장치 및 전자 장치의 제어 방법은 라이브 뷰 영상을 밝기 및 오브젝트에 따라 복수의 영역으로 분할하고, 복수의 영역에 기초하여 획득된 설정 값 셋들을 이용하여 복수의 이미지 프레임을 획득하고, 복수의 이미지 프레임을 이용하여 캡쳐를 위한 사용자 명령에 대응되는 이미지 프레임을 생성한다는 점에서, 패치 현상이 잘 보이지 않으며, 고스팅 현상도 줄어드는 효과가 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치에 대해 간략하게 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 3a 내지 도 3d는 본 개시의 일 실시 예에 따른 이미지 프레임을 복수의 영역으로 분할하는 방법을 설명하기 위한 도면들,
도 4는 본 개시의 일 실시 예에 따른 복수의 카메라 파라미터 설정 값 셋을 획득하는 방법을 설명하기 위한 흐름도,
도 5는 본 개시의 일 실시 예에 따른 제1 신경망 모델의 학습 과정을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따른 제1 신경망 모델을 이용하여 복수의 제1 카메라 파라미터 설정 값 셋을 획득하는 방법의 일 예를 설명하기 위한 도면,
도 7은 본 개시의 일 실시 예에 따른 제2 신경망 모델을 이용하여 복수의 카메라 파라미터 설정 값 셋을 획득하는 방법의 일 예를 설명하기 위한 도면,
도 8은 본 개시의 일 실시 예에 따른 복수의 카메라를 이용하여 획득되는 복수의 이미지 프레임을 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 복수의 이미지 프레임을 병합하여 이미지 프레임을 획득하는 방법을 설명하기 위한 흐름도,
도 10은 본 개시의 일 실시 예에 따른 복수의 가우시안 피라미드를 나타내는 도면,
도 11은 본 개시의 일 실시 예에 따른 복수의 이미지 프레임을 병합하는 방법을 설명하기 위한 도면,
도 12는 본 개시의 일 실시 예에 따른 제3 신경망 모델을 이용하여 이미지 프레임을 획득하는 방법을 설명하기 도면,
도 13은 본 개시의 일 실시 예에 따른 제1 신경망 모델을 이용하여 복수의 카메라 파라미터 설정 값 셋을 획득하는 방법의 일 예를 설명하기 위한 도면,
도 14 및 도 15는 본 개시의 일 실시 예에 따른 룰을 이용하여 복수의 카메라 파라미터 설정 값 셋을 획득하는 방법의 일 예를 설명하기 위한 도면,
도 16은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 17은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 보다 상세하게 나타내는 블록도,
도 18a 내지 도 18c는 본 개시의 일 실시 예에 따른 이미지 인덱스를 산출하는 방법의 일 예를 설명하기 위한 도면들,
도 19 및 도 20은 본 개시의 일 실시 예에 따른 제1 신경망 모델의 구조를 설명하기 위한 도면,
도 21은 본 개시의 일 실시 예에 따른 제1 신경망 모델의 학습을 설명하기 위한 도면,
도 22는 본 개시의 일 실시 예에 따른 제2 신경망 모델의 구조를 설명하기 위한 도면, 그리고
도 23a 및 도 23b는 본 개시의 일 실시 예에 따른 제3 신경망 모델의 구조를 설명하기 위한 도면들이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제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)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치에 대해 간략하게 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 복수의 카메라(111, 112, 113)를 포함할 수 있다.
예를 들어, 전자 장치(100)는 도 1에 도시된 바와 같은 스마트 폰으로 구현될 수 있다. 다만, 본 개시에 따른 전자 장치(100)가 특정 유형의 장치에 국한되는 것은 아니며, 태블릿 PC, PDA(personal digital assistant), 스마트 워치, 랩탑 컴퓨터, VR(virtual reality) 기기, IoT(Internet of Things) 기기 및 디지털 카메라 등과 같이 다양한 종류의 전자 장치로 구현될 수도 있다.
본 개시에 따른 복수의 카메라(111, 112, 113) 각각은 이미지 센서 및 렌즈를 포함할 수 있다.
여기에서, 렌즈들의 화각(Field of View, FOV)은 서로 상이할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 복수의 카메라(111, 112, 113)는 전자 장치(100)의 후면에 배치된 망원 렌즈(telephoto lens), 광각 렌즈(wide angle lens) 및 초광각 렌즈(super wide angle lens)를 포함할 수 있다. 다만, 본 개시에 따른 렌즈의 개수와 그 유형에 특별한 제한이 있는 것은 아니다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 2에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 라이브 뷰 영상을 획득하기 위한 사용자 명령을 수신할 수 있다(S210).
여기에서, 라이브 뷰 영상이란 카메라의 렌즈를 통해 들어오는 빛이 카메라의 이미지 센서를 통해 전기적인 영상 신호로 변환되어 전자 장치(100)의 디스플레이에 표시되는 영상을 말한다.
그리고, 사용자 명령은 예를 들어, 전자 장치(100)에 저장된 카메라 어플리케이션을 구동하기 위한 사용자 명령일 수 있다. 이러한 사용자 명령은 전자 장치(100)의 디스플레이를 통해 입력되는 사용자 터치, 전자 장치(100)의 마이크를 통해 수신되는 사용자 음성 또는 전자 장치(100)에 구비된 물리 버튼의 입력, 전자 장치(100)를 제어하기 위한 원격 제어 장치에 의해 전송된 제어 신호 등을 바탕으로 수신될 수 있다.
라이브 뷰 영상을 획득하기 위한 사용자 명령이 수신되면, 전자 장치(100)는 카메라를 이용하여 복수의 이미지 프레임을 획득할 수 있다(S220).
한편, 이하에서는, 전자 장치(100)가 복수의 카메라(110) 중 카메라(111)를 구동하여 복수의 이미지 프레임을 획득하는 것을 가정하여 설명하도록 한다. 다만, 이는 본 개시에 따른 전자 장치(100)의 동작을 설명하기 위한 일 예일 뿐이고, 이에 국한되는 것은 아니고, 전자 장치(100)는 카메라(112, 113)들 중 하나를 구동하여 복수의 이미지 프레임을 획득할 수 있음은 물론이다.
이 경우, 카메라(111)는 카메라(111)에 대한 복수의 파라미터 값에 기초하여 복수의 이미지 프레임을 획득할 수 있다.
여기에서, 복수의 파라미터는 ISO, shutter speed, aperture를 포함할 수 있다.
ISO는 빛에 대한 이미지 센서의 반응도를 제어하기 위한 파라미터이다. 같은 양의 빛이 카메라의 이미지 센서에 들어온 경우라도, 카메라에 대해 설정된 ISO 값에 따라 이미지 프레임의 밝기가 달라지게 된다. 예를 들어, 같은 양의 빛이 카메라의 이미지 센서에 들어온 경우라도, ISO 값이 클수록 이미지 프레임이 밝아지고, ISO 값이 작을수록 이미지 프레임이 어둡게 된다.
shutter speed는 이미지 센서가 빛에 노출되는 시간 길이를 제어하기 위한 파라미터이다. 카메라에 대해 설정된 shutter speed 값에 따라 이미지 프레임 획득을 위해 이미지 센서가 빛에 노출되는 시간 길이가 결정될 수 있다. 예를 들어, shutter speed가 클수록 이미지 센서가 빛에 노출되는 시간이 짧아지고, shutter speed가 작을수록 이미지 센서가 빛에 노출되는 시간이 길어질 수 있다.
aperture는 조리개를 통해 빛이 이미지 센서로 들어오는 영역(즉, 조리개의 구멍)과 관련된 파라미터로, 렌즈의 초점거리(focal length)와 구경(aperture diameter)의 비율인 f-number 값으로 나타내어진다. 이 경우, 영역의 크기에 따라 빛이 이미지 센서로 들어오는 양이 달라질 수 있다. 예를 들어, aperture 값이 작을수록 영역의 크기가 크고, 더 많은 양의 빛이 이미지 센서로 들어올 수 있다.
한편, 복수의 카메라는 모두 고정된 aperture 값을 가질 수 있다. 즉, 조리개의 구멍은 그 크기가 변경되지 않으며, 카메라 별로 고정된 크기를 가질 수 있다.
이에 따라, 카메라(111)는 카메라(111)에 대한 ISO 값, shutter speed 값, aperture 값에 기초하여 복수의 이미지 프레임을 획득할 수 있다.
즉, 전자 장치(100)는 카메라(111)에 대한 ISO 값 및 shutter speed 값을 이용하여 카메라(111)의 ISO 및 shutter speed를 설정하고, 설정된 ISO 값 및 shutter speed 값에 기초하여 카메라(111)를 구동하여 복수의 이미지 프레임을 획득할 수 있다. 이때, 카메라(111)의 조리개의 구멍은 aperture 값에 대응되는 크기를 가질 수 있다.
한편, 본 개시에서 복수의 카메라(111, 112, 113)의 ISO 값 및 shutter speed 값은 0~1 사이의 값(가령, 0.1, 0.2, 0.3,..., 0.8, 0.9, 1.0)으로 노말라이즈된 것으로 가정한다. 또한, 본 개시에서 카메라(111)에 대한 aperture 값은 1, 카메라(112)에 대한 aperture 값은 2, 카메라(113)에 대한 aperture 값은 3인 것으로 가정한다. 여기에서, aperture 값이 1,2 또는 3이라는 것은, 카메라(111, 112, 113)의 실제 aperture 값이 1,2 또는 3이라는 것을 의미하는 것은 아니며, aperture 값에 따라 카메라(111, 112, 113)를 구별하기 위한 것이다. 즉, 각 카메라(111, 112, 113)의 aperture 값은 예를 들어, F1.8, F2.0, F2.2, F2.4, F2.8 등과 같은 다양한 aperture 값들 중 하나일 수 있다.
그리고, 전자 장치(100)는 복수의 이미지 프레임을 이용하여 전자 장치(100)의 디스플레이에 라이브 뷰 영상을 표시할 수 있다.
구체적으로, 전자 장치(100)는 카메라(111)를 통해 획득되는 복수의 이미지 프레임을 일시적으로 전자 장치(100)의 프레임 버퍼(frame buffer)와 같은 휘발성 메모리에 저장하고, 이를 이용하여 전자 장치(100)의 디스플레이에 라이브 뷰 영상을 표시할 수 있다.
한편, 전자 장치(100)는 이미지 프레임을 분할(segment)하여 복수의 영역을 획득할 수 있다(S230). 예를 들어, 전자 장치(100)는 카메라(111)를 통해 이미지 프레임을 획득하고, 이미지 프레임을 분할하여 복수의 영역을 획득할 수 있다.
구체적으로, 전자 장치(100)는 이미지 프레임에 포함된 픽셀들의 밝기 및 오브젝트에 기초하여 이미지 프레임을 분할하여, 복수의 영역을 획득할 수 있다.
먼저, 전자 장치(100)는 이미지 프레임에 포함된 픽셀들의 밝기에 기초하여 이미지 프레임을 분할하여, 복수의 영역을 획득할 수 있다.
여기에서, 픽셀의 밝기는 픽셀의 픽셀 값(예를 들어, 그레이스케일 이미지에서 픽셀의 픽셀 값)을 의미할 수 있다.
또한, 픽셀들의 밝기에 기초한다는 것은 빛의 강도(light intensity)에 기초한다는 의미를 포함할 수 있다. 이는, 피사체에 가해지는 빛의 강도에 따라, 카메라를 통해 획득한 이미지 프레임에서 피사체를 나타내는 픽셀들의 밝기가 달라지기 때문이다.
이 경우, 전자 장치(100)는 신경망 모델을 이용하여, 이미지 프레임에서 분할된 복수의 영역에 대한 정보를 획득할 수 있다. 여기에서, 신경망 모델은 픽셀의 밝기를 기초로 복수의 영역으로 구분된 이미지 프레임들에 의해 학습된 모델일 수 있다.
즉, 전자 장치(100)는 이미지 프레임을 신경망 모델에 입력하여, 신경망 모델로부터 이미지 프레임이 픽셀의 밝기를 기반으로 분할된 복수의 영역에 대한 정보를 획득할 수 있다.
여기에서, 이미지 프레임을 신경망 모델에 입력한다는 것은 이미지 프레임에 포함된 픽셀들의 픽셀 값들(가령, R,G,B 픽셀 값들)을 입력한다는 것을 의미할 수 있다. 그리고, 복수의 영역에 대한 정보는 복수의 영역의 위치 정보를 포함할 수 있다. 이 경우, 위치 정보는 각 영역에 포함된 픽셀들의 좌표 값을 포함할 수 있다.
예를 들어, 도 3a와 같이, 전자 장치(100)는 이미지 프레임(310)이 픽셀들의 밝기에 기초하여 분할된 복수의 영역(311, 312, 313, 314)을 획득할 수 있다. 이 경우, 이미지 프레임(310)에서 밝기가 임계 밝기 이상인 영역이 밝기에 따라 구분되어, 임계 밝기 이상인 영역이 복수의 영역(311, 312, 313, 314)으로 구분될 수 있다.
또한, 전자 장치(100)는 이미지 프레임에 포함된 오브젝트에 기초하여, 이미지 프레임을 분할하여, 복수의 영역을 획득할 수 있다.
여기에서, 오브젝트는 사람, 각종 동물, 각종 식물, 각종 건축물, 각종 물체, 각종 지형 등과 같이 다양한 구조(structure)(또는, 형상(shape))을 갖는 다양한 타입의 오브젝트를 포함할 수 있다.
이 경우, 전자 장치(100)는 신경망 모델을 이용하여, 이미지 프레임에서 분할된 복수의 영역에 대한 정보를 획득할 수 있다.
여기에서, 신경망 모델은 오브젝트를 기초로 복수의 영역으로 구분된 이미지 프레임들에 의해 학습된 모델일 수 있다. 예를 들어, 신경망 모델은 오브젝트 분할 모델(object segmentation model)일 수 있다. 오브젝트 분할 모델은 입력된 이미지 프레임에 포함된 오브젝트 및 오브젝트의 구조 등을 식별하고, 오브젝트에 대응되는 오브젝트의 영역에 대한 정보를 출력할 수 있다.
즉, 전자 장치(100)는 이미지 프레임을 신경망 모델에 입력하여, 신경망 모델로부터 이미지 프레임이 오브젝트를 기반으로 분할된 복수의 영역에 대한 정보를 획득할 수 있다.
여기에서, 이미지 프레임을 신경망 모델에 입력한다는 것은 이미지 프레임에 포함된 픽셀들의 픽셀 값들(가령, R,G,B 픽셀 값들)을 입력한다는 것을 의미할 수 있다. 그리고, 복수의 영역에 대한 정보는 복수의 영역 각각의 위치 정보를 포함할 수 있다. 이 경우, 위치 정보는 각 영역에 포함된 모든 픽셀들의 좌표 값을 포함할 수 있다.
예를 들어, 도 3b와 같이, 전자 장치(100)는 이미지 프레임(310)이 오브젝트에 기초하여 분할된 복수의 영역(321, 322, 323, 324)을 획득할 수 있다.
이어서, 전자 장치(100)는 픽셀들의 밝기에 기초하여 분할된 복수의 영역 및 오브젝트에 기초하여 분할된 복수의 영역에 기초하여, 이미지 프레임을 복수의 영역으로 분할할 수 있다.
이 경우, 전자 장치(100)는 K-means 클러스터링을 이용하여 이미지 프레임을 복수의 영역으로 분할할 수 있다. 여기에서, K-means 클러스터링은 데이터와 각 클러스터의 중심(centroid) 간의 거리를 기반으로 데이터를 k 개의 클러스터로 분할하기 위한 알고리즘을 의미한다.
구체적으로, 전자 장치(100)는 이미지 프레임이 픽셀들의 밝기에 기초하여 분할된 영역의 개수 및 이미지 프레임이 오브젝트에 기초하여 분할된 영역의 개수에 기초하여 클러스터의 개수를 식별할 수 있다.
그리고, 전자 장치(100)는 식별된 클러스터의 개수 별로, K-means 클러스터링을 이용하여 이미지 프레임을 분할할 수 있다.
예를 들어, 도 3a와 같이, 픽셀들의 밝기에 기초하여 이미지 프레임(310)이 4 개의 영역(311, 312, 313, 314)으로 분할되고, 도 3b와 같이, 오브젝트에 기초하여 이미지 프레임(310)이 4 개의 영역(321, 322, 323, 324)으로 분할된 경우, 전자 장치(100는 총 8 개의 클러스터(즉, 픽셀들의 밝기에 기초한 4 개의 영역 + 오브젝트에 기초한 4 개의 영역)가 존재하는 것으로 가정할 수 있다.
이와 같이, 8 개의 클러스터가 존재하는 경우, 전자 장치(100)는 K-means 클러스터링(k=1,2,...,8)을 이용하여 픽셀들의 픽셀 값을 바탕으로 이미지 프레임을 1 개의 영역, 2 개의 영역,..., 8 개의 영역으로 각각 분할할 수 있다.
이어서, 전자 장치(100)는 분할된 각 이미지 프레임의 엔트로피를 산출하고, 산출된 엔트로피가 가장 큰 이미지 프레임을 식별할 수 있다.
전술한 예와 같이 이미지 프레임이 1 개의 영역, 2 개의 영역,..., 8 개의 영역으로 각각 분할된 경우, 1 개의 영역으로 분할된 이미지 프레임, 2 개의 영역으로 분할된 이미지 프레임,..., 8 개의 영역으로 분할된 이미지 프레임이 존재할 수 있다.
이 경우, 전자 장치(100)는 하기의 수학식 1에 기초하여, 분할된 각 이미지 프레임의 엔트로피 E(i)를 산출할 수 있다.
Figure pat00001
여기에서,
Figure pat00002
이다. n는 분할된 이미지 프레임에서 각 영역의 픽셀 개수이고, N은 분할된 각 이미지 프레임의 전체 픽셀 개수이다.
예를 들어, 도 3c와 같이, 총 16 개의 픽셀로 구성된 이미지 프레임(330)을 K-means 클러스터링(k=2)을 이용하여 2 개의 영역(331, 332)으로 분할한 경우를 가정한다.
이때, 각 영역(331, 332)이 8 개의 픽셀로 구성된 경우, 영역(331)에 대한 P1은 8/16이고, 영역(332)에 대한 P2는 8/16이다. 따라서, 이미지 프레임의 엔트로피 E는
Figure pat00003
와 같이 산출될 수 있다.
이와 같은 방법을 통해, 전자 장치(100)는 1 개의 영역으로 분할된 이미지 프레임의 엔트로피, 2 개의 영역으로 분할된 이미지 프레임의 엔트로피,..., 8 개의 영역으로 분할된 이미지 프레임의 엔트로피를 산출할 수 있다.
그리고, 전자 장치(100)는 산출된 엔트로피가 가장 큰 이미지 프레임에 기초하여, 이미지 프레임을 복수의 영역으로 분할 수 있다. 즉, 전자 장치(100)는 산출된 엔트로피가 가장 큰 이미지 프레임에서 분할된 복수의 영역을, 픽셀들의 밝기 및 오브젝트에 기초하여 이미지 프레임에서 분할된 복수의 영역으로 식별할 수 있다.
전술한 예에서, 산출된 엔트로피들 중 4 개의 영역으로 분할된 이미지 프레임의 엔트로피가 가장 큰 값을 갖는 경우, 도 3d와 같이, 전자 장치(100)는 이미지 프레임(310)을 4 개의 영역(341, 342, 343, 344)으로 분할할 수 있다.
결국, 전자 장치(100)는 이와 같은 방법을 통해 픽셀들의 밝기 및 오브젝트를 고려하여, 이미지 프레임을 복수의 영역으로 분할할 수 있다.
이어서, 전자 장치(100)는 복수의 영역에 기초하여, 각각 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다(S240).
여기에서, 카메라 파라미터 설정 값 셋은 복수의 파라미터 값으로 구성될 수 있다. 예를 들어, 설정 값 셋은 ISO 값, shutter speed 값, aperture 값을 포함할 수 있다.
이 경우, 전자 장치(100)는 신경망 모델을 이용하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
구체적으로, 도 4를 참조하면, 전자 장치(100)는 복수의 영역을 제1 신경망 모델에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋을 획득할 수 있다(S410).
여기에서, 영역을 제1 신경망 모델에 입력한다는 것은 영역에 포함된 픽셀들의 픽셀 값들(가령, R,G,B 픽셀 값들)을 입력한다는 것을 의미할 수 있다.
제1 신경망 모델은 입력된 복수의 영역에 대해, 복수의 카메라 파라미터 설정 값 셋을 출력할 수 있다.
이 경우, 제1 신경망 모델은 입력된 복수의 영역 각각에 대응되는 카메라 파라미터 설정 값 셋을 출력할 수 있다.
여기에서, 카메라 파라미터 설정 값 셋은 ISO 값, shutter speed 값 및 aperture 값을 포함할 수 있다.
또한, 대응된다는 것은 제1 신경망 모델에서 출력되는 카메라 파라미터 설정 값 셋이, 입력된 영역에 대해 요구되는(또는, 최적의) 복수의 파라미터 값을 포함한다는 것을 의미할 수 있다. 이때, 요구된다는 것은 입력된 영역이, 제1 신경망 모델에서 출력된 카메라 파라미터 설정 값 셋을 이용하는 카메라를 통해 획득되었더라면, 해당 영역이 이미지 인덱스 측면에서 보다 향상될 수 있었을 것이라는 점을 의미할 수 있다.
이를 위해, 제1 신경망 모델은 이미지 프레임에서 획득된 영역, 이미지 프레임을 획득한 카메라의 복수의 파라미터 값 및 영역의 이미지 인덱스들에 기초하여 학습될 수 있다.
여기에서, 이미지 인덱스들은 엣지 인덱스(edge index), 콘트라스트 인덱스(contrast index) 및 백그라운드 인덱스(background index)(또는, 백그라운드 노이즈 인덱스(background noise index))를 포함할 수 있다.
이하에서, 도 5를 참조하여 제1 신경망 모델의 학습 과정을 보다 구체적으로 설명하도록 한다.
도 5를 참조하면, 이미지 프레임(510)은 복수의 영역(521, 522, 523)으로 분할될 수 있다.
예를 들어, 이미지 프레임(510)은 오브젝트 검출 모델(object detection model)을 통해 획득되는 오브젝트의 위치에 대응되는 정보를 바탕으로 복수의 영역(521, 522, 523)으로 분할될 수 있다. 여기에서, 오브젝트 검출 모델은 입력된 이미지 프레임에 포함된 오브젝트의 형상에 대응되는 오브젝트의 영역에 대한 정보를 출력할 수 있다.
이후, 복수의 영역(521, 522, 523) 각각의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스가 산출될 수 있다.
엣지 인덱스는 이미지 프레임(또는, 이미지 프레임의 영역)의 선명도(sharpness)를 나타내기 위한 인덱스이다. 엣지 인덱스 값이 클수록, 선명한 이미지 프레임에 해당한다.
콘트라스트 인덱스는 이미지 프레임(또는, 이미지 프레임의 영역)의 밝기를 나타내기 위한 인덱스이다. 콘트라스트 인덱스 값이 클수록, 밝은 이미지 프레임에 해당한다.
백그라운드 인덱스는 이미지 프레임(또는, 이미지 프레임의 영역)의 배경 영역의 노이즈의 정도를 나타내기 위한 인덱스이다. 백그라운드 인덱스 값이 클수록, 배경 영역의 노이즈가 작은 이미지 프레임에 해당한다.
이후, 복수의 영역(521, 522, 523) 각각에 대해 산출된 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스를 이용하여, 복수의 영역(521, 522, 523) 각각에 대한 enhancement ratio가 산출될 수 있다.
구체적으로, 임의의 영역에 대해 산출된 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스를 각각 Edgeindex, Contrastindex, Backgroundindex라 할 때, 해당 영역의 enhancement ratio는
Figure pat00004
와 같이 산출될 수 있다. 즉, enhancement ratio는 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스의 평균일 수 있다.
이후, 복수의 영역(521, 522, 523)을 개별적인 이미지 프레임(531, 532, 533)으로 구분할 수 있다.
여기에서, 복수의 영역(521, 522, 523)을 개별적인 이미지 프레임(531, 532, 533)으로 구분한다는 것은 각 영역(521, 522, 523)에 포함된 픽셀들의 픽셀 값들(가령, R,G,B 픽셀 값들)을 획득한다는 것을 의미할 수 있다.
이 경우, 각 이미지 프레임(531, 532, 533)은 제1 신경망 모델의 입력 데이터가 될 수 있다. 즉, 입력 데이터는 각 영역(521, 522, 523)에 포함된 픽셀들의 픽셀 값들을 포함할 수 있다.
그리고, 복수의 영역(521, 522, 523) 각각에 대해 산출된 enhancement ratio에 이미지 프레임(510)의 획득에 이용된 카메라의 복수의 파라미터 값들을 곱해, 복수의 이미지 프레임(531, 532, 533) 각각(즉, 입력 데이터)에 대응되는 제1 신경망 모델의 출력 데이터를 획득할 수 있다.
예를 들어, 도 5와 같이, 이미지 프레임(510)이 ISO 값, shutter speed 값, aperture 값이 각각 0.5, 0.3, 1인 카메라(미도시)를 통해 획득되고, 영역들(521, 522, 523)에 대해 enhancement ratio가 각각 0.53, 0.31, 0.16과 같이 산출된 경우를 가정한다.
이 경우, 이미지 프레임(531)에 대응되는 출력 데이터는 (0.265, 0.159, 0.53)(=0.53×(0.5, 0.3, 1))와 같이 획득될 수 있다. 또한, 이미지 프레임(532)에 대응되는 출력 데이터는 (0.155, 0.093, 0.31)(=0.31×(0.5, 0.3, 1))와 같이 획득되고, 이미지 프레임(533)에 대응되는 출력 데이터는 (0.08, 0.048, 0.16)(=0.16×(0.5, 0.3, 1))와 같이 획득될 수 있다.
이후, 제1 신경망 모델은 입/출력 데이터에 기초하여 학습될 수 있다. 이 경우, 제1 신경망 모델은 도 5에서 설명한 방법을 통해, 많은 수의 이미지 프레임으로부터 획득된 입/출력 데이터에 기초하여 학습될 수 있다.
구체적으로, 입력된 데이터에 대해, ISO 값, shutter speed 값 및 aperture 값을 출력하는 제1 신경망 모델을 생성할 수 있다. 여기에서, ISO 값 및 shutter speed 값은 각각 0~1 사이의 값 중 하나의 값이고, aperture 값은 1,2,3 중 하나의 값일 수 있다.
이후, 제1 신경망 모델에 입력 데이터를 입력하고, 그에 따라 제1 신경망 모델에서 출력되는 ISO 값, shutter speed 값 및 aperture 값과 출력 데이터 간의 손실(loss)(즉, 손실 함수)이 최소화되는 방향으로 제1 신경망 모델이 학습될 수 있다.
이와 같이, 본 개시에서 enhancement ratio는 영역의 품질을 나타내는 이미지 인덱스들에 기초하여 산출된다는 점에서, enhancement ratio는 영역의 획득에 이용된 카메라의 복수의 파라미터 값이 이미지 인덱스 측면에서 해당 영역에 대해 적합한 값인지를 평가할 수 있는 지표가 될 수 있다. 따라서, enhancement ratio가 영역의 획득에 이용된 복수의 파라미터 값에 대한 가중치 팩터(weightage factor)로서, 제1 신경망 모델의 학습에 사용되는 경우, 제1 신경망 모델은 입력된 영역에 대해, 해당 영역의 이미지 인덱스를 향상시킬 수 있는 복수의 파라미터 값을 출력하도록 학습될 수 있다.
이와 같이, 전자 장치(100)는 복수의 영역을 제1 신경망 모델에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋을 획득할 수 있다.
예를 들어, 도 6과 같이, 전자 장치(100)는 복수의 영역(611, 612, 613, 614) 각각을 제1 신경망 모델(121)에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋(621, 622, 623, 624) 각각을 획득할 수 있다.
여기에서, 카메라 파라미터 설정 값 셋은 (ISO 값, shutter speed 값, aperture 값)을 포함할 수 있다. 구체적으로, 영역(611)에 대응되는 카메라 파라미터 설정 값 셋은 (0.2, 0.1, 1)(621)이고, 영역(612)에 대응되는 카메라 파라미터 설정 값 셋은 (0.1, 0.3, 0.1)(622)이고, 영역(613)에 대응되는 카메라 파라미터 설정 값 셋은 (0.4, 0.6, 2)(623)이고, 영역(614)에 대응되는 카메라 파라미터 설정 값 셋은 (0.6, 0.7, 3)(625)이다.
이어서, 전자 장치(100)는 복수의 제1 카메라 파라미터 설정 값 셋, 카메라(111)를 통해 획득된 이미지 프레임 및 카메라(111)의 복수의 파라미터 값을 제2 신경망 모델에 입력하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다(S420).
여기에서, 이미지 프레임을 제2 신경망 모델에 입력한다는 것은 이미지 프레임에 포함된 픽셀들의 픽셀 값들(가령, R,G,B 픽셀 값들)을 입력한다는 것을 의미할 수 있다.
제2 신경망 모델은 카메라 파라미터 설정 값 셋, 이미지 프레임 및 이미지 프레임을 획득한 카메라의 복수의 파라미터 값이 입력되면, 입력된 카메라 파라미터 설정 값 셋에 대응되는 이미지 프레임의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 출력할 수 있다.
구체적으로, 제2 신경망 모델은 입력된 이미지 프레임 및 입력된 이미지 프레임의 획득에 이용된 복수의 파라미터 값을 바탕으로, 카메라가 입력된 카메라 파라미터 설정 값 셋을 이용하여 입력된 이미지 프레임을 획득하였을 때의 이미지 프레임의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스를 추정하고, 추정된 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 출력할 수 있다.
이 경우, 제2 신경망 모델은 예를 들어, 파라미터 추정 네트워크(parameter estimation network) 모델일 수 있다. 제2 신경망 모델은 카메라를 통해 다양한 파라미터 값들을 이용하여 피사체를 촬영하여 획득된 이미지 프레임들, 이미지 프레임들의 획득에 이용되는 파라미터 값들, 및 획득된 이미지 프레임들 중 가장 높은 엣지 인덱스를 갖는 이미지 프레임, 가장 높은 콘트라스트 인덱스를 갖는 이미지 프레임 및 가장 높은 백그라운드 인덱스를 각각 이미지 프레임에 기초하여 학습될 수 있다. 다만, 이는 일 예일 뿐이고, 제2 신경망 모델은 다양한 방식으로 학습될 수 있음은 물론이다.
이에 따라, 전자 장치(100)는 제1 신경망 모델로부터 획득한 복수의 제1 카메라 파라미터 설정 값 셋 각각을, 이미지 프레임 및 이미지 프레임의 획득에 이용된 카메라(111)의 복수의 파라미터 값과 함께 제2 신경망 모델에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋 각각에 대응되는 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 획득할 수 있다.
이어서, 전자 장치(100)는 제2 신경망 모델로부터 획득된 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보에 기초하여, 복수의 제1 카메라 파라미터 설정 값 셋 중 복수의 카메라 파라미터 설정 값 셋을 선택할 수 있다.
구체적으로, 전자 장치(100)는 제2 신경망 모델로부터 획득된 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보에 기초하여, 복수의 제1 설정 값 중 엣지 인덱스가 최대인 카메라 파라미터 설정 값 셋, 콘트라스트 인덱스가 최대인 카메라 파라미터 설정 값 셋 및 백그라운드 인덱스가 최대인 카메라 파라미터 설정 값 셋을 획득할 수 있다.
예를 들어, 도 7과 같이, 전자 장치(100)는 복수의 제1 카메라 파라미터 설정 값 셋(621, 622, 623, 624) 중 카메라 파라미터 설정 값 셋(621)을 선택하고, 카메라 파라미터 설정 값 셋에 포함된 ISO 값, shutter speed 값 및 aperture 값(즉, (ISO, shutter speed, aperture)=(0.2, 0.1, 1))(621), 이미지 프레임(310) 및 이미지 프레임(310)을 획득한 카메라(111)의 ISO 값, shutter speed 값 및 aperture 값(즉, (ISO, shutter speed, aperture)=(0.2, 0.5, 3))(710)을 제2 신경망 모델(122)에 입력하여, 카메라 파라미터 설정 값 셋(621)에 대응되는 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보(720)를 획득할 수 있다.
그리고, 전자 장치(100)는 이러한 과정을 카메라 파라미터 설정 값 셋(622, 623, 624)에 대해서도 수행하여, 각 카메라 파라미터 설정 값 셋(622, 623, 624)에 대응되는 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 획득할 수 있다.
이 경우, 만일, 획득된 엣지 인덱스들 중 카메라 파라미터 설정 값 셋(622)에 대응되는 엣지 인덱스가 가장 크고, 획득된 콘트라스트 인덱스들 중 카메라 파라미터 설정 값 셋(623)에 대응되는 콘트라스트 인덱스가 가장 크고, 획득된 백그라운드 인덱스들 중 카메라 파라미터 설정 값 셋(624)에 대응되는 백그라운드 인덱스가 가장 크다면, 전자 장치(100)는 복수의 제1 카메라 파라미터 설정 값 셋(621, 622, 623, 624) 중 복수의 카메라 파라미터 설정 값 셋(622, 623, 624)을 획득할 수 있다.
결국, 전자 장치(100)는 전술한 방법을 통해, 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
한편, 전자 장치(100)는 라이브 뷰 영상을 캡쳐하기 위한 제2 사용자 명령을 수신할 수 있다(S250).
여기에서, 라이브 뷰 영상을 캡쳐한다는 것은 이미지 프레임을 전자 장치(100)에 저장하기 위해, 캡쳐를 위한 사용자 명령이 입력된 시점에 대응되는 이미지 프레임을 획득하는 것을 의미할 수 있다.
이 경우, 저장이라는 것은 라이브 뷰 영상을 위한 이미지 프레임들이 프레임 버퍼와 같은 휘발성 메모리에 저장되는 것과 구별되며, 이미지 프레임이 전자 장치(100)의 플래시 메모리와 같은 비휘발성 메모리에 저장되는 것을 의미할 수 있다. 이와 같이 저장된 이미지 프레임은 사용자 명령에 따라 사진 어플리케이션이 구동되면, 사진 어플리케이션을 통해 전자 장치(100)의 디스플레이에 표시될 수 있다.
그리고, 제2 사용자 명령은 예를 들어, 카메라 어플리케이션을 통해 제공되는 사용자 인터페이스에 포함된 촬영 버튼을 선택하는 사용자 명령일 수 있다. 다만, 이 예에 국한되는 것은 아니고, 제2 사용자 명령은 전자 장치(100)의 디스플레이를 통해 입력되는 사용자 터치, 전자 장치(100)의 마이크를 통해 수신되는 사용자 음성 또는 전자 장치(100)에 구비된 물리 버튼의 입력, 전자 장치(100)를 제어하기 위한 원격 제어 장치에 의해 전송된 제어 신호 등을 바탕으로 수신될 수 있다.
그리고, 전자 장치(100)는 라이브 뷰 영상을 캡쳐하기 위한 제2 사용자 명령이 수신되면(S250-Y), 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 카메라를 이용하여 복수의 이미지 프레임을 획득할 수 있다(S260).
이를 위해, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋 중에서, 카메라에 대응되는 카메라 파라미터 설정 값 셋을 식별할 수 있다.
구체적으로, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋에 포함된 aperture 값들 및 복수의 카메라(111, 112, 113)의 aperture 값들에 기초하여, 카메라의 aperture 값과 동일한 aperture 값을 포함하는 카메라 파라미터 설정 값 셋을 카메라에 대응되는 카메라 파라미터 설정 값 셋으로 식별할 수 있다.
예를 들어, 복수의 카메라 파라미터 설정 값 셋이 (ISO, shutter speed, aperture)=(0.1, 0.3, 1), (0.4, 0.6, 2), (0.6, 0.7, 3)와 같고, 카메라(111)의 aperture 값이 1, 카메라(112)의 aperture 값이 2, 카메라(113)의 aperture 값이 3인 경우를 가정한다.
이 경우, 전자 장치(100)는 (0.1, 0.3, 1)가 카메라(111)에 대응되는 카메라 파라미터 설정 값 셋인 것으로 식별하고, (0.4, 0.6, 2)가 카메라(112)에 대응되는 카메라 파라미터 설정 값인 것으로 식별하고, (0.6, 0.7, 3)가 카메라(113)에 대응되는 카메라 파라미터 설정 값인 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 카메라(111, 112, 113)에 대응되는 (0.1, 0.3)을 이용하여 카메라(111)의 ISO 및 shutter speed를 설정하고, 설정된 ISO 값 및 shutter speed 값에 기초하여 카메라(111)를 통해 이미지 프레임을 획득할 수 있다. 또한, 전자 장치(100)는 카메라(112)에 대응되는 (0.4, 0.6)을 이용하여 카메라(112)의 ISO 및 shutter speed를 설정하고, 설정된 ISO 값 및 shutter speed 값에 기초하여 카메라(112)를 통해 이미지 프레임을 획득할 수 있다. 또한, 전자 장치(100)는 카메라(113)에 대응되는 (0.6, 0.7)을 이용하여 카메라(113)의 ISO 및 shutter speed를 설정하고, 설정된 ISO 값 및 shutter speed 값에 기초하여 카메라(113)를 통해 이미지 프레임을 획득할 수 있다.
이 경우, 전자 장치(100)는 복수의 카메라(111, 112, 113)를 통해 동일한 시점에서 복수의 이미지 프레임을 획득할 수 있다. 여기에서, 동일한 시점이라는 것은 완전히 동일한 시점뿐만 아니라, 임계 시간 범위 내에 속하는 것을 포함할 수 있다.
이와 같이, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113)를 이용하여 복수의 이미지 프레임을 획득할 수 있다.
다른 예로, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋 중 하나의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 제1 카메라를 이용하여 이미지 프레임을 획득하고, 카메라 파라미터 복수의 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 제2 카메라를 이용하여 적어도 2 개의 이미지 프레임을 획득할 수 있다.
즉, 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋에 포함된 aperture 값들이 동일한 경우, 전자 장치(100)는 aperture 값들이 동일한 적어도 2 개의 설정 값 셋들이 하나의 카메라에 대응되는 것으로 식별하고, 적어도 2 개의 카메라 파라미터 설정 값 셋을 이용하여 하나의 카메라를 통해 적어도 2 개의 이미지 프레임을 획득할 수 있다.
예를 들어, 복수의 카메라 파라미터 설정 값 셋이 (ISO, shutter speed, aperture)=(0.1, 0.3, 1), (0.9, 0.7, 1), (0.8, 0.4, 2)와 같고, 카메라(111)의 aperture 값이 1, 카메라(112)의 aperture 값이 2, 카메라(113)의 aperture 값이 3인 경우를 가정한다.
이 경우, 전자 장치(100)는 (0.1, 0.3, 1), (0.9, 0.7, 1)이 카메라(111)에 대한 카메라 파라미터 설정 값 셋인 것으로 식별하고, (0.8, 0.4, 2)이 카메라(112)에 대한 설정 값인 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 카메라(111)에 대응되는 (0.1, 0.3)을 이용하여 카메라(111)의 ISO 및 shutter speed를 설정하고, 카메라(111)를 통해 이미지 프레임을 획득할 수 있다. 이어서, 전자 장치(100)는 카메라(111)에 대응되는 (0.9, 0.7)을 이용하여 카메라(111)의 ISO 및 shutter speed를 설정하고, 카메라(111)를 통해 이미지 프레임을 획득할 수 있다.
또한, 전자 장치(100)는 카메라(112)에 대응되는 (0.8, 0.4)을 이용하여 카메라(112)의 ISO 및 shutter speed를 설정하고, 카메라(112)를 통해 이미지 프레임을 획득할 수 있다.
이 경우, 카메라(111)를 통해 획득되는 적어도 2 개의 이미지 프레임 중 하나와 카메라(112)를 통해 획득되는 이미지 프레임은 동일한 시점에 획득될 수 있다. 여기에서, 동일한 시점이라는 것은 완전히 동일한 시점뿐만 아니라, 임계 시간 범위 내에 속하는 것을 포함할 수 있다.
이와 같이, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 2 개의 카메라를 이용하여, 복수의 이미지 프레임을 획득할 수 있다.
다른 예로, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋에 포함된 aperture 값들과 동일한 aperture 값을 갖는 카메라를 이용하여 복수의 이미지 프레임을 획득할 수 있다. 즉, 복수의 카메라 파라미터 설정 값 셋에 포함된 모든 aperture 값들이 동일한 경우, 전자 장치(100)는 복수의 설정 값 셋에 포함된 aperture 값들과 동일한 aperture 값을 갖는 하나의 카메라를 이용하여 복수의 이미지 프레임을 획득할 수 있다.
예를 들어, 복수의 카메라 파라미터 설정 값 셋이 (0.1, 0.3, 1), (0.9, 0.7, 1), (0.8, 0.4, 1)와 같고, 카메라(111)의 aperture 값이 1, 카메라(112)의 aperture 값이 2, 카메라(113)의 aperture 값이 3인 경우를 가정한다.
이 경우, 전자 장치(100)는 (0.1, 0.3, 1), (0.9, 0.7, 1), (0.8, 0.4, 1)이 모두 카메라(111)에 대한 카메라 파라미터 설정 값 셋인 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 (0.1, 0.3)을 이용하여 카메라(111)의 ISO 및 shutter speed를 설정하고, 카메라(111)를 통해 이미지 프레임을 획득할 수 있다. 이어서, 전자 장치(100)는 (0.9, 0.7)을 이용하여 카메라(111)의 ISO 및 shutter speed를 설정하고, 카메라(111)를 통해 이미지 프레임을 획득할 수 있다. 이어서, 전자 장치(100)는 (0.8, 0.4)을 이용하여 카메라(111)의 ISO 및 shutter speed를 설정하고, 카메라(111)를 통해 이미지 프레임을 획득할 수 있다.
이에 따라, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 1 개의 카메라를 이용하여, 복수의 이미지 프레임을 획득할 수 있다.
한편, 전술한 실시 예들에서, 전자 장치(100)가 획득하는 복수의 이미지 프레임은 베이어 로우(bayer raw) 데이터(또는, 베이어 패턴(bayer pattern) 데이터)일 수 있다. 즉, 이미지 프레임(즉, 복수의 픽셀 각각이 R,G,B 픽셀 값을 갖는 이미지 프레임(rgb 포맷의 이미지 프레임))을 생성하기 위해, 이미지 센서에서 획득된 데이터는 보간(interpolation) 등의 처리 과정이 수행되는데, 베이어 로우 데이터는 이러한 처리 과정이 수행되지 않은 데이터를 일 수 있다.
구체적으로, 카메라에 포함된 이미지 센서의 픽셀(또는, 셀)은 모노크롬(monochrome) 픽셀이라는 점에서, 이미지 센서의 픽셀 상에는 특정한 색상만을 투과시키는 컬러 필터가 위치하게 된다. 여기에서, 컬러 필터는 R 색상만을 투과시키는 R 필터, G 색상만을 투과시키는 G 필터 또는 B 색상만을 투과시키는 B 필터일 수 있으며, 이미지 센서의 픽셀들 상에 위치한 컬러 필터들을 컬러 필터 어레이(color filter array)라 할 수 있다. 이때, 컬러 필터 어레이에는 R,G,B 필터들이 일정한 패턴을 갖도록 배치되는데, 일 예로, 베이어 필터는 G 필터가 50%, R 필터 및 B 필터가 각각 25%의 비율을 가지며, 2 개의 G 필터와 R,B 필터들이 서로 교차되는 패턴을 가질 수 있다.
이와 같이 이미지 센서의 하나의 픽셀에는 R,G,B 필터들 중 하나의 필터가 결합되고, 이에 따라, 하나의 픽셀은 R,G,B 중 한 가지 색상만을 감지할 수 있게 된다. 이 경우, 베이어 필터를 이용하여 이미지 센서의 픽셀들에 의해 생성된 데이터를 베이어 로우 데이터(이하, 베이어 로우 이미지라 한다)라 할 수 있다. 다만, 이 예에 국한되는 것은 아니며, 컬러 필터 어레이의 종류는 다양할 수 있다는 점에서, 이미지 센서의 픽셀들에 의해 생성된 데이터는 베이어 로우 데이터만으로 한정되는 것은 아니다.
예를 들어, 도 8을 참조하면, 전자 장치(100)는 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령에 기초하여, 복수의 카메라(111, 112, 113)을 이용하여 베이어 로우 이미지(821, 822, 823)를 획득할 수 있다.
결국, 전자 장치(100)는 전술한 방법을 통해, 캡쳐를 위한 제2 사용자 명령에 기초하여 복수의 이미지 프레임을 획득할 수 있다.
이어서, 전자 장치(100)는 복수의 이미지 프레임에 기초하여, 제2 사용자 명령에 대응되는 이미지 프레임을 획득할 수 있다(S270).
이 경우, 이미지 프레임은 전자 장치(100)의 플래시 메모리와 같은 비휘발성 메모리에 저장되며, 이후, 사용자 명령에 기초하여 구동된 사진 어플리케이션을 통해 전자 장치(100)의 디스플레이에 표시될 수 있다.
그리고, 복수의 이미지 프레임 각각은 전술한 바와 같이, 베이어 로우 이미지일 수 있다.
구체적으로, 도 9를 참조하면, 전자 장치(100)는 복수의 이미지 프레임 중 기준 이미지 프레임을 선택할 수 있다(S910).
구체적으로, 전자 장치(100)는 선명도에 기초하여 복수의 이미지 프레임 중 하나를 기준 이미지 프레임으로 결정할 수 있다. 일 예로, 전자 장치(100)는 엣지 인덱스가 가장 큰 이미지 프레임을 기준 이미지 프레임으로 결정할 수 있다.
이어서, 전자 장치(100)는 복수의 이미지 프레임 각각을 서로 다른 크기들로 스케일링하여, 각 이미지 프레임에 대해, 복수의 레벨에 대응되는 복수의 이미지 프레임을 생성할 수 있다(S920).
여기에서, 이미지 프레임을 서로 다른 크기들로 스케일링하여 복수의 레벨에 대응되는 이미지 프레임들을 생성한다는 것은 이미지 피라미드(image pyramid)를 생성한다는 것을 의미할 수 있다. 이미지 피라미드는 기본 이미지를 서로 다른 크기들로 스케일링한 이미지들의 집합을 의미할 수 있다.
이미지 피라미드의 일 예로, 가우시안 피라미드(Gaussian pyramid)가 있다. 가우시안 피라미드는 이미지에 대해 블러링(blurring)과 서브 샘플링(sub sampling)(또는, 다운 샘플링(down sampling))을 반복적으로 수행하여 생성된 서로 다른 크기를 갖는 이미지들의 집합을 포함할 수 있다. 이 경우, 블러링은 가우시안 필터가 이용될 수 있다. 그리고, 이미지의 짝수 열 및 짝수 행에 포함된 픽셀들을 제거하는 방식을 통해 서브 샘플링을 수행하여, 이미지의 해상도를 축소시킬 수 있다.
예를 들어, 레벨 0의 이미지(가령, 기본 이미지)에 대해 블러링 및 서브 샘플링을 수행하여, 레벨 1의 이미지를 생성할 수 있다. 이 경우, 레벨 1의 이미지는 기본 이미지의 1/2의 해상도를 가질 수 있다. 또한, 레벨 1의 이미지에 대해 블러링 및 서브 샘플링을 수행하여, 레벨 2의 이미지를 생성할 수 있다. 이 경우, 레벨 2의 이미지는 기본 이미지의 1/4의 해상도를 가질 수 있다. 이와 같은 방법을 단계적으로 수행하여, 복수의 레벨에 대응되는 이미지들을 포함하는 가우시안 피라미드가 생성될 수 있다.
즉, 전자 장치(100)는 복수의 이미지 프레임 각각을 기본 이미지로 하여, 복수의 이미지 프레임에 대한 복수의 가우시안 피라미드를 생성할 수 있다. 이 경우, 가우시안 피라미드는 복수의 레벨에 대응되는 이미지 프레임들을 포함할 수 있다.
그리고, 전자 장치(100)는 각 레벨에서 이미지 프레임들을 비교하여, 레벨 별로 하나의 이미지 프레임을 선택할 수 있다(S930).
구체적으로, 전자 장치(100)는 각 레벨에 포함된 복수의 이미지 프레임 중 이미지 프레임들 간의 픽셀 값들의 차이가 가장 작은 이미지 프레임을 선택할 수 있다. 즉, 전자 장치(100)는 이미지 프레임 별로, 이미지 프레임 및 이미지 프레임과 같은 레벨에 포함된 나머지 이미지 프레임들 간의 픽셀 값들의 차이를 산출하고, 레벨 별로, 산출된 차이가 가장 작은 이미지 프레임을 선택할 수 있다.
예를 들어, 도 10과 같이, 복수의 이미지 프레임(1011, 1021, 1031)에 대한 복수의 가우시안 피라미드(1010, 1020, 1030)가 생성될 수 있다. 한편, 도 10에서 4 개의 레벨을 갖는 가우시안 피라미드가 생성되는 것으로 도시하였으나, 이 예에 국한되는 것은 아니고, 가우시안 피라미드는 다양한 레벨의 이미지들을 포함할 수 있다.
이 경우, 전자 장치(100)는 레벨 0에서, 복수의 이미지 프레임들(1011, 1021, 1031) 중 픽셀 값들의 차이가 가장 작은 이미지 프레임(1011)을 식별할 수 있다. 또한, 전자 장치(100)는 레벨 1에서, 복수의 이미지 프레임들(1012, 1022, 1032) 중 픽셀 값들의 차이가 가장 작은 이미지 프레임(1022)을 식별할 수 있다. 전자 장치(100)는 이러한 과정을 레벨 2, 레벨 3에 대해서도 수행하여, 레벨 2에서 픽셀 값들의 차이가 가장 작은 이미지 프레임(1033)을 식별하고, 레벨 3에서 픽셀 값들의 차이가 가장 작은 이미지 프레임(1014)을 식별할 수 있다.
이와 같이, 전자 장치(100)는 복수의 레벨에서 복수의 이미지 프레임(1011, 1022, 1033, 1014)을 선택할 수 있다.
이어서, 전자 장치(100)는 선택된 복수의 이미지 프레임이 동일한 사이즈를 갖도록, 선택된 복수의 이미지 프레임 중 적어도 하나의 이미지 프레임을 스케일링할 수 있다(S940).
이 경우, 전자 장치(100)는 가우시안 피라미드 생성 시 기본 이미지로 이용된 이미지 프레임과 동일한 사이즈를 갖도록, 기본 이미지로 이용된 이미지 프레임을 제외한 나머지 이미지 프레임들을 업 샘플링할 수 있다.
이후, 전자 장치(100)는 동일한 사이즈를 갖는 복수의 이미지 프레임 각각에서, 기준 이미지 프레임과 병합될 적어도 하나의 타일(tile)을 식별할 수 있다(S950).
이를 위해, 전자 장치(100)는 기준 이미지 프레임 및 동일한 사이즈를 갖는 복수의 이미지 프레임 각각을 타일링(tiling)할 수 있다. 여기에서, 타일링은 이미지 프레임을 복수의 영역으로 구분하는 것을 의미할 수 있다. 이 경우, 각 영역을 타일이라 할 수 있으며, 타일의 사이즈는 이미지 프레임의 사이즈보다 작을 수 있다.
그리고, 전자 장치(100)는 복수의 이미지 프레임 각각의 타일들 중에서 기준 이미지 프레임의 타일들과 병합될 적어도 하나의 타일을 식별할 수 있다.
구체적으로, 전자 장치(100)는 임의의 이미지 프레임의 타일들 중 기준 이미지 프레임의 타일들과 차이가 기설정된 임계 값 보다 작은 적어도 하나의 타일을 식별할 수 있다. 이 경우, 전자 장치(100)는 기준 이미지 프레임 및 이미지 프레임에 대해 라플라시안 필터(Laplacian filter)를 적용하고, 라플라시안 필터가 적용된 기준 이미지 프레임의 타일들 및 라플라시안 필터가 적용된 이미지 프레임의 타일들 간의 차이를 식별하고, 이미지 프레임의 타일들 중 차이가 기설정된 임계 값 보다 작은 적어도 하나의 타일을 식별할 수 있다. 여기에서, 기설정된 임계 값은 일 예로, 5%일 수 있다.
예를 들어, 도 11을 참조하면, 복수의 레벨에서 선택된 복수의 이미지 프레임들(1011, 1022, 1033, 1014) 중 이미지 프레임들(1022, 1033, 1014)을 스케일링하여, 이미지 프레임(1011)과 같은 사이즈를 갖는 이미지 프레임들(1022-1, 1033-1, 1014-1)을 생성할 수 있다.
그리고, 전자 장치(100)는 라플라시안 필터가 적용된 이미지 프레임(1014-1)의 타일 1과 라플라시안 필터가 적용된 기준 이미지 프레임의 타일 1 간의 차이를 산출하고, 산출된 차이가 기설정된 임계 값 보다 작은 경우, 이미지 프레임(1014-1)의 타일 1을 기준 이미지 프레임의 타일 1과 병합될 이미지 프레임으로 식별할 수 있다. 또한, 전자 장치(100)는 라플라시안 필터가 적용된 이미지 프레임(1014-1)의 타일 2와 라플라시안 필터가 적용된 기준 이미지 프레임의 타일 2 간의 차이를 산출하고, 산출된 차이가 기설정된 임계 값 보다 작은 경우, 이미지 프레임(1014-1)의 타일 2를 기준 이미지 프레임의 타일 2과 병합될 이미지 프레임으로 식별할 수 있다. 전자 장치(100)는 이러한 과정을 이미지 프레임들(1011, 1022-1, 1033-1)에 대해서도 수행하여, 기준 이미지 프레임의 타일 1 및 2와 병합될 이미지 프레임을 식별할 수 있다. 한편, 도 11에서는 이미지 프레임이 2 개의 타일로 구분되는 것으로 도시하였다. 다만, 이 예 국한되는 것은 아니고, 이미지 프레임은 2 개 이상의 타일로 구분될 수 있음은 물론이다.
이어서, 전자 장치(100)는 기준 이미지 프레임을, 기준 이미지 프레임과 병합될 것으로 식별된 이미지 프레임과 병합하여, 병합된(merged) 이미지 프레임을 생성할 수 있다.
구체적으로, 전자 장치(100)는 이산 푸리에 변환(discrete Fourier transform, DFT)을 이용하여, 기준 이미지 프레임(또는, 기준 이미지 프레임의 타일) 및 병합될 이미지 프레임(또는, 병합될 이미지 프레임의 타일)을 주파수 도메인으로 변환하고, 주파수 도메인 상에서 이미지 프레임들(또는, 이미지 프레임의 타일들)을 병합할 수 있다.
이 경우, 이미지 프레임 I(x,y)(여기에서, x,y는 픽셀의 좌표 값이다)이 주파수 도메인 상에서 T(wx,wy)와 같이 나타내어질 때, 전자 장치(100)는 하기의 수학식 2를 이용하여, 주파수 도메인 상에서 이미지 프레임들을 병합할 수 있다.
Figure pat00005
여기에서, To(wx,wy)는 이산 푸리에 변환이 적용된, 병합된 이미지 프레임이고, Tr(wx,wy)는 이산 푸리에 변환이 적용된 기준 이미지 프레임이고, Tz(wx,wy)는 이산 푸리에 변환이 적용된, 병합될 이미지 프레임이고, Kz는 기준 이미지 프레임과 기준 이미지 프레임에 병합될 이미지 프레임 간의 평균 픽셀 값 차이에 기초하여 결정되는 비례 상수(proportional factor)에 해당한다.
그리고, 전자 장치(100)는 역푸리에 변환을 이용하여 병합된 프레임 이미지를 이미지 도메인으로 변환할 수 있다. 즉, 전자 장치(100)는 역푸리에 변환을 이용하여 To(wx,wy)를 이미지 도메인으로 변환하여, 병합된 이미지 프레임 Io(x,y)을 생성할 수 있다.
한편, 실시 예에 따라, 복수의 카메라 중 적어도 2 개의 해상도는 서로 다를 수 있다. 이에 따라, 라이브 영상을 캡쳐하기 위한 제2 사용자 명령에 따라 전자 장치(100)가 획득하는 복수의 이미지 프레임 중 적어도 2 개의 이미지 프레임의 사이즈는 서로 다를 수도 있다.
이 경우, 전자 장치(100)는 복수의 가우시안 피라미드를 생성하기 전에, 복수의 이미지 프레임이 동일한 사이즈를 갖도록, 복수의 이미지 프레임 중 적어도 하나의 이미지 프레임에 대해 크롭핑(cropping)을 수행할 수 있다. 이에 따라, 복수의 가우시안 피라미드 생성을 위해 기준 이미지로 이용되는 복수의 이미지 프레임들은 동일한 사이즈를 가질 수 있다.
한편, 전술한 병합 과정은 베이어 로우 이미지에 대해 수행되었다는 점에서, 이미지 도메인 상에서 병합된 이미지 프레임 역시 베이어 로우 이미지일 수 있다.
이 경우, 전자 장치(100)는 병합된 이미지 프레임에 기초하여 이미지 프레임(즉, 복수의 픽셀 각각이 R,G,B 픽셀 값을 갖는 이미지 프레임(rgb 포맷의 이미지 프레임))을 생성할 수 있다.
여기에서, 전자 장치(100)는 신경망 모델을 이용하여, 이미지 프레임을 획득할 수 있다. 제3 신경망 모델은 conditional GAN(cGAN)일 수 있다. conditional GAN(cGAN)은 generator 및 discriminator를 포함할 수 있다. 이 경우, generator와 discriminator는 적대적(adversarial)으로 학습될 수 있다.
generator는 입력된 베이어 로우 이미지에 대해, 복수의 픽셀 각각이 R,G,B 픽셀 값을 갖는 이미지 프레임을 생성하여 출력할 수 있다.
한편, cGAN의 학습을 위한, generator의 입력 데이터 x는 사용자가 다양한 파라미터 값들을 이용하여 카메라를 통해 촬영을 수행하였을 때, 카메라의 이미지 센서가 획득한 베이어 로우 이미지이고, generator의 출력 데이터 y는 베이어 로우 이미지에 보간 등의 처리 과정을 수행하여 획득된 이미지 프레임(가령, jpeg의 이미지 프레임)일 수 있다.
이 경우, 입력 데이터 x 및 노이즈 데이터를 generator에 입력하여, generator의 출력 G(x)가 획득될 수 있다.
이어서, (입력 데이터 x, 출력 데이터 y)의 쌍(이하, 리얼 페어 데이터라 한다)과 (입력 데이터 x, G(x))의 쌍(이하, 페이크 페어 데이터라 한다)을 discriminator에 입력할 수 있다. discriminator는 리얼 페어 데이터와 페이크 페어 데이터가 각각 리얼 또는 페이크인지에 대한 확률 값을 출력할 수 있다.
이때, 입력된 리얼 페어 데이터에 대한 discriminator의 출력을 D(x,y)라 하고, 입력된 페이크 페어 데이터에 대한 discriminator의 출력을 D(x,G(x))라 할 때, generator의 손실
Figure pat00006
은 하기의 수학식 3과 같이 나타낼 수 있고, discriminator의 손실
Figure pat00007
은 하기의 수학식 4와 같이 나타낼 수 있다.
Figure pat00008
Figure pat00009
여기에서, λ1, λ2, λ3는 하이퍼 파라미터(hyper parameter)이다.
그리고, L1[G(x),y]는 generator의 출력 G(x)와 출력 데이터 y 간의 선명도에 대한 손실로,
Figure pat00010
와 같이 픽셀 값의 차이를 나타낼 수 있다. 또한, L2[G(x),y]는 generator의 출력 G(x)와 출력 데이터 y 간의 픽셀 값들에 대한 손실로,
Figure pat00011
(여기에서, i=1,2,3,...,n(n은 전체 픽셀 수))와 같이 나타낼 수 있다.
그리고, α는 generator의 다운샘플링 레이어의 수이고, Tbatch는 배치(batch) 별 평균 처리 시간에 해당한다. 이와 같이, α를 기반으로 손실을 산출하는 것은 모델이 이용되는 전자 장치의 프로세싱 능력에 따라, 모델의 적절한 레이어의 수를 판단하는데 도움이 되기 때문이다. 이 경우, 전자 장치의 프로세싱 능력이 좋을수록(가령, high end 전자 장치), 계산 속도가 빠르다는 점에서, 많은 수의 레이어가 이용될 수 있고, 전자 장치의 프로세싱 능력이 좋지 않을수록(가령, low end 전자 장치), 적은 수의 레이어가 이용될 수 있다.
이 경우, discriminator는 discriminator의 손실
Figure pat00012
이 최대화되는 방향으로 학습되고, generator는 generator의 손실
Figure pat00013
을 최소화되는 방향으로 학습될 수 있다.
이에 따라, 전자 장치(100)는 병합된 이미지 프레임을 제3 신경망 모델에 입력하여, 이미지 프레임을 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 이미지 프레임을 전자 장치(100)의 플래시 메모리와 같은 비휘발성 메모리에 저장할 수 있다.
여기에서, 이미지 프레임은 복수의 픽셀 각각이 R,G,B 픽셀 값을 갖는 이미지 프레임일 수 있다. 이 경우, 이미지 프레임은 병합된 이미지 프레임과 같은 사이즈를 가질 수 있다.
예를 들어, 도 12를 참조하면, 전자 장치(100)는 병합된 이미지 프레임(1210)을 제3 신경망 모델(123)에 입력하여, 이미지 프레임(122)을 획득할 수 있다. 이 경우, 전자 장치(100)는 별도의 노이즈 데이터를 제3 신경망 모델(123)에 입력하지 않고, 병합된 이미지 프레임(1210)만을 제3 신경망 모델(123)에 입력하여, 이미지 프레임(122)을 획득할 수도 있다. 이는, 본 개시에서는, 속성이 다른 복수의 이미지 프레임을 병합하여 병합된 이미지 프레임을 생성하는데, 이 과정에서, 병합된 이미지 프레임이 랜덤성을 어느 정도 확보하였다고 볼 수 있기 때문이다. 다만, 이는 일 예이고, 전자 장치(100)는 노이즈 데이터 및 병합된 이미지 프레임(1210)을 제3 신경망 모델(123)에 입력할 수도 있다.
한편, 본 개시에서, 제3 신경망 모델(123)로부터 획득된 이미지 프레임은 블랙 레벨 조정(black level adjustment), 컬러 보정(color correction), 감마 보정(gamma correction), 엣지 강화(edge enhancement) 중 적어도 하나가 수행된 이미지 프레임일 수 있다.
여기에서, 블랙 레벨 조정은 베이어 로우 이미지에 포함된 픽셀의 블랙 레벨을 조정하기 위한 이미지 프로세싱을 의미한다. 그리고, 컬러 보정는 베이어 로우 이미지에 대해 보간을 수행하여 이미지 프레임을 생성하는 경우, 컬러를 표현하는데 있어 왜곡이 발생될 수 있는데, 이러한 왜곡을 보정하기 위한 이미지 프로세싱을 의미한다. 그리고, 감마 보정은 이미지에 비선형 전달 함수(nonlinear transfer function)를 사용하여, 빛의 강도 신호를 비선형적으로 변형하기 위한 이미지 프로세싱을 의미한다. 그리고, 엣지 강화는 이미지에서 엣지를 강조하기 위한 이미지 프로세싱을 의미한다.
이를 위해, generator는 U-net(U-shaped network) 구조를 가질 수 있다. 여기에서, U-net은 저차원과 고차원 정보를 모두 사용하여 엣지 등과 같은 이미지 프레임의 특징을 추출할 수 있는 신경망을 의미할 수 있다. 본 개시에서 generator는 discriminator의 출력에 기초하여 generator에 의해 생성된 이미지 프레임이 리얼 이미지 프레임인 것으로 식별되면, U-net의 각 레이어를 통해 필터링 동작을 수행하여, 이미지 프레임에 대한 블랙 레벨 조정, 컬러 보정, 감마 보정 및 엣지 강화 중 적어도 하나를 수행할 수 있다.
이와 같이, 본 개시의 일 실시 예에 따르면, 전자 장치(100)는 라이뷰 뷰 영상을 캡쳐하기 위한 제2 사용자 명령에 기초하여 이미지 프레임을 획득할 수 있게 된다.
이상과 같은 본 개시에 따르면, 이미지 프레임에서 획득한 복수의 영역에 대응되는 복수의 카메라 파라미터 설정 값 셋을 획득하고, 이미지 인덱스들에 기초하여 복수의 카메라 파라미터 설정 값 셋 중에서 선택된 카메라 파라미터 설정 값 셋들을 이용하여 복수의 이미지 프레임을 획득하고, 획득된 이미지 프레임들을 병합하여 캡쳐를 위한 사용자 명령에 대응되는 이미지 프레임을 획득한다. 이에 따라, 고품질의 이미지 프레임을 생성할 수 있으며, 이미지 프레임 내에서 서로 다른 밝기의 영역들에 대해 엣지가 비교적 선명한 이미지 프레임이 획득될 수 있으며, 패치 현상이 잘 보이지 않으며, 또한, 고스팅 현상도 줄어드는 효과가 있다.
한편, 전술한 실시 예들에서 신경망 모델은 인공 신경망(neural network)을 포함하는 인공 지능 모델(artificial intelligence model)을 말하며, 딥러닝(deep learning)에 의해 학습될 수 있다. 예를 들어, 신경망 모델은 심층 신경망(Deep Neural Network, DNN), 합성곱 신경망(Convolution Neural Network, CNN), 순환 신경망(Recurrent Neural Network, RNN) 및 생성적 적대 신경망(Generative Adversarial Networks, GAN) 중 적어도 하나의 인공 신경망을 포함할 수 있다. 다만, 본 개시에 따른 신경망 모델이 상술한 예에 국한되는 것은 아니다.
또한, 본 개시의 일 실시 예에 따르면, 전자 장치(100)가 전술한 방법을 통한 이미지 프레임을 획득하는 것은 저조도 모드(low light mode)(즉, low light photography)에서 수행될 수 있다.
구체적으로, 전자 장치(100)는 빛의 세기(intensity)가 기설정된 임계 값 보다 작으면, 저조도 모드를 활성화하고, 저조도 모드에서 전술한 방법을 통해 이미지 프레임을 획득할 수 있다. 여기에서, 빛의 세기는 라이브 뷰 영상을 위해 카메라를 통해 획득된 이미지 프레임에 포함된 픽셀들의 밝기에 기초하여 산출될 수 있다. 다만, 이 예에 국한되는 것은 아니고, 전자 장치(100)는 전자 장치(100)의 조도 센서를 이용하여 주변 밝기를 측정하고, 측정된 주변 밝기가 기설정된 임계 값 보다 작으면, 저조도 모드를 활성화할 수도 있다. 한편, 저조도 모드에서 획득되는 이미지 프레임은 블러하고, 노이즈 및 고르지 못한 콘트라스트로 인해 품질이 좋지 못하다. 이에 따라, 본 개시에서는 저조도 모드에서 전술한 방법을 통해 향상된 이미지 프레임을 획득할 수 있도록 한다. 다만, 이 예에 국한되는 것은 아니며, 저조도 모드가 아닌 경우에도, 전자 장치(100)는 전술한 방법을 통해 이미지 프레임을 획득할 수도 있다.
또한, 전술한 실시 예들에서, 제1 신경망 모델(121)이 복수의 영역 각각에 대응되는 카메라 파라미터 설정 값 셋을 출력하는 것으로 설명하였는데, 이 예에 국한되는 것은 아니다. 즉, 제1 신경망 모델(121)은 적어도 2 개의 영역에 대응되는 카메라 파라미터 설정 값 셋들을 조합하여 복수의 설정 값 셋을 추가로 생성하고, 복수의 영역 각각에 대응되는 카메라 파라미터 설정 값 셋 및 조합에 의해 생성된 복수의 카메라 파라미터 설정 값 셋을 출력할 수 있다.
여기에서, 카메라 파라미터 설정 값 셋들을 조합한다는 것은, 카메라 파라미터 설정 값 셋들에 포함된 같은 파라미터의 파라미터 값들을 서로 교체하는 것을 의미할 수 있다.
구체적으로, 제1 신경망 모델(121)은 복수의 영역에 대응되는 복수의 카메라 파라미터 설정 값 셋 중 aperture 값이 동일한 카메라 파라미터 설정 값 셋들을 식별하고, 식별된 카메라 파라미터 설정 값 셋에 포함된 ISO 값을 식별된 다른 카메라 파라미터 설정 값 셋에 포함된 ISO 값와 교체하거나, 또는 식별된 카메라 파라미터 설정 값 셋에 포함된 shutter speed 값을 식별된 다른 카메라 파라미터 설정 값 셋에 포함된 shutter speed 값과 교체하여, 복수의 카메라 파라미터 설정 값 셋들을 생성할 수 있다.
예를 들어, 도 13을 참조하면, 도 6에서 일 예로 설명한 바 같이, 제1 신경망 모델(121)은 복수의 영역(611, 612, 613, 614) 각각에 기초하여, 카메라 파라미터 설정 값 셋(621, 622, 623, 624)을 생성할 수 있다.
여기에서, 영역(611)에 대응되는 카메라 파라미터 설정 값 셋(621)과 영역(612)에 대응되는 카메라 파라미터 설정 값 셋(622)은 서로 동일한 aperture 값(= 1)을 갖는다.
이 경우, 제1 신경망 모델(121)은 카메라 파라미터 설정 값 셋(621)과 카메라 파라미터 설정 값 셋(622)의 shutter speed 값을 서로 교체하여, 카메라 파라미터 설정 값들(625, 626)을 생성할 수 있다.
이에 따라, 제1 신경망 모델(121)은 복수의 카메라 파라미터 설정 값 셋(621, 622, 623, 624, 625, 626)을 출력할 수 있다. 이 경우, 전자 장치(100)는 제1 신경망 모델(121)으로부터 획득된 복수의 카메라 파라미터 설정 값 셋을 제2 신경망 모델(122)에 입력하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다. 이후의 동작은 전술한 실시 예와 동일하다는 점에서, 구체적인 중복 설명은 생략하도록 한다.
또한, 전술한 실시 예들에서, 전자 장치(100)가 제2 신경망 모델(122)을 이용하여, 라이브 뷰 영상의 캡쳐를 위해 이용되는 복수의 카메라 파라미터 설정 값 셋을 획득하였다. 다만, 이 예에 국한되는 것은 아니고, 전자 장치(100)는 제1 신경망 모델(121)로부터 획득되는 복수의 카메라 파라미터 설정 값 셋을 이용하여, 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령에 대응되는 이미지 프레임을 생성할 수도 있다. 구체적으로, 전자 장치(100)는 신경망 모델(121)로부터 획득되는 복수의 카메라 파라미터 설정 값 셋 각각에 포함된 aperture 값과 복수의 카메라(111, 112, 113)의 aperture 값에 기초하여 카메라에 대응되는 카메라 파라미터 설정 값 셋을 식별하고, 복수의 카메라 파라미터 설정 값 셋 및 적어도 하나의 카메라를 이용하여 복수의 이미지 프레임을 획득할 수도 있다.
또한, 전술한 실시 예들에서, 전자 장치(100)가 신경망 모델(즉, 전술한 제1 및 제2 신경망 모델(121, 122))을 이용하여 복수의 카메라 파라미터 설정 값 셋을 획득하는 것으로 설명하였다. 다만, 이에 한정되는 것은 아니고, 전자 장치(100)는 룰(rule)에 기반하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수도 있다.
구체적으로, 전자 장치(100)는 복수의 영역 각각에 포함된 픽셀들의 픽셀 값을 식별하고, 식별된 픽셀 값들 및 기정의된 룰에 기초하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
이 경우, 전자 장치(100)는 룰 기반 엔진(rule-based engine)을 이용할 수 있다. 여기에서, 룰 기반 엔진은 미리 정의된 룰들을 기반으로, 입력된 데이터를 분석하고, 그에 대한 결과를 출력할 수 있다.
한편, 본 개시에서 룰에 기반하여 복수의 카메라 파라미터 설정 값 셋을 획득한다는 것은, 룰에 기반하여 이미지 프레임의 캡쳐에 이용되는 복수의 카메라 파라미터 설정 값 셋을 획득하는 것을 포함할 수 있다.
먼저, 도 14와 같이, 전자 장치(100)는 복수의 영역 각각에 포함된 픽셀들의 픽셀 값들을 식별하고(S1410), 식별된 픽셀 값들에 기초하여 룰 기반 엔진을 위한 입력 데이터를 생성할 수 있다(S1420).
여기에서, 입력 데이터는 각 영역에 포함된 픽셀들의 픽셀 값들, 픽셀 값들의 평균, 분산 및 편차 중 적어도 하나를 포함할 수 있다.
그리고, 전자 장치(100)는 생성된 입력 데이터를 룰 기반 엔진에 입력하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다(S1430).
구체적으로, 전자 장치(100)는 각 영역에 대해 생성된 입력 데이터를 룰 기반 엔진에 입력할 수 있다. 본 개시에서 룰 기반 엔진은 영역에 대해 생성된 입력 데이터가 미리 정의된 제1 룰을 만족하는 경우, 제1 룰에 따라 영역에 대응되는 카메라 파라미터 설정 값 셋을 결정하고, 복수의 영역에 대해 결정된 복수의 카메라 파라미터 설정 값 셋이 미리 정의된 제2 룰을 만족하는 경우, 제2 룰에 따라 복수의 설정 값 셋 중에서 이미지 프레임의 캡쳐를 위한 복수의 카메라 파라미터 설정 값 셋을 결정하여 출력할 수 있다.
또한, 본 개시에서 룰에 기반하여 복수의 카메라 파라미터 설정 값 셋을 획득한다는 것은, 룰에 기반하여 각 영역에 대응되는 카메라 파라미터 설정 값 셋을 획득하는 것을 포함할 수도 있다.
먼저, 도 15와 같이, 전자 장치(100)는 복수의 영역 각각에 포함된 픽셀들의 픽셀 값들을 식별하고(S1510), 식별된 픽셀 값들에 기초하여 룰 기반 엔진을 위한 입력 데이터를 생성할 수 있다(S1520).
여기에서, 입력 데이터는 각 영역에 포함된 픽셀들의 픽셀 값들, 픽셀 값들의 평균, 분산 및 편차 중 적어도 하나를 포함할 수 있다.
그리고, 전자 장치(100)는 생성된 입력 데이터를 룰 기반 엔진에 입력하여, 복수의 제2 카메라 파라미터 설정 값 셋을 획득할 수 있다(S1530).
구체적으로, 전자 장치(100)는 각 영역에 대해 생성된 입력 데이터를 룰 기반 엔진에 입력할 수 있다. 본 개시에서 룰 기반 엔진은 영역에 대해 생성된 입력 데이터가 미리 정의된 룰을 만족하는 경우, 룰에 따라 영역에 대응되는 카메라 파라미터 설정 값 셋을 결정하고, 복수의 영역에 대해 결정된 복수의 제2 카메라 파라미터 설정 값 셋을 결정하여 출력할 수 있다.
이 경우, 전자 장치(100)는 복수의 제2 카메라 파라미터 설정 값 셋을 제2 신경망 모델(122)에 입력하여, 이미지 프레임의 캡쳐에 이용되는 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다. 구체적으로, 전자 장치(100)는 복수의 제2 카메라 파라미터 설정 값 셋, 카메라(111)를 통해 획득된 이미지 프레임 및 카메라(111)에 대해 설정된 복수의 파라미터 값을 제2 신경망 모델(122)에 입력하여, 이미지 프레임의 캡쳐를 위한 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다(S1540).
또한, 전술한 실시 예들에서, 이미지 인덱스들은 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스를 포함하는 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니며, 이미지 인덱스들은 이미지 프레임의 품질과 관련된 다양한 인덱스를 포함할 수도 있다.
또한, 이미지 인덱스들은 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스 중 적어도 하나를 포함할 수도 있다. 이 경우, 제1 신경망 모델(121)의 학습 과정에서도, 영역에 대한 적어도 하나의 인덱스에 기초하여 enhancement ratio가 산출되고, 이를 통해 제1 신경망 모델(121)이 학습될 수 있다. 또한, 제2 신경망 모델(122)은 입력된 카메라 파라미터 설정 값 셋에 대해, 입력된 카메라 파라미터 설정 값 셋에 대응되는 이미지 프레임의 적어도 하나의 인덱스에 대한 정보를 출력할 수 있다.
이 경우, 전자 장치(100)는 제2 신경망 모델(122)로부터 획득된 정보에 기초하여, 복수의 제1 카메라 파라미터 설정 값 셋 중 적어도 하나의 카메라 파라미터 설정 값 셋을 선택할 수 있다. 이때, 전자 장치(100)는 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 적어도 하나의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 적어도 하나의 카메라를 이용하여, 이미지 프레임을 획득할 수 있다.
또한, 전술한 실시 예들에서, 전자 장치(100)는 3 개의 카메라(111, 112, 113)를 포함하는 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니며, 전자 장치(100)는 적어도 하나의 카메라를 포함할 수 있다.
또한, 전술한 실시 예들에서, 전자 장치(100)의 복수의 카메라(111, 112, 113)의 개수가 라이브 뷰 영상의 캡쳐를 위해 이용되는 복수의 카메라 파라미터 설정 값 셋의 개수와 동일한 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니다.
일 실시 예에 따라, 전자 장치(100)의 카메라의 개수가 복수의 카메라 파라미터 설정 값 셋의 개수보다 작을 수 있다.
이 경우, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋을 하나의 카메라에 대해 복수 회 이용하여, 복수의 이미지 프레임을 획득할 수 있다. 예를 들어, 전자 장치(100)는 라이브 뷰 영상의 캡쳐를 위해 1 개의 카메라를 이용하는 경우, 복수의 카메라 파라미터 설정 값 셋을 1 개의 카메라에 이용하여, 복수의 이미지 프레임을 획득할 수 있다. 다른 예로, 전자 장치(100)는 라이브 뷰 영상의 캡쳐를 위해 2 개의 카메라를 이용하는 경우, 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋을 1 개의 카메라에 이용하여 복수의 이미지 프레임을 획득하고, 나머지 1 개의 카메라 파라미터 설정 값 셋을 1 개의 카메라에 이용하여 하나의 이미지 프레임을 획득할 수 있다.
이들 경우에서, 복수의 이미지 프레임을 획득하는 카메라는 하나의 카메라 파라미터 설정 값에 포함된 복수의 파라미터 값을 이용하여 이미지 프레임을 획득하고, 이어서, 다른 카메라 파라미터 설정 값에 포함된 복수의 파라미터 값을 이용하여 이미지 프레임을 획득할 수 있다.
일 실시 예에 따라, 전자 장치(100)의 카메라의 개수가 복수의 카메라 파라미터 설정 값 셋의 개수보다 많을 수 있다. 이 경우, 전자 장치(100)는 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라 중 적어도 하나의 카메라를 이용하여 복수의 이미지 프레임을 획득할 수 있다.
또한, 전술한 실시 예들에서, 전자 장치(100)는 병합된 이미지 프레임을 제3 신경망 모델(123)에 입력하여, 이미지 프레임을 획득하였다. 다만, 이 예에 국한되는 것은 아니고, 전자 장치(100)는 제3 신경망 모델(123)을 이용하지 않고, 병합된 이미지 프레임에 대한 보간, 블랙 레벨 조정, 컬러 보정, 감마 보정, 엣지 강화 등을 수행하여, 이미지 프레임(즉, 복수의 픽셀 각각이 R,G,B 픽셀 값들을 포함하는 이미지 프레임(rgb 포맷의 이미지 프레임))을 획득할 수도 있다.
또한, 전술한 실시 예들에서, 전자 장치(100)는 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령에 기초하여, 복수의 베이어 로우 이미지를 획득하고, 복수의 베이어 로우 이미지를 병합하였다. 다만, 이 예에 국한되는 것은 아니고, 전자 장치(100)는 복수의 이미지 프레임(즉, 복수의 픽셀 각각이 R,G,B 픽셀 값들을 포함하는 이미지 프레임들(rgb 포맷의 이미지 프레임들))을 획득하고, 획득된 이미지 프레임들 병합하여 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령에 대응되는 이미지 프레임을 획득할 수도 있다.
또한, 전술한 실시 예들에서, 전자 장치(100)는 복수의 이미지 프레임을 병합하여, 병합된 이미지 프레임을 생성하였다. 이 경우, 전자 장치(100)는 시간 필터(temporal filter)를 이용하여, 복수의 이미지 프레임에서 노이즈를 제거하고, 노이즈가 제거된 복수의 이미지 프레임을 병합할 수도 있다.
도 16은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 16을 참조하면, 전자 장치(100)는 복수의 카메라(111, 112, 113), 메모리(120) 및 프로세서(130)를 포함할 수 있다.
복수의 카메라(111, 112, 113) 각각은 적어도 하나의 이미지 프레임을 획득할 수 있다.
구체적으로, 복수의 카메라(111, 112, 113) 각각은 이미지 센서 및 렌즈를 포함할 수 있다.
이 경우, 복수의 렌즈는 화각이 서로 상이할 수 있다. 예를 들어, 복수의 렌즈는 망원 렌즈, 광각 렌즈 및 초광각 렌즈를 포함할 수 있다. 다만, 본 개시에 따른 렌즈의 개수와 그 유형에 특별한 제한이 있는 것은 아니며, 일 예로, 카메라는 표준 렌즈를 포함할 수도 있다.
여기에서, 망원 렌즈는 초망원 렌즈보다 넓은 화각을 가지며, 표준 렌즈는 망원 렌즈보다 넓은 화각을 가지고, 광각 렌즈는 표준 렌즈보다 넓은 화각을 가지며, 초광각 렌즈는 광각 렌즈보다도 넓은 화각을 가진다. 예를 들어, 초망원 렌즈는 화각이 3도 내지 6도이고, 망원 렌즈는 화각이 8도 내지 28도이며, 표준 렌즈는 화각이 47도이고, 광각 렌즈는 화각이 63도 내지 84도이며, 초광각 렌즈는 94도 내지 114도일 수 있다.
메모리(120)에는 전자 장치(100)에 관한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 그리고, 메모리(120)에는 전자 장치(100)를 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(120)에는 본 개시의 다양한 실시 예들에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 그리고, 메모리(120)는 프레임 버퍼와 같은 휘발성 메모리, 플래시 메모리 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
구체적으로, 메모리(120)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 프로세서(130)는 메모리(120)에 저장된 각종 소프트웨어 모듈을 실행하여 전자 장치(100)의 동작을 제어할 수 있다. 즉, 메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
한편, 본 개시에서 메모리(120)라는 용어는 메모리(120), 프로세서(130) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(130)는 상술한 바와 같은 복수의 카메라(111, 112, 113) 및 메모리(120)를 포함하는 전자 장치(100)의 구성과 연결되며, 상술한 바와 같은 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 전자 장치(100)의 동작을 전반적으로 제어할 수 있다.
특히, 프로세서(130)는 적어도 하나의 프로세서(130)를 포함할 수 있다. 예를 들어, 프로세서(130)는 이미지 시그널 프로세서(image signal processor), 이미지 프로세서(image processor) 및 AP(application processor)를 포함할 수 있다. 경우에 따라, 이미지 시그널 프로세서 및 이미지 프로세서 중 적어도 하나는 AP에 포함될 수 있다. 또한,
본 개시에 따른 다양한 실시 예에서, 프로세서(130)는 라이브 뷰 영상을 획득하기 위한 제1 사용자 명령이 수신되면, 복수의 카메라(111, 112, 113) 중 카메라(111)를 통해 획득된 이미지 프레임을 픽셀들의 밝기 및 이미지 프레임에 포함된 오브젝트에 기초하여 분할하여 복수의 영역을 획득하고, 분할된 복수의 영역에 대하여, 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득하고, 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 카메라를 이용하여 복수의 이미지 프레임을 획득하고, 복수의 이미지 프레임을 병합하여 제2 사용자 명령에 대응되는 이미지 프레임을 획득할 수 있다.
구체적으로, 도 16을 참조하면, 프로세서(130)는 메모리(120)에 저장된 제1 내지 제3 신경망 모델(121, 122, 123)을 로딩하여 이용할 수 있으며, 또한, 세그먼테이션(segmentation) 모듈(131), 파라미터 결정 모듈(132), 카메라 제어 모듈(133) 및 얼라이닝(aligning)/머징(merging) 모듈(134)을 포함할 수 있다.
한편, 프로세서(130)의 제어를 바탕으로 한, 본 개시의 다양한 실시 예에 대해서는 도 1 내지 도 15를 통해 구체적으로 설명한 바 있다는 점에서, 중복되는 설명은 생략하도록 한다.
세그먼테이션 모듈(131)은 복수의 카메라 중 하나의 카메라를 통해 획득된 이미지 프레임을 픽셀들의 밝기 및 이미지 프레임에 포함된 오브젝트에 기초하여 분할하여 복수의 영역을 획득할 수 있다.
파라미터 결정 모듈(132)은 복수의 영역에 기초하여, 각각 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
구체적으로, 파라미터 결정 모듈(132)은 복수의 영역을 제1 신경망 모델(121)에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋을 획득하고, 복수의 제1 카메라 파라미터 설정 값 셋, 카메라(111)를 통해 획득된 이미지 프레임 및 카메라(111)의 복수의 파라미터 값을 제2 신경망 모델(122)에 입력하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수 있다.
여기에서, 제1 신경망 모델(121)은 이미지 프레임에서 획득된 영역, 이미지 프레임을 획득한 카메라의 복수의 파라미터 값, 영역의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 기초하여 학습된 신경망 모델일 수 있다.
또한, 제2 신경망 모델(122)은 카메라 파라미터 설정 값 셋, 카메라(111)를 통해 획득된 이미지 프레임 및 카메라(111)의 복수의 파라미터 값이 입력되면, 입력된 카메라 파라미터 설정 값 셋에 대응되는 입력된 이미지 프레임의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 출력할 수 있다.
여기에서, 제1 신경망 모델(121)은 camera calibration network라 지칭할 수 있고, 제2 신경망 모델(122)은 ensemble parameter network라 지칭할 수 있다.
파라미터 결정 모듈(132)은 제2 신경망 모델(122)로부터 획득한 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보에 기초하여, 복수의 제1 카메라 파라미터 설정 값 셋 중 엣지 인덱스가 최대인 카메라 파라미터 설정 값 셋, 콘트라스트 인덱스가 최대인 카메라 파라미터 설정 값 셋 및 백그라운드 인덱스가 최대인 카메라 파라미터 설정 값 셋을 획득할 수 있다.
한편, 전술한 예에서는 신경망 모델을 이용하여 복수의 카메라 파라미터 설정 값 셋을 획득하는 것으로 설명하였으나, 이 예에 국한되는 것은 아니며, 파라미터 결정 모듈(132)은 복수의 영역 각각에 포함된 픽셀들의 픽셀 값을 식별하고, 식별된 픽셀 값들 및 기정의된 룰에 기초하여, 복수의 카메라 파라미터 설정 값 셋을 획득할 수도 있다.
카메라 제어 모듈(133)은 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 파라미터 결정 모듈(132)에 의해 획득된 복수의 카메라 파라미터 설정 값 셋(일 예로, 엣지 인덱스가 최대인 카메라 파라미터 설정 값 셋, 콘트라스트 인덱스가 최대인 카메라 파라미터 설정 값 셋 및 백그라운드 인덱스가 최대인 카메라 파라미터 설정 값 셋) 및 복수의 카메라(111, 112, 113) 중 적어도 2 개의 카메라를 이용하여 복수의 이미지 프레임을 획득할 수 있다.
일 예로, 카메라 제어 모듈(133)은 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 복수의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113)를 이용하여 복수의 이미지 프레임을 획득할 수 있다.
다른 예로, 카메라 제어 모듈(133)은 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 복수의 카메라 파라미터 설정 값 셋 중 하나의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 제1 카메라를 이용하여 이미지 프레임을 획득하고 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 제2 카메라를 이용하여 적어도 2 개의 이미지 프레임을 획득하여, 복수의 이미지 프레임을 획득할 수 있다.
다른 예로, 카메라 제어 모듈(133)은 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 복수의 카메라 파라미터 카메라 파라미터 설정 값 셋 및 복수의 카메라(111, 112, 113) 중 하나의 카메라를 이용하여 복수의 이미지 프레임들을 획득할 수 있다.
이와 같이, 카메라 제어 모듈(133)은 복수의 이미지 프레임을 획득할 수 있다. 여기에서, 복수의 이미지 프레임 각각은 베이어 로우 이미지일 수 있다.
얼라이닝/머징 모듈(134)은 획득된 복수의 이미지 프레임을 병합하고, 병합된 이미지 프레임을 제3 신경망 모델(123)에 입력하여, 제2 사용자 명령에 대응되는 이미지 프레임을 획득할 수 있다.
이 경우, 제3 신경망 모델(123)로부터 획득된 이미지 프레임은 블랙 레벨 조정, 컬러 보정, 감마 보정 및 엣지 강화 중 적어도 하나가 수행된 중 적어도 하나가 수행된 이미지 프레임일 수 있다.
이와 같이, 본 개시의 다양한 실시 예에 따르면, 프로세서(130)는 이미지 프레임을 획득할 수 있다. 이 경우, 프로세서(130)는 획득된 이미지 프레임을 메모리(120) 구체적으로는, 플래시 메모리에 저장할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 복수의 카메라 파라미터 설정 값 셋을 획득하는 파라미터 결정 모듈(132)의 동작은 이미지 프로세서에 의해 수행될 수 있고, 복수의 이미지 프레임을 이용하여 캡쳐를 위한 사용자 명령에 대응되는 이미지 프레임을 획득하는 얼라이닝/머징 모듈(134)의 동작은 이미지 시그널 프로세서에 의해 수행될 수 있다.
도 17은 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어 구성을 보다 상세하게 나타내는 블록도이다.
도 17에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 복수의 카메라(111, 112, 113), 메모리(120) 및 프로세서(130) 뿐만 아니라, 통신부(140), 입력부(150) 및 출력부(160) 등을 더 포함할 수 있다. 그러나, 이와 같은 구성은 예시적인 것으로서, 본 개시를 실시함에 있어 이와 같은 구성에 더하여 새로운 구성이 추가되거나 일부 구성이 생략될 수 있음을 물론이다.
통신부(140)는 회로를 포함하며, 외부 장치와의 통신을 수행할 수 있다. 구체적으로, 프로세서(130)는 통신부(140)를 통해 연결된 외부 장치로부터 각종 데이터 또는 정보를 수신할 수 있으며, 외부 장치로 각종 데이터 또는 정보를 전송할 수도 있다.
통신부(140)는 WiFi 모듈, Bluetooth 모듈, 무선 통신 모듈, 및 NFC 모듈 중 적어도 하나를 포함할 수 있다. 구체적으로, WiFi 모듈과 Bluetooth 모듈 각각은 WiFi 방식, Bluetooth 방식으로 통신을 수행할 수 있다. WiFi 모듈이나 Bluetooth 모듈을 이용하는 경우에는 SSID 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
또한, 무선 통신 모듈은 IEEE, Zigbee, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행할 수 있다. 그리고, NFC 모듈은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 통신을 수행할 수 있다.
특히, 본 개시의 일 실시 예에 따르면, 전자 장치(100)가 신경망 모델을 외부 장치로부터 다운로드받는 경우, 통신부(140)는 제1 내지 제3 신경망 모델(121, 122, 123)를 외부 장치로부터 수신할 수 있다.
입력부(150)는 회로를 포함하며, 프로세서(130)는 입력부(150)를 통해 전자 장치(100)의 동작을 제어하기 위한 사용자 명령을 수신할 수 있다. 구체적으로, 입력부(150)는 마이크 및 리모컨 신호 수신부(미도시) 등과 같은 구성으로 이루어 질 수 있으며, 터치 스크린으로서 디스플레이(161)에 포함된 형태로 구현될 수도 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 입력부(150)는 라이브 뷰 영상을 획득하기 위한 제1 사용자 명령 및 라이브 뷰 영상을 캡쳐하기 위한 제2 사용자 명령을 수신할 수 있다.
출력부(160)는 회로를 포함하며, 프로세서(130)는 출력부(160)를 통해 전자 장치(100)가 수행할 수 있는 다양한 기능을 출력할 수 있다. 그리고, 출력부(160)는 디스플레이(161) 및 스피커(162)를 포함할 수 있다. 특히, 디스플레이(161)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있으며, 또한 디스플레이(161)는 경우에 따라 플렉서블 디스플레이, 투명 디스플레이 등으로 구현되는 것도 가능하다. 다만, 본 개시에 따른 디스플레이(161)가 특정한 종류에 한정되는 것은 아니다. 특히, 본 개시에 따른 다양한 실시 예에 있어서, 디스플레이(161)는 라이브 뷰 영상을 디스플레이할 수 있다. 또한, 디스플레이(161)는 메모리(120)에 저장된 이미지 프레임을 사용자 명령에 따라 디스플레이할 수 있다.
스피커(162)는 오디오를 출력할 수 있다. 구체적으로, 프로세서(130)는 전자 장치(100)의 동작과 관련된 다양한 알림음 또는 음성 안내 메시지를 스피커(162)를 통해 출력할 수 있다.
도 18a 내지 도 18c는 본 개시의 일 실시 예에 따른 이미지 인덱스를 산출하는 방법의 일 예를 설명하기 위한 도면들이다.
도 18a는 엣지 인덱스를 산출하는 방법을 설명하기 위한 도면이다.
구체적으로, 이미지 프레임에 필터를 적용하고, 필터가 적용된 이후, 이미지프레임의 폭(breadth 또는 width), 높이(length) 및 이미지 프레임에 포함된 픽셀들 각각의 픽셀 값을 획득하고, 획득된 이미지의 폭, 높이 및 픽셀 값에 기초하여 엣지 인덱스를 판단할 수 있다.
예를 들어, 도 18a를 참조하면, 이미지 프레임(1811)에 마스크(1812)를 갖는 라플라시안 필터를 적용하면, 엣지가 강화된 이미지 프레임(1813)이 획득될 수 있다. 그리고, 이미지 프레임(1913)의 폭, 높이 및 픽셀 값을 하기의 수학식 5에 적용하여, 엣지 인덱스를 산출할 수 있다.
Figure pat00014
여기에서, m은 이미지 프레임의 폭(즉, 폭 방향의 픽셀들의 수), n은 이미지 프레임의 높이(즉, 높이 방향의 픽셀들의 수), F(x,y)는 이미지 프레임에서 (x,y) 좌표 값을 갖는 픽셀의 픽셀 값이다.
도 18b는 콘트라스트 인덱스를 산출하는 방법을 설명하기 위한 도면이다.
예를 들어, 도 18b와 같이, 이미지 프레임(1821)의 히스토그램(1822)을 생성할 수 있다. 여기에서, 히스토그램(1822)은 이미지 프레임에 포함된 픽셀들을 픽셀 값에 따라 분류한 것으로, 픽셀 값 별, 해당 픽셀 값을 갖는 픽셀의 개수를 나타낼 수 있다.
그리고, 히스토그램에 대해 이퀄라이제이션(equalization)을 수행하여, 이퀄라이즈드 히스토그램(equalized histogram)(1823)을 생성할 수 있다.
그리고, 하기의 수학식 6과 같이, 이들 간의 편차(deviation)를 산출하여, 콘트라스트 인덱스가 산출될 수 있다.
Figure pat00015
여기에서, m은 이미지 프레임의 폭(즉, 폭 방향의 픽셀들의 수), n은 이미지 프레임의 높이(즉, 높이 방향의 픽셀들의 수), H(x)는 히스토그램에서 산출되는 픽셀 값이 x인 픽셀의 수, H(y)는 이퀄라이즈드 히스토그램에서 산출되는 픽셀 값이 y인 갖는 픽셀의 수, N은 이미지 프레임에 포함된 픽셀들의 개수이다.
도 18c는 백그라운드 인덱스를 산출하는 방법을 설명하기 위한 도면이다.
백그라운드 인덱스는 이미지 프레임에 필터를 적용하고, 필터가 적용된 이후, 이미지 프레임의 폭 및 높이를 획득하고, 획득된 폭 및 높이에 기초하여 백그라운드 인덱스가 판단될 수 있다.
예를 들어, 도 18c와 같이, 이미지 프레임(1831)을 복수의 영역(1832)으로 분할하고, 이들 영역 중 하나의 영역 F(x,y)(1833)(예를 들어, 백그라운드에 해당하는 영역)을 선택할 수 있다. 그리고, 선택된 영역(1833)에서 임의의 픽셀들을 선택하고, 선택된 픽셀들의 픽셀 값을 0 또는 255로 랜덤하게 만들어, 선택된 영역(1833)에 salt & pepper noise를 부가할 수 있다. 이어서, salt & pepper noise가 부가된 영역(1834)에 커널 사이즈가 5인 중간값 필터(median filter)를 적용하여, 필터가 적용된 영역 G(x,y)(1835)을 생성할 수 있다.
그리고, 하기의 수학식 7에 기초하여 백그라운드 인덱스가 산출될 수 있다.
Figure pat00016
여기에서, F(x,y)는 영역(1833)에서 (x,y) 좌표 값을 갖는 픽셀의 픽셀 값, G(x,y)는 영역(1835)에서 (x,y) 좌표 값을 갖는 픽셀의 픽셀 값, m은 이미지 프레임의 폭(즉, 폭 방향의 픽셀들의 수), n은 이미지 프레임의 높이(즉, 높이 방향의 픽셀들의 수)이다.
한편, 도 18a 내지 도 18c은 이미지 인덱스를 산출하는 방법의 일 예일 뿐이고, 이 예에 국한되는 것은 아니고, 이미 알려진 다양한 방법을 통해 이미지 인덱스가 산출될 수 있음은 물론이다.
또한, 도 18a 내지 도 18c에서는 이미지 프레임에 대한 이미지 인덱스를 산출하는 것으로 설명하였으나, 이미지 프레임의 영역에 대해서도 전술한 방법을 통해 이미지 인덱스가 산출될 수 있다.
도 19는 본 개시의 일 실시 예에 따른 제1 신경망 모델의 구조를 설명하기 위한 도면이다.
도 19를 참조하면, 제1 신경망 모델(121)은 영역이 입력되면, 영역에 대응되는 카메라 파라미터 설정 값 셋을 출력할 수 있다. 이 경우, 카메라 파라미터 설정 값 셋은 ISO 값, shutter speed 값, aperture 값을 포함할 수 있다.
제1 신경망 모델(121)의 경우, 공통된 부분(즉, 레지듀얼 블록들(Res blocks))이 존재하는데, 이와 같이, 제1 신경망 모델(121)은 하나의 모델에 이용된 특징들이 다른 모델에 이용될 수 있는 쉐어드 특징 컨셉(shared feature concept)으로 설계되었다는 점에서, 계산량이 상대적으로 줄어들 수 있다.
또한, 제1 신경망 모델(121)의 최종 레이어들(final layers)은 최종 예측 파라미터들 즉, ISO 값, shutter speed 값, aperture 값을 고려하여 설계되었다.
구체적으로, ISO의 경우, 형상(shape) 보다 이미지의 컬러로 인한 영향이 크다는 점에서, 하나의 컨볼루션 블록(convolution block)이 사용되었다. 또한, shutter speed 및 aperture의 경우, 형상과 엣지가 중요한 역할을 한다. 이에 따라, aperture를 위해 2 개의 컨볼루션 블록이 사용되었다. 그리고, shutter speed의 경우, 엣지 및 높은 레벨의 특징들을 구별하는 것이 요구된다는 점에서, 레지듀얼 블록이 사용되었다. 레지듀얼 블록은 새로운 특징을 학습하면서도 입력된 이미지 대부분을 유지하는데 도움이 되고, 컨볼루션 블록은 입력 작업이 감소하는 필터를 학습하는데 도움이 될 수 있다.
본 개시에서 레지듀얼 블록과 컨볼루션 블록은 도 20의 (a) 및 (b)와 같은 관계를 가질 수 있다.
한편, 이하에서는 도 21을 참조하여, 제1 신경망 모델(121)의 학습에 대해 간략히 설명하도록 한다.
도 21의 (a)를 참조하면, 제1 신경망 모델(121)의 포워드 패스(forward pass) 학습은 다음과 같다.
입력 데이터 x를 제1 신경망 모델(121)에 입력하여, 제1 신경망 모델(121)로부터 xiso 값, xshutter_speed 값, xaperture 값을 획득한다.
이어서, 제1 신경망 모델(121)로부터 획득된 데이터와 출력 데이터 y 간의 손실을 산출할 수 있다. 구체적으로, (xiso, yiso) 간의 손실 Liso, (xshutter_speed, yshutter_speed) 간의 손실 Lshutter_speed, (xaperture, yaperture) 간의 손실 Laperture를 하기의 수학식 8에 기초하여 산출할 수 있다. 한편, 출력 데이터 y는 yiso=r×Ycaptured_iso, yshutter_speed=r×Ycaptured_shutter_speed, yaperture=r×Ycaptured_aperture이다. 여기에서, Ycaptured_iso, Ycaptured_shutter_speed, Ycaptured_aperture는 각각 입력 데이터 x의 획득에 이용된 카메라의 ISO 값, shutter speed 값, aperture 값이다. 그리고, r=(ei+bi+ci)/3이다. 여기에서, ei는 입력 데이터 x의 엣지 인덱스, bi는 입력 데이터 x의 백그라운드 인덱스, ci는 입력 데이터 x의 콘트라스트 인덱스이다.
Figure pat00017
한편, 도 21의 (b)를 참조하면, 제1 신경망 모델(121)의 백워드 패스(backward pass) 학습은 다음과 같다.
구체적으로, 손실 Liso, Lshutter_speed, Laperture를 이용하여 gradient descent을 통해
Figure pat00018
와 같이 각 레이어의 가중치를 업데이트할 수 있다. 그리고, 역전파가 공통 부분을 통과하기 전에, gradient들의 평균을 이용하여 결합된 gradient(combined gradient)를 산출하고, 이를 통해 역전파를 진행하여, 가중치를 업데이트할 수 있다.
한편, 전술한 제1 신경망 모델(121)의 구조 및 학습 방법은 일 예일 뿐이며, 다양한 구조를 갖는 제1 신경망 모델(121)이 다양한 방법을 통해 학습될 수 있다.
도 22는 본 개시의 일 실시 예에 따른 제2 신경망 모델의 구조를 설명하기 위한 도면이다.
제2 신경망 모델(122)은 카메라 파라미터 설정 값 셋(x,y,z), 이미지 프레임 및 이미지 프레임을 획득한 카메라의 복수의 파라미터 값(x0,y0,z0)이 입력되면, 입력된 카메라 파라미터 설정 값 셋에 대응되는 이미지 프레임의 엣지 인덱스 Ei, 콘트라스트 인덱스 Ci 및 백그라운드 인덱스 Bi에 대한 정보를 출력할 수 있다. 이 경우, 제2 신경망 모델(122)은 파라미터 추정 네트워크 모델의 dense 모듈들을 이용하여, 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스를 추정하고, 이를 출력할 수 있다.
한편, 도 22의 (a)에 도시된 제2 신경망 모델(122)의 각 블록은 도 22의 (b)에 도시된 바와 구성을 가질 수 있다.
한편, 전술한 제2 신경망 모델(122)의 구조는 일 예일 뿐이며, 제2 신경망 모델(122)은 다양한 구조를 가질 수 있다.
도 23a 및 도 23b는 본 개시의 일 실시 예에 따른 제3 신경망 모델의 구조를 설명하기 위한 도면들이다.
먼저, 도 23a는 제3 신경망 모델(123)의 generator의 구조를 나타낸다.
도 23a를 참조하면, generator는 병합된 이미지 프레임이 입력되면, 이미지 프레임(즉, 복수의 픽셀 각각이 R,G,B 픽셀 값들을 포함하는 이미지 프레임)을 출력할 수 있다. 이 경우, 적대적 손실 텀(adversarial loss term)에 의해 보장되는 이미지 프레임의 현실적인 특성을 위해 적응형(adaptive) GAN이 이용될 수 있다.
또한, generator는 복수의 레이어에 대한 다운 샘플링 동안 발생되는 정보의 손실을 보상하기 위해 U-net 구조를 가질 수 있다. 다운샘플링 레이어의 수 α는 일 예로, 3일 수 있다. 이 경우, generator는 U-net 구조의 각 레이어를 통해 필터링 동작을 수행하여, 이미지 프레임에 대한 블랙 레벨 조정, 컬러 보정, 감마 보정 및 엣지 강화 중 적어도 하나를 수행할 수 있다.
한편, 도 23b는 제3 신경망 모델(123)의 discriminator의 구조를 나타낸다.
도 23b를 참조하면, discriminator는 입력 데이터(2310, 2320)를 입력받고, 입력 데이터가 리얼 또는 페이크인지에 대한 확률 값을 출력할 수 있다. 여기에서, 입력 데이터(2310, 2320)는 리얼 페어 데이터 및 페이크 페어 데이터일 수 있다. 즉, discriminator는 입력 데이터가 리얼 또는 페이크인지를 분류하기 위한 이미지 분류기(image classifier)로서 동작할 수 있다.
이를 위해, discriminator의 레지듀얼 블록들은 베이어 로우 이미지 및 rgb 포맷의 이미지 프레임을 같은 수의 채널을 갖는 공통 포맷으로 변환할 수 있다. 이어서, 공통 포맷을 갖는 데이터들은 합쳐지고(concatenated), 최종 레이어들에서, 레지듀얼 블록 및 컨볼루션 블록은 최종 라벨링을 위한 현저한(salient) 특징들을 얻게 된다.
한편, 전술한 제3 신경망 모델(123)의 구조는 일 예일 뿐이며, 제3 신경망 모델(123)은 다양한 구조를 가질 수 있다.
한편, 이상에서 상술한 바와 같은 신경망 모델에 관련된 기능은 메모리 및 프로세서를 통해 수행될 수 있다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP 등과 같은 범용 프로세서, GPU. VPU 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공 지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 비휘발성 메모리 및 휘발성 메모리에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공 지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN(Convolutional Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network), GAN(Generative Adversarial Networks) 및 심층 Q-네트워크(Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서 상술한 바와 같은 본 개시의 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다.
다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100 : 전자 장치 111, 112, 113 : 카메라
120 : 메모리 130 : 프로세서

Claims (18)

  1. 전자 장치에 있어서,
    복수의 카메라; 및
    상기 복수의 카메라와 연결된 적어도 하나의 프로세서;를 포함하고,
    상기 프로세서는,
    라이브 뷰 영상을 획득하기 위한 제1 사용자 명령이 수신되면, 상기 복수의 카메라 중 카메라를 통해 획득된 이미지 프레임을 픽셀들의 밝기 및 이미지 프레임에 포함된 오브젝트에 기초하여 복수의 영역으로 분할하고,
    상기 분할된 복수의 영역에 대하여, 각각 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득하고,
    상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 카메라를 이용하여 복수의 이미지 프레임을 획득하고,
    상기 획득된 복수의 이미지 프레임을 병합하여 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 영역을 제1 신경망 모델에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋을 획득하고,
    상기 복수의 제1 카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값을 제2 신경망 모델에 입력하여, 상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 전자 장치.
  3. 제2항에 있어서,
    상기 제1 신경망 모델은,
    이미지 프레임에서 획득된 영역, 상기 이미지 프레임을 획득한 카메라의 복수의 파라미터 값, 상기 영역의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 기초하여 학습된 신경망 모델인 전자 장치.
  4. 제2항에 있어서,
    상기 제2 신경망 모델은,
    카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값이 입력되면, 상기 입력된 카메라 파라미터 설정 값 셋에 대응되는 상기 입력된 이미지 프레임의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 출력하고,
    상기 프로세서는,
    상기 제2 신경망 모델로부터 획득한 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보에 기초하여, 상기 복수의 제1 카메라 파라미터 설정 값 셋 중 상기 엣지 인덱스가 최대인 카메라 파라미터 설정 값 셋, 상기 콘트라스트 인덱스가 최대인 카메라 파라미터 설정 값 셋 및 상기 백그라운드 인덱스가 최대인 카메라 파라미터 설정 값 셋을 획득하는 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 영역 각각에 포함된 픽셀들의 픽셀 값을 식별하고, 상기 식별된 픽셀 값들 및 기정의된 룰에 기초하여, 상기 복수의 설정 값 셋을 획득하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 중 하나의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제1 카메라를 이용하여 이미지 프레임을 획득하고 상기 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제2 카메라를 이용하여 적어도 2 개의 이미지 프레임을 획득하여, 상기 복수의 이미지 프레임을 획득하는 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 병합된 이미지 프레임을 제3 신경망 모델에 입력하여, 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득하는 전자 장치.
  8. 제7항에 있어서,
    상기 획득된 복수의 이미지 프레임 각각은, 베이어 로우 이미지인 전자 장치.
  9. 제7항에 있어서,
    상기 제3 신경망 모델로부터 획득된 이미지 프레임은, 블랙 레벨 조정, 컬러 보정, 감마 보정 및 엣지 강화 중 적어도 하나가 수행된 이미지 프레임인 전자 장치.
  10. 복수의 카메라를 포함하는 전자 장치의 제어 방법에 있어서,
    라이브 뷰 영상을 획득하기 위한 제1 사용자 명령이 수신되면, 상기 복수의 카메라 중 카메라를 통해 획득된 이미지 프레임을 픽셀들의 밝기 및 이미지 프레임에 포함된 오브젝트에 기초하여 복수의 영역으로 분할하는 단계;
    상기 분할된 복수의 영역에 대하여, 각각 복수의 파라미터 값을 포함하는 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계;
    상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 카메라를 이용하여 복수의 이미지 프레임을 획득하는 단계; 및
    상기 획득된 복수의 이미지 프레임을 병합하여 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계는,
    상기 복수의 영역을 제1 신경망 모델에 입력하여, 복수의 제1 카메라 파라미터 설정 값 셋을 획득하고,
    상기 복수의 제1 카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값을 제2 신경망 모델에 입력하여, 상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 제어 방법.
  12. 제11항에 있어서,
    상기 제1 신경망 모델은,
    이미지 프레임에서 획득된 영역, 상기 이미지 프레임을 획득한 카메라의 복수의 파라미터 값, 상기 영역의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 기초하여 학습된 신경망 모델인 제어 방법.
  13. 제11항에 있어서,
    상기 제2 신경망 모델은,
    카메라 파라미터 설정 값 셋, 상기 카메라를 통해 획득된 상기 이미지 프레임 및 상기 카메라의 복수의 파라미터 값이 입력되면, 상기 입력된 카메라 파라미터 설정 값 셋에 대응되는 상기 입력된 이미지 프레임의 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보를 출력하고,
    상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계는,
    상기 제2 신경망 모델로부터 획득한 엣지 인덱스, 콘트라스트 인덱스 및 백그라운드 인덱스에 대한 정보에 기초하여, 상기 복수의 제1 카메라 파라미터 설정 값 셋 중 상기 엣지 인덱스가 최대인 카메라 파라미터 설정 값 셋, 상기 콘트라스트 인덱스가 최대인 카메라 파라미터 설정 값 셋 및 상기 백그라운드 인덱스가 최대인 카메라 파라미터 설정 값 셋을 획득하는 제어 방법.
  14. 제10항에 있어서,
    상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 단계는,
    상기 복수의 영역 각각에 포함된 픽셀들의 픽셀 값을 식별하고, 상기 식별된 픽셀 값들 및 기정의된 룰에 기초하여, 상기 복수의 카메라 파라미터 설정 값 셋을 획득하는 제어 방법.
  15. 제10항에 있어서,
    상기 복수의 이미지 프레임을 획득하는 단계는,
    상기 라이브 뷰 영상의 캡쳐를 위한 제2 사용자 명령이 수신되면, 상기 복수의 카메라 파라미터 설정 값 셋 중 하나의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제1 카메라를 이용하여 이미지 프레임을 획득하고 상기 복수의 카메라 파라미터 설정 값 셋 중 적어도 2 개의 카메라 파라미터 설정 값 셋 및 상기 복수의 카메라 중 제2 카메라를 이용하여 적어도 2 개의 이미지 프레임을 획득하여, 상기 복수의 이미지 프레임을 획득하는 제어 방법.
  16. 제10항에 있어서,
    상기 이미지 프레임을 획득하는 단계는,
    상기 병합된 이미지 프레임을 제3 신경망 모델에 입력하여, 상기 제2 사용자 명령에 대응되는 이미지 프레임을 획득하는 제어 방법.
  17. 제16항에 있어서,
    상기 획득된 복수의 이미지 프레임 각각은, 베이어 로우 이미지인 제어 방법.
  18. 제16항에 있어서,
    상기 제3 신경망 모델로부터 획득된 이미지 프레임은, 블랙 레벨 조정, 컬러 보정, 감마 보정 및 엣지 강화 중 적어도 하나가 수행된 이미지 프레임인 제어 방법.
KR1020200167701A 2020-06-29 2020-12-03 전자 장치 및 전자 장치의 제어 방법 KR20220001417A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/339,449 US11928799B2 (en) 2020-06-29 2021-06-04 Electronic device and controlling method of electronic device
CN202180045892.5A CN115868170A (zh) 2020-06-29 2021-06-28 电子设备和电子设备的控制方法
EP21832591.8A EP4097964A4 (en) 2020-06-29 2021-06-28 ELECTRONIC DEVICE AND ELECTRONIC DEVICE CONTROL METHOD
PCT/KR2021/008075 WO2022005126A1 (en) 2020-06-29 2021-06-28 Electronic device and controlling method of electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202041027623 2020-06-29
IN202041027623 2020-06-29

Publications (1)

Publication Number Publication Date
KR20220001417A true KR20220001417A (ko) 2022-01-05

Family

ID=79349091

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200167701A KR20220001417A (ko) 2020-06-29 2020-12-03 전자 장치 및 전자 장치의 제어 방법

Country Status (1)

Country Link
KR (1) KR20220001417A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023171984A1 (en) * 2022-03-10 2023-09-14 Samsung Electronics Co., Ltd. Systems and methods for lightweight machine learning for image illumination control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023171984A1 (en) * 2022-03-10 2023-09-14 Samsung Electronics Co., Ltd. Systems and methods for lightweight machine learning for image illumination control

Similar Documents

Publication Publication Date Title
US11532154B2 (en) System and method for providing dominant scene classification by semantic segmentation
US11882357B2 (en) Image display method and device
CN110149482B (zh) 对焦方法、装置、电子设备和计算机可读存储介质
CN108229526B (zh) 网络训练、图像处理方法、装置、存储介质和电子设备
US10033927B2 (en) Scene motion correction in fused image systems
CN108764370B (zh) 图像处理方法、装置、计算机可读存储介质和计算机设备
CN108898567B (zh) 图像降噪方法、装置及系统
US9330446B2 (en) Method and apparatus for processing image
CN108810413B (zh) 图像处理方法和装置、电子设备、计算机可读存储介质
US20220222786A1 (en) Image processing method, smart device, and computer readable storage medium
US10382712B1 (en) Automatic removal of lens flares from images
WO2014093042A1 (en) Determining an image capture payload burst structure based on metering image capture sweep
CN112602088B (zh) 提高弱光图像的质量的方法、系统和计算机可读介质
WO2014093048A1 (en) Determining an image capture payload burst structure
KR102262671B1 (ko) 비디오 영상에 보케 효과를 적용하는 방법 및 기록매체
US20220100054A1 (en) Saliency based capture or image processing
KR20220001417A (ko) 전자 장치 및 전자 장치의 제어 방법
JP7443030B2 (ja) 学習方法、プログラム、学習装置、および、学習済みウエイトの製造方法
US20220398704A1 (en) Intelligent Portrait Photography Enhancement System
KR20230165686A (ko) 이미지 데이터에 대한 디노이징 처리를 수행하는 방법 및 전자 장치
US11928799B2 (en) Electronic device and controlling method of electronic device
JP7286330B2 (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
WO2023283855A1 (en) Super resolution based on saliency
CN113111730B (zh) 快速高精度的图像模糊检测方法及装置
EP4354384A1 (en) Image processing method and apparatus, and vehicle