KR20240078250A - Method for providing image and electronic device for supporting the same - Google Patents

Method for providing image and electronic device for supporting the same Download PDF

Info

Publication number
KR20240078250A
KR20240078250A KR1020220176829A KR20220176829A KR20240078250A KR 20240078250 A KR20240078250 A KR 20240078250A KR 1020220176829 A KR1020220176829 A KR 1020220176829A KR 20220176829 A KR20220176829 A KR 20220176829A KR 20240078250 A KR20240078250 A KR 20240078250A
Authority
KR
South Korea
Prior art keywords
image
camera
processor
information
electronic device
Prior art date
Application number
KR1020220176829A
Other languages
Korean (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 PCT/KR2023/017143 priority Critical patent/WO2024111924A1/en
Publication of KR20240078250A publication Critical patent/KR20240078250A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Abstract

일 실시예에 따른 전자 장치는, 디스플레이 모듈, 제 1 카메라 및 상기 제 1 카메라의 화각 보다 좁은 화각을 가지는 제 2 카메라를 포함하는 복수의 카메라들, 상기 제 1 카메라 및 상기 제 2 카메라의 위치들 간 차이 및/또는 상기 제 1 카메라 및 상기 제 2 카메라의 광축들 간 차이를 포함하는 캘리브레이션 정보를 저장하는 메모리, 및 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 카메라를 통하여 제 1 이미지를 획득하고, 상기 제 2 카메라를 통하여 제 2 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 캘리브레이션 정보에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬할 수 있다. 상기 적어도 하나의 프로세서는 상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭할 수 있다. 상기 적어도 하나의 프로세서는 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 디스플레이 모듈을 통하여 표시될 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보를 업데이트할 수 있다.An electronic device according to an embodiment includes a display module, a plurality of cameras including a first camera and a second camera having a narrower field of view than the first camera, and positions of the first camera and the second camera. It may include a memory that stores calibration information including the difference between the optical axes of the first camera and the second camera and/or the difference between the optical axes of the first camera and the second camera, and at least one processor. The at least one processor may acquire a first image through the first camera and a second image through the second camera. The at least one processor may determine a first area corresponding to a second image within the first image based on the calibration information. The at least one processor may align the first image and the second image by performing matching on the first area and the second image. The at least one processor may stitch the aligned first image and the second image. The at least one processor may obtain an image to be displayed through the display module by performing an image enhancement operation using the stitched first image and the second image. The at least one processor may update the calibration information based on information for aligning the first image and the second image.

Description

이미지를 제공하는 방법 및 이를 지원하는 전자 장치{METHOD FOR PROVIDING IMAGE AND ELECTRONIC DEVICE FOR SUPPORTING THE SAME}METHOD FOR PROVIDING IMAGE AND ELECTRONIC DEVICE FOR SUPPORTING THE SAME}

본 개시의 다양한 실시예들은, 이미지를 제공하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.Various embodiments of the present disclosure relate to a method of providing an image and an electronic device supporting the same.

전자 장치(예: 스마트 폰)는, 보다 향상된 카메라 기능을 제공하기 위하여, 복수의 카메라들을 포함할 수 있다. 예를 들어, 전자 장치는, 서로 다른 기본 줌 배율을 가지는, 초광각 카메라, 광각 카메라, 및 망원 카메라를 포함할 수 있다. An electronic device (eg, a smart phone) may include a plurality of cameras to provide improved camera functions. For example, the electronic device may include an ultra-wide-angle camera, a wide-angle camera, and a telephoto camera, each having different basic zoom magnifications.

전자 장치는 복수의 카메라들 각각을 통하여 획득된 복수의 이미지들을 합성함으로써, 보다 높은 품질을 가진 이미지를 제공할 수 있다. 전자 장치는, 상기 복수의 이미지들을 합성하기 위하여, 복수의 카메라들의 캘리브레이션(calibration)(또는 "멀티 캘리브레이션(multi calibration)"으로도 지칭됨) 정보를 이용할 수 있다. 복수의 카메라들의 캘리브레이션 정보는, 복수의 카메라들 상호 간 물리적인 위치 차이들(및 복수의 카메라들의 광축들 간 차이들)을 포함할 수 있다. 복수의 카메라들의 캘리브레이션 정보는, 복수의 카메라들을 포함하는 카메라 모듈의 공정 과정 또는 상기 카메라 모듈을 다른 카메라 모듈로 교체하는 과정에서, 전문 장비를 이용하여 획득될 수 있다.An electronic device can provide images with higher quality by combining a plurality of images acquired through each of a plurality of cameras. The electronic device may use calibration (also referred to as “multi calibration”) information of a plurality of cameras to synthesize the plurality of images. Calibration information of the plurality of cameras may include physical position differences between the plurality of cameras (and differences between the optical axes of the plurality of cameras). Calibration information for a plurality of cameras may be obtained using specialized equipment during the process of manufacturing a camera module including a plurality of cameras or during the process of replacing the camera module with another camera module.

전자 장치에 포함된 복수의 카메라들의 캘리브레이션 정보는, 전자 장치를 사용하는 동안, 변경될 수 있다. 예를 들어, 전자 장치가 외부 물체와 충돌하는 경우(예: 전자 장치가 바닥으로 낙하함으로써 바닥 면과 충돌하는 경우) 또는 전자 장치가 노후화되는 경우(예: 복수의 카메라들을 전자 장치에 접착되는 접착력이 약화된 경우), 복수의 카메라들 상호 간 물리적인 위치 차이들이 변경되고, 복수의 카메라들의 광축들 간 차이가 발생할 수 있다(또는 변경될 수 있다).Calibration information of a plurality of cameras included in an electronic device may change while using the electronic device. For example, when the electronic device collides with an external object (e.g., when the electronic device falls to the floor and collides with the floor) or when the electronic device deteriorates (e.g., the adhesive force by which a plurality of cameras are attached to the electronic device When this is weakened), physical position differences between the plurality of cameras are changed, and differences between the optical axes of the plurality of cameras may occur (or be changed).

본 개시의 일 실시예는, 복수의 카메라들을 통하여 획득된 복수의 이미지들을 합성하여 고화소의 이미지를 획득하고, 고화소의 이미지를 획득하는 동안 획득된 정보에 기반하여 캘리브레이션 정보를 업데이트할 수 있는, 이미지를 제공하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.One embodiment of the present disclosure is to obtain a high-pixel image by combining a plurality of images acquired through a plurality of cameras, and to update calibration information based on information acquired while acquiring the high-pixel image. It relates to a method of providing and an electronic device that supports the same.

본 개시가 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 문서와 관련된 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The technical problems to be achieved by the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art related to this document from the description below. There will be.

일 실시예에 따른 전자 장치는, 디스플레이 모듈, 제 1 카메라 및 상기 제 1 카메라의 화각 보다 좁은 화각을 가지는 제 2 카메라를 포함하는 복수의 카메라들, 상기 제 1 카메라 및 상기 제 2 카메라의 위치들 간 차이 및/또는 상기 제 1 카메라 및 상기 제 2 카메라의 광축들 간 차이를 포함하는 캘리브레이션 정보를 저장하는 메모리, 및 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 카메라를 통하여 제 1 이미지를 획득하고, 상기 제 2 카메라를 통하여 제 2 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 캘리브레이션 정보에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬할 수 있다. 상기 적어도 하나의 프로세서는 상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭할 수 있다. 상기 적어도 하나의 프로세서는 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 디스플레이 모듈을 통하여 표시될 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보를 업데이트할 수 있다.An electronic device according to an embodiment includes a display module, a plurality of cameras including a first camera and a second camera having a narrower field of view than the first camera, and positions of the first camera and the second camera. It may include a memory that stores calibration information including the difference between the optical axes of the first camera and the second camera and/or the difference between the optical axes of the first camera and the second camera, and at least one processor. The at least one processor may acquire a first image through the first camera and a second image through the second camera. The at least one processor may determine a first area corresponding to a second image within the first image based on the calibration information. The at least one processor may align the first image and the second image by performing matching on the first area and the second image. The at least one processor may stitch the aligned first image and the second image. The at least one processor may obtain an image to be displayed through the display module by performing an image enhancement operation using the stitched first image and the second image. The at least one processor may update the calibration information based on information for aligning the first image and the second image.

일 실시예에서, 전자 장치에서 이미지를 제공하는 방법은, 제 1 카메라를 통하여 제 1 이미지를 획득하고, 상기 제 1 카메라의 화각 보다 좁은 화각을 가지는 제 2 카메라를 통하여 제 2 이미지를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 제 1 카메라 및 상기 제 2 카메라의 위치들 간 차이 및/또는 상기 제 1 카메라 및 상기 제 2 카메라의 광축들 간 차이를 포함하는 캘리브레이션 정보에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정하는 동작을 포함할 수 있다. 상기 방법은 상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하는 동작을 포함할 수 있다. 상기 방법은 상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭하는 동작을 포함할 수 있다. 상기 방법은 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 전자 장치의 디스플레이 모듈을 통하여 표시될 이미지를 획득하는 동작을 포함할 수 있다. 상기 방법은 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보를 업데이트하는 동작을 포함할 수 있다.In one embodiment, a method of providing an image in an electronic device includes acquiring a first image through a first camera and acquiring a second image through a second camera having a narrower field of view than the first camera. may include. The method, based on calibration information including a difference between the positions of the first camera and the second camera and/or a difference between the optical axes of the first camera and the second camera, within the first image An operation of determining a first area corresponding to the second image may be included. The method may include aligning the first image and the second image by performing matching on the first area and the second image. The method may include stitching the aligned first image and the second image. The method may include obtaining an image to be displayed through a display module of the electronic device by performing an image enhancement operation using the stitched first image and the second image. The method may include updating the calibration information based on information for aligning the first image and the second image.

일 실시예에서, 컴퓨터 실행 가능 명령어들을 기록한 비-일시적인 컴퓨터 판독 가능 매체에 있어서, 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 전자 장치가, 제 1 카메라를 통하여 제 1 이미지를 획득하고, 상기 제 1 카메라의 화각 보다 좁은 화각을 가지는 제 2 카메라를 통하여 제 2 이미지를 획득하도록 할 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 전자 장치가, 상기 제 1 카메라 및 상기 제 2 카메라의 위치들 간 차이 및/또는 상기 제 1 카메라 및 상기 제 2 카메라의 광축들 간 차이를 포함하는 캘리브레이션 정보에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정하도록 할 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 전자 장치가, 상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하도록 할 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 전자 장치가, 상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭하도록 할 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 전자 장치가, 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 전자 장치의 디스플레이 모듈을 통하여 표시될 이미지를 획득하도록 할 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 전자 장치가, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보를 업데이트하도록 할 수 있다.In one embodiment, a non-transitory computer-readable medium having computer-executable instructions recorded thereon, wherein the computer-executable instructions, when executed, cause an electronic device including at least one processor to display a first image through a first camera. can be acquired, and a second image can be acquired through a second camera having a narrower angle of view than that of the first camera. The computer-executable instructions, when executed, cause an electronic device including at least one processor to determine a difference between the positions of the first camera and the second camera and/or the optical axes of the first camera and the second camera. Based on calibration information including the difference between the two images, a first area corresponding to the second image within the first image may be determined. The computer-executable instructions, when executed, cause an electronic device including at least one processor to align the first image and the second image by performing matching on the first area and the second image. You can. When executed, the computer-executable instructions may cause an electronic device including at least one processor to stitch the aligned first image and the second image. When executed, the computer-executable instructions cause an electronic device including at least one processor to perform an image enhancement operation using the stitched first image and the second image, thereby displaying the computer through a display module of the electronic device. You can obtain an image that will be When executed, the computer-executable instructions may cause an electronic device including at least one processor to update the calibration information based on information for aligning the first image and the second image.

일 실시예에 따른 이미지를 제공하는 방법 및 이를 지원하는 전자 장치는, 복수의 카메라들을 통하여 획득된 복수의 이미지들을 합성하여 고화소의 이미지를 획득하고, 고화소의 이미지를 획득하는 동안 획득된 정보에 기반하여 캘리브레이션 정보를 업데이트하도록 할 수 있다.A method for providing an image according to an embodiment and an electronic device supporting the same include obtaining a high-pixel image by combining a plurality of images acquired through a plurality of cameras, and based on information acquired while acquiring the high-pixel image. You can update the calibration information by doing this.

도 1은, 일 실시예에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는, 일 실시예에 따른, 카메라 모듈을 예시하는 블록도이다.
도 3은, 일 실시예에 따른, 전자 장치의 블록도이다.
도 4는, 일 실시예에 따른, 캘리브레이션 정보를 설명하기 위한 도면이다.
도 5는, 일 실시예에 따른, 프로세서의 블록도이다.
도 6은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 흐름도이다.
도 7은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 도면이다.
도 8은, 일 실시예에 따른, 이미지의 속성을 보정하는 방법을 설명하기 위한 흐름도이다.
도 9는, 일 실시예에 따른, 이미지의 속성을 보정하는 방법을 설명하기 위한 도면이다.
도 10은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 도면이다.
도 11은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 도면이다.
1 is a block diagram of an electronic device in a network environment, according to one embodiment.
2 is a block diagram illustrating a camera module, according to one embodiment.
Figure 3 is a block diagram of an electronic device, according to one embodiment.
Figure 4 is a diagram for explaining calibration information according to one embodiment.
Figure 5 is a block diagram of a processor, according to one embodiment.
Figure 6 is a flowchart for explaining a method of providing an image, according to one embodiment.
Figure 7 is a diagram for explaining a method of providing an image, according to an embodiment.
FIG. 8 is a flowchart illustrating a method of correcting image properties according to an embodiment.
FIG. 9 is a diagram for explaining a method of correcting image properties according to an embodiment.
FIG. 10 is a diagram for explaining a method of providing an image, according to an embodiment.
FIG. 11 is a diagram for explaining a method of providing an image according to an embodiment.

도 1은, 일 실시예에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.1 is a block diagram of an electronic device 101 in a network environment 100, according to one embodiment.

도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.Referring to FIG. 1, in the network environment 100, the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108. According to one embodiment, the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197. In some embodiments, at least one of these components (eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101. In some embodiments, some of these components (e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134. According to one embodiment, the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor). For example, if the electronic device 101 includes a main processor 121 and a secondary processor 123, the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다. The auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled. According to one embodiment, co-processor 123 (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module 180 or communication module 190). there is. According to one embodiment, the auxiliary processor 123 (eg, neural network processing device) may include a hardware structure specialized for processing artificial intelligence models. Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108). Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited. An artificial intelligence model may include multiple artificial neural network layers. Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above. In addition to hardware structures, artificial intelligence models may additionally or alternatively include software structures.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto. Memory 130 may include volatile memory 132 or non-volatile memory 134.

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user). The input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module 155 may output sound signals to the outside of the electronic device 101. The sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user). The display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device. According to one embodiment, the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 can capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 can manage power supplied to the electronic device 101. According to one embodiment, the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101. According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module 190 may be a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included. Among these communication modules, the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN). These various types of communication modules may be integrated into one component (e.g., a single chip) or may be implemented as a plurality of separate components (e.g., multiple chips). The wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199. The electronic device 101 can be confirmed or authenticated.

무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology). NR access technology provides high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access to multiple terminals (massive machine type communications (mMTC)), or ultra-reliable and low-latency (URLLC). -latency communications)) can be supported. The wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates. The wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199). According to one embodiment, the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC. Example: Downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) can be supported.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다. The antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device). According to one embodiment, the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna. According to some embodiments, in addition to the radiator, other components (eg, radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module 197.

일 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to one embodiment, the antenna module 197 may form a mmWave antenna module. According to one embodiment, a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( (e.g. commands or data) can be exchanged with each other.

일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다. According to one embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199. Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101. According to one embodiment, all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108. For example, when the electronic device 101 must perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 may perform the function or service instead of executing the function or service on its own. Alternatively, or additionally, one or more external electronic devices may be requested to perform at least part of the function or service. One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology can be used. The electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device 104 may include an Internet of Things (IoT) device. Server 108 may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device 104 or server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

본 문서에 개시된 일 실시예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.An electronic device according to an embodiment disclosed in this document may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.

본 문서의 일 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.An embodiment of this document and the terms used herein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various changes, equivalents, or substitutes for the embodiment. In connection with the description of the drawings, similar reference numbers may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the above items, unless the relevant context clearly indicates otherwise. As used herein, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish one component from another, and to refer to those components in other respects (e.g., importance or order) is not limited. One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.” When mentioned, it means that any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.

본 문서의 일 실시예에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.The term “module” used in one embodiment of this document may include a unit implemented in hardware, software, or firmware, and may be interchangeable with terms such as logic, logic block, component, or circuit, for example. can be used A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 일 실시예는 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.One embodiment of the present document is one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these. For example, a processor (e.g., processor 120) of a device (e.g., electronic device 101) may call at least one command among one or more commands stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is stored semi-permanently in the storage medium. There is no distinction between temporary storage cases.

일 실시예에 따르면, 본 문서에 개시된 일 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, a method according to an embodiment disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

일 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to one embodiment, each component (e.g., module or program) of the above-described components may include a single or multiple entities, and some of the multiple entities may be separately placed in other components. . According to one embodiment, one or more of the above-described corresponding components or operations may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (eg, modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. . According to one embodiment, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or , or one or more other operations may be added.

도 2는, 일 실시예에 따른, 카메라 모듈(180)을 예시하는 블럭도(200)이다.Figure 2 is a block diagram 200 illustrating a camera module 180, according to one embodiment.

도 2를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(210), 플래쉬(220), 이미지 센서(230), 이미지 스태빌라이저(240), 메모리(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260)를 포함할 수 있다. 렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(210)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 하나 이상의 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다.Referring to FIG. 2, the camera module 180 includes a lens assembly 210, a flash 220, an image sensor 230, an image stabilizer 240, a memory 250 (e.g., buffer memory), or an image signal processor. It may include (260). The lens assembly 210 may collect light emitted from a subject that is the target of image capture. Lens assembly 210 may include one or more lenses. According to one embodiment, the camera module 180 may include a plurality of lens assemblies 210. In this case, the camera module 180 may form, for example, a dual camera, a 360-degree camera, or a spherical camera. Some of the plurality of lens assemblies 210 have the same lens properties (e.g., angle of view, focal length, autofocus, f number, or optical zoom), or at least one lens assembly is different from another lens assembly. It may have one or more lens properties that are different from the lens properties of . The lens assembly 210 may include, for example, a wide-angle lens or a telephoto lens.

플래쉬(220)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일 실시예에 따르면, 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다. 이미지 센서(230)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(210) 를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.The flash 220 may emit light used to enhance light emitted or reflected from a subject. According to one embodiment, the flash 220 may include one or more light emitting diodes (eg, red-green-blue (RGB) LED, white LED, infrared LED, or ultraviolet LED), or a xenon lamp. The image sensor 230 may acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly 210 into an electrical signal. According to one embodiment, the image sensor 230 is one image sensor selected from among image sensors with different properties, such as an RGB sensor, a BW (black and white) sensor, an IR sensor, or a UV sensor, and the same It may include a plurality of image sensors having different properties, or a plurality of image sensors having different properties. Each image sensor included in the image sensor 230 may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.

이미지 스태빌라이저(240)는 카메라 모듈(180) 또는 이를 포함하는 전자 장치(101)의 움직임에 반응하여, 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 이미지 센서(230)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일 실시예에 따르면, 이미지 스태빌라이저(240)은 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라 모듈(180) 또는 전자 장치(101)의 그런 움직임을 감지할 수 있다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다. 메모리(250)는 이미지 센서(230)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: Bayer-patterned 이미지 또는 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이 모듈(160)을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일 실시예에 따르면, 메모리(250)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.The image stabilizer 240 moves at least one lens or image sensor 230 included in the lens assembly 210 in a specific direction in response to the movement of the camera module 180 or the electronic device 101 including the same. The operating characteristics of the image sensor 230 can be controlled (e.g., adjusting read-out timing, etc.). This allows to compensate for at least some of the negative effects of said movement on the image being captured. According to one embodiment, the image stabilizer 240 uses a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180 to stabilize the camera module 180 or the electronic device 101. ) can detect such movements. According to one embodiment, the image stabilizer 240 may be implemented as, for example, an optical image stabilizer. The memory 250 may at least temporarily store at least a portion of the image acquired through the image sensor 230 for the next image processing task. For example, when image acquisition is delayed due to the shutter or when multiple images are acquired at high speed, the acquired original image (e.g., Bayer-patterned image or high-resolution image) is stored in the memory 250. , the corresponding copy image (e.g., low resolution image) may be previewed through the display module 160. Thereafter, when a specified condition is satisfied (eg, user input or system command), at least a portion of the original image stored in the memory 250 may be obtained and processed, for example, by the image signal processor 260. According to one embodiment, the memory 250 may be configured as at least part of the memory 130 or as a separate memory that operates independently.

이미지 시그널 프로세서(260)는 이미지 센서(230)을 통하여 획득된 이미지 또는 메모리(250)에 저장된 이미지에 대하여 하나 이상의 이미지 처리들을 수행할 수 있다. 상기 하나 이상의 이미지 처리들은, 예를 들면, 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260)는 카메라 모듈(180)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(260)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 디스플레이 모듈(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 제공될 수 있다. 일 실시예에 따르면, 이미지 시그널 프로세서(260)는 프로세서(120)의 적어도 일부로 구성되거나, 프로세서(120)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(260)이 프로세서(120)과 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260)에 의해 처리된 적어도 하나의 이미지는 프로세서(120)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이 모듈(160)를 통해 표시될 수 있다.The image signal processor 260 may perform one or more image processes on an image acquired through the image sensor 230 or an image stored in the memory 250. The one or more image processes may include, for example, depth map creation, three-dimensional modeling, panorama creation, feature point extraction, image compositing, or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring). Additionally or alternatively, the image signal processor 260 may include blurring, sharpening, or softening, and may include at least one of the components included in the camera module 180 (eg, an image sensor). The image processed by the image signal processor 260 may be stored back in the memory 250 for further processing. Alternatively, it may be provided as an external component of the camera module 180 (e.g., memory 130, display module 160, electronic device 102, electronic device 104, or server 108). According to an example, the image signal processor 260 may be configured as at least a part of the processor 120, or the image signal processor 260 may be configured as a separate processor that operates independently of the processor 120. When configured as a separate processor, at least one image processed by the image signal processor 260 may be displayed through the display module 160 as is or after additional image processing by the processor 120.

일 실시예에 따르면, 전자 장치(101)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.According to one embodiment, the electronic device 101 may include a plurality of camera modules 180, each having different properties or functions. In this case, for example, at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least another one may be a telephoto camera. Similarly, at least one of the plurality of camera modules 180 may be a front camera, and at least another one may be a rear camera.

도 3은, 일 실시예에 따른, 전자 장치(301)의 블록도이다.Figure 3 is a block diagram of an electronic device 301, according to one embodiment.

도 3을 참조하면, 일 실시예에서, 전자 장치(301)는, 디스플레이 모듈(310), 카메라 모듈(320), 메모리(330), 및/또는 프로세서(340)를 포함할 수 있다.Referring to FIG. 3 , in one embodiment, the electronic device 301 may include a display module 310, a camera module 320, a memory 330, and/or a processor 340.

일 실시예에서, 디스플레이 모듈(310)은 도 1의 디스플레이 모듈(160)일 수 있다.In one embodiment, display module 310 may be display module 160 of FIG. 1 .

일 실시예에서, 디스플레이 모듈(310)은, 카메라 모듈(320)에 의해 획득된 이미지를 표시할 수 있다. 예를 들어, 디스플레이 모듈(310)은, 카메라 모듈(320)에 의해 획득된 동적 이미지(예: 프리뷰(preview) 이미지, 동영상 이미지) 및/또는 정지 이미지(예: 캡처(capture) 이미지))를 표시할 수 있다.In one embodiment, the display module 310 may display an image acquired by the camera module 320. For example, the display module 310 may display dynamic images (e.g., preview images, video images) and/or still images (e.g., capture images) acquired by the camera module 320. It can be displayed.

일 실시예에서, 카메라 모듈(320)은 도 1 또는 도 2의 카메라 모듈(180)일 수 있다.In one embodiment, camera module 320 may be camera module 180 of FIG. 1 or FIG. 2 .

일 실시예에서, 카메라 모듈(320)은 서로 다른 화각(field of view)들을 가진 복수의 카메라들(이하, "복수의 카메라들"로 지칭함)을 포함할 수 있다. 예를 들어, 카메라 모듈(320)은, 약 100도 내지 약 120도 범위의 화각을 가지는 제 1 카메라(321)("초광각(ultra wide) 카메라"로도 지칭됨), 약 80도의 화각을 가지는 제 2 카메라(322)("광각(wide) 카메라"로도 지칭됨), 및 약 10도 내지 약 40도의 범위의 화각을 가지는 제 3 카메라(323)("망원 카메라"로도 지칭됨)을 포함할 수 있다. 일 실시예에서, 제 1 카메라(321)의 렌즈, 제 2 카메라(322)의 렌즈, 및 제 3 카메라(323)의 렌즈의 초점 거리들은 다를 수 있다. 예를 들어, 풀 프레임(full frame) 센서(또는 35mm 필름 카메라)를 기준으로, 제 1 카메라(321)의 렌즈의 초점 거리는 약 7mm 내지 약 15mm이고, 제 2 카메라(322)의 렌즈의 초점 거리는 약 15mm 내지 약 35mm이고, 제 3 카메라(323)의 렌즈의 초점 거리는 약 70mm 내지 약 250mm일 수 있다. 다만, 전술한 복수의 카메라들의 화각들 및 초점 거리들은 예시일 수 있다.In one embodiment, the camera module 320 may include a plurality of cameras (hereinafter referred to as “plurality of cameras”) having different fields of view. For example, the camera module 320 includes a first camera 321 (also referred to as an “ultra wide camera”) having an angle of view ranging from about 100 degrees to about 120 degrees, and a second camera having an angle of view of about 80 degrees. It may include a second camera 322 (also referred to as a “wide camera”), and a third camera 323 (also referred to as a “telephoto camera”) having an angle of view ranging from about 10 degrees to about 40 degrees. there is. In one embodiment, the focal lengths of the lens of the first camera 321, the lens of the second camera 322, and the lens of the third camera 323 may be different. For example, based on a full frame sensor (or 35mm film camera), the focal length of the lens of the first camera 321 is about 7mm to about 15mm, and the focal length of the lens of the second camera 322 is It is about 15mm to about 35mm, and the focal length of the lens of the third camera 323 may be about 70mm to about 250mm. However, the angles of view and focal lengths of the plurality of cameras described above may be examples.

일 실시예에서, 도 3에서 카메라 모듈(320)이 제 1 카메라(321), 제 2 카메라(322), 및 제 3 카메라(323)를 포함하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 카메라 모듈(320)은 제 3 카메라(323)를 포함하지 않거나, 제 1 카메라(321), 제 2 카메라(322), 및 제 3 카메라(323) 외에, 제 1 카메라(321), 제 2 카메라(322), 및 제 3 카메라(323)의 화각들과 다른 화각을 가진 추가적인 카메라를 포함할 수 있다.In one embodiment, the camera module 320 in FIG. 3 is illustrated as including a first camera 321, a second camera 322, and a third camera 323, but is not limited thereto. For example, the camera module 320 does not include the third camera 323, or includes the first camera 321 in addition to the first camera 321, the second camera 322, and the third camera 323. , may include an additional camera having a view angle different from that of the second camera 322 and the third camera 323.

일 실시예에서, 메모리(330)는 도 1의 메모리(130) 또는 도 2의 메모리(250)일 수 있다.In one embodiment, memory 330 may be memory 130 of FIG. 1 or memory 250 of FIG. 2 .

일 실시예에서, 메모리(330)는 이미지를 제공하는 동작을 수행하기 위한 정보를 저장할 수 있다.In one embodiment, the memory 330 may store information for performing an operation to provide an image.

일 실시예에서, 메모리(330)는 캘리브레이션 정보(331)를 더 포함할 수 있다.In one embodiment, memory 330 may further include calibration information 331.

일 실시예에서, 캘리브레이션 정보(331)는, 복수의 카메라들(321, 322, 323) 상호 간 물리적인 위치 차이들(및 복수의 카메라들(321, 322, 323)의 광축들 간 차이들)을 포함할 수 있다. 이하, 도 4를 참조하여, 캘리브레이션 정보(331)에 대하여 보다 상세히 설명하도록 한다.In one embodiment, the calibration information 331 includes physical position differences between the plurality of cameras 321, 322, and 323 (and differences between the optical axes of the plurality of cameras 321, 322, and 323). may include. Hereinafter, with reference to FIG. 4, the calibration information 331 will be described in more detail.

도 4는, 일 실시예에 따른, 캘리브레이션 정보(331)를 설명하기 위한 도면이다.FIG. 4 is a diagram for explaining calibration information 331 according to an embodiment.

도 4를 참조하면, 일 실시예에서, 참조 부호 401은, 캘리브레이션(예: 카메라 모듈(320)의 공정 과정에서 수행되는 캘리브레이션)이 수행된 후, 복수의 카메라들(321, 322, 323) 각각의 화각 영역들(410, 420, 430)을 나타낼 수 있다. 예를 들어, 화각 영역(410)은, 제 1 카메라(321)에 의해 촬영되는 촬영 대상에 대한 장면을 나타낼 수 있다. 화각 영역(420)은, 제 2 카메라(322)에 의해 촬영되는 촬영 대상에 대한 장면을 나타낼 수 있다. 화각 영역(430)은, 제 3 카메라(323)에 의해 촬영되는 촬영 대상에 대한 장면을 나타낼 수 있다. 화각 영역(410)은 화각 영역(420) 및 화각 영역(430)을 포함하고, 화각 영역(420)은 화각 영역(430)을 포함할 수 있다.Referring to FIG. 4, in one embodiment, reference numeral 401 denotes a plurality of cameras 321, 322, and 323, respectively, after calibration (e.g., calibration performed during the process of the camera module 320) is performed. The angle of view areas 410, 420, and 430 may be indicated. For example, the angle of view area 410 may represent a scene of a subject captured by the first camera 321. The angle of view area 420 may represent a scene of a subject captured by the second camera 322. The angle of view area 430 may represent a scene of a subject captured by the third camera 323. The angle of view area 410 may include the angle of view area 420 and the angle of view area 430 , and the angle of view area 420 may include the angle of view area 430 .

일 실시예에서, 참조 부호 401에 도시된 바와 같이, 복수의 카메라들(321, 322, 323)이 전자 장치(301)에 배치되는 위치들 간 차이(예: 복수의 카메라들(321, 322, 323) 상호 간 거리들)가 있을 수 있다. 복수의 카메라들(321, 322, 323)이 전자 장치(301)에 배치되는 위치들이 서로 다름으로써, 복수의 카메라들(321, 322, 323)의 광축들(예: 복수의 카메라들(321, 322, 323)의 화각들 각각의 중심을 지나는 축)이 서로 다를 수 있다. 카메라의 광축은 카메라의 렌즈의 중심 및 이미지 센서의 중심을 지나는 축(또는 카메라의 화각의 중심을 지나는 축)을 지칭할 수 있다. 복수의 카메라들(321, 322, 323)에 대한 캘리브레이션이 수행된 경우, 복수의 카메라들(321, 322, 323)은, 복수의 카메라들(321, 322, 323)의 광축들이 서로 평행하게 하도록, 배치(예: 광축이 조정)될 수 있다. 캘리브레이션이 수행된 후, 복수의 카메라들(321, 322, 323)이 전자 장치(301)에 배치되는 위치들 간 차이(또는 복수의 카메라들(321, 322, 323)이 전자 장치(301)에 배치되는 위치들)를 포함하는 캘리브레이션 정보(331)가 전자 장치(301)의 메모리(330)에 저장될 수 있다.In one embodiment, as shown by reference numeral 401, the difference between the positions where the plurality of cameras 321, 322, and 323 are disposed in the electronic device 301 (e.g., the plurality of cameras 321, 322, 323) There may be distances between each other. As the positions where the plurality of cameras 321, 322, and 323 are placed in the electronic device 301 are different from each other, the optical axes of the plurality of cameras 321, 322, and 323 (e.g., the plurality of cameras 321, The axis passing through the center of each angle of view (322, 323) may be different. The optical axis of the camera may refer to the axis passing through the center of the camera lens and the center of the image sensor (or the axis passing through the center of the camera's angle of view). When calibration is performed on the plurality of cameras 321, 322, and 323, the optical axes of the plurality of cameras 321, 322, and 323 are parallel to each other. , the arrangement can be adjusted (e.g., the optical axis can be adjusted). After calibration is performed, the difference between the positions where the plurality of cameras 321, 322, and 323 are placed on the electronic device 301 (or the positions where the plurality of cameras 321, 322, and 323 are placed on the electronic device 301) Calibration information 331 including (positioned positions) may be stored in the memory 330 of the electronic device 301.

일 실시예에서, 복수의 카메라들(321, 322, 323)을 포함하는 전자 장치(301)가 외부 물체와 충돌하는 경우(예: 전자 장치(301)가 바닥으로 낙하함으로써 바닥 면과 충돌하는 경우) 또는 전자 장치(301)가 노후화되는 경우(예: 복수의 카메라들(321, 322, 323)을 전자 장치(301)에 접착되는 접착력이 약화된 경우), 복수의 카메라들(321, 322, 323)의 위치들이 변경될 수 있다. 예를 들어, 참조 부호 401에서, 복수의 카메라들(321, 322, 323)의 위치들 중 어느 하나의 위치가 X축, Y축, 및/또는 Z축 상에서 변경될 수 있다. 이러한 경우, 복수의 카메라들(321, 322, 323)의 위치들이 변경되는 경우, 복수의 카메라들(321, 322, 323)의 화각들의 중심들을 지나는 축들이 변경될 수 있다.In one embodiment, when the electronic device 301 including a plurality of cameras 321, 322, and 323 collides with an external object (e.g., when the electronic device 301 falls to the floor and collides with the floor surface) ) or when the electronic device 301 is aged (e.g., when the adhesive force attaching the plurality of cameras 321, 322, and 323 to the electronic device 301 is weakened), the plurality of cameras 321, 322, 323) locations may be changed. For example, at reference numeral 401, the position of one of the positions of the plurality of cameras 321, 322, and 323 may be changed on the X-axis, Y-axis, and/or Z-axis. In this case, when the positions of the plurality of cameras 321, 322, and 323 change, axes passing through the centers of the angles of view of the plurality of cameras 321, 322, and 323 may change.

일 실시예에서, 복수의 카메라들(321, 322, 323)을 포함하는 전자 장치(301)가 외부 물체와 충돌하는 경우 또는 전자 장치(301)가 노후화되는 경우, 복수의 카메라들(321, 322, 323)의 광축들 간 차이가 발생할 수 있다. 예를 들어, 복수의 카메라들(321, 322, 323)에 대한 캘리브레이션이 수행됨으로써 서로 평행하였던 복수의 카메라들(321, 322, 323)의 광축들이, 서로 평행하지 않도록 될 수 있다.In one embodiment, when the electronic device 301 including the plurality of cameras 321, 322, and 323 collides with an external object or when the electronic device 301 becomes old, the plurality of cameras 321, 322 , 323) differences may occur between the optical axes. For example, by performing calibration on the plurality of cameras 321, 322, and 323, the optical axes of the plurality of cameras 321, 322, and 323, which were parallel to each other, may become non-parallel.

일 실시예에서, 복수의 카메라들(321, 322, 323)의 광축들 중 어느 하나의 광축이 X축, Y축, 및/또는 Z축을 기준으로 변경(예: 회전)될 수 있다. 예를 들어, 참조 부호 402에 도시된 바와 같이, 제 2 카메라(322)의 광축이 Z축을 기준으로 회전될 수 있다. 제 2 카메라(322)의 광축이 Z축을 기준으로 회전된 경우, 제 2 카메라(322)의 광축이 회전되기 전 화각 영역(예: 화각 영역(420))과 제 2 카메라(322)의 광축이 회전된 후 화각 영역(예: 화각 영역(421))은 서로 다를 수 있다. 이하, 복수의 카메라들(321, 322, 323)의 광축들 중 어느 하나의 광축이 X축, Y축, 및/또는 Z축을 기준으로 변경됨으로써 발생하는 복수의 카메라들(321, 322, 323)의 광축들의 차이들(예: 복수의 카메라들(321, 322, 323)의 광축들 상호 간 형성되는 각도들)을, "복수의 카메라들의 광축들 간 차이" 또는 "복수의 카메라들의 화각들(또는 광축들) 간 틀어짐"으로 지칭하기로 한다.In one embodiment, one of the optical axes of the plurality of cameras 321, 322, and 323 may be changed (eg, rotated) based on the X-axis, Y-axis, and/or Z-axis. For example, as shown at reference numeral 402, the optical axis of the second camera 322 may be rotated based on the Z-axis. When the optical axis of the second camera 322 is rotated about the Z axis, the angle of view area (e.g., the angle of view area 420) and the optical axis of the second camera 322 are aligned before the optical axis of the second camera 322 is rotated. After rotation, the angle of view area (eg, angle of view area 421) may be different. Hereinafter, a plurality of cameras (321, 322, 323) generated by changing one of the optical axes of the plurality of cameras (321, 322, 323) based on the X-axis, Y-axis, and/or Z-axis. Differences between the optical axes (e.g., angles formed between the optical axes of the plurality of cameras 321, 322, 323) are referred to as “differences between the optical axes of the plurality of cameras” or “angles of view of the plurality of cameras ( It will be referred to as “distortion between optical axes”.

일 실시예에서, 전자 장치(301)(예: 프로세서(340))는, 캘리브레이션 정보(331)에 기반하여, 복수의 카메라들(321, 322, 323) 각각을 통하여 획득된 복수의 이미지들을 합성할 수 있다.In one embodiment, the electronic device 301 (e.g., processor 340) synthesizes a plurality of images acquired through each of the plurality of cameras 321, 322, and 323 based on the calibration information 331. can do.

일 실시예에서, 전자 장치(301)(예: 프로세서(340))는, 복수의 카메라들(321, 322, 323) 각각을 통하여 획득된 복수의 이미지들을 합성하는 동안 획득되는 정보(예: 복수의 이미지들을 정렬(align)하는 동안 획득되는 정보)에 기반하여, 복수의 카메라들(321, 322, 323)의 위치들 간 차이 및/또는 복수의 카메라들(321, 322, 323)의 광축들 간 차이를 포함하는 캘리브레이션 정보(331)를 업데이트(update)(및 메모리(330)에 저장)할 수 있다. 전자 장치(301)가 복수의 카메라들(321, 322, 323) 각각을 통하여 획득된 복수의 이미지들을 합성하는 동작 및 캘리브레이션 정보(331)를 업데이트하는 동작에 대해서는 상세히 후술하도록 한다.In one embodiment, the electronic device 301 (e.g., processor 340) collects information (e.g., a plurality of information acquired while aligning the images), the difference between the positions of the plurality of cameras 321, 322, and 323 and/or the optical axes of the plurality of cameras 321, 322, and 323 Calibration information 331 including the difference between the two may be updated (and stored in the memory 330). The operation of the electronic device 301 to synthesize a plurality of images acquired through each of the plurality of cameras 321, 322, and 323 and the operation of updating the calibration information 331 will be described in detail later.

도 3을 참조하면, 일 실시예에서, 프로세서(340)는 도 1의 프로세서(120)일 수 있다.Referring to Figure 3, in one embodiment, processor 340 may be processor 120 of Figure 1.

일 실시예에서, 프로세서(340)는, 이미지를 제공하기 위한 전반적인 동작을 제어할 수 있다. 일 실시예에서, 프로세서(340)는 이미지를 제공하기 위한 하나 이상의 프로세서들을 포함할 수 있다. In one embodiment, the processor 340 may control overall operations for providing images. In one embodiment, processor 340 may include one or more processors to provide images.

일 실시예에서, 프로세서(340)는 이미지를 제공하는 동작을 수행하기 위한 복수의 구성들(components)을 포함할 수 있다. 프로세서(340)가 포함하는 복수의 구성들에 대해서는 도 5를 참조하여 상세히 설명하도록 한다.In one embodiment, the processor 340 may include a plurality of components to perform an operation of providing an image. A plurality of components included in the processor 340 will be described in detail with reference to FIG. 5.

도 3에서 전자 장치(301)가 디스플레이 모듈(310), 카메라 모듈(320), 메모리(330), 및/또는 프로세서(340)를 포함하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 전자 장치(301)는, 도 1에 도시된 적어도 하나의 구성(component)을 더 포함할 수 있다.In FIG. 3 , the electronic device 301 is illustrated as including a display module 310, a camera module 320, a memory 330, and/or a processor 340, but is not limited thereto. For example, the electronic device 301 may further include at least one component shown in FIG. 1 .

도 5는, 일 실시예에 따른, 프로세서(340)의 블록도이다.Figure 5 is a block diagram of the processor 340, according to one embodiment.

도 5를 참조하면, 일 실시예에서, 프로세서(340)는, 보정 모듈(510), 정렬 모듈(520), 스티칭 모듈(530), 이미지 고도화 모듈(540), 및/또는 캘리브레이션 정보 관리 모듈(550)을 포함할 수 있다.Referring to Figure 5, in one embodiment, the processor 340 includes a correction module 510, an alignment module 520, a stitching module 530, an image enhancement module 540, and/or a calibration information management module ( 550).

일 실시예에서, 보정 모듈(510)은, 캘리브레이션 정보 관리 모듈(550)로부터 획득된 캘리브레이션 정보(331)에 기반하여, 복수의 카메라들(321, 322, 323) 각각으로부터 획득된 복수의 이미지들에 대한 보정을 수행할 수 있다. 예를 들어, 제 1 카메라(321) 및 제 2 카메라(322) 각각을 통하여 제 1 이미지 및 제 2 이미지가 획득된 경우, 보정 모듈(510)은, 제 1 카메라(321) 및 제 2 카메라(322)와 관련된 캘리브레이션 정보에 기반하여, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정(예: 검출)할 수 있다. 보정 모듈(510)은, 제 1 영역의 픽셀 값 및 제 2 이미지의 픽셀 값에 기반하여, 제 1 이미지의 속성이 제 2 이미지의 속성과 동일하게 되도록 하는 제 1 이미지의 속성을 변경하기 위한 정보를 획득할 수 있다. 보정 모듈(510)은, 제 1 이미지의 속성을 변경하기 위한 정보에 기반하여, 제 1 이미지 및/또는 제 2 이미지를 보정할 수 있다.In one embodiment, the correction module 510 is based on the calibration information 331 obtained from the calibration information management module 550, a plurality of images acquired from each of the plurality of cameras 321, 322, and 323. Correction can be performed. For example, when the first image and the second image are acquired through each of the first camera 321 and the second camera 322, the correction module 510 uses the first camera 321 and the second camera ( Based on the calibration information related to 322), the first area corresponding to the second image within the first image may be determined (eg, detected). The correction module 510 provides information for changing the properties of the first image so that the properties of the first image are the same as the properties of the second image, based on the pixel values of the first area and the pixel values of the second image. can be obtained. The correction module 510 may correct the first image and/or the second image based on information for changing the properties of the first image.

일 실시예에서, 보정 모듈(510)은 제 1 이미지의 밝기 및/또는 제 2 이미지의 밝기를 보정하는 동작을 더 수행할 수 있다. In one embodiment, the correction module 510 may further perform an operation to correct the brightness of the first image and/or the brightness of the second image.

일 실시예에서, 보정 모듈(510)은 제 1 이미지 및 제 2 이미지가 동일한 노출 및/또는 화이트 밸런스를 가지도록, 제 1 카메라(321) 및/또는 제 2 카메라(322)의 설정과 관련된 파라미터(parameter)를 제어(예: 설정, 조정)할 수 있다.In one embodiment, the calibration module 510 configures parameters related to settings of the first camera 321 and/or the second camera 322 such that the first image and the second image have the same exposure and/or white balance. (parameters) can be controlled (e.g., set, adjusted).

보정 모듈(510)이 수행하는 동작에 대한 보다 상세한 설명은 도 8 및 도 9를 통하여 상세히 후술하도록 한다.A more detailed description of the operation performed by the correction module 510 will be described in detail later with reference to FIGS. 8 and 9.

일 실시예에서, 정렬 모듈(520)은, 제 1 카메라(321) 및 제 2 카메라(322)와 관련된 캘리브레이션 정보에 기반하여, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정(예: 검출)할 수 있다. In one embodiment, the alignment module 520 determines a first region within the first image corresponding to the second image, based on calibration information associated with the first camera 321 and the second camera 322 ( Example: detection) can be performed.

일 실시예에서, 정렬 모듈(520)은, 제 1 영역 및 제 2 이미지에 대한 매칭(matching)을 수행함으로써, 제 1 이미지 및 제 2 이미지를 정렬할 수 있다.In one embodiment, the alignment module 520 may align the first image and the second image by performing matching on the first area and the second image.

일 실시예에서, 정렬 모듈(520)은, 제 1 영역 및 제 2 이미지에 대한 매칭을 수행함으로써, 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보를 획득할 수 있다.In one embodiment, the alignment module 520 may acquire information for aligning the first image and the second image by performing matching on the first area and the second image.

일 실시예에서, 스티칭 모듈(530)은, 정렬된 제 1 이미지 및 제 2 이미지를 스티칭(예: 결합)할 수 있다.In one embodiment, the stitching module 530 may stitch (eg, combine) the aligned first and second images.

일 실시예에서, 이미지 고도화 모듈(540)은, 제 1 이미지 및 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득할 수 있다. 예를 들어, 이미지 고도화 모듈(540)은, 제 1 이미지 및 제 2 이미지에 대한 SR(super resolution) 동작을 수행함으로써, 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득할 수 있다.In one embodiment, the image enhancement module 540 may obtain an image to be displayed through the display module 310 by performing an image enhancement operation using the first image and the second image. For example, the image enhancement module 540 may obtain an image to be displayed through the display module 310 by performing a super resolution (SR) operation on the first image and the second image.

일 실시예에서, 캘리브레이션 정보 관리 모듈(550)은 메모리(330)에 저장된 캘리브레이션 정보(331)를 관리할 수 있다. 예를 들어, 캘리브레이션 정보 관리 모듈(550)은, 정렬 모듈(520)에서 획득된 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보에 기반하여, 메모리(330)에 저장된 캘리브레이션 정보(331)를 업데이트할 수 있다.In one embodiment, the calibration information management module 550 may manage the calibration information 331 stored in the memory 330. For example, the calibration information management module 550 updates the calibration information 331 stored in the memory 330 based on the information for aligning the first image and the second image obtained in the alignment module 520. can do.

정렬 모듈(520), 스티칭 모듈(530), SR 모듈(540), 및/또는 캘리브레이션 정보 관리 모듈(550)이 수행하는 동작들에 대해서는, 이하 도 6을 참조하여 상세히 설명하도록 한다.Operations performed by the alignment module 520, stitching module 530, SR module 540, and/or calibration information management module 550 will be described in detail below with reference to FIG. 6.

도 5에서 프로세서(340)가 보정 모듈(510), 정렬 모듈(520), 스티칭 모듈(530), 이미지 고도화 모듈(540), 및/또는 캘리브레이션 정보 관리 모듈(550)을 포함하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 보정 모듈(510), 정렬 모듈(520), 스티칭 모듈(530), 이미지 고도화 모듈(540), 및/또는 캘리브레이션 정보 관리 모듈(550) 중 적어도 2개의 모듈은 하나의 모듈로 통합되어 구현될 수 있다. 예를 들어, 프로세서(340)는, 보정 모듈(510), 정렬 모듈(520), 스티칭 모듈(530), 이미지 고도화 모듈(540), 및/또는 캘리브레이션 정보 관리 모듈(550) 중 적어도 하나의 모듈을 포함하지 않을 수 있다. 예를 들어, 보정 모듈(510), 정렬 모듈(520), 스티칭 모듈(530), 이미지 고도화 모듈(540), 및/또는 캘리브레이션 정보 관리 모듈(550) 외에, 적어도 하나의 모듈을 더 포함할 수 있다.In Figure 5, the processor 340 is illustrated as including a correction module 510, an alignment module 520, a stitching module 530, an image enhancement module 540, and/or a calibration information management module 550. , but is not limited to this. For example, at least two of the correction module 510, alignment module 520, stitching module 530, image enhancement module 540, and/or calibration information management module 550 are integrated into one module. and can be implemented. For example, the processor 340 includes at least one of the correction module 510, alignment module 520, stitching module 530, image enhancement module 540, and/or calibration information management module 550. may not include. For example, in addition to the correction module 510, alignment module 520, stitching module 530, image enhancement module 540, and/or calibration information management module 550, it may further include at least one module. there is.

일 실시예에 따른 전자 장치(301)는, 디스플레이 모듈(320), 제 1 카메라(321) 및 상기 제 1 카메라(321)의 화각 보다 좁은 화각을 가지는 제 2 카메라(322)를 포함하는 복수의 카메라들, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이 및/또는 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 포함하는 캘리브레이션 정보(331)를 저장하는 메모리(330), 및 적어도 하나의 프로세서(340)를 포함할 수 있다. 상기 적어도 하나의 프로세서(340)는 상기 제 1 카메라(321)를 통하여 제 1 이미지를 획득하고, 상기 제 2 카메라(322)를 통하여 제 2 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서(340)는 상기 캘리브레이션 정보(331)에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정할 수 있다. 상기 적어도 하나의 프로세서(340)는 상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬할 수 있다. 상기 적어도 하나의 프로세서(340)는 상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭할 수 있다. 상기 적어도 하나의 프로세서(340)는 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 디스플레이 모듈(320)을 통하여 표시될 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서(340)는 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보(331)를 업데이트할 수 있다.The electronic device 301 according to an embodiment includes a display module 320, a first camera 321, and a plurality of devices including a second camera 322 having a narrower field of view than the first camera 321. Calibration comprising differences between the positions of the cameras, the first camera 321 and the second camera 322 and/or the difference between the optical axes of the first camera 321 and the second camera 322 It may include a memory 330 that stores information 331, and at least one processor 340. The at least one processor 340 may acquire a first image through the first camera 321 and a second image through the second camera 322. The at least one processor 340 may determine a first area corresponding to the second image within the first image based on the calibration information 331. The at least one processor 340 may align the first image and the second image by performing matching on the first area and the second image. The at least one processor 340 may stitch the aligned first image and the second image. The at least one processor 340 may obtain an image to be displayed through the display module 320 by performing an image enhancement operation using the stitched first image and the second image. The at least one processor 340 may update the calibration information 331 based on information for aligning the first image and the second image.

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 영역으로부터 제 1 특징점들을 획득하고, 상기 제 2 이미지로 상기 제 1 특징점들에 대응하는 제 2 특징점들을 획득하고, 및 상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들에 기반하여, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보를 획득하도록 구성될 수 있다.In one embodiment, the at least one processor 340 acquires first feature points from the first area, acquires second feature points corresponding to the first feature points with the second image, and It may be configured to obtain information for aligning the first image and the second image based on the positions of the first feature points and the positions of the second feature points.

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들 간 차이에 기반하여, 상기 제 1 이미지 내에 상기 제 2 이미지를 정렬하도록 구성될 수 있다.In one embodiment, the at least one processor 340 may be configured to align the second image within the first image based on a difference between the positions of the first feature points and the positions of the second feature points. You can.

일 실시예에서, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보는, 상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보 및/또는 제 2 이미지에 대한 워핑(warping)을 위한 정보를 포함할 수 있다.In one embodiment, the information for aligning the first image and the second image includes information for positioning the second image within the first image and/or information for warping the second image. may include.

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이를 업데이트하고, 및 제 2 이미지에 대한 워핑을 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 업데이트하도록 구성될 수 있다.In one embodiment, the at least one processor 340 determines the positions of the first camera 321 and the second camera 322 based on information for locating the second image within the first image. It may be configured to update the difference between the optical axes of the first camera 321 and the second camera 322 based on information for warping of the second image.

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 영역 및 상기 제 2 이미지에 기반하여, 상기 제 1 이미지의 속성(attribute)을 변환하기 위한 정보를 획득하고, 및 상기 획득된 정보에 기반하여, 상기 제 1 이미지의 속성이 상기 제 2 이미지의 속성과 동일하도록, 상기 제 1 이미지를 보정할 수 있다.In one embodiment, the at least one processor 340 obtains information for converting an attribute of the first image based on the first area and the second image, and the obtained Based on the information, the first image may be corrected so that the properties of the first image are the same as the properties of the second image.

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 이미지 및 상기 제 2 이미지에 대한 히스토그램(histogram)을 이용하여, 상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균을 획득하고, 상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균이 동일하도록, 상기 제 1 영역의 픽셀 값들을 변환하기 위한 데이터를 획득하고, 및 상기 획득된 데이터를 상기 제 1 이미지에 적용하도록 구성될 수 있다.In one embodiment, the at least one processor 340 uses a histogram for the first image and the second image to calculate the average of pixel values of the first area and the pixel of the second image. Obtain an average of the values, obtain data for transforming the pixel values of the first region such that the average of the pixel values of the first region and the average of the pixel values of the second image are the same, and the obtained and may be configured to apply data to the first image.

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 영역의 크기가 상기 제 2 이미지의 크기와 동일하도록, 상기 제 1 이미지에 대한 업스케일링(upscaling)을 수행하도록 구성될 수 있다.In one embodiment, the at least one processor 340 may be configured to perform upscaling on the first image such that the size of the first area is the same as the size of the second image. .

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 학습된 인공 지능 모델을 이용하여, 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지에 대한 SR 동작을 수행하도록 구성될 수 있다.In one embodiment, the at least one processor 340 may be configured to perform an SR operation on the stitched first image and the second image using a learned artificial intelligence model.

일 실시예에서, 상기 적어도 하나의 프로세서(340)는, 상기 디스플레이 모듈(320)을 통하여 표시될 이미지를 획득한 후, 줌 배율을 변경하는 사용자 입력에 기반하여, 상기 획득된 이미지의 일 지점을 기준으로 상기 획득된 이미지를 확대 또는 축소하도록 구성될 수 있다.In one embodiment, the at least one processor 340 acquires an image to be displayed through the display module 320 and then selects a point of the acquired image based on a user input that changes the zoom factor. It may be configured to enlarge or reduce the acquired image as a reference.

도 6은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 흐름도(600)이다.FIG. 6 is a flowchart 600 for explaining a method of providing an image, according to an embodiment.

도 7은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 도면이다.Figure 7 is a diagram for explaining a method of providing an image, according to an embodiment.

도 6 및 도 7을 참조하면, 동작 601에서, 일 실시예에서, 프로세서(340)는, 제 1 카메라(321)를 통하여 제 1 이미지(이하, 제 1 카메라(321)를 통하여 획득된 이미지를 "제 1 이미지"로 지칭함)를 획득하고, 제 2 카메라(322)를 통하여 제 2 이미지(이하, 제 2 카메라(322)를 통하여 획득된 이미지를 "제 2 이미지"로 지칭함)를 획득할 수 있다.6 and 7, in operation 601, in one embodiment, the processor 340 captures a first image through the first camera 321 (hereinafter referred to as an image acquired through the first camera 321). It is possible to acquire a “first image”) and acquire a second image through the second camera 322 (hereinafter, the image acquired through the second camera 322 is referred to as the “second image”). there is.

일 실시예에서, 프로세서(340)는, 제 1 카메라(321)(초광각 카메라) 및 제 2 카메라(322)(광각 카메라)를 통하여, 실질적으로 동시에 제 1 이미지 및 제 2 이미지를 획득할 수 있다.In one embodiment, the processor 340 may acquire the first image and the second image substantially simultaneously through the first camera 321 (ultra-wide-angle camera) and the second camera 322 (wide-angle camera). .

일 실시예에서, 프로세서(340)는, 제 1 카메라(321)를 통하여 제 1 이미지를 획득한 후, 지정된 시간 내에, 제 2 카메라(322)를 통하여 제 2 이미지를 획득할 수 있다.In one embodiment, the processor 340 may acquire a first image through the first camera 321 and then acquire a second image through the second camera 322 within a specified time.

일 실시예에서, 제 1 이미지가 나타내는 장면(scene)은 제 2 이미지가 나타내는 장면을 포함할 수 있다. 예를 들어, 제 1 이미지가 나타내는 장면은 제 2 이미지가 나타내는 장면 외에 제 1 카메라(321)의 화각 영역 내에 존재하는 장면을 더 포함할 수 있다.In one embodiment, the scene represented by the first image may include the scene represented by the second image. For example, the scene represented by the first image may further include a scene existing within the field of view area of the first camera 321 in addition to the scene represented by the second image.

일 실시예에서, 제 1 이미지 및 제 2 이미지는 실시간으로 획득되는 프리뷰(preview) 이미지들일 수 있다. 다만, 이에 제한되지 않으며, 제 1 이미지 및 제 2 이미지는, 사용자 입력에 기반하여 획득되는 캡처 이미지들일 수 있다.In one embodiment, the first image and the second image may be preview images acquired in real time. However, the present invention is not limited thereto, and the first image and the second image may be captured images obtained based on user input.

일 실시예에서, 제 1 이미지 및 제 2 이미지는, 각각, 제 1 카메라(321) 및 제 2 카메라(322)에 의해 획득된 후, 메모리(330)(예: 갤러리(gallery) 어플리케이션)에 저장된 이미지들일 수 있다.In one embodiment, the first image and the second image are acquired by the first camera 321 and the second camera 322, respectively, and then stored in the memory 330 (e.g., a gallery application). These can be images.

도 6에서는 제 1 카메라(321)를 통하여 제 1 이미지를 획득하고, 제 2 카메라(322)를 통하여 제 2 이미지를 획득하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 제 1 카메라(321)를 통하여 제 1 이미지를 획득하고, 제 2 카메라(322)를 통하여 제 2 이미지를 획득하고, 제 3 카메라(323)를 통하여 제 3 이미지를 실질적으로 동시에(또는 지정된 시간 내에 순차적으로) 획득할 수 있다. 이하에서, 설명의 편의상, 프로세서(340)가 제 1 카메라(321)를 통하여 제 1 이미지를 획득하고, 제 2 카메라(322)를 통하여 제 2 이미지를 획득하는 예시에 대하여 설명하도록 한다.Although FIG. 6 illustrates that a first image is acquired through the first camera 321 and a second image is acquired through the second camera 322, the present invention is not limited thereto. For example, the processor 340 acquires a first image through the first camera 321, a second image through the second camera 322, and a third image through the third camera 323. Images can be acquired substantially simultaneously (or sequentially within a specified time). Below, for convenience of explanation, an example in which the processor 340 acquires a first image through the first camera 321 and a second image through the second camera 322 will be described.

일 실시예에서, 프로세서(340)는, 제 1 이미지 및 제 2 이미지가 획득된 후(및 동작 603을 수행하기 전), 제 1 이미지 및/또는 제 2 이미지의 적어도 하나의 속성을 보정하는 동작을 수행할 수 있다. 제 1 이미지 및 제 2 이미지의 적어도 하나의 속성을 보정하는 동작에 대해서는 도 8 및 도 9를 참조하여 후술하도록 한다.In one embodiment, the processor 340 is configured to: correct at least one attribute of the first image and/or the second image after the first image and the second image are acquired (and before performing operation 603). can be performed. The operation of correcting at least one attribute of the first image and the second image will be described later with reference to FIGS. 8 and 9.

동작 603에서, 일 실시예에서, 프로세서(340)는, 캘리브레이션 정보(331)에 기반하여, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역(이하, 제 1 이미지 내에서 제 2 이미지에 대응하는 영역을 "제 1 영역"으로 지칭함)을 결정할 수 있다.At operation 603, in one embodiment, the processor 340, based on the calibration information 331, selects a first region within the first image corresponding to the second image (hereinafter, within the first image to the second image). The corresponding area is referred to as “the first area”) can be determined.

일 실시예에서, 캘리브레이션 정보(331)는, 복수의 카메라들의 위치들 간 차이 및/또는 복수의 카메라들의 광축들 간 차이를 포함할 수 있다. 일 실시예에서, 캘리브레이션 정보(331)는, 복수의 카메라들의 위치들 간 차이(예: 제 1 카메라(321) 및 제 2 카메라(322)의 위치들 간 차이, 제 1 카메라(321) 및 제 3 카메라(323)의 위치들 간 차이, 및/또는 제 2 카메라(322) 및 제 3 카메라(323)의 위치들 간 차이) 및/또는 복수의 카메라들의 광축들 간 차이(예: 제 1 카메라(321)의 광축 및 제 2 카메라(322)의 광축 간 차이(예: 각도), 제 1 카메라(321)의 광축 및 제 3 카메라(323)의 광축 간 차이, 및/또는 제 2 카메라(322)의 광축 및 제 3 카메라(323)의 광축 간 차이)로 인해 발생하는, 제 1 이미지 및 제 2 이미지 간 시차(disparity)를 최소화하기 위한 정보일 수 있다.In one embodiment, the calibration information 331 may include differences between positions of a plurality of cameras and/or differences between optical axes of a plurality of cameras. In one embodiment, the calibration information 331 is a difference between the positions of a plurality of cameras (e.g., a difference between the positions of the first camera 321 and the second camera 322, the first camera 321 and the second camera 322). Differences between the positions of the three cameras 323, and/or differences between the positions of the second camera 322 and the third camera 323) and/or differences between the optical axes of a plurality of cameras (e.g., the first camera Difference (e.g., angle) between the optical axis of 321 and the optical axis of the second camera 322, the difference between the optical axis of the first camera 321 and the optical axis of the third camera 323, and/or the optical axis of the second camera 322 ) may be information for minimizing the disparity between the first image and the second image that occurs due to the difference between the optical axis of the camera 323 and the optical axis of the third camera 323.

일 실시예에서, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역은, 제 2 이미지가 나타내는 장면과 실질적으로 동일한 장면을 포함하는 영역일 수 있다. 일 실시예에서, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역은, 제 2 이미지에 포함된 특징점들과 실질적으로 동일한 특징점들을 포함하는 영역일 수 있다. 일 실시예에서, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역은, 제 2 이미지에 포함된 관심 영역(region of interest)와 실질적으로 동일한 관심 영역을 포함하는 영역일 수 있다.In one embodiment, the first area corresponding to the second image within the first image may be an area containing substantially the same scene as the scene represented by the second image. In one embodiment, the first area corresponding to the second image within the first image may be an area containing feature points that are substantially the same as feature points included in the second image. In one embodiment, the first region corresponding to the second image within the first image may be an region including a region of interest that is substantially the same as a region of interest included in the second image.

일 실시예에서, 프로세서(340)는, 캘리브레이션 정보(331)에 포함된, 복수의 카메라들의 위치들 간 차이 및/또는 복수의 카메라들의 광축들 간 차이에 기반하여, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정(예: 검출)할 수 있다.In one embodiment, the processor 340 determines a second image within the first image based on the difference between the positions of the plurality of cameras and/or the difference between the optical axes of the plurality of cameras included in the calibration information 331. The first area corresponding to the image may be determined (eg, detected).

도 6에 도시하지는 않았지만, 일 실시예에서, 프로세서(340)는, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정하기 전, 제 1 이미지 및 제 2 이미지 내에서 발생한 렌즈 왜곡을 보상할 수 있다. 예를 들어, 프로세서(340)는, 메모리(330)에 저장된 제 1 카메라(321)의 렌즈의 렌즈 왜곡 수치 및 제 2 카메라(322)의 렌즈의 렌즈 왜곡 수치를 확인할 수 있다. 프로세서(340)는, 제 1 카메라(321)의 렌즈의 렌즈 왜곡 수치 및 제 2 카메라(322)의 렌즈의 렌즈 왜곡 수치에 기반하여, 제 1 이미지 및 제 2 이미지 내에서 발생한 렌즈 왜곡(예: 방사 왜곡)을 보상할 수 있다.Although not shown in FIG. 6, in one embodiment, the processor 340 determines the lens distortion occurring within the first image and the second image before determining the first region within the first image corresponding to the second image. Compensation is possible. For example, the processor 340 may check the lens distortion value of the lens of the first camera 321 and the lens distortion value of the lens of the second camera 322 stored in the memory 330. The processor 340 calculates lens distortion (e.g., lens distortion) occurring in the first image and the second image based on the lens distortion value of the lens of the first camera 321 and the lens distortion value of the lens of the second camera 322. radiation distortion) can be compensated for.

도 6에 도시하지는 않았지만, 일 실시예에서, 프로세서(340)는, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정하기 전, 제 1 이미지에 대한 업스케일(upscaling)을 수행할 수 있다. 일 실시예에서, 제 1 카메라(321)를 통하여 획득된 제 1 이미지의 크기 및 제 2 카메라(322)를 통하여 획득된 제 2 이미지의 크기는, 동일할 수 있다. 예를 들어, 제 1 이미지 및 제 2 이미지는, 모두, 12M(예: 4000*3000(가로로 4000개의 화소 값들 및 세로로 3000개의 화소 값들))의 해상도를 가질 수 있다. 반면, 제 1 이미지가 나타내는 장면은 제 2 이미지가 나타내는 장면을 포함할 수 있다. 프로세서(340)는, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역의 크기가 제 2 이미지의 크기와 실질적으로 동일하도록(예: 대응하도록), 제 1 이미지에 대한 업스케일링을 수행(예: 제 1 이미지를 확대)할 수 있다.Although not shown in FIG. 6, in one embodiment, processor 340 may perform upscaling on the first image before determining a first region within the first image corresponding to the second image. You can. In one embodiment, the size of the first image acquired through the first camera 321 and the size of the second image acquired through the second camera 322 may be the same. For example, both the first image and the second image may have a resolution of 12M (e.g., 4000*3000 (4000 pixel values horizontally and 3000 pixel values vertically)). On the other hand, the scene represented by the first image may include the scene represented by the second image. The processor 340 performs upscaling on the first image such that the size of the first area corresponding to the second image within the first image is substantially the same as (e.g., corresponds to) the size of the second image. Example: The first image can be enlarged.

동작 605에서, 일 실시예에서, 프로세서(340)는, 제 1 영역 및 제 2 이미지에 대한 매칭(matching)을 수행함으로써, 제 1 이미지 및 제 2 이미지를 정렬(align)할 수 있다.At operation 605, in one embodiment, the processor 340 may align the first image and the second image by performing matching on the first area and the second image.

일 실시예에서, 제 1 이미지 내에서, 제 1 영역을 제 2 이미지로 대체하는 경우, 제 1 이미지 및 제 2 이미지는 정렬되지 않을 수 있다. 예를 들어, 제 1 이미지 내에서 제 1 영역을 삭제하고, 제 1 영역의 위치에 제 2 이미지를 붙이는 경우, 서로 접하는 제 1 이미지의 경계와 제 2 이미지의 경계는 정렬되지 않을 수 있다(예: 일치하지 않을 수 있다).In one embodiment, when the first area in the first image is replaced with the second image, the first image and the second image may not be aligned. For example, when deleting a first area within a first image and attaching a second image to the location of the first area, the border of the first image and the border of the second image that adjoin each other may not be aligned (e.g. : may not match).

일 실시예에서, 도 7의 참조 부호 701은, 제 1 카메라(321)에 획득된 제 1 이미지(710)(예: 제 1 카메라(321)에 의해 획득된 후 업스케일링된 이미지), 제 2 카메라(322)에 의해 획득된 제 2 이미지(720)(예: 제 2 카메라(322)에 의해 획득된 후 업스케일링된 이미지), 및 제 3 카메라(323)에 의해 획득된 제 3 이미지(730)가 중첩된 화면을 나타낼 수 있다. 도 7의 참조 부호 702는, 참조 부호 701의 상기 화면 내에 있는 영역(740)을 확대한 이미지를 나타낼 수 있다. 참조 부호 702에서, 영역(711)은 제 1 이미지(710)의 일부이고, 영역(721)은 제 2 이미지(720)의 일부이고, 영역(731)은 제 3 이미지(730)의 일부일 수 있다. 도 7의 참조 부호 702의 영역(750)와 같이, 영역(711)의 경계 및 영역(721)의 경계는, 서로 일치하지 않을 수 있다. 예를 들어, 촬영 대상이 되는 달력에 하나의 숫자 "5"가 인쇄되어 있는 반면, 도 7의 참조 부호 702의 영역(750)와 같이, 영역(750)에서 2개의 "5"가 표시될 수 있다.In one embodiment, reference numeral 701 in FIG. 7 refers to a first image 710 acquired by the first camera 321 (e.g., an image acquired by the first camera 321 and then upscaled), a second image 710 acquired by the first camera 321, and then upscaled. A second image 720 acquired by the camera 322 (e.g., an image acquired by the second camera 322 and then upscaled), and a third image 730 acquired by the third camera 323 ) can display overlapping screens. Reference numeral 702 in FIG. 7 may represent an enlarged image of the area 740 within the screen of reference numeral 701. At reference numeral 702, area 711 may be part of the first image 710, area 721 may be part of the second image 720, and area 731 may be part of the third image 730. . Like the area 750 of reference numeral 702 in FIG. 7 , the boundary of the area 711 and the boundary of the area 721 may not coincide with each other. For example, while a single number "5" is printed on a calendar to be photographed, two "5"s may be displayed in area 750, such as area 750 at reference numeral 702 in FIG. 7. there is.

일 실시예에서, 프로세서(340)는 제 1 영역 및 제 2 이미지에 대한 매칭을 수행할 수 있다. 예를 들어, 프로세서(340)는, 제 1 영역으로부터 특징점들(이하, "제 1 특징점들"로 지칭함) 및 제 2 이미지로부터 제 1 특징점들에 대응하는 특징점들(이하, "제 2 특징점들"로 지칭함)을 획득(예: 추출)할 수 있다. 프로세서(340)는, 제 1 영역 내에서 제 1 특징점들의 위치들을 확인하고, 제 2 영역 내에서 제 2 특징점들의 위치들을 확인할 수 있다. 프로세서(340)는, 제 1 특징점들의 위치들 및 제 2 특징점들의 위치들에 기반하여(예: 제 1 특징점들의 위치들 및 제 2 특징점들의 위치들 간 차이), 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보를 획득할 수 있다. 프로세서(340)는, 제 1 특징점들의 위치들 및 제 2 특징점들의 위치들(예: 제 1 특징점들의 위치들 및 제 2 특징점들의 위치들 간 차이)에 기반하여, 제 1 이미지 및 제 2 이미지를 정렬할 수 있다.In one embodiment, the processor 340 may perform matching on the first area and the second image. For example, the processor 340 generates feature points from the first area (hereinafter referred to as “first feature points”) and feature points corresponding to the first feature points from the second image (hereinafter referred to as “second feature points”). ") can be obtained (e.g. extracted). The processor 340 may check the positions of first feature points within the first area and confirm the positions of second feature points within the second area. The processor 340 generates a first image and a second image based on the positions of the first feature points and the positions of the second feature points (e.g., the difference between the positions of the first feature points and the positions of the second feature points). Information for sorting can be obtained. The processor 340 generates a first image and a second image based on the positions of the first feature points and the positions of the second feature points (e.g., the difference between the positions of the first feature points and the positions of the second feature points). You can sort.

일 실시예에서, 프로세서(340)는, 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보에 기반하여, 제 1 이미지 및 제 2 이미지를 정렬할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보에 기반하여, 제 1 이미지 내에 제 2 이미지를 정렬할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보에 기반하여, 제 1 이미지 내에서 제 2 이미지와의 경계를 포함하는 영역이 나타내는 장면과 제 2 이미지의 가장 자리 영역이 나타내는 장면이 끊김 없이 이어지도록 하기 위한, 제 1 이미지 내에 제 2 이미지를 위치시키는 동작, 및/또는 제 2 이미지(및/또는 제 1 이미지)에 대한 워핑(warping)(예: 회전 변환(rotation transform) 및/또는 원근 변환(perspective transform))을 수행할 수 있다.In one embodiment, the processor 340 may align the first image and the second image based on information for aligning the first image and the second image. For example, the processor 340 may align the second image within the first image based on information for aligning the first image and the second image. For example, the processor 340, based on information for aligning the first image and the second image, determines the scene represented by the area including the boundary with the second image within the first image and the best image of the second image. The act of positioning a second image within a first image so that the scene represented by the spot area continues seamlessly, and/or warping (e.g., rotation transformation) of the second image (and/or the first image) (rotation transform) and/or perspective transform) can be performed.

일 실시예에서, 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보는, 제 1 이미지 내에서 제 2 이미지와의 경계를 포함하는 영역이 나타내는 장면과 제 2 이미지의 가장 자리 영역이 나타내는 장면이 끊김 없이 이어지도록 하기 위한, 제 1 이미지 내에 제 2 이미지를 위치시키기 위한 정보(예: 제 1 이미지 내에서 제 2 이미지가 스티칭될 위치에 대한 정보) 및/또는 제 2 이미지(및/또는 제 1 이미지)에 대한 워핑(회전 변환 및/또는 원근 변환)을 위한 정보를 포함할 수 있다.In one embodiment, the information for aligning the first image and the second image is such that the scene represented by the area including the boundary with the second image within the first image and the scene represented by the edge area of the second image are disconnected. Information for positioning the second image within the first image (e.g., information about where the second image will be stitched within the first image) and/or the second image (and/or the first image) ) may include information for warping (rotation transformation and/or perspective transformation).

일 실시예에서, 상기 제 1 이미지 내에 제 2 이미지를 위치시키기 위한 정보는, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역의 위치와, 제 1 이미지 및 제 2 이미지가 정렬된 후 제 1 이미지 내에서의 제 2 이미지의 위치 간 차이를 포함할 수 있다.In one embodiment, the information for locating the second image within the first image includes the location of the first area corresponding to the second image within the first image, and the location of the first area after the first image and the second image are aligned. It may include differences between the positions of the second image within the first image.

일 실시예에서, 제 2 이미지(및/또는 제 1 이미지)에 대한 워핑을 위한 정보는, 제 1 이미지 및 제 2 이미지가 정렬되도록 하기 위하여, 제 1 이미지에 대하여 제 2 이미지를 회전 변환 및/또는 원근 변환하기 위하여 이용되는 각도(또는 각도의 변화량)를 포함할 수 있다.In one embodiment, the information for warping the second image (and/or the first image) includes rotating and/or rotating the second image with respect to the first image so that the first image and the second image are aligned. Alternatively, it may include the angle (or the amount of change in angle) used for perspective conversion.

동작 607에서, 일 실시예에서, 프로세서(340)는, 제 1 이미지 및 제 2 이미지를 스티칭(stitching)할 수 있다. 예를 들어, 프로세서(340)는, 정렬된 제 1 이미지 및 제 2 이미지를 스티칭(예: 결합)할 수 있다.At operation 607, in one embodiment, processor 340 may stitch the first image and the second image. For example, the processor 340 may stitch (eg, combine) the aligned first and second images.

일 실시예에서, 프로세서(340)는, 정렬된 제 1 이미지 및 제 2 이미지를 스티칭하는 동작의 일부로서, 제 1 이미지 및 제 2 이미지를 정렬한 후, 정렬된 제 1 이미지 및 제 2 이미지에 대하여 오버래핑(overlapping) 및/또는 블렌딩(blending)(예: 알파 블렌딩(alpha blending))을 수행할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지 내에서 제 2 이미지를 제외한 제 2 영역(예: 제 1 이미지 내에서 제 1 이미지 및 제 2 이미지의 경계를 포함하는 영역)의 일부를 제 2 이미지의 일부로 대체하거나, 제 2 이미지의 일부(예: 제 2 이미지 내에서 제 1 이미지 및 제 2 이미지의 경계를 포함하는 영역)를 상기 제 2 영역의 일부로 대체하는 오버래핑을 수행할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지의 투명도 및 제 2 이미지의 투명도를 조절하는 블렌딩을 수행할 수 있다.In one embodiment, as part of the operation of stitching the aligned first and second images, the processor 340 aligns the first and second images and then adds Overlapping and/or blending (e.g., alpha blending) may be performed. For example, the processor 340 divides a portion of the second area (e.g., an area including the boundary of the first image and the second image within the first image) excluding the second image within the first image into the second area. Overlapping may be performed by replacing a part of an image, or replacing a part of a second image (e.g., an area including the boundary between the first image and the second image within the second image) with a part of the second area. For example, the processor 340 may perform blending to adjust the transparency of the first image and the transparency of the second image.

동작 609에서, 일 실시예에서, 프로세서(340)는, 제 1 이미지 및 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득할 수 있다. 예를 들어, 프로세서(340)는, 동작 607을 통하여 스티칭된 제 1 이미지 및 제 2 이미지에 대한 이미지 고도화 동작을 수행함으로써, 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득할 수 있다.In operation 609, in one embodiment, the processor 340 may obtain an image to be displayed through the display module 310 by performing an image enhancement operation using the first image and the second image. For example, the processor 340 may obtain an image to be displayed through the display module 310 by performing an image enhancement operation on the stitched first and second images through operation 607.

일 실시예에서, 이미지 고도화 동작은, 이미지의 품질(quality)(또는 화질)를 향상시킬 수 있는 동작을 포함할 수 있다. 예를 들어, 이미지 고도화 동작은, SR 동작을 포함할 수 있다. 다만, 이에 제한되지 않는다.In one embodiment, an image enhancement operation may include an operation that can improve the quality (or picture quality) of an image. For example, an image enhancement operation may include an SR operation. However, it is not limited to this.

일 실시예에서, SR 동작은, 저해상도(low resolution)를 가진 하나의 이미지 또는 복수의 이미지들로부터, 하나의 고해상도(high resolution)를 가진 이미지를 획득하는 동작을 지칭할 수 있다. 예를 들어, SR 동작은, 하나의 저해상도 이미지로부터 하나의 고해상도 이미지를 획득하는 SISR(single image super resolution)(또는, "SFSR(single frame super resolution)"로도 지칭됨) 방식 또는 복수의 이미지들로부터 하나의 고해상도 이미지를 획득하는 MISR(multi image super resolution) 방식을 이용하는 동작일 수 있다.In one embodiment, the SR operation may refer to an operation of acquiring an image with high resolution from one image or multiple images with low resolution. For example, SR operation is a single image super resolution (SISR) (also referred to as “single frame super resolution” (SFSR)) method of acquiring one high-resolution image from one low-resolution image or from multiple images. This may be an operation using the MISR (multi image super resolution) method of acquiring a single high-resolution image.

일 실시예에서, 프로세서(340)는, 학습된 인공 지능 모델을 이용하여, 스티칭된 제 1 이미지 및 제 2 이미지 내에서, 제 2 이미지의 디테일(detail)이 강화되고 제 2 이미지의 패턴(pattern)에 기반하여 제 1 이미지(예: 제 1 이미지 내에서 제 2 이미지를 제외한 영역)의 디테일이 강화되도록, SR 동작을 수행할 수 있다.In one embodiment, the processor 340 uses a learned artificial intelligence model to create, within the stitched first and second images, details of the second image that are enhanced and patterns of the second image that are stitched using the learned artificial intelligence model. ), an SR operation may be performed to enhance the details of the first image (e.g., an area within the first image excluding the second image).

일 실시예에서, 프로세서(340)는, 학습된 인공 지능 모델로서, internal patch 기반 인공 지능 모델 또는 supervised CNN 기반 인공 지능 모델을 이용하여, 스티칭된 제 1 이미지 및 제 2 이미지에 대한 SR 동작을 수행할 수 있다. 다한, SR 동작을 위하여 이용되는 학습된 인공 지능 모델은 전술한 예시들에 제한되지 않는다.In one embodiment, the processor 340 performs an SR operation on the stitched first image and the second image using an internal patch-based artificial intelligence model or a supervised CNN-based artificial intelligence model as a learned artificial intelligence model. can do. However, the learned artificial intelligence model used for SR operation is not limited to the examples described above.

도 6에 도시하지는 않았지만, 일 실시예에서, 프로세서(340)는, 제 1 이미지 및 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써 획득된 이미지를 디스플레이 모듈(310)을 통하여 표시할 수 있다.Although not shown in FIG. 6 , in one embodiment, the processor 340 may display an image obtained by performing an image enhancement operation using the first image and the second image through the display module 310.

동작 611에서, 일 실시예에서, 일 실시예에서, 프로세서(340)는, 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 메모리(330)에 저장된 캘리브레이션 정보(331)를 업데이트(update)할 수 있다.At operation 611, in one embodiment, processor 340 updates calibration information 331 stored in memory 330 based on information for aligning the first image and the second image. You can (update).

일 실시예에서, 전술한 바와 같이, 프로세서(340)는, 동작 605에서 제 1 영역 및 제 2 이미지에 대한 매칭을 수행함으로써, 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보를 획득할 수 있다. 일 실시예에서, 제 1 이미지 및 제 2 이미지를 정렬하기 위한 정보는, 제 1 이미지 내에서 제 2 이미지와의 경계를 포함하는 영역이 나타내는 장면과 제 2 이미지의 가장 자리 영역이 나타내는 장면이 끊김 없이 이어지도록, 제 1 이미지 내에 제 2 이미지를 위치시키기 위한 정보 및/또는 제 2 이미지(및/또는 제 1 이미지)에 대한 워핑(예: 회전 변환 및/또는 원근 변환)을 위한 정보를 포함할 수 있다. In one embodiment, as described above, the processor 340 may obtain information for aligning the first image and the second image by performing matching on the first area and the second image in operation 605. . In one embodiment, the information for aligning the first image and the second image is such that the scene represented by the area including the border with the second image within the first image and the scene represented by the edge area of the second image are disconnected. may include information for positioning the second image within the first image and/or for warping (e.g., rotation and/or perspective transformation) of the second image (and/or the first image) You can.

일 실시예에서, 상기 제 1 이미지 내에 제 2 이미지를 위치시키기 위한 정보는, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역의 위치와, 제 1 이미지 및 제 2 이미지가 정렬된 후 제 1 이미지 내에서의 제 2 이미지의 위치 간 차이를 포함할 수 있다.In one embodiment, the information for locating the second image within the first image includes the location of the first area corresponding to the second image within the first image, and the location of the first area after the first image and the second image are aligned. It may include differences between the positions of the second image within the first image.

일 실시예에서, 프로세서(340)는, 상기 제 1 이미지 내에 제 2 이미지를 위치시키기 위한 정보에 기반하여, 메모리(330)에 저장된 캘리브레이션 정보(331)에 포함된 제 1 카메라(321) 및 제 2 카메라(322) 간 위치 차이를 업데이트할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역의 위치 및 제 1 이미지 및 제 2 이미지가 정렬된 후 제 1 이미지 내에서 제 2 이미지의 위치 간 차이에 기반하여, 제 1 카메라(321) 및 제 2 카메라(322) 간 위치 차이의 변화량을 획득(예: 산출)할 수 있다. 프로세서(340)는, 산출된 제 1 카메라(321) 및 제 2 카메라(322) 간 위치 차이의 변화량에 기반하여 메모리(330)에 저장된 캘리브레이션 정보(331)에 포함된 제 1 카메라(321) 및 제 2 카메라(322) 간 위치 차이를 업데이트할 수 있다.In one embodiment, the processor 340 controls the first camera 321 and the first camera 321 included in the calibration information 331 stored in the memory 330, based on information for locating the second image within the first image. The position difference between the two cameras 322 can be updated. For example, processor 340 may determine the difference between the position of the first region within the first image that corresponds to the second image and the position of the second image within the first image after the first and second images are aligned. Based on , the amount of change in the position difference between the first camera 321 and the second camera 322 can be obtained (eg, calculated). The processor 340 determines the first camera 321 and The position difference between the second cameras 322 can be updated.

일 실시예에서, 제 2 이미지(및/또는 제 1 이미지)에 대한 워핑을 위한 정보는, 제 1 이미지에 대하여 제 2 이미지를 회전 변환 및/또는 원근 변환하기 위하여 이용되는 각도(또는 각도의 변화량)를 포함할 수 있다.In one embodiment, the information for warping the second image (and/or the first image) includes the angle (or the change in angle) used to rotate and/or perspective transform the second image with respect to the first image. ) may include.

일 실시예에서, 프로세서(340)는, 상기 제 2 이미지(및/또는 제 1 이미지)에 대한 워핑을 위한 정보에 기반하여, 메모리(330)에 저장된 캘리브레이션 정보(331)에 포함된 제 1 카메라(321) 및 제 2 카메라(322)의 광축들 간 차이를 업데이트할 수 있다. 예를 들어, 프로세서(340)는, 상기 제 2 이미지(및/또는 제 1 이미지)에 대한 워핑을 위한 정보에 기반하여, 제 1 카메라(321) 및 제 2 카메라(322)의 광축들 간 차이의 변화량을 획득(예: 산출)할 수 있다. 프로세서(340)는, 획득된 제 1 카메라(321) 및 제 2 카메라(322)의 광축들 간 차이의 변화량에 기반하여, 제 1 카메라(321) 및 제 2 카메라(322)의 광축들 간 차이를 업데이트할 수 있다.In one embodiment, the processor 340 operates the first camera included in the calibration information 331 stored in the memory 330 based on information for warping of the second image (and/or the first image). The difference between the optical axes of the camera 321 and the second camera 322 can be updated. For example, the processor 340 determines the difference between the optical axes of the first camera 321 and the second camera 322 based on information for warping of the second image (and/or the first image). The amount of change can be obtained (e.g. calculated). The processor 340 determines the difference between the optical axes of the first camera 321 and the second camera 322 based on the obtained change in the difference between the optical axes of the first camera 321 and the second camera 322. can be updated.

도 8은, 일 실시예에 따른, 이미지의 속성을 보정하는 방법을 설명하기 위한 흐름도(800)이다.FIG. 8 is a flowchart 800 illustrating a method of correcting image properties according to an embodiment.

도 9는, 일 실시예에 따른, 이미지의 속성을 보정하는 방법을 설명하기 위한 도면(900)이다.FIG. 9 is a diagram 900 for explaining a method of correcting image properties according to an embodiment.

일 실시예에서, 도 8은, 도 6의 동작 601을 수행한 후 동작 603을 수행하기 전, 제 1 이미지 및/또는 제 2 이미지를 보정하는 동작을 설명하기 위한 도면일 수 있다.In one embodiment, FIG. 8 may be a diagram for explaining an operation of correcting the first image and/or the second image after performing operation 601 of FIG. 6 and before performing operation 603.

도 8 및 도 9를 참조하면, 동작 801에서, 일 실시예에서, 프로세서(340)는, 캘리브레이션 정보에 기반하여, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정할 수 있다. 예를 들어, 프로세서(340)는, 도 9에 도시된 바와 같이, 제 1 카메라(321)를 통하여 제 1 이미지(910)를 획득하고 제 2 카메라(322)를 통하여 제 2 이미지(920)를 획득한 후, 캘리브레이션 정보(331)에 기반하여, 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역(930)을 결정할 수 있다.Referring to FIGS. 8 and 9 , in operation 801, in one embodiment, the processor 340 may determine a first area corresponding to the second image within the first image based on calibration information. For example, as shown in FIG. 9, the processor 340 acquires the first image 910 through the first camera 321 and acquires the second image 920 through the second camera 322. After acquisition, based on the calibration information 331, the first area 930 corresponding to the second image within the first image may be determined.

동작 801은, 도 6의 동작 603과 적어도 일부가 동일 또는 유사하므로, 중복되는 설명은 생략하기로 한다.Since operation 801 is at least partially the same or similar to operation 603 of FIG. 6, overlapping descriptions will be omitted.

일 실시예에서, 동작 801이 수행되는 경우, 도 6에서 동작 603은 수행되지 않을 수 있다.In one embodiment, when operation 801 is performed, operation 603 in FIG. 6 may not be performed.

동작 803에서, 일 실시예에서, 프로세서(340)는, 제 1 영역 및 제 2 이미지에 기반하여, 제 1 이미지 및/또는 제 2 이미지의 속성(attribute)을 변환하기 위한 정보를 획득할 수 있다.At operation 803, in one embodiment, the processor 340 may obtain information for converting attributes of the first image and/or the second image based on the first area and the second image. .

일 실시예에서, 제 1 이미지 및/또는 제 2 이미지의 속성은, 제 1 이미지 및/또는 제 2 이미지의 색상, 채도, 노출(exposure), 또는 화이트밸런스(white balance)(예: 색 온도) 중 적어도 하나를 포함할 수 있다. 다만, 제 1 이미지 및/또는 제 2 이미지의 속성은 전술한 예시들에 제한되지 않는다.In one embodiment, the properties of the first image and/or second image include color, saturation, exposure, or white balance (e.g., color temperature) of the first image and/or second image. It may include at least one of: However, the properties of the first image and/or the second image are not limited to the above-described examples.

일 실시예에서, 제 1 이미지 및/또는 제 2 이미지의 속성을 변환하기 위한 정보는, 제 1 영역의 픽셀 값 및 제 2 이미지의 픽셀 값에 기반하여, 제 1 이미지의 속성이 제 2 이미지의 속성과 동일하게 되도록, 제 1 이미지의 속성을 변경하기 위한 정보를 포함할 수 있다. In one embodiment, the information for converting the properties of the first image and/or the second image is based on the pixel value of the first area and the pixel value of the second image, such that the properties of the first image are those of the second image. It may include information for changing the properties of the first image so that they become the same as the properties.

일 실시예에서, 프로세서(340)는, 제 1 영역의 픽셀 값 및 제 2 이미지의 픽셀 값 간 관계(예: 대응하는 픽셀 위치 각각에서, 제 1 영역의 픽셀 값 및 제 2 이미지의 픽셀 값 간 차이)에 기반하여, 제 1 영역의 속성을 제 2 이미지의 속성으로 변환하기 위한 데이터(예: 룩 업 테이블(look up table), 함수, 수학식, 또는 상수 값들)를 획득(예: 생성)할 수 있다. 예를 들어, 도 9에서, 프로세서(340)는, 제 1 영역(930)의 픽셀 값 및 제 2 이미지(920)의 픽셀 값에 기반하여, 제 1 영역의 속성(예: 속성 값)을 제 2 이미지의 속성(예: 속성 값)으로 변환하기 위한 데이터(940)를 획득할 수 있다.In one embodiment, processor 340 determines a relationship between pixel values of the first region and pixel values of the second image (e.g., between pixel values of the first region and pixel values of the second image, at each corresponding pixel location). Based on the difference), obtain (e.g., create) data (e.g., a look up table, function, equation, or constant values) for converting the properties of the first region to the properties of the second image. can do. For example, in FIG. 9, the processor 340 generates an attribute (e.g., attribute value) of the first area based on the pixel value of the first area 930 and the pixel value of the second image 920. 2 Data 940 for conversion into image properties (e.g., property values) can be obtained.

동작 805에서, 일 실시예에서, 프로세서(340)는, 제 1 이미지 및/또는 제 2 이미지의 속성을 변환하기 위한 정보에 기반하여, 제 1 이미지 및/또는 제 2 이미지를 보정할 수 있다.At operation 805, in one embodiment, the processor 340 may correct the first image and/or the second image based on information to transform properties of the first image and/or the second image.

일 실시예에서, 프로세서(340)는, 제 1 영역의 속성을 제 2 이미지의 속성으로 변환하기 위한 데이터(예: 데이터(940))에 기반하여, 제 1 이미지의 속성이 제 2 이미지의 속성과 동일하도록, 제 1 이미지의 속성을 변환할 수 있다. 예를 들어, 프로세서(340)는, 제 1 영역의 속성을 제 2 이미지의 속성으로 변환하기 위한 데이터를, 제 1 영역과, 제 1 이미지 내에서 제 1 영역(예: 제 1 영역(930)) 외의 영역(예: 영역(931))에 적용할 수 있다. 프로세서(340)는, 제 1 영역의 속성을 제 2 이미지의 속성으로 변환하기 위한 데이터를 제 1 이미지에 적용함으로써, 제 2 이미지와 동일한 속성을 가지는 제 1 이미지(예: 이미지(950))을 획득할 수 있다. 도 9의 이미지(950) 내에서, 영역(930)은 제 1 영역(930)에 대하여 제 1 영역의 속성을 제 2 이미지의 속성으로 변환하기 위한 데이터를 적용함으로써 획득된 영역이고, 영역(960)은 영역(931)에 대하여 제 1 영역의 속성을 제 2 이미지의 속성으로 변환하기 위한 데이터를 적용함으로써 획득된 영역일 수 있다.In one embodiment, the processor 340 converts the properties of the first image to the properties of the second image, based on data (e.g., data 940) for converting the properties of the first area into the properties of the second image. The properties of the first image may be converted to be the same as . For example, the processor 340 divides data for converting properties of the first area into properties of the second image into a first area and a first area within the first image (e.g., first area 930). ) can be applied to areas other than (e.g. area 931). The processor 340 applies data for converting the properties of the first area to the properties of the second image to the first image, thereby creating a first image (e.g., image 950) having the same properties as the second image. It can be obtained. Within the image 950 of FIG. 9, area 930 is an area obtained by applying data for converting the properties of the first area to the properties of the second image to the first area 930, and area 960 ) may be an area obtained by applying data for converting the properties of the first area to the properties of the second image to the area 931.

전술한 예시들에서는, 제 2 이미지의 속성과 제 1 이미지의 속성이 동일하도록, 제 1 이미지의 속성을 제 2 이미지의 속성으로 변환하는 예시들을 설명하였지만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 제 2 이미지의 속성과 제 1 이미지의 속성이 동일하도록, 제 2 이미지의 속성을 제 1 이미지의 속성으로 변환할 수도 있다.In the above-described examples, examples of converting the properties of the first image to the properties of the second image so that the properties of the second image and the properties of the first image are the same have been described, but the present invention is not limited thereto. For example, the processor 340 may convert the properties of the second image into the properties of the first image so that the properties of the second image and the properties of the first image are the same.

일 실시예에서, 프로세서(340)는, 제 1 이미지의 밝기 및/또는 제 2 이미지의 밝기를 보정하는 동작을 더 수행할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지 및 제 2 이미지에 대한 히스토그램(histogram)을 이용하여, 제 1 영역의 픽셀 값들의 평균 및 제 2 이미지의 픽셀 값들의 평균을 획득(예: 산출)할 수 있다. 프로세서(340)는, 제 1 영역의 픽셀 값들의 평균 및 제 2 이미지의 픽셀 값들의 평균이 동일하도록, 제 1 영역의 픽셀 값들을 변환하기 위한 데이터를 획득(예: 산출)할 수 있다. 프로세서(340)는, 제 1 이미지에 대하여 상기 획득된 데이터를 적용함으로써, 제 1 이미지의 밝기를 보정할 수 있다. 다만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 제 1 영역의 픽셀 값들의 평균 및 제 2 이미지의 픽셀 값들의 평균이 동일하도록, 제 2 영역의 픽셀 값들을 변환하기 위한 데이터를 획득할 수 있다. 프로세서(340)는, 제 2 이미지에 대하여 상기 획득된 데이터를 적용함으로써, 제 2 이미지의 밝기를 보정할 수 있다.In one embodiment, the processor 340 may further perform an operation to correct the brightness of the first image and/or the brightness of the second image. For example, the processor 340 obtains (e.g., calculates) the average of the pixel values of the first area and the average of the pixel values of the second image using the histogram for the first image and the second image. )can do. The processor 340 may obtain (eg, calculate) data for converting the pixel values of the first area so that the average of the pixel values of the first area and the average of the pixel values of the second image are the same. The processor 340 may correct the brightness of the first image by applying the obtained data to the first image. However, it is not limited to this. For example, the processor 340 may obtain data for converting the pixel values of the second area so that the average of the pixel values of the first area and the average of the pixel values of the second image are the same. The processor 340 may correct the brightness of the second image by applying the obtained data to the second image.

전술한 예시들에서는, 제 1 이미지 및/또는 제 2 이미지의 속성(및 밝기)를 보정하는 예시들을 설명하였지만, 이에 제한되지 않는다. 일 실시예에서, 프로세서(340)는, 제 1 이미지 및 제 2 이미지가 동일한 노출 및/또는 화이트 밸런스를 가지도록, 제 1 카메라(321) 및/또는 제 2 카메라(322)의 설정과 관련된 파라미터(parameter)를 제어(예: 설정, 조정)할 수 있다.In the above-described examples, examples of correcting the properties (and brightness) of the first image and/or the second image are described, but are not limited thereto. In one embodiment, the processor 340 configures parameters related to settings of the first camera 321 and/or the second camera 322 such that the first image and the second image have the same exposure and/or white balance. (parameters) can be controlled (e.g., set, adjusted).

일 실시예에서, 프로세서(340)는, 도 8의 이미지의 속성을 보정하는 동작을, 선택적으로 수행할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지 및 제 2 이미지가 제 1 카메라(321) 및 제 2 카메라(322)를 통하여 획득된 이미지들인 경우, 도 8의 이미지의 속성을 보정하는 동작(및 밝기를 보정하는 동작, 및/또는 제 1 카메라(321) 및/또는 제 2 카메라(322)의 설정과 관련된 파라미터를 제어하는 동작)을 수행할 수 있다. 프로세서(340)는, 제 1 이미지 및 제 2 이미지가 제 1 카메라(321) 및 제 2 카메라(322)를 통하여 이전에 획득되어 메모리(330)에 저장된 이미지들인 경우, 도 8의 이미지의 속성을 보정하는 동작을 수행하지 않을 수 있다.In one embodiment, the processor 340 may selectively perform an operation to correct the attributes of the image of FIG. 8. For example, when the first image and the second image are images acquired through the first camera 321 and the second camera 322, the processor 340 performs an operation of correcting the properties of the image of FIG. 8 ( and an operation of correcting brightness and/or controlling parameters related to settings of the first camera 321 and/or the second camera 322). If the first image and the second image are images previously acquired through the first camera 321 and the second camera 322 and stored in the memory 330, the processor 340 determines the properties of the image in FIG. The compensating operation may not be performed.

도 10은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 도면(1000)이다.FIG. 10 is a diagram 1000 for explaining a method of providing an image according to an embodiment.

도 6 내지 도 9를 통하여 제 1 카메라(321) 및 제 2 카메라(322) 각각을 통하여 획득된 제 1 이미지 및 제 2 이미지를 이용하여 이미지를 제공하는 동작을 설명하였지만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 3개 이상의 카메라들 각각을 통하여 획득된 3개 이상의 이미지들을 이용하여 이미지를 제공하는 동작을 수행할 수 있다.Although the operation of providing an image using the first and second images acquired through each of the first camera 321 and the second camera 322 has been described through FIGS. 6 to 9, the operation is not limited thereto. For example, the processor 340 may perform an operation of providing an image using three or more images acquired through each of three or more cameras.

도 10을 참조하면, 일 실시예에서, 프로세서(340)는, 제 1 카메라(321)를 통하여 제 1 이미지(1010)를 획득하고, 제 2 카메라(322)를 통하여 제 2 이미지(1020)를 획득하고, 제 3 카메라(323)를 통하여 제 3 이미지(1030)를 획득할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지(1010), 제 2 이미지(1020), 및 제 3 이미지(1030)를 실질적으로 동일하게(또는 지정된 시간 내에 순차적으로) 획득할 수 있다.Referring to FIG. 10 , in one embodiment, the processor 340 acquires a first image 1010 through the first camera 321 and acquires a second image 1020 through the second camera 322. and the third image 1030 can be acquired through the third camera 323. For example, the processor 340 may acquire the first image 1010, the second image 1020, and the third image 1030 substantially identically (or sequentially within a designated time).

일 실시예에서, 프로세서(340)는, 제 1 이미지(1010), 제 2 이미지(1020), 및 제 3 이미지(1030)에 대하여 도 6 내지 도 9를 통하여 설명한 동작들 중 적어도 일부와 동일 또는 유사한 동작(이하, "이미지 합성 동작"으로 지칭함)을 2회 이상 수행함으로써, 최종 이미지(예: 디스플레이 모듈(310)을 통하여 표시될 이미지)를 획득할 수 있다. 예를 들어, 프로세서(340)는, 제 1 이미지(1010) 및 제 2 이미지(1020)에 대한 이미지 합성 동작을 수행함으로써, 제 1 합성 이미지(1011)를 획득할 수 있다. 프로세서(340)는, 제 2 이미지(1020) 및 제 3 이미지(1030)에 대한 이미지 합성 동작을 수행함으로써, 제 2 합성 이미지(1021)를 획득할 수 있다. 프로세서(340)는, 제 1 합성 이미지(1011) 및 제 2 합성 이미지(1021)에 대한 이미지 합성 동작을 수행함으로써, 최종 합성 이미지(1012)를 획득할 수 있다. 다만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 제 1 이미지(1010) 및 제 2 이미지(1020)에 대한 이미지 합성 동작을 수행함으로써, 제 1 합성 이미지(1011)를 획득할 수 있다. 프로세서(340)는, 제 1 합성 이미지(1011) 및 제 3 이미지(1030)에 대한 이미지 합성 동작을 수행함으로써, 최종 합성 이미지(1012)를 획득할 수도 있다.In one embodiment, the processor 340 performs at least some of the operations described with reference to FIGS. 6 to 9 for the first image 1010, the second image 1020, and the third image 1030. By performing similar operations (hereinafter referred to as “image synthesis operations”) two or more times, a final image (eg, an image to be displayed through the display module 310) can be obtained. For example, the processor 340 may obtain the first composite image 1011 by performing an image synthesis operation on the first image 1010 and the second image 1020. The processor 340 may obtain the second composite image 1021 by performing an image synthesis operation on the second image 1020 and the third image 1030. The processor 340 may obtain the final composite image 1012 by performing an image synthesis operation on the first composite image 1011 and the second composite image 1021. However, it is not limited to this. For example, the processor 340 may obtain the first composite image 1011 by performing an image synthesis operation on the first image 1010 and the second image 1020. The processor 340 may obtain the final composite image 1012 by performing an image synthesis operation on the first composite image 1011 and the third image 1030.

도 11은, 일 실시예에 따른, 이미지를 제공하는 방법을 설명하기 위한 도면이다.FIG. 11 is a diagram for explaining a method of providing an image, according to an embodiment.

도 11을 참조하면, 일 실시예에서, 프로세서(340)는, 카메라 어플리케이션이 실행되는 동안, 복수의 카메라들(321, 322, 323) 각각을 통하여 획득된 복수의 이미지들에 대한 이미지 합성 동작을 수행함으로써, 최종 합성 이미지를 획득할 수 있다. 예를 들어, 프로세서(340)는, 카메라 어플리케이션이 실행되는 동안, 이미지를 획득하는 지정된 모드에서, 복수의 카메라들(321, 322, 323) 각각을 통하여 획득된 복수의 이미지들에 대한 이미지 합성 동작을 수행함으로써, 디스플레이 모듈(310)을 통하여 표시될 최종 합성 이미지를 획득할 수 있다.Referring to FIG. 11, in one embodiment, the processor 340 performs an image compositing operation on a plurality of images acquired through each of the plurality of cameras 321, 322, and 323 while the camera application is running. By performing this, the final composite image can be obtained. For example, while the camera application is running, the processor 340 performs an image synthesis operation for a plurality of images acquired through each of the plurality of cameras 321, 322, and 323 in a designated mode for acquiring images. By performing , the final composite image to be displayed through the display module 310 can be obtained.

일 실시예에서, 프로세서(340)는, 사용자에 의해 입력된 줌 배율과 무관하게, 복수의 카메라들(321, 322, 323) 각각을 통하여 복수의 이미지들을 획득할 수 있다. 프로세서(340)는, 획득된 복수의 이미지들에 대한 이미지 합성 동작을 수행함으로써, 디스플레이 모듈(310)을 통하여 표시될 최종 합성 이미지를 획득할 수 있다.In one embodiment, the processor 340 may acquire a plurality of images through each of the plurality of cameras 321, 322, and 323, regardless of the zoom factor input by the user. The processor 340 may obtain a final composite image to be displayed through the display module 310 by performing an image synthesis operation on the plurality of acquired images.

일 실시예에서, 프로세서(340)는, 최종 합성 이미지가 획득된 후, 사용자에 의해 입력된 줌 배율에 기반하여, 최종 합성 이미지를 확대 또는 축소하여, 디스플레이 모듈(310)을 통하여 표시할 수 있다.In one embodiment, after the final composite image is acquired, the processor 340 may enlarge or reduce the final composite image based on the zoom factor input by the user and display it through the display module 310. .

일 실시예에서, 프로세서(340)는, 줌 배율이 변경되는 경우, 디스플레이 모듈(310)을 통하여, 최종 합성 이미지 내에서 일 지점을 기준으로 최종 합성 이미지 확대 또는 축소하여 표시할 수 있다. 예를 들어, 프로세서(340)는, 줌 배율이 0.5배(0.5x)인 경우, 참조 부호 1101에 도시된 바와 같이, 제 1 카메라(321)를 통하여 획득된 제 1 이미지가 촬영한 장면과 동일한 장면을 포함하는 최종 합성 이미지(1110)를 디스플레이 모듈(310)을 통하여 표시할 수 있다. 프로세서(340)는, 줌 배율이 0.5배(0.5x)로부터 1배(1.0x)로 변경된 경우, 참조 부호 1102에 도시된 바와 같이, 최종 합성 이미지(1110)의 일 지점(1151)를 기준으로 최종 합성 이미지(1110)를 확대한 이미지(1120)를 디스플레이 모듈(310)을 통하여 표시할 수 있다. 프로세서(340)는, 줌 배율이 1배(1.0x)로부터 3배(3.0x)로 변경된 경우, 참조 부호 1103에 도시된 바와 같이, 최종 합성 이미지(1110)의 일 지점(1151)를 기준으로 이미지(1120)를 확대한 이미지(1130)를 디스플레이 모듈(310)을 통하여 표시할 수 있다. 참조 부호 1102에서 이미지(1120)의 일 지점(1152) 및 참조 부호 1103에서 이미지(1130)의 일 지점(1153)은, 모두, 참조 부호 1101에서 최종 합성 이미지(1110) 내에서의 일 지점(1151)과 동일한 지점들일 수 있다.In one embodiment, when the zoom magnification is changed, the processor 340 may enlarge or reduce the final composite image based on a point within the final composite image and display it through the display module 310. For example, when the zoom magnification is 0.5x, the processor 340 determines that the first image acquired through the first camera 321 is the same as the captured scene, as shown by reference numeral 1101. The final composite image 1110 including the scene can be displayed through the display module 310. When the zoom factor is changed from 0.5x (0.5x) to 1x (1.0x), the processor 340 uses a point 1151 of the final composite image 1110 as a reference, as shown by reference numeral 1102. An enlarged image 1120 of the final composite image 1110 can be displayed through the display module 310. When the zoom magnification is changed from 1x (1.0x) to 3x (3.0x), the processor 340 uses a point 1151 of the final composite image 1110 as a reference, as shown by reference numeral 1103. An enlarged image 1130 of the image 1120 can be displayed through the display module 310. A point 1152 in the image 1120 at 1102 and a point 1153 in the image 1130 at 1103 are both a point 1151 within the final composite image 1110 at 1101. ) may be the same points.

일 실시예에서, 프로세서(340)는, 최종 합성 이미지(1110)를 확대하여 표시 시, 화면의 일부 영역에, 축소된 최종 합성 이미지 및 축소된 최종 합성 이미지 내에서 화면을 통하여 표시되는 이미지에 대응하는 영역을 나타내는 오브젝트를 디스플레이 모듈(310)을 통하여 표시할 수 있다. 예를 들어, 프로세서(340)는, 참조 부호 1102에 도시된 바와 같이, 화면의 일부 영역에, 축소된 최종 합성 이미지(1150) 및 축소된 최종 합성 이미지(1150) 내에서 화면을 통하여 표시되는 이미지(1120)에 대응하는 영역을 나타내는 오브젝트(1151)를 디스플레이 모듈(310)을 통하여 표시할 수 있다. 예를 들어, 프로세서(340)는, 참조 부호 1103에 도시된 바와 같이, 화면의 일부 영역에, 축소된 최종 합성 이미지(1160) 및 축소된 최종 합성 이미지(1160) 내에서 화면을 통하여 표시되는 이미지(1130)에 대응하는 영역을 나타내는 오브젝트(1161)를 디스플레이 모듈(310)을 통하여 표시할 수 있다.In one embodiment, when displaying the final composite image 1110 by enlarging it, the processor 340 corresponds to the image displayed on the screen in the reduced final composite image and the reduced final composite image in some areas of the screen. An object representing an area can be displayed through the display module 310. For example, the processor 340, as shown by reference numeral 1102, displays the reduced final composite image 1150 and the image displayed on the screen within the reduced final composite image 1150 in some areas of the screen. Object 1151 representing the area corresponding to 1120 can be displayed through the display module 310. For example, the processor 340, as shown by reference numeral 1103, displays the reduced final composite image 1160 and the image displayed on the screen within the reduced final composite image 1160 in some areas of the screen. Object 1161 representing the area corresponding to 1130 can be displayed through the display module 310.

일 실시예에서, 프로세서(340)는 줌 배율을 선택하기 위한 오브젝트를 디스플레이 모듈(310)을 통하여 표시할 수 있다. 예를 들어, 프로세서(340)는, 참조 부호 1101 내지 참조 부호 1103에 도시된 바와 같이, 줌 배율 0.5배(0.5x)를 선택하기 위한 제 1 오브젝트(1141), 줌 배율 1배(1.0x)를 선택하기 위한 제 2 오브젝트(1142), 줌 배율 3배(3.0x)를 선택하기 위한 제 3 오브젝트(1143)를 포함하는 오브젝트(1140)를 디스플레이 모듈(310)을 통하여 표시할 수 있다.In one embodiment, the processor 340 may display an object for selecting a zoom factor through the display module 310. For example, the processor 340, as shown in reference numerals 1101 to 1103, selects a first object 1141 for selecting a zoom factor of 0.5x (0.5x) and a zoom factor of 1x (1.0x). An object 1140 including a second object 1142 for selecting and a third object 1143 for selecting a zoom factor of 3x (3.0x) may be displayed through the display module 310.

일 실시예에서, 프로세서(340)는, 줌 배율이 변경되는 경우, 디스플레이 모듈(310)을 통하여, 최종 합성 이미지 내에서 일 지점을 기준으로 최종 합성 이미지 확대 또는 축소하여 표시함으로써, 줌 배율 변경 시, 줌 배율들 각각에 대응하는 이미지들 각각이 부드럽게 전환되어 디스플레이 모듈(310)을 통하여 표시되도록 할 수 있다.In one embodiment, when the zoom magnification is changed, the processor 340 displays the final composite image by enlarging or reducing it based on a point within the final composite image through the display module 310, thereby displaying the final composite image when the zoom factor is changed. , each of the images corresponding to each of the zoom magnifications can be smoothly converted and displayed through the display module 310.

일 실시예에서, 전자 장치(301)에서 이미지를 제공하는 방법은, 제 1 카메라(321)를 통하여 제 1 이미지를 획득하고, 상기 제 1 카메라(321)의 화각 보다 좁은 화각을 가지는 제 2 카메라(322)를 통하여 제 2 이미지를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이 및/또는 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 포함하는 캘리브레이션 정보(331)에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정하는 동작을 포함할 수 있다. 상기 방법은 상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하는 동작을 포함할 수 있다. 상기 방법은 상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭하는 동작을 포함할 수 있다. 상기 방법은 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 전자 장치의 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득하는 동작을 포함할 수 있다. 상기 방법은 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보(331)를 업데이트하는 동작을 포함할 수 있다.In one embodiment, a method of providing an image in the electronic device 301 includes acquiring a first image through a first camera 321 and using a second camera having a narrower field of view than the first camera 321. It may include an operation of acquiring a second image through 322. The method includes a difference between the positions of the first camera 321 and the second camera 322 and/or a difference between the optical axes of the first camera 321 and the second camera 322. Based on the calibration information 331, the operation of determining a first area corresponding to the second image within the first image may be included. The method may include aligning the first image and the second image by performing matching on the first area and the second image. The method may include stitching the aligned first image and the second image. The method may include obtaining an image to be displayed through the display module 310 of the electronic device by performing an image enhancement operation using the stitched first image and the second image. The method may include updating the calibration information 331 based on information for aligning the first image and the second image.

일 실시예에서, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하는 동작은, 상기 제 1 영역으로부터 제 1 특징점들을 획득하는 동작, 상기 제 2 이미지로 상기 제 1 특징점들에 대응하는 제 2 특징점들을 획득하는 동작, 및 상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들에 기반하여, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보를 획득하는 동작을 포함할 수 있다.In one embodiment, the operation of aligning the first image and the second image includes obtaining first feature points from the first area, and adding second feature points corresponding to the first feature points to the second image. It may include obtaining information for aligning the first image and the second image based on the positions of the first feature points and the positions of the second feature points.

일 실시예에서, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하는 동작은, 상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들 간 차이에 기반하여, 상기 제 1 이미지 내에 상기 제 2 이미지를 정렬하는 동작을 포함할 수 있다.In one embodiment, the operation of aligning the first image and the second image includes aligning the second image within the first image based on differences between the positions of the first feature points and the positions of the second feature points. It may include the operation of sorting.

일 실시예에서, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보는, 상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보 및/또는 제 2 이미지에 대한 워핑을 위한 정보를 포함할 수 있다.In one embodiment, the information for aligning the first image and the second image may include information for positioning the second image within the first image and/or information for warping the second image. You can.

일 실시예에서, 상기 캘리브레이션 정보(331)를 업데이트하는 동작은, 상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이를 업데이트하는 동작 및 제 2 이미지에 대한 워핑을 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 업데이트하는 동작을 포함할 수 있다.In one embodiment, the operation of updating the calibration information 331 is based on information for positioning the second image within the first image, and the first camera 321 and the second camera 322 An operation of updating the difference between the positions of and an operation of updating the difference between the optical axes of the first camera 321 and the second camera 322 based on information for warping for the second image. You can.

일 실시예에서, 상기 방법은, 상기 제 1 영역 및 상기 제 2 이미지에 기반하여, 상기 제 1 이미지의 속성을 변환하기 위한 정보를 획득하는 동작 및 상기 획득된 정보에 기반하여, 상기 제 1 이미지의 속성이 상기 제 2 이미지의 속성과 동일하도록, 상기 제 1 이미지를 보정하는 동작을 더 포함할 수 있다.In one embodiment, the method includes, based on the first area and the second image, obtaining information for converting properties of the first image and based on the obtained information, converting the first image The method may further include correcting the first image so that its properties are the same as those of the second image.

일 실시예에서, 상기 방법은, 상기 제 1 이미지 및 상기 제 2 이미지에 대한 히스토그램을 이용하여, 상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균을 획득하는 동작, 상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균이 동일하도록, 상기 제 1 영역의 픽셀 값들을 변환하기 위한 데이터를 획득하는 동작, 및 상기 획득된 데이터를 상기 제 1 이미지에 적용하는 동작을 더 포함할 수 있다.In one embodiment, the method includes obtaining an average of pixel values of the first area and an average of the pixel values of the second image using histograms for the first image and the second image, the method comprising: Obtaining data for converting pixel values of the first area so that the average of the pixel values of the first area and the average of the pixel values of the second image are the same, and converting the obtained data to the first image. Additional actions to apply may be included.

일 실시예에서, 상기 방법은, 상기 제 1 영역의 크기가 상기 제 2 이미지의 크기와 동일하도록, 상기 제 1 이미지에 대한 업스케일링(upscaling)을 수행하는 동작을 더 포함할 수 있다.In one embodiment, the method may further include performing upscaling on the first image so that the size of the first area is the same as the size of the second image.

일 실시예에서, 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행하는 동작은, 학습된 인공 지능 모델을 이용하여, 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지에 대한 SR 동작을 수행하는 동작을 포함할 수 있다.In one embodiment, the operation of performing an image enhancement operation using the stitched first image and the second image includes SR for the stitched first image and the second image using a learned artificial intelligence model. It may include actions that perform actions.

일 실시예에서, 상기 방법은, 상기 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득한 후, 줌 배율을 변경하는 사용자 입력에 기반하여, 상기 획득된 이미지의 일 지점을 기준으로 상기 획득된 이미지를 확대 또는 축소하는 동작을 더 포함할 수 있다.In one embodiment, the method acquires an image to be displayed through the display module 310, and then changes the acquired image based on a point of the acquired image based on a user input that changes the zoom factor. The operation of enlarging or reducing may further be included.

또한, 상술한 본 문서의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD 등)와 같은 저장매체를 포함한다.Additionally, the data structure used in the above-described embodiments of this document can be recorded on a computer-readable recording medium through various means. The computer-readable recording media includes storage media such as magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical read media (eg, CD-ROM, DVD, etc.).

Claims (20)

전자 장치(301)에 있어서,
디스플레이 모듈(310);
제 1 카메라(321) 및 상기 제 1 카메라(321)의 화각 보다 좁은 화각을 가지는 제 2 카메라(322)를 포함하는 복수의 카메라들;
상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이 및/또는 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 포함하는 캘리브레이션(calibration) 정보를 저장하는 메모리(330); 및
상기 디스플레이 모듈(310), 상기 복수의 카메라들, 및 상기 메모리(330)와 작동적으로 연결된 적어도 하나의 프로세서(340)를 포함하고,
상기 적어도 하나의 프로세서(340)는,
상기 제 1 카메라(321)를 통하여 제 1 이미지를 획득하고, 상기 제 2 카메라(322)를 통하여 제 2 이미지를 획득하고,
상기 캘리브레이션 정보(331)에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정하고,
상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭(matching)을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하고,
상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭(stitching)하고,
상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득하고, 및
상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보(331)를 업데이트하도록 구성된 전자 장치(301).
In the electronic device 301,
display module 310;
A plurality of cameras including a first camera 321 and a second camera 322 having a narrower angle of view than the angle of view of the first camera 321;
Calibration including a difference between the positions of the first camera 321 and the second camera 322 and/or a difference between the optical axes of the first camera 321 and the second camera 322. Memory 330 for storing information; and
At least one processor 340 operatively connected to the display module 310, the plurality of cameras, and the memory 330,
The at least one processor 340,
Obtaining a first image through the first camera 321 and acquiring a second image through the second camera 322,
Based on the calibration information 331, determining a first area corresponding to a second image within the first image,
Aligning the first image and the second image by performing matching on the first area and the second image,
Stitching the aligned first image and the second image,
Obtaining an image to be displayed through the display module 310 by performing an image enhancement operation using the stitched first image and the second image, and
An electronic device (301) configured to update the calibration information (331) based on information for aligning the first image and the second image.
제 1 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
상기 제 1 영역으로부터 제 1 특징점들을 획득하고,
상기 제 2 이미지로 상기 제 1 특징점들에 대응하는 제 2 특징점들을 획득하고, 및
상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들에 기반하여, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보를 획득하도록 구성된 전자 장치(301).
According to claim 1,
The at least one processor 340,
Obtaining first feature points from the first area,
Obtaining second feature points corresponding to the first feature points with the second image, and
An electronic device (301) configured to obtain information for aligning the first image and the second image based on the positions of the first feature points and the positions of the second feature points.
제 1 항 또는 제 2 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들 간 차이에 기반하여, 상기 제 1 이미지 내에 상기 제 2 이미지를 정렬하도록 구성된 전자 장치(301).
The method of claim 1 or 2,
The at least one processor 340,
An electronic device (301) configured to align the second image within the first image based on a difference between the positions of the first feature points and the positions of the second feature points.
제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보는,
상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보 및/또는 제 2 이미지에 대한 워핑(warping)을 위한 정보를 포함하는 전자 장치(301).
The method according to any one of claims 1 to 3,
Information for aligning the first image and the second image is:
An electronic device (301) including information for positioning the second image within the first image and/or information for warping the second image.
제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이를 업데이트하고, 및
제 2 이미지에 대한 워핑을 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 업데이트하도록 구성된 전자 장치(301).
The method according to any one of claims 1 to 4,
The at least one processor 340,
update the difference between the positions of the first camera 321 and the second camera 322 based on information for positioning the second image within the first image, and
An electronic device (301) configured to update the difference between the optical axes of the first camera (321) and the second camera (322) based on information for warping of the second image.
제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
상기 제 1 영역 및 상기 제 2 이미지에 기반하여, 상기 제 1 이미지의 속성(attribute)을 변환하기 위한 정보를 획득하고, 및
상기 획득된 정보에 기반하여, 상기 제 1 이미지의 속성이 상기 제 2 이미지의 속성과 동일하도록, 상기 제 1 이미지를 보정하도록 구성된 전자 장치(301).
The method according to any one of claims 1 to 5,
The at least one processor 340,
Based on the first area and the second image, obtain information for converting an attribute of the first image, and
Based on the obtained information, the electronic device (301) is configured to correct the first image so that the properties of the first image are the same as the properties of the second image.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
상기 제 1 이미지 및 상기 제 2 이미지에 대한 히스토그램(histogram)을 이용하여, 상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균을 획득하고,
상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균이 동일하도록, 상기 제 1 영역의 픽셀 값들을 변환하기 위한 데이터를 획득하고, 및
상기 획득된 데이터를 상기 제 1 이미지에 적용하도록 구성된 전자 장치(301).
The method according to any one of claims 1 to 6,
The at least one processor 340,
Using histograms for the first image and the second image, obtain the average of pixel values of the first area and the average of the pixel values of the second image,
Obtaining data for converting the pixel values of the first area so that the average of the pixel values of the first area and the average of the pixel values of the second image are the same, and
An electronic device (301) configured to apply the acquired data to the first image.
제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
상기 제 1 영역의 크기가 상기 제 2 이미지의 크기와 동일하도록, 상기 제 1 이미지에 대한 업스케일링(upscaling)을 수행하도록 구성된 전자 장치(301).
The method according to any one of claims 1 to 7,
The at least one processor 340,
The electronic device 301 configured to perform upscaling on the first image such that the size of the first area is the same as the size of the second image.
제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
학습된 인공 지능 모델을 이용하여, 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지에 대한 SR 동작을 수행하도록 구성된 전자 장치(301).
The method according to any one of claims 1 to 8,
The at least one processor 340,
An electronic device (301) configured to perform an SR operation on the stitched first image and the second image using a learned artificial intelligence model.
제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
상기 적어도 하나의 프로세서(340)는,
상기 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득한 후, 줌 배율을 변경하는 사용자 입력에 기반하여, 상기 획득된 이미지의 일 지점을 기준으로 상기 획득된 이미지를 확대 또는 축소하도록 구성된 전자 장치(301).
The method according to any one of claims 1 to 9,
The at least one processor 340,
After acquiring an image to be displayed through the display module 310, an electronic device configured to enlarge or reduce the acquired image based on a point of the acquired image based on a user input that changes the zoom factor ( 301).
전자 장치(301)에서 이미지를 제공하는 방법에 있어서,
제 1 카메라(321)를 통하여 제 1 이미지를 획득하고, 상기 제 1 카메라(321)의 화각 보다 좁은 화각을 가지는 제 2 카메라(322)를 통하여 제 2 이미지를 획득하는 동작;
상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이 및/또는 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 포함하는 캘리브레이션 정보(331)에 기반하여, 상기 제 1 이미지 내에서 제 2 이미지에 대응하는 제 1 영역을 결정하는 동작;
상기 제 1 영역 및 상기 제 2 이미지에 대한 매칭을 수행함으로써, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하는 동작;
상기 정렬된 제 1 이미지 및 상기 제 2 이미지를 스티칭하는 동작;
상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행함으로써, 상기 전자 장치(301)의 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득하는 동작; 및
상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보에 기반하여, 상기 캘리브레이션 정보(331)를 업데이트하는 동작을 포함하는 방법.
In a method of providing an image from an electronic device 301,
Obtaining a first image through a first camera 321 and acquiring a second image through a second camera 322 having a narrower field of view than that of the first camera 321;
Calibration information 331 including a difference between the positions of the first camera 321 and the second camera 322 and/or a difference between the optical axes of the first camera 321 and the second camera 322 ) based on, determining a first area corresponding to a second image within the first image;
Aligning the first image and the second image by performing matching on the first area and the second image;
Stitching the aligned first image and the second image;
Obtaining an image to be displayed through the display module 310 of the electronic device 301 by performing an image enhancement operation using the stitched first image and the second image; and
A method comprising updating the calibration information 331 based on information for aligning the first image and the second image.
제 11 항에 있어서,
상기 제 1 이미지 및 상기 제 2 이미지를 정렬하는 동작은,
상기 제 1 영역으로부터 제 1 특징점들을 획득하는 동작;
상기 제 2 이미지로 상기 제 1 특징점들에 대응하는 제 2 특징점들을 획득하는 동작; 및
상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들에 기반하여, 상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보를 획득하는 동작을 포함하는 방법.
According to claim 11,
The operation of aligning the first image and the second image is,
Obtaining first feature points from the first area;
Obtaining second feature points corresponding to the first feature points from the second image; and
A method comprising obtaining information for aligning the first image and the second image based on the positions of the first feature points and the positions of the second feature points.
제 11 항 또는 제 12 항에 있어서,
상기 제 1 이미지 및 상기 제 2 이미지를 정렬하는 동작은,
상기 제 1 특징점들의 위치들 및 상기 제 2 특징점들의 위치들 간 차이에 기반하여, 상기 제 1 이미지 내에 상기 제 2 이미지를 정렬하는 동작을 포함하는 방법.
The method of claim 11 or 12,
The operation of aligning the first image and the second image is,
A method comprising aligning the second image within the first image based on a difference between the positions of the first feature points and the positions of the second feature points.
제 11 항 내지 제 13 항 중 어느 한 항에 있어서,
상기 제 1 이미지 및 상기 제 2 이미지를 정렬하기 위한 정보는,
상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보 및/또는 제 2 이미지에 대한 워핑을 위한 정보를 포함하는 방법.
The method according to any one of claims 11 to 13,
Information for aligning the first image and the second image is:
A method comprising information for positioning the second image within the first image and/or information for warping the second image.
제 11 항 내지 제 14 항 중 어느 한 항에 있어서,
상기 캘리브레이션 정보(331)를 업데이트하는 동작은,
상기 제 1 이미지 내에 상기 제 2 이미지를 위치시키기 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 위치들 간 차이를 업데이트하는 동작; 및
제 2 이미지에 대한 워핑을 위한 정보에 기반하여, 상기 제 1 카메라(321) 및 상기 제 2 카메라(322)의 광축들 간 차이를 업데이트하는 동작을 포함하는 방법.
The method according to any one of claims 11 to 14,
The operation of updating the calibration information 331 is:
updating the difference between the positions of the first camera 321 and the second camera 322 based on information for locating the second image within the first image; and
A method comprising updating the difference between the optical axes of the first camera 321 and the second camera 322 based on information for warping of the second image.
제 11 항 내지 제 15 항 중 어느 한 항에 있어서,
상기 제 1 영역 및 상기 제 2 이미지에 기반하여, 상기 제 1 이미지의 속성을 변환하기 위한 정보를 획득하는 동작; 및
상기 획득된 정보에 기반하여, 상기 제 1 이미지의 속성이 상기 제 2 이미지의 속성과 동일하도록, 상기 제 1 이미지를 보정하는 동작을 더 포함하는 방법.
The method according to any one of claims 11 to 15,
Obtaining information for converting properties of the first image based on the first area and the second image; and
Based on the obtained information, the method further includes correcting the first image so that the properties of the first image are the same as the properties of the second image.
제 11 항 내지 제 16 항 중 어느 한 항에 있어서,
상기 제 1 이미지 및 상기 제 2 이미지에 대한 히스토그램을 이용하여, 상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균을 획득하는 동작;
상기 제 1 영역의 픽셀 값들의 평균 및 상기 제 2 이미지의 픽셀 값들의 평균이 동일하도록, 상기 제 1 영역의 픽셀 값들을 변환하기 위한 데이터를 획득하는 동작; 및
상기 획득된 데이터를 상기 제 1 이미지에 적용하는 동작을 더 포함하는 방법.
The method according to any one of claims 11 to 16,
Obtaining an average of pixel values of the first area and an average of pixel values of the second image using histograms for the first image and the second image;
acquiring data for converting pixel values of the first area so that the average of the pixel values of the first area and the average of the pixel values of the second image are the same; and
The method further includes applying the acquired data to the first image.
제 11 항 내지 제 17 항 중 어느 한 항에 있어서,
상기 제 1 영역의 크기가 상기 제 2 이미지의 크기와 동일하도록, 상기 제 1 이미지에 대한 업스케일링(upscaling)을 수행하는 동작을 더 포함하는 방법.
The method according to any one of claims 11 to 17,
The method further includes performing upscaling on the first image so that the size of the first area is the same as the size of the second image.
제 11 항 내지 제 18 항 중 어느 한 항에 있어서,
상기 스티칭된 제 1 이미지 및 상기 제 2 이미지를 이용한 이미지 고도화 동작을 수행하는 동작은,
학습된 인공 지능 모델을 이용하여, 상기 스티칭된 제 1 이미지 및 상기 제 2 이미지에 대한 SR 동작을 수행하는 동작을 포함하는 방법.
The method according to any one of claims 11 to 18,
The operation of performing an image enhancement operation using the stitched first image and the second image includes,
A method comprising performing an SR operation on the stitched first image and the second image using a learned artificial intelligence model.
제 11 항 내지 제 19 항 중 어느 한 항에 있어서,
상기 디스플레이 모듈(310)을 통하여 표시될 이미지를 획득한 후, 줌 배율을 변경하는 사용자 입력에 기반하여, 상기 획득된 이미지의 일 지점을 기준으로 상기 획득된 이미지를 확대 또는 축소하는 동작을 더 포함하는 방법.
The method according to any one of claims 11 to 19,
After acquiring the image to be displayed through the display module 310, based on a user input that changes the zoom factor, further includes the operation of enlarging or reducing the acquired image based on a point of the acquired image. How to.
KR1020220176829A 2022-11-25 2022-12-16 Method for providing image and electronic device for supporting the same KR20240078250A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/017143 WO2024111924A1 (en) 2022-11-25 2023-10-31 Method for providing image, and electronic device supporting same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220160866 2022-11-25

Publications (1)

Publication Number Publication Date
KR20240078250A true KR20240078250A (en) 2024-06-03

Family

ID=

Similar Documents

Publication Publication Date Title
US11949985B2 (en) Electronic device including multiple cameras and method of controlling electronic device
US20230209193A1 (en) Image stabilization method and electronic device therefor
US20230209202A1 (en) Electronic device for performing image stabilization, and operating method therefor
US20240013405A1 (en) Object tracking method and electronic apparatus therefor
US20230410268A1 (en) Method for providing image, and electronic device supporting same
US20230074962A1 (en) Electronic device including a plurality of cameras and operating method thereof
US20220360713A1 (en) Electronic device including camera
KR20240078250A (en) Method for providing image and electronic device for supporting the same
US20230164420A1 (en) Electronic device including reflector and lens assembly
US20240078685A1 (en) Method for generating file including image data and motion data, and electronic device therefor
US20230070184A1 (en) Method for providing image and electronic device supporting the same
US11991446B2 (en) Method of image stabilization and electronic device therefor
US20230199134A1 (en) Electronic device applying bokeh effect to image and operating method thereof
US20230086383A1 (en) Method for photographing in multiple directions through one camera and electronic device thereof
US20240056687A1 (en) Image processing method and electronic device for supporting same
US20230215018A1 (en) Electronic device including camera and method for generating video recording of a moving object
US20240089609A1 (en) Image processing method and electronic device therefor
EP4228246A1 (en) Electronic device capable of auto-focusing and method for operating same
KR20240056374A (en) Electronic apparatus and operating method for obtaining multi-exposed image
KR20240010372A (en) Method for correcting camera shake and electronic device for supporting the same
KR20240057945A (en) Electronic apparatus and operating method for generating high dynamic range image
KR20230165667A (en) Camera module and electronic device having the same
KR20240057293A (en) Method for providing image and electronic device for supporting the same
KR20240079123A (en) An electronic device for determining view area of an image and method thereof
KR20240049069A (en) Method and electronic device for controlling camera