KR20230095782A - Electronic device and method for generating high-definition image - Google Patents
Electronic device and method for generating high-definition image Download PDFInfo
- Publication number
- KR20230095782A KR20230095782A KR1020220096267A KR20220096267A KR20230095782A KR 20230095782 A KR20230095782 A KR 20230095782A KR 1020220096267 A KR1020220096267 A KR 1020220096267A KR 20220096267 A KR20220096267 A KR 20220096267A KR 20230095782 A KR20230095782 A KR 20230095782A
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- image
- data
- target region
- generating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000010801 machine learning Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 23
- 238000013135 deep learning Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 230000006872 improvement Effects 0.000 description 26
- 230000003287 optical effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000012937 correction Methods 0.000 description 12
- 238000013527 convolutional neural network Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- PBGKNXWGYQPUJK-UHFFFAOYSA-N 4-chloro-2-nitroaniline Chemical compound NC1=CC=C(Cl)C=C1[N+]([O-])=O PBGKNXWGYQPUJK-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000003705 background correction Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/54—Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Studio Devices (AREA)
Abstract
Description
본 개시의 기술적 사상은 전자 장치에 관한 것이며, 더욱 상세하게는, 전자장치를 이용하여 고화질 영상을 생성하는 방법에 관한 것이다.The technical spirit of the present disclosure relates to an electronic device, and more particularly, to a method for generating a high-definition image using an electronic device.
이미지 센서(image sensor)는 대상물의 2 차원적 또는 3 차원적 이미지를 캡쳐(capture)하는 장치이다. 이미지 센서는 대상물로부터 반사되는 빛의 세기에 따라 반응하는 광전 변환 소자를 이용해 대상물의 이미지를 생성한다. 최근 CMOS (Complementary Metal-Oxide Semiconductor) 기술이 발전하면서, CMOS를 이용한 CMOS 이미지 센서가 널리 사용되고 있다. 이미지 센서는 픽셀 어레이를 포함할 수 있고, 이미지 센서가 고화소로 구현됨에 따라 픽셀 어레이는 많은 수의 칼라 픽셀들을 포함할 수 있다. 이미지 센서로부터 출력된 로(raw) 영상을 RGB 영상 등의 소정의 패턴으로 변환하기 위해 보간(interpolation) 및/또는 외삽에 기반하는 리모자이크(Remosaic) 처리가 수행될 수 있다.An image sensor is a device that captures a two-dimensional or three-dimensional image of an object. An image sensor generates an image of an object using a photoelectric conversion element that reacts according to the intensity of light reflected from the object. With the recent development of CMOS (Complementary Metal-Oxide Semiconductor) technology, CMOS image sensors using CMOS are widely used. The image sensor may include a pixel array, and as the image sensor is implemented with high pixels, the pixel array may include a large number of color pixels. Remosaic processing based on interpolation and/or extrapolation may be performed to convert the raw image output from the image sensor into a predetermined pattern such as an RGB image.
이미지 센서는 고화질 영상을 생성하기 위하여 병합된 픽셀(merged pixel) 및 ISP 연산 기능을 이용할 수 있다. 전자 장치는 테트라 셀(tetra cell), 큐셀(Qcell) 등의 병합된 픽셀을 이용하여 고화질 영상을 생성할 수 있다. 이미지 센서가 수행할 수 있는 ISP 연산 기능에는 보간(interpolation), 자동 화이트 밸런스(auto white balance) 조정, 색 보정(color correction), 감마 보정(gamma correction)과 같은 기능이 포함될 수 있다.The image sensor may use a merged pixel and an ISP calculation function to generate a high-definition image. An electronic device may generate a high-definition image using merged pixels such as tetra cells and Qcells. ISP calculation functions that can be performed by the image sensor may include functions such as interpolation, auto white balance adjustment, color correction, and gamma correction.
한편, 이미지 센서가 복잡한 영상(예: 엣지(edge)가 많은 영상)을 고화질 영상으로 생성하기 위해서, 이미지 센서가 많은 정보를 처리할 필요가 있다. 이와 같이 많은 정보를 처리하는 방법의 하나로서, 전자 장치는 머신 러닝(machine learning)을 이용하여 복잡한 영상을 고화질로 생성할 수 있다. 전자 장치는, 예를 들어, 인공신경망(artificial neural network)을 이용하여 고화질 영상을 생성할 수 있다. 인공 신경망은 머신 러닝의 서브 세트로, 하나의 입력 계층, 하나 이상의 은닉 계층 및 하나의 출력 계층을 포함하는 머신 러닝 알고리즘의 핵심이다. 고화질 영상을 생성하기 위한 머신 러닝은 이미지 센서에서 수행될 수도 있고, 어플리케이션 프로세서에서 수행될 수도 있다.Meanwhile, in order for an image sensor to generate a complex image (eg, an image with many edges) as a high-definition image, the image sensor needs to process a lot of information. As one of the methods for processing such a lot of information, the electronic device can generate a complex image with high quality using machine learning. The electronic device may generate a high-definition image using, for example, an artificial neural network. Artificial neural networks are a subset of machine learning and are the core of machine learning algorithms that include one input layer, one or more hidden layers and one output layer. Machine learning for generating a high-definition image may be performed in an image sensor or an application processor.
고화질 영상을 생성하기 위해 이미지 센서에서 머신 러닝을 수행하는 경우, 영상 생성을 위한 시간이 너무 오래 걸리는 문제점이 있었다. 또한, 이미지 센서가 가지고 있는 자원(resource)의 부족으로 인하여 고화질 영상을 생성하는 데 한계가 있었다.When machine learning is performed on an image sensor to generate a high-definition image, there is a problem in that image generation takes too long. In addition, there is a limit to generating a high-definition image due to a lack of resources possessed by the image sensor.
본 개시의 기술적 사상은, 영상을 생성하는데 걸리는 시간을 감소시키기 위해 어플리케이션 프로세서에서 머신 러닝을 수행하여 고화질 영상을 생성하는 방법 및 전자 장치를 제공할 수 있다.The technical idea of the present disclosure may provide a method and electronic device for generating a high-definition image by performing machine learning in an application processor in order to reduce the time required to generate the image.
또한, 본 개시의 기술적 사상은, 이미지 센서의 자원을 확보하기 위해 어플리케이션 프로세서에서 머신 러닝을 수행하는 전자 장치 및 고화질 영상을 생성하는 방법을 제공할 수 있다.In addition, the technical idea of the present disclosure may provide an electronic device that performs machine learning in an application processor to secure resources of an image sensor and a method for generating a high-definition image.
본 개시의 기술적 사상에 따른 고화질 영상 생성을 위한 전자 장치는, 외부로부터 광을 수신하여 제1 영상 데이터를 생성하고, 상기 제1 영상 데이터에 기반하여 제2 영상 데이터를 생성하고, 상기 제1 영상 데이터 및 상기 제2 영상 데이터를 출력하는 이미지 센서, 및 상기 제1 영상 데이터에 대응하는 이미지의 적어도 일 영역의 해상도를 머신 러닝 알고리즘을 이용하여 증가시키고, 해상도가 증가된 제1 영상 데이터의 적어도 일부 및 상기 제2 영상 데이터의 적어도 일부를 포함하는 제3 영상 데이터를 출력하는 어플리케이션 프로세서를 포함한다.An electronic device for generating a high-definition image according to the technical idea of the present disclosure may generate first image data by receiving light from the outside, generate second image data based on the first image data, and generate the first image data. An image sensor outputting data and the second image data, and a resolution of at least one region of the image corresponding to the first image data is increased using a machine learning algorithm, and at least a portion of the first image data having the increased resolution and an application processor outputting third image data including at least a portion of the second image data.
또한, 본 개시의 기술적 사상에 따른 이미지 센서 및 어플리케이션 프로세서를 포함하는 전자 장치의 고화질 영상 생성 방법은, 외부로부터 광을 수신하여 제1 영상 데이터를 생성하는 동작, 상기 제1 영상 데이터에 기반하여 제2 영상 데이터를 생성하는 동작, 상기 제1 영상 데이터 및 상기 제2 영상 데이터를 출력하는 동작, 및 상기 제1 영상 데이터에 대응하는 이미지의 적어도 일 영역의 해상도를 머신 러닝 알고리즘을 이용하여 증가시키고, 해상도가 증가된 제1 영상 데이터의 적어도 일부 및 상기 제2 영상 데이터의 적어도 일부를 포함하는 제3 영상 데이터를 출력하는 동작을 포함한다.In addition, a method for generating a high-definition image of an electronic device including an image sensor and an application processor according to the technical idea of the present disclosure includes generating first image data by receiving light from the outside, and generating a first image data based on the first image data. generating 2 image data, outputting the first image data and the second image data, and increasing a resolution of at least one region of an image corresponding to the first image data using a machine learning algorithm; and outputting third image data including at least a portion of the first image data having an increased resolution and at least a portion of the second image data.
또한, 본 개시의 기술적 사상에 따른 고화질 영상 생성 방법의 기록 매체는, 외부로부터 광을 수신하여 제1 영상 데이터를 생성하는 동작, 상기 제1 영상 데이터에 기반하여 제2 영상 데이터를 생성하는 동작, 상기 제1 영상 데이터 및 상기 제2 영상 데이터를 출력하는 동작, 및 상기 제1 영상 데이터에 대응하는 이미지의 적어도 일 영역의 해상도를 머신 러닝 알고리즘을 이용하여 증가시키고, 해상도가 증가된 제1 영상 데이터의 적어도 일부 및 상기 제2 영상 데이터의 적어도 일부를 포함하는 제3 영상 데이터를 출력하는 동작을 포함하는 방법을 구현하는 명령어를 포함한다.In addition, the recording medium of the high-definition image generation method according to the technical idea of the present disclosure includes an operation of generating first image data by receiving light from the outside, an operation of generating second image data based on the first image data, The operation of outputting the first image data and the second image data, and increasing the resolution of at least one region of the image corresponding to the first image data using a machine learning algorithm, and the first image data having an increased resolution and outputting third image data including at least a portion of and at least a portion of the second image data.
본 개시의 기술적 사상에 의하면, 어플리케이션 프로세서가 영생 생성 과정의 일부를 수행함으로써 이미지 센서의 자원을 확보하고 시스템의 성능을 개선하는 효과가 있다.According to the technical concept of the present disclosure, an application processor performs a part of the process of creating immortality, thereby securing resources of an image sensor and improving system performance.
도 1은 본 개시의 일 실시예에 따른 고화질 영상 생성 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 센서 하드웨어와 어플리케이션 프로세서 간 고화질 영상을 생성하는 동작을 설명하기 위한 도면이다.
도 3a 및 도 3b는 본 개시의 일 실시예에 따른 센서 하드웨어가 고화질 영상 생성 동작을 수행하는 방법을 설명하기 위한 도면이다.
도 4는 도 3a에 도시된 고화질 영상 생성 동작에 대한 다른 실시예를 구체적으로 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 전자 장치가 고화질 영상을 생성하는 방법의 순서도이다.
도 6은 본 개시의 일 실시예에 따른 전자 장치가 머신 러닝을 이용하여 영상의 해상도를 증가시키는 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 전자 장치가 제1 영상 데이터 및 제2 영상 데이터를 생성하는 동작을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 멀티 카메라 모듈을 포함하는 전자 장치의 블록도이다. 도 9는 도 8의 카메라 모듈의 상세 블록도이다.1 is a diagram for explaining a high-definition image generating system according to an embodiment of the present disclosure.
2 is a diagram for explaining an operation of generating a high-definition image between sensor hardware and an application processor according to an embodiment of the present disclosure.
3A and 3B are diagrams for explaining a method of performing a high-definition image generation operation by sensor hardware according to an embodiment of the present disclosure.
FIG. 4 is a diagram for explaining in detail another embodiment of the high-definition image generating operation shown in FIG. 3A.
5 is a flowchart of a method for generating a high-definition image by an electronic device according to an embodiment of the present disclosure.
6 is a diagram for explaining an operation of increasing the resolution of an image by using machine learning by an electronic device according to an embodiment of the present disclosure.
7 is a diagram for explaining an operation of generating first image data and second image data by an electronic device according to an embodiment of the present disclosure.
8 is a block diagram of an electronic device including a multi-camera module according to an embodiment of the present disclosure. 9 is a detailed block diagram of the camera module of FIG. 8 .
이하, 첨부한 도면을 참조하여 본 개시의 실시예에 대해 상세히 설명한다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 고화질 영상 생성 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a high-definition image generating system according to an embodiment of the present disclosure.
도 1을 참조하면, 전자 장치(100)는 이미지 센서(110) 및 어플리케이션 프로세서(120)를 포함할 수 있다. 이미지 센서(110)는 2차원적으로 배열된 복수의 픽셀들을 포함하는 픽셀 어레이 및 리드아웃 회로를 포함할 수 있으며, 픽셀 어레이는 수신되는 광 신호들을 전기적 신호들로 변환할 수 있다. 픽셀 어레이는 예를 들면, CCD(Charge Coupled Devices) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 광전 변환 소자로 구현될 수 있으며 이외에도 다양한 종류의 광전 변환 소자로 구현될 수 있다. 이하에서는 이미지 센서(110)에 포함된 픽셀 어레이는 CMOS를 의미하는 것으로 설명하나, 본 개시를 구현하기 위하여 사용되는 픽셀 어레이는 이에 제한되지 않는다. 이미지 센서(110)는 픽셀 어레이 및 리드아웃 회로를 포함하는 반도체 칩 또는 패키지로서 구현될 수 있다.Referring to FIG. 1 , an
일 예시에 따르면, 이미지 센서(110)는 픽셀 어레이를 포함할 수 있고, 픽셀 어레이에는 각 픽셀 별로 소정의 성분의 칼라가 센싱되도록 칼라 필터 어레이(color filter array: CFA)가 배치될 수 있다. 이하, 본 개시의 실시예들을 설명함에 있어서, 칼라 필터, 칼라 픽셀, 필터 어레이 및 픽셀 어레이의 용어는 다양하게 정의될 수 있고, 예컨대, 칼라 필터 어레이는 광 감지 소자를 포함하는 픽셀 어레이 상에 배치되는 별도의 구성으로 정의될 수도 있으며, 또는 칼라 필터 어레이는 픽셀 어레이에 포함되는 구성인 것으로 정의되어도 무방할 것이다. 각각의 칼라 픽셀은 대응하는 칼라 필터를 포함하는 것으로 정의될 수도 있을 것이다. 또한, 이하의 실시예들을 설명함에 있어서, 칼라 필터 어레이 셀, CFA 블록 각각은 상기한 칼라 픽셀을 포함하는 것으로 정의될 수 있을 것이다.According to one example, the
컬러 필터 어레이는 가로 및 세로 방향들을 따라 반복하게 배치되는 다수의 CFA 블록들을 포함할 수 있고, 각각의 CFA 블록들은 소정의 사이즈를 갖는 칼라 픽셀들을 포함할 수 있다. 일 예시에 따르면, CFA 블록들은 패턴에 따라 배열될 수 있다. 일 예시에 따르면, CFA 블록은 베이어(Bayer) 패턴에 따라 배열될 수 있다. 예를 들어, CFA 블록들은 2x2로 배치된 패턴에서, 좌측 상단은 청색, 좌측 하단 및 우측 상단은 녹색, 우측 하단은 적색에 대응하도록 배치될 수 있다. 다른 일 예시에 따르면, CFA 블록은 하나의 컬러 단위를 2x2로 배치한 테트라 패턴(Tetra pattern), 3x3으로 배치한 노나 패턴(Nona pattern), 4x4로 배치한 헥사데카 패턴(Hexadeca pattern) 등 다양한 패턴에 따라 배열될 수 있다. 이하에서는, 서술의 편의를 위해 컬러 필터 어레이에 포함된 CFA 블록들은 베이어 패턴에 대응하는 것을 가정하여 서술하나, 본 개시의 사상은 여기에 제한 해석되지 않음은 충분히 이해될 것이다.The color filter array may include a plurality of CFA blocks repeatedly disposed along horizontal and vertical directions, and each CFA block may include color pixels having a predetermined size. According to one example, CFA blocks may be arranged according to a pattern. According to one example, the CFA blocks may be arranged according to a Bayer pattern. For example, in a 2x2 pattern, CFA blocks may be arranged such that the upper left side corresponds to blue, the lower left and upper right portions correspond to green, and the lower right side corresponds to red. According to another example, the CFA block has various patterns such as a Tetra pattern in which one color unit is arranged in 2x2, a Nona pattern in which one color unit is arranged in 3x3, and a Hexadeca pattern in which one color unit is arranged in 4x4 can be arranged according to Hereinafter, for convenience of description, it is assumed that the CFA blocks included in the color filter array correspond to the Bayer pattern, but it will be fully understood that the spirit of the present disclosure is not limited thereto.
일 실시예에 따르면, 이미지 센서(110)는 센서 하드웨어의 일부일 수 있다. 센서 하드웨어는 이미지 센서(110)로부터 수신된 이미지 데이터에 대한 리모자이크 처리 동작 또는 디모자이크 처리 동작을 포함하는 이미지 처리 동작을 수행할 수 있다. According to one embodiment, the
어플리케이션 프로세서(120)는 이미지 데이터에 대해 크로스 토크 보정(crosstalk correction), 디스펙클(despeckle) 동작 등의 프리-프로세싱을 수행할 수 있고, 풀 이미지 데이터에 대한 샤프닝 동작 등의 포스트-프로세싱을 더 수행할 수도 있다. 또한, 예를 들어, 어플리케이션 프로세서(120)는 자동 다크 레벨 보정(ADLC: Auto Dark Level Compensation), 불량 픽셀 보정(bad Pixel Correction), 렌즈 음영 보정(Lens Shading Correction), 감마 보정(Gamma Correction), 색필터 배열 보간(color filter array interpolation), 색보정(color correction), 색 향상(color enhancement) 등의 노이즈를 저감하고, 화질 개선을 위한 이미지 신호 처리를 수행할 수 있다. 또한, 어플리케이션 프로세서(120)는 화질 개선을 위한 이미지 신호 처리를 하여 생성한 이미지 데이터를 압축 처리하여 이미지 파일을 생성할 수 있으며, 또는 상기 이미지 파일로부터 이미지 데이터를 복원할 수 있다. 어플리케이션 프로세서(120)는 화질 개선을 위한 머신 러닝(예: 딥 러닝)을 수행할 수 있다. 어플리케이션 프로세서(120)가 머신 러닝을 이용하여 영상의 화질을 개선하는 동작은 도 3a 및 도 3b에서 후술한다. 어플리케이션 프로세서(120) 및 이하에서 서술되는 모듈의 구성은 소정의 프로세서에 의해서 실행되는 소프트웨어 블록이거나, 전용의 하드웨어 블록 및 프로세싱 유닛의 조합으로 구현될 수 있다.The
어플리케이션 프로세서(120)는 이미지 처리 동작을 수행함으로써, 이미지 데이터의 형식을 변환할 수 있다. 어플리케이션 프로세서(120)는 베이어 패턴, 테트라 패턴 또는 헥사데카 패턴 등의 컬러 필터 패턴에 대응하는 이미지 데이터를 RGB 형식의 풀 컬러 이미지 데이터로 변환하여 생성할 수 있다.The
어플리케이션 프로세서(120)로 컬러 정보를 포함하는 입력 이미지 데이터가 입력될 수 있다. 입력 이미지 데이터는 이미지 센서(110)로부터 수신된 이미지 데이터일 수도 있고, 또는, 이미지 데이터가 어플리케이션 프로세서(120)로 수신된 후 보정 처리된 데이터일 수도 있다.Input image data including color information may be input to the
어플리케이션 프로세서(120)는 카메라의 실시간 동작(zero shutter lag)을 위하여, 별도의 명령 없이도 프리뷰에 출력되는 영상을 저장할 수 있다. 셔터 랙(shutter lag)은 사용자가 카메라의 촬영 버튼을 눌러 셔터가 트리거된 시간에서부터 사진이 실제로 기록될 때까지의 시간 지연을 의미한다. 어플리케이션 프로세서(120)는 이와 같은 시간 지연을 최소화하기 위하여 별도의 명령이 없이도 카메라 프리뷰에 출력되는 영상을 저장할 수 있다. 셔터가 트리거되면 어플리케이션 프로세서(120)는 셔터가 실제로 트리거된 시간의 프레임을 확인하고, 시간 지연이 발생하지 않도록 사진 및 영상을 기록할 수 있다.The
예를 들어, 사용자가 카메라 기능을 실행하여 제1시각부터 프리뷰 화면이 디스플레이에 출력되면, 어플리케이션 프로세서(120)는 제1시각부터 프리뷰 화면을 기록한 영상을 저장할 수 있다. 사용자가 카메라 셔터를 제2시각에 누르면 셔터 랙으로 인하여 실제로는 제3시각부터 촬영이 시작될 수 있으나, 제1시각부터 영상을 기록하였으므로 제2시각에 해당하는 프레임부터 영상을 기록한 것처럼 촬영할 수 있다.For example, when a user executes a camera function and a preview screen is output to the display from the first time, the
도 2는 본 개시의 일 실시예에 따른 센서 하드웨어와 어플리케이션 프로세서 간 고화질 영상을 생성하는 동작을 설명하기 위한 도면이다.2 is a diagram for explaining an operation of generating a high-definition image between sensor hardware and an application processor according to an embodiment of the present disclosure.
센서 하드웨어(210)는 이미지 센서(212) 및 제1 ISP 블록(214)을 포함할 수 있다. 이미지 센서(212)는 도 1에서 전술한 이미지 센서(110)의 동작을 수행할 수 있다. 예를 들어, 이미지 센서(212)는 외부로부터 광을 수신하여 이미지 데이터를 생성할 수 있다. 이하에서는 편의상 이미지 데이터는 영상 데이터를 의미하는 것으로 서술하나, 본 개시가 적용될 수 있는 데이터는 영상 데이터에 제한되지 않으며 이미지 데이터와 같은 다양한 형식의 데이터를 포함할 수 있다.The
센서 하드웨어(210)는 제1 영상 데이터(d_1) 및 제2 영상 데이터(d_2)를 생성할 수 있다. 예를 들어, 제1 영상 데이터(d_1)는 외부로부터 광을 수신하여 생성한 로 데이터(raw data)일 수 있고, 제2 영상 데이터(d_2)는 로 데이터로 영상을 생성하기 위하여 변환한 베이어 데이터(Bayer data)일 수 있다. 일 실시예에 따르면, 센서 하드웨어(210)는 외부로부터 수신한 광을 이용하여 제1 영상 데이터(d_1)를 생성하고, 생성한 제1 영상 데이터(d_1)의 형식을 변환하여 제2 영상 데이터(d_2)를 생성할 수 있다. 제1 영상 데이터(d_1) 및 제2 영상 데이터(d_2)는 센서 하드웨어(210)가 영상 또는 이미지를 생성하기 위해 사용되는 데이터일 수 있다. 로 데이터는 하나의 컬러 단위를 2x2로 배치한 테트라 셀, 3x3으로 배치한 노나 셀, 4x4로 배치한 헥사데카 셀, 큐셀와 같은 셀로 구성된 데이터를 포함할 수 있으나, 이에 제한되지 않는다. 베이어 데이터는 컬러 픽셀의 패턴이 베이어 패턴(Bayer pattern)으로 나타나는 데이터로, 영상을 생성하기 위하여 로 데이터로부터 산출되는 데이터이다.The
이미지 센서(212)는 제1 영상 데이터(d_1)를 센서 하드웨어(210) 내의 제1 ISP 블록(214)으로 전송할 수 있다. 제1 ISP 블록(214)은 센서 내에서 전처리를 하기 위한 블록으로, 제2 영상 데이터(d_2)를 생성하기 위한 ISP 연산을 수행할 수 있다. 예를 들어, 이미지 센서(212)가 제1 ISP 블록(214)으로 제1 영상 데이터(d_1)를 전송하면, 제1 ISP 블록(214)은 제1 영상 데이터(d_1)를 수신하여 ISP 연산(예: remosaic)을 수행하여 제2 영상 데이터(d_2)를 생성할 수 있다. 제1 ISP 블록(214)은 생성한 제2 영상 데이터(d_2)를 제2 ISP 블록(222)으로 전송할 수 있다.The
제2 영상 데이터(d_2)는 자동 초점(auto focus: AF), 자동 노출(auto exposure: AE), 자동 화이트 밸런스(auto white balance: AWB) 기능을 수행하기 위해 사용될 수 있다. 제2 ISP 블록(222)에서 제1 ISP 블록(214)로 전송된 제2 영상 데이터(d_2)는 AE, AF, AWB 기능 수행에 이용될 수 있다. 제1 ISP 블록(214)은 AE, AF, AWB 기능 수행이 가능하도록, 수신한 제1 영상 데이터(d_1)를 제2 영상 데이터(d_2)로 변경할 수 있다.The second image data d_2 may be used to perform auto focus (AF), auto exposure (AE), and auto white balance (AWB) functions. The second image data d_2 transmitted from the second ISP block 222 to the first ISP block 214 may be used to perform AE, AF, and AWB functions. The
어플리케이션 프로세서(220)는 제2 ISP 블록(222), 타깃 영역 선택 블록(compensation selection block) (224) 및 화질 개선 블록 (image quality improvement block) (226)을 포함할 수 있다. 타깃 영역 선택 블록(224)은 이미지 센서(212)로부터 제1 영상 데이터(d_1)를 수신하고, 제1 영상 데이터(d_1)에 대응하는 제1 영상에서 해상도를 증가시킬 타깃 영역을 검출할 수 있다. 타깃 영역 선택 블록(224)은 다양한 기준에 따라 타깃 영역을 검출할 수 있다. 일 실시예에 따르면, 타깃 영역 선택 블록(224)은, 수신된 제1 영상 데이터(d_1)에 대응하는 제1 영상의 적어도 일 영역에 포함된 엣지가 특정 조건을 만족하면, 해당 영역을 타깃 영역으로 선택할 수 있다. 엣지는 영상 또는 이미지에서 밝기가 급격하게 변화하는 영역 사이의 경계선을 의미할 수 있다. 예를 들어, 타깃 영역 선택 블록(224)은 수신한 데이터에 대응하는 영상의 영역별 밝기값을 확인할수 있다. 확인한 영역별 밝기 값에서, 인접한 두 영역 간의 밝기값의 차이가 정해진 값 이상이면 인접한 두 영역 사이의 경계를 엣지로 결정할 수 있다. 타깃 영역 선택 블록(224)은 수신된 제1 영상 데이터(d_1)에 대응하는 제1 영상에서, 단위 면적 당 분포한 엣지의 개수가 정해진 기준보다 큰 경우, 해당 영역을 타깃 영역으로 결정할 수 있다. 일 실시예에 따르면, 타깃 영역 선택 블록(224)은 제1 영상 데이터(d_1)에 기반하여 모호성 맵(ambiguity map)을 생성하고, 모호성 맵을 이용하여 제1 영상 데이터(d_1)에 대응하는 제1 영상에서 타깃 영역을 결정할 수도 있다. 일 실시예에 따르면, 타깃 영역 선택 블록(224)은 수신한 데이터에 대응하는 영상에서 정해진 기준을 만족하는 영역이 복수 개인 경우, 복수 개의 영역을 타깃 영역으로 결정할 수 있다. 또한, 타깃 영역은 제1 영상 데이터(d_1)에 대응하는 제1 영상과, 제2 영상 데이터(d_2)에 대응하는 제2 영상에서 동일한 영역일 수 있다. 타깃 영역 선택 블록(224)는 상기 설명한 방법으로 생성한 적어도 하나의 타깃 영역에 대한 타깃 영역 정보를 생성할 수 있다. 타깃 영역 선택 블록(224)는 제1 영상 데이터(d_1) 및 타깃 영역 정보를 포함하는 화질 개선 정보(d_11)를 화질 개선 블록(226)으로 전달할 수 있다.The
일 실시예에 따르면, 이미지 센서(210)는 타깃 영역 정보에 기반하여 제1 영상 데이터(d_1)를 생성할 수 있다. 이미지 센서(210)는 제2 영상 데이터(d_2)를 어플리케이션 프로세서(220)로 전송할 수 있다. 어플리케이션 프로세서(220)는 수신한 제2 영상 데이터(d_2)에 기반하여 타깃 영역 정보를 생성할 수 있다. 어플리케이션 프로세서(220)는 생성한 타깃 영역 정보를 이미지 센서(210)로 전송할 수 있다. 이미지 센서(210)는 카메라 프리뷰(preview)의 전체 영역이 아닌, 일부 영역(예: 크롭(crop)된 영역)만을 포함하는 제1 영상 데이터(d_1)를 생성할 수 있다. 이미지 센서(210)는 타깃 영역 정보에 기반하여 제1 영상 데이터(d_1)를 생성할 수 있다. 예를 들어, 이미지 센서는 제1 영상 데이터(d_1)에 대응하는 제1 영상이 타깃 영역만 포함하도록 제1 영상 데이터(d_1)를 생성할 수 있다. 이미지 센서(210)는 제1 영상이 타깃 영역만 포함하도록 생성한 제1 영상 데이터(d_1)를 어어플리케이션 프로세서(220)로 전송할 수 있다. 제1 영상 데이터(d_1)가 타깃 영역에 대응하는 데이터인 경우, 프리뷰의 모든 영역을 포함하는 데이터보다 크기가 훨씬 작아서 빠른 동작이 가능하다. 제1 영상 데이터(d_1)의 크기가 작은 실시예의 경우에도 제2 영상 데이터(d_2)는 프리뷰의 전체 영역을 포함하는 데이터일 수 있다. 어플리케이션 프로세서(220)는 타깃 영역에 대한 데이터를 포함하는 제1 영상 데이터(d_1) 및 제2 영상 데이터(d_2)를 이용하여 화질이 개선된 제3 영상 데이터(d_3)를 생성할 수 있다.According to an embodiment, the
화질 개선 블록(226)은 선택된 타깃 영역의 화질을 개선하기 위한 동작을 수행할 수 있다. 화질 개선 블록(226)은 타깃 영역 선택 블록(224)으로부터, 제1 영상 데이터(d_1) 및 타깃 영역 정보를 포함하는 화질 개선 정보(d_11)를 수신할 수 있다. 화질 개선 블록(226)은 제1 영상 데이터(d_1)에 대응하는 제1 영상에서, 타깃 영역 정보에 기반하여 타깃 영역을 확인하고, 타깃 영역의 화질이 개선된 제1 보정 영상에 대응하는 제1 보정 영상 데이터(D_1)를 생성할 수 있다. 제1 보정 영상은 제1 영상에서 타깃 영역의 해상도만 변경된 영상일 수 있다. 일 실시예에 따르면, 화질 개선 블록(226)에서는 머신 러닝(또는 딥 러닝)을 이용하여 타깃 영역의 화질을 개선할 수 있다. 화질 개선 블록(226)은, 예를 들어, CNN(convolutional neural network), DF(de-blocking filter), SAO(sample adaptive offset), VAE(variational autoencoder)와 같은 머신 러닝 알고리즘 및 필터링 기술을 이용하여 제1 영상 타깃 영역의 화질을 개선할 수 있으며, 화질 개선 블록(226)이 고화질 영상을 생성하기 위하여 사용할 수 있는 머신 러닝 알고리즘은 위에서 언급한 실시예에 제한되지 않는다. 화질 개선 블록(226)은 제2 ISP 블록(222)으로 제1 보정 영상에 대응하는 제1 보정 영상 데이터(D_1)를 전송할 수 있다.The picture
제2 ISP 블록(222)은 화질 개선 블록(226)으로부터 제1 보정 영상 데이터(D_1)를 수신하고, 제1 ISP 블록(214)으로부터 제2 영상 데이터(d_2)를 수신할 수 있다. 제2 ISP 블록(222)은 어플리케이션 프로세서(220) 내에서 ISP 연산을 수행하는 블록으로서, 센서 하드웨어(210) 내의 제1 ISP 블록(214)과 다른 기능을 수행할 수 있다. 제2 ISP 블록(222)은 제1 ISP 블록(214)으로부터 수신한 제2 영상 데이터(d_2)의 형식을 변환하는 ISP 연산을 수행할 수 있다. 예를 들어, 제2 ISP 블록(222)은 다양한 보간법(예: bilinear interpolation, pixel doubling interpolation)을 이용하여 제2 영상 데이터(d_2)를 RGB 형식의 제2 보정 영상 데이터로 변환할 수 있다. 제2 영상 데이터(d_2)는 한 픽셀 당 하나의 컬러 필터(적색, 청색, 녹색 중 하나)만을 포함하나, RGB 형식의 제2 보정 영상 데이터는 한 픽셀에 적색, 청색 및 녹색의 3가지 색이 모두 포함될 수 있다.The second ISP block 222 may receive the first corrected image data D_1 from the picture
제2 ISP 블록(222)은 제2 보정 영상 데이터와, 제1 보정 영상 데이터(D_1)를 이용하여 고화질 영상을 생성할 수 있다. 예를 들어, 제2 ISP 블록(222)은 제2 보정 영상 데이터에 대응하는 제2 보정 영상에서, 타깃 영역만 제1 보정 영상으로 대체한 제3 영상을 생성할 수 있다. 제3 영상에 대응하는 제3 영상 데이터(d_3)는, 제2 보정 영상 데이터에서 타깃 영역에 대응하는 부분만 제1 보정 영상 데이터(D_1)로 교체(혹은 삽입)한 데이터일 수 있다.The second ISP block 222 may generate a high-definition image using the second corrected image data and the first corrected image data D_1. For example, the second ISP block 222 may generate a third image in which only the target region is replaced with the first corrected image in the second corrected image corresponding to the second corrected image data. The third image data d_3 corresponding to the third image may be data obtained by replacing (or inserting) only a portion corresponding to the target region in the second corrected image data with the first corrected image data D_1.
제2 ISP 블록(222)은 이미지 센서(212)에서 실시간 처리가 필요한지 결정하고, 실시간 처리가 필요한 경우 제2 영상 데이터(d_2)를 제1 ISP 블록(214)으로 재전송할 수 있다. 예를 들어, 제2 ISP 블록(222)은 AE, AF, AWB를 실행해야 하는 경우 실시간 처리가 필요한 것으로 결정하여 제2 영상 데이터(d_2)를 제1 ISP 블록(214)으로 전송할 수 있다.The second ISP block 222 may determine whether real-time processing is required in the
도 3a 및 도 3b는 본 개시의 일 실시예에 따른 센서 하드웨어가 고화질 영상 생성 동작을 수행하는 방법을 설명하기 위한 도면이다.3A and 3B are diagrams for explaining a method of performing a high-definition image generation operation by sensor hardware according to an embodiment of the present disclosure.
센서 하드웨어(310)는 제1 영상 데이터(d_1) 및 제2 영상 데이터(d_2)를 생성할 수 있다. 도 3a는 센서 하드웨어(310)가 제1 영상 데이터(d_1) 및 제2 영상 데이터(d_2)를 생성하고, 이를 어플리케이션 프로세서로 전송하여 화질이 개선된 영상을 생성하는 과정을 도시한다. 제1 영상 데이터(d_1)는 센서 하드웨어(310)가 외부에서 수신한 광에 기반하여 생성한 로 데이터이며, 제2 영상 데이터(d_2)는 센서 하드웨어(310)가 제1 영상 데이터(d_1)를 ISP 연산을 이용하여 변형한 베이어 데이터일 수 있다. 센서 하드웨어(310)는 생성한 제1 영상 데이터(d_1) 및 제2 영상 데이터(d_2)를 어플리케이션 프로세서로 전송할 수 있다. 도 3a의 320, 330, 340 블록들은 모두 어플리케이션 프로세서 내에 포함된 블록들이다. 어플리케이션 프로세서는 모호성 맵 블록(320)(ambiguity map block), 머신 러닝 블록(330)(machine learning block) 및 화질 개선 블록(340)(refinement block)을 포함할 수 있다.The
모호성 맵 블록(320)은 수신한 제1 영상 데이터(d_1)에 기반하여 모호성 맵을 생성할 수 있다. 모호성 맵은 어플리케이션 프로세서가 영상 데이터에서 화질 개선이 필요한 영역(week point, 타깃 영역)을 검출하기 위하여 생성하는 데이터 파일일 수 있다. 어플리케이션 프로세서가 모호성 맵을 생성하기 위하여 이용할 수 있는 제1 영상 데이터(d_1)는 테트라 셀, 노나 셀, 헥사데카 셀, 큐셀 데이터가 포함될 수 있다. 모호성 맵 블록(320)은 수신한 데이터에 기반하여 모호성 맵을 생성하고, 생성한 모호성 맵을 이용하여 영상의 화질을 개선하기 위한 적어도 하나의 타깃 영역을 결정할 수 있다. 모호성 맵 블록(320)은 결정한 적어도 하나의 타깃 영역에 대한 타깃 영역 정보를 생성할 수 있다. 모호성 맵 블록(320)은 타깃 영역 정보 및 제1 영상 데이터(d_1)를 포함하는 화질 개선 정보(d_11)를 머신 러닝 블록(330)으로 전송할 수 있다.The
머신 러닝 블록(330)은 모호성 맵 블록(320)으로부터 제1 영상 데이터(d_1) 및 타깃 영역 정보를 포함하는 화질 개선 정보(d_11)를 수신할 수 있다. 머신 러닝 블록(330)은 수신한 제1 영상 데이터(d_1)에 대응하는 제1 영상의 화질 개선 작업을 수행할 수 있다. 머신 러닝 블록(330)은 머신 러닝을 이용하여 제1 영상의 적어도 하나의 타깃 영역의 화질을 개선할 수 있다. 예를 들어, 머신 러닝 블록(330)은 화질 개선을 위하여 CNN(convolutional neural network), DF(de-blocking filter), SAO(sample adaptive offset), VAE(variational autoencoder)와 같은 머신 러닝 알고리즘을 이용할 수 있다. 머신 러닝 블록(330)은 제1 영상 데이터(d_1)에 머신 러닝 알고리즘을 적용하여 제1 보정 영상 데이터(D_1)를 생성할 수 있다. 제1 보정 영상 데이터(D_1)에 대응하는 제1 보정 영상은, 제1 영상에서 타깃 영역의 해상도가 증가한 영상일 수 있다. 머신 러닝 블록(330)은 생성한 제1 보정 영상 데이터(D_1)를 화질 개선 블록(340)으로 전송할 수 있다.The
화질 개선 블록(340)은 머신 러닝 블록(330)으로부터 제1 보정 영상 데이터(D_1)를 수신하고, 센서 하드웨어(310)로부터 제2 영상 데이터(d_2)를 수신할 수 있다. 화질 개선 블록(340)은 제2 영상 데이터(d_2)의 형식을 베이어 데이터에서 RGB로 변형한, 제2 보정 영상 데이터를 생성할 수 있다. RGB파일은 베이어 데이터와는 달리 하나의 픽셀에 빨강(Red), 초록(Green), 파랑(Blue) 세 가지 색깔이 모두 포함될 수 있다. 화질 개선 블록(340)은 제2 보정 영상 데이터 및 제1 보정 영상 데이터(D_1)에 기반하여 제3 영상 데이터(d_3)를 생성할 수 있다. 일 실시예에 따르면, 화질 개선 블록(340)은 제2 보정 영상 데이터의 적어도 일부를 제1 보정 영상 데이터(D_1)의 일부로 교체하여 제3 영상 데이터(d_3)를 생성할 수 있다. 예를 들어, 화질 개선 블록(340)은 제2 보정 영상 데이터에서 타깃 영역에 대응하는 데이터를, 제1 보정 영상 데이터(D_1)에서 타깃 영역에 대응하는 데이터로 교체하여 제3 영상 데이터(d_3)를 생성할 수 있다. 제1 보정 영상 데이터(D_1)는 타깃 영역의 화질이 개선된 영상에 대응하는 데이터이기 때문에, 제3 영상 데이터(d_3)에 대응하는 제3 영상에서는 타깃 영역의 화질이 개선될 수 있다.The picture
도 3b는 화질 개선의 대상이 되는 영상의 스틸 이미지(350) 및 타깃 영역(352)을 도시한다. 모호성 맵 블록(320)은 타깃 영역(352)을 결정할 수 있다. 예를 들어, 모호성 맵 블록(320)은 영상에서 밝기가 급격하게 변하는 엣지가 가장 많은 영역을 타깃 영역(352)으로 결정할 수 있다. 이후, 머신 러닝 블록(330) 및 화질 개선 블록(340)은 머신 러닝을 이용하여 타깃 영역(352)에 대한 해상도를 증가시키고, 베이어 데이터와 합쳐 고화질 영상을 생성할 수 있다.FIG. 3B shows a
도 4는 도 3a에 도시된 고화질 영상 생성 동작에 대한 다른 실시예를 구체적으로 설명하기 위한 도면이다.FIG. 4 is a diagram for explaining in detail another embodiment of the high-definition image generating operation shown in FIG. 3A.
도 4를 참조하면, 센서 하드웨어(310)는 고화질 줌 영상을 생성할 수 있다. 예를 들어, 전자 장치를 사용하는 사용자가 카메라 앱을 실행하여 촬영된 화면이 디스플레이에 출력되는 동안에 줌 기능을 실행하면, 센서 하드웨어는 본 개시의 알고리즘을 이용하여 고화질 줌 영상을 생성할 수 있다. 이하, 도 1 내지 도 3b를 통해 설명한 내용과 중복되는 내용에 대해서는 생략하며, 고화질 줌 영상 생성 실시예에 대하여 설명하도록 한다.Referring to FIG. 4 , the
센서 하드웨어(310)는 머지드 셀(예: 테트라 셀, 노나 셀, 헥사데카 셀, 큐셀)을 이용하여 실시간 영상을 촬영할 수 있다. 도 4를 참조하면, 센서 하드웨어(310)는 컬러 픽셀을 4x4 묶음으로 배열한 헥사데카 셀을 이용하여 실시간 영상을 촬영할 수 있다. 예를 들어, 제1 프레임(400) 내에 위치하는 제1 오브젝트(402)를 실시간으로 촬영할 수 있다.The
센서 하드웨어(310)는 사용자 입력에 기초하여 제1 프레임(400) 내의 일 영역을 확대하는 줌 기능을 수행할 수 있다. 제1 프레임(400)에서 줌 된 관심 영역(region of interest: ROI)은 제2 프레임(410) 내부에 위치할 수 있으며, 제1 오브젝트(412)는 확대되어 제2 프레임(410) 내부에 표시될 수 있다. 센서 하드웨어(310)는 리모자이킹(remosaicing)과 같은 연산을 수행하여 제2 프레임(410) 내부의 컬러 픽셀을 재배열하여 제3 프레임(420)을 구성할 수 있다. 센서 하드웨어(310)는 제1 프레임(400) 및 제2 프레임(410)에서는 머지드 셀을 사용하였으나, 제3 프레임(420)에서는 해상도를 높이기 위하여 리모자이킹을 수행할 수 있다.The
어플리케이션 프로세서는 사용자 입력에 기초하여 줌 된 오브젝트(412)의 해상도를 높이기 위한 머신 러닝을 수행할 수 있다. 어플리케이션 프로세서는 제2 프레임(410)에 포함되는 이미지에 대응하는 데이터에 기초하여 모호성 맵을 생성할 수 있으며, 리모자이킹 된 제3 프레임(420)에 포함되는 이미지에 대응하는 데이터에 기초하여 딥러닝을 수행할 수 있다. 도 4의 제2 프레임(410)에 포함되는 이미지에 대응하는 데이터 및 제3 프레임(420)에 포함되는 이미지에 대응하는 데이터는 각각 도 3의 실시예에서, 제1 보정 영상 데이터 및 제2 보정 영상 데이터에 대응될 수 있다.The application processor may perform machine learning to increase the resolution of the zoomed
도 5는 본 개시의 일 실시예에 따른 전자 장치가 고화질 영상을 생성하는 방법의 순서도이다.5 is a flowchart of a method for generating a high-definition image by an electronic device according to an embodiment of the present disclosure.
단계 502에서, 이미지 센서는 외부로부터 광을 수신하여 제1 영상 데이터를 생성할 수 있다. 이미지 센서에 포함된 픽셀 어레이는 수신한 광 신호를 전기 신호로 변환하여 제1 영상 데이터를 생성할 수 있다. 예를 들어, 이미지 센서는 제1 영상을 촬영하고, 제1 영상에 대응하는 제1 영상 데이터를 생성할 수 있다. 제1 영상 데이터는 로 데이터(raw data)일 수 있다. 로 데이터는 하나의 컬러 단위를 2x2로 배치한 테트라 셀, 3x3으로 배치한 노나 셀, 4x4로 배치한 헥사데카 셀, 큐셀와 같은 셀로 구성된 데이터를 포함할 수 있다.In
단계 504에서, 센서 하드웨어는 제1 영상 데이터에 기반하여 제2 영상 데이터를 생성할 수 있다. 제2 영상 데이터는 영상 생성을 위하여 로 데이터가 변환된 베이어 데이터일 수 있다. 베이어 데이터는 이미지 센서의 칼라 픽셀 어레이가 2x2 형태로 배열된 패턴을 갖는 데이터일 수 있다. 센서 하드웨어는 제1 영상 데이터에 기반하여 제2 영상 데이터를 생성하기 위한 ISP 연산을 수행할 수 있다.In operation 504, the sensor hardware may generate second image data based on the first image data. The second image data may be Bayer data obtained by converting raw data to generate an image. The Bayer data may be data having a pattern in which color pixel arrays of the image sensor are arranged in a 2x2 shape. The sensor hardware may perform an ISP operation for generating second image data based on the first image data.
단계 506에서, 이미지 센서는 제1 영상 데이터 및 제2 영상 데이터를 출력하여 어플리케이션 프로세서로 전송할 수 있다. 이 때, 제2 영상 데이터는 어플리케이션 프로세서 내에서 ISP 연산을 수행하는 블록으로 곧바로 전송될 수 있으나, 제1 영상 데이터는 화질 개선 동작을 수행하는 블록으로 전송될 수 있다.In
단계 510에서, 어플리케이션 프로세서는 제2 영상 데이터의 실시간 처리 수행이 필요한지 결정할 수 있다. 예를 들어, 어플리케이션 프로세서는 현재 이미지 센서에서 자동 초점(auto focus, AF), 자동 노출(auto exposure, AE), 자동 화이트 밸런스(auto white balance, AWB) 기능을 수행할지 여부를 결정할 수 있다. AF, AE, AWB와 같은 기능을 수행해야 하는 경우, 어플리케이션 프로세서는 수신한 제2 영상 데이터의 화질 개선을 위한 작업을 수행하지 않고, 제2 영상 데이터를 바로 이미지 센서로 재전송할 수 있다. AF, AE, AWB와 같은 기능을 수행하지 않는 경우, 어플리케이션 프로세서는 수신한 제1 영상 데이터 및 제2 영상 데이터를 이용하여 화질 개선 동작을 수행할 수 있다.In
단계 512에서, 어플리케이션 프로세서는 머신 러닝을 이용하여 제1 영상 데이터의 해상도를 증가시킬 수 있다. 어플리케이션 프로세서는 수신한 제1 영상 데이터를 이용하여 타깃 영역을 결정할 수 있다. 타깃 영역은 예를 들어, 엣지가 정해진 기준보다 많이 포함된 영역으로 결정될 수 있으나, 타깃 영역을 결정하는 기준은 이에 제한되지 않는다. 어플리케이션 프로세서는 결정한 타깃 영역에 대응하는 데이터에 대한 머신 러닝을 수행하여 화질을 개선할 수 있다.In
어플리케이션 프로세서는 제1 영상 데이터에서 타깃 영역의 화질을 개선한 제1 보정 영상 데이터 및, 제2 영상 데이터의 파일 형식을 RGB로 변환한 제2 보정 영상 데이터를 생성할 수 있다.The application processor may generate first corrected image data obtained by improving the image quality of a target region in the first image data and second corrected image data obtained by converting a file format of the second image data into RGB.
단계 514에서, 어플리케이션 프로세서는 제1 보정 영상 데이터 및 제2 보정 영상 데이터를 이용하여 제3 영상 데이터를 생성할 수 있다. 어플리케이션 프로세서는 제2 보정 영상의 타깃 영역에 대응하는 데이터를, 제1 보정 영상의 타깃 영역에 대응하는 데이터로 변경한 제3 영상 데이터를 생성할 수 있다.In
도 6은 본 개시의 일 실시예에 따른 전자 장치가 머신 러닝을 이용하여 영상의 해상도를 증가시키는 동작을 설명하기 위한 도면이다.6 is a diagram for explaining an operation of increasing the resolution of an image by using machine learning by an electronic device according to an embodiment of the present disclosure.
도 6에 도시된 실시예는, 도 5에 도시된 단계 512가 구체화된 실시예일 수 있다.The embodiment shown in FIG. 6 may be an embodiment in which step 512 shown in FIG. 5 is embodied.
단계 602에서, 어플리케이션 프로세서는 제1 영상 데이터를 수신할 수 있다. 제1 영상 데이터는 이미지 센서가 외부 광을 수신하여 생성한 로 데이터이다.In
단계 604에서, 어플리케이션 프로세서는 제1 영상 데이터에서 해상도를 증가시킬 타깃 영역을 결정할 수 있다. 어플리케이션 프로세서는 다양한 기준에 따라 타깃 영역을 결정할 수 있다. 예를 들어, 어플리케이션 프로세서는 수신된 제1 영상 데이터에 대응하는 제1 영상의 단위 면적 당 분포한 엣지의 개수가 정해진 기준보다 큰 경우, 해당 영역을 타깃 영역으로 결정할 수 있다. 일 실시예에 따르면, 어플리케이션 프로세서는 제1 영상 데이터에 기반하여 모호성 맵(ambiguity map)을 생성하고, 모호성 맵을 이용하여 제1 영상 데이터에 대응하는 제1 영상에서 타깃 영역을 결정할 수도 있다. 어플리케이션 프로세서는 수신한 데이터에 대응하는 영상에서 정해진 기준을 만족하는 영역이 복수 개인 경우, 복수 개의 영역을 타깃 영역으로 결정할 수 있다.In
단계 606에서, 어플리케이션 프로세서는 머신 러닝을 이용하여 제1 영상 데이터에서 타깃 영역의 해상도를 증가시킬 수 있다. 어플리케이션 프로세서는 제1 영상 데이터에서 타깃 영역의 해상도를 증가시킨 제1 보정 영상 데이터를 생성할 수 있다. 어플리케이션 프로세서는 제2 영상 데이터의 파일 형식을 RGB로 변환한 제2 보정 영상 데이터를 생성할 수 있다.In
단계 608에서, 어플리케이션 프로세서는 제1 보정 영상 데이터에서 타깃 영역에 대응하는 데이터를, 제2 보정 영상 데이터 중 타깃 영역에 대응하는 데이터에 삽입하여 제3 영상 데이터를 생성할 수 있다.In
도 7은 본 개시의 일 실시예에 따른 전자 장치가 제1 영상 데이터 및 제2 영상 데이터를 생성하는 동작을 설명하기 위한 도면이다.7 is a diagram for explaining an operation of generating first image data and second image data by an electronic device according to an embodiment of the present disclosure.
단계 702에서, 이미지 센서는 외부 광을 수신하여 제1 영상 데이터를 생성할 수 있다. 예를 들어, 사용자가 전자 장치에서 카메라 앱을 실행한 경우, 현재 카메라에 촬영되고 있는 오브젝트를 인식한 이미지 센서는 수신한 광을 전기적 신호로 변환하여 제1 영상 데이터를 생성할 수 있다. In
단계 704에서, 이미지 센서는 제1 영상 데이터에서 사용자 입력에 기초하여 관심 영역을 결정할 수 있다. 사용자가 줌-인 하는 경우, 이미지 센서는 줌 된 영역을 관심 영역으로 결정할 수 있다. 예를 들어, 사용자가 디스플레이에 접지하여 손가락을 스트래치(stratch)하는 동작을 한 경우, 전자 장치는 줌 동작으로 인식하고 관심 영역을 결정할 수 있다. In
단계 706에서, 어플리케이션 프로세서는 관심 영역에 기반하여, 픽셀 어레이가 리모자이킹되어 재배열된 제2 영상 데이터를 생성할 수 있다.In
도 8은 본 개시의 일 실시예에 따른 멀티 카메라 모듈을 포함하는 전자 장치의 블록도이다. 도 9는 도 8의 카메라 모듈의 상세 블록도이다.8 is a block diagram of an electronic device including a multi-camera module according to an embodiment of the present disclosure. 9 is a detailed block diagram of the camera module of FIG. 8 .
도 8을 참조하면, 전자 장치(800)는 카메라 모듈 그룹(900), 애플리케이션 프로세서(1000), PMIC(1100) 및 외부 메모리(1200)를 포함할 수 있다.Referring to FIG. 8 , an
카메라 모듈 그룹(900)은 복수의 카메라 모듈(900a, 900b, 900c)을 포함할 수 있다. 비록 도면에는 3개의 카메라 모듈(900a, 900b, 900c)이 배치된 실시예가 도시되어 있으나, 실시예들이 이에 제한되는 것은 아니다. 몇몇 실시예에서, 카메라 모듈 그룹(900)은 2개의 카메라 모듈만을 포함하도록 변형되어 실시될 수 있다. 또한, 몇몇 실시예에서, 카메라 모듈 그룹(900)은 n개(n은 4 이상의 자연수)의 카메라 모듈을 포함하도록 변형되어 실시될 수도 있다.The
이하, 도 9를 참조하여, 카메라 모듈(900b)의 상세 구성에 대해 보다 구체적으로 설명할 것이나, 이하의 설명은 실시예에 따라 다른 카메라 모듈들(900a, 900b)에 대해서도 동일하게 적용될 수 있다.Hereinafter, a detailed configuration of the
도 9를 참조하면, 카메라 모듈(900b)은 프리즘(905), 광학 경로 폴딩 요소(Optical Path Folding Element, 이하, ˝OPFE˝)(910), 액츄에이터(930), 이미지 센싱 장치(940) 및 저장부(950)를 포함할 수 있다.Referring to FIG. 9 , the
프리즘(905)은 광 반사 물질의 반사면(907)을 포함하여 외부로부터 입사되는 광(L)의 경로를 변형시킬 수 있다. The
몇몇 실시예에서, 프리즘(905)은 제1 방향(X)으로 입사되는 광(L)의 경로를 제1 방향(X)에 수직인 제2 방향(Y)으로 변경시킬 수 있다. 또한, 프리즘(905)은 광 반사 물질의 반사면(907)을 중심축(906)을 중심으로 A방향으로 회전시키거나, 중심축(906)을 B방향으로 회전시켜 제1 방향(X)으로 입사되는 광(L)의 경로를 수직인 제2 방향(Y)으로 변경시킬 수 있다. 이때, OPFE(910)도 제1 방향(X)및 제2 방향(Y)과 수직인 제3 방향(Z)로 이동할 수 있다.In some embodiments, the
몇몇 실시예에서, 도시된 것과 같이, 프리즘(905)의 A방향 최대 회전 각도는 플러스(+) A방향으로는 15도(degree)이하이고, 마이너스(-) A방향으로는 15도보다 클 수 있으나, 실시예들이 이에 제한되는 것은 아니다.In some embodiments, as shown, the maximum angle of rotation of the
몇몇 실시예에서, 프리즘(905)은 플러스(+) 또는 마이너스(-) B방향으로 20도 내외, 또는 10도에서 20도, 또는 15도에서 20도 사이로 움직일 수 있고, 여기서, 움직이는 각도는 플러스(+) 또는 마이너스(-) B방향으로 동일한 각도로 움직이거나, 1도 내외의 범위로 거의 유사한 각도까지 움직일 수 있다.In some embodiments,
몇몇 실시예에서, 프리즘(905)은 광 반사 물질의 반사면(906)을 중심축(906)의 연장 방향과 평행한 제3 방향(예를 들어, Z방향)으로 이동할 수 있다.In some embodiments, the
OPFE(910)는 예를 들어 m(여기서, m은 자연수)개의 그룹으로 이루어진 광학 렌즈를 포함할 수 있다. m개의 렌즈는 제2 방향(Y)으로 이동하여 카메라 모듈(900b)의 광학 줌 배율(optical zoom ratio)을 변경할 수 있다. 예를 들어, 카메라 모듈(900b)의 기본 광학 줌 배율을 Z라고할 때, OPFE(910)에 포함된 m개의 광학 렌즈를 이동시킬 경우, 카메라 모듈(900b)의 광학 줌 배율은 3Z 또는 5Z 또는 5Z 이상의 광학 줌 배율로 변경될 수 있다.The
액츄에이터(930)는 OPFE(910) 또는 광학 렌즈(이하, 광학 렌즈로 지칭)를 특정 위치로 이동시킬 수 있다. 예를 들어 액츄에이터(930)는 정확한 센싱을 위해 이미지 센서(942)가 광학 렌즈의 초점 거리(focal length)에 위치하도록 광학 렌즈의 위치를 조정할 수 있다.The
이미지 센싱 장치(940)는 이미지 센서(942), 제어 로직(944) 및 메모리(946)을 포함할 수 있다. 이미지 센서(942)는 광학 렌즈를 통해 제공되는 광(L)을 이용하여 센싱 대상의 이미지를 센싱할 수 있다. 제어 로직(944)은 카메라 모듈(900b)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어 로직(944)은 제어 신호 라인(CSLb)을 통해 제공된 제어 신호에 따라 카메라 모듈(900b)의 동작을 제어할 수 있다. The
메모리(946)는 캘리브레이션 데이터(947)와 같은 카메라 모듈(900b)의 동작에 필요한 정보를 저장할 수 있다. 캘리브레이션 데이터(947)는 카메라 모듈(900b)이 외부로부터 제공된 광(L)을 이용하여 이미지 데이터를 생성하는데 필요한 정보를 포함할 수 있다. 캘리브레이션 데이터(947)는 예를 들어, 앞서 설명한 회전도(degree of rotation)에 관한 정보, 초점 거리(focal length)에 관한 정보, 광학 축(optical axis)에 관한 정보 등을 포함할 수 있다. 카메라 모듈(900b)이 광학 렌즈의 위치에 따라 초점 거리가 변하는 멀티 스테이트(multi state) 카메라 형태로 구현될 경우, 캘리브레이션 데이터(947)는 광학 렌즈의 각 위치별(또는 스테이트별) 초점 거리 값과 오토 포커싱(auto focusing)과 관련된 정보를 포함할 수 있다.The
저장부(950)는 이미지 센서(942)를 통해 센싱된 이미지 데이터를 저장할 수 있다. 저장부(950)는 이미지 센싱 장치(940)의 외부에 배치될 수 있으며, 이미지 센싱 장치(940)를 구성하는 센서 칩과 스택된(stacked) 형태로 구현될 수 있다. 몇몇 실시예에서, 저장부(950)는 EEPROM(Electrically Erasable Programmable Read-Only Memory)으로 구현될 수 있으나 실시예들이 이에 제한되는 것은 아니다.The
도 8과 도 9를 함께 참조하면, 몇몇 실시예에서, 복수의 카메라 모듈(900a, 900b, 900c) 각각은 액추에이터(930)를 포함할 수 있다. 이에 따라, 복수의 카메라 모듈(900a, 900b, 900c) 각각은 그 내부에 포함된 액추에이터(930)의 동작에 따른 서로 동일하거나 서로 다른 캘리브레이션 데이터(947)를 포함할 수 있다. Referring to FIGS. 8 and 9 together, in some embodiments, each of the plurality of
몇몇 실시예에서, 복수의 카메라 모듈(900a, 900b, 900c) 중 하나의 카메라 모듈(예를 들어, 900b)은 앞서 설명한 프리즘(905)과 OPFE(910)를 포함하는 폴디드 렌즈(folded lens) 형태의 카메라 모듈이고, 나머지 카메라 모듈들(예를 들어, 900a, 900b)은 프리즘(905)과 OPFE(910)가 포함되지 않은 버티칼(vertical) 형태의 카메라 모듈일 수 있으나, 실시예들이 이에 제한되는 것은 아니다.In some embodiments, one camera module (eg, 900b) of the plurality of
몇몇 실시예에서, 복수의 카메라 모듈(900a, 900b, 900c) 중 하나의 카메라 모듈(예를 들어, 900c)은 예를 들어, IR(Infrared Ray)을 이용하여 깊이(depth) 정보를 추출하는 버티컬 형태의 깊이 카메라(depth camera)일 수 있다. 이 경우, 애플리케이션 프로세서(1000)는 이러한 깊이 카메라로부터 제공받은 이미지 데이터와 다른 카메라 모듈(예를 들어, 900a 또는 900b)로부터 제공받은 이미지 데이터를 병합(merge)하여 3차원 깊이 이미지(3D depth image)를 생성할 수 있다.In some embodiments, one camera module (eg, 900c) among the plurality of
몇몇 실시예에서, 복수의 카메라 모듈(900a, 900b, 900c) 중 적어도 두 개의 카메라 모듈(예를 들어, 900a, 900b)은 서로 다른 관측 시야(Field of View, 시야각)를 가질 수 있다. 이 경우, 예를 들어, 복수의 카메라 모듈(900a, 900b, 900c) 중 적어도 두 개의 카메라 모듈(예를 들어, 900a, 900b)의 광학 렌즈가 서로 다를 수 있으나, 이에 제한되는 것은 아니다. In some embodiments, at least two camera modules (eg, 900a, 900b) among the plurality of
또한, 몇몇 실시예에서, 복수의 카메라 모듈(900a, 900b, 900c) 각각의 시야각은 서로 다를 수 있다. 이 경우, 복수의 카메라 모듈(900a, 900b, 900c) 각각에 포함된 광학 렌즈 역시 서로 다를 수 있으나, 이에 제한되는 것은 아니다.Also, in some embodiments, each of the plurality of
몇몇 실시예에서, 복수의 카메라 모듈(900a, 900b, 900c) 각각은 서로 물리적으로 분리되어 배치될 수 있다. 즉, 하나의 이미지 센서(942)의 센싱 영역을 복수의 카메라 모듈(900a, 900b, 900c)이 분할하여 사용하는 것이 아니라, 복수의 카메라 모듈(900a, 900b, 900c) 각각의 내부에 독립적인 이미지 센서(942)가 배치될 수 있다.In some embodiments, each of the plurality of
다시 도 8을 참조하면, 애플리케이션 프로세서(1000)는 이미지 처리 장치(1010), 메모리 컨트롤러(1020), 내부 메모리(1030)를 포함할 수 있다. 애플리케이션 프로세서(1000)는 복수의 카메라 모듈(900a, 900b, 900c)과 분리되어 구현될 수 있다. 예를 들어, 애플리케이션 프로세서(1000)와 복수의 카메라 모듈(900a, 900b, 900c)은 별도의 반도체 칩으로 서로 분리되어 구현될 수 있다.Referring back to FIG. 8 , the
이미지 처리 장치(1010)는 복수의 서브 이미지 프로세서(1012a, 1012b, 1012c), 이미지 생성기(1014) 및 카메라 모듈 컨트롤러(1016)를 포함할 수 있다.The
이미지 처리 장치(1010)는 복수의 카메라 모듈(900a, 900b, 900c)의 개수에 대응하는 개수의 복수의 서브 이미지 프로세서(1012a, 1012b, 1012c)를 포함할 수 있다.The
각각의 카메라 모듈(900a, 900b, 900c)로부터 생성된 이미지 데이터는 서로 분리된 이미지 신호 라인(ISLa, ISLb, ISLc)를 통해 대응되는 서브 이미지 프로세서(1012a, 1012b, 1012c)에 제공될 수 있다. 예를 들어, 카메라 모듈(900a)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLa)을 통해 서브 이미지 프로세서(1012a)에 제공되고, 카메라 모듈(900b)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLb)을 통해 서브 이미지 프로세서(1012b)에 제공되고, 카메라 모듈(900c)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLc)을 통해 서브 이미지 프로세서(1012c)에 제공될 수 있다. 이러한 이미지 데이터 전송은 예를 들어, MIPI(Mobile Industry Processor Interface)에 기반한 카메라 직렬 인터페이스(CSI; Camera Serial Interface)를 이용하여 수행될 수 있으나, 실시예들이 이에 제한되는 것은 아니다. Image data generated from each of the
한편, 몇몇 실시예에서, 하나의 서브 이미지 프로세서가 복수의 카메라 모듈에 대응되도록 배치될 수도 있다. 예를 들어, 서브 이미지 프로세서(1012a)와 서브 이미지 프로세서(1012c)가 도시된 것처럼 서로 분리되어 구현되는 것이 아니라 하나의 서브 이미지 프로세서로 통합되어 구현되고, 카메라 모듈(900a)과 카메라 모듈(900c)로부터 제공된 이미지 데이터는 선택 소자(예를 들어, 멀티플렉서) 등을 통해 선택된 후, 통합된 서브 이미지 프로세서에 제공될 수 있다.Meanwhile, in some embodiments, one sub image processor may be arranged to correspond to a plurality of camera modules. For example, the
각각의 서브 이미지 프로세서(1012a, 1012b, 1012c)에 제공된 이미지 데이터는 이미지 생성기(1014)에 제공될 수 있다. 이미지 생성기(1014)는 이미지 생성 정보(Generating Information) 또는 모드 신호(Mode Signal)에 따라 각각의 서브 이미지 프로세서(1012a, 1012b, 1012c)로부터 제공된 이미지 데이터를 이용하여 출력 이미지를 생성할 수 있다.Image data provided to each of the
구체적으로, 이미지 생성기(1014)는 이미지 생성 정보 또는 모드 신호에 따라, 서로 다른 시야각을 갖는 카메라 모듈들(900a, 900b, 900c)로부터 생성된 이미지 데이터 중 적어도 일부를 병합(merge)하여 출력 이미지를 생성할 수 있다. 또한, 이미지 생성기(1014)는 이미지 생성 정보 또는 모드 신호에 따라, 서로 다른 시야각을 갖는 카메라 모듈들(900a, 900b, 900c)로부터 생성된 이미지 데이터 중 어느 하나를 선택하여 출력 이미지를 생성할 수 있다.Specifically, the
몇몇 실시예에서, 이미지 생성 정보는 줌 신호(zoom signal or zoom factor)를 포함할 수 있다. 또한, 몇몇 실시예에서, 모드 신호는 예를 들어, 유저(user)로부터 선택된 모드에 기초한 신호일 수 있다.In some embodiments, the image creation information may include a zoom signal or zoom factor. Also, in some embodiments, the mode signal may be a signal based on a mode selected by a user, for example.
이미지 생성 정보가 줌 신호(줌 팩터)이고, 각각의 카메라 모듈(900a, 900b, 900c)이 서로 다른 관측 시야(시야각)를 갖는 경우, 이미지 생성기(1014)는 줌 신호의 종류에 따라 서로 다른 동작을 수행할 수 있다. 예를 들어, 줌 신호가 제1 신호일 경우, 카메라 모듈(900a)로부터 출력된 이미지 데이터와 카메라 모듈(900c)로부터 출력된 이미지 데이터를 병합한 후, 병합된 이미지 신호와 병합에 사용하지 않은 카메라 모듈(900b)로부터 출력된 이미지 데이터를 이용하여, 출력 이미지를 생성할 수 있다. 만약, 줌 신호가 제1 신호와 다른 제2 신호일 경우, 이미지 생성기(1014)는 이러한 이미지 데이터 병합을 수행하지 않고, 각각의 카메라 모듈(900a, 900b, 900c)로부터 출력된 이미지 데이터 중 어느 하나를 선택하여 출력 이미지를 생성할 수 있다. 하지만 실시예들이 이에 제한되는 것은 아니며, 필요에 따라 이미지 데이터를 처리하는 방법은 얼마든지 변형되어 실시될 수 있다.When the image generation information is a zoom signal (zoom factor) and each of the
몇몇 실시예에서, 이미지 생성기(1014)는 복수의 서브 이미지 프로세서(1012a, 1012b, 1012c) 중 적어도 하나로부터 노출 시간이 상이한 복수의 이미지 데이터를 수신하고, 복수의 이미지 데이터에 대하여 HDR(high dynamic range) 처리를 수행함으로서, 다이나믹 레인지가 증가된 병합된 이미지 데이터를 생성할 수 있다.In some embodiments, the
카메라 모듈 컨트롤러(1016)는 각각의 카메라 모듈(900a, 900b, 900c)에 제어 신호를 제공할 수 있다. 카메라 모듈 컨트롤러(1016)로부터 생성된 제어 신호는 서로 분리된 제어 신호 라인(CSLa, CSLb, CSLc)를 통해 대응되는 카메라 모듈(900a, 900b, 900c)에 제공될 수 있다.The
복수의 카메라 모듈(900a, 900b, 900c) 중 어느 하나는 줌 신호를 포함하는 이미지 생성 정보 또는 모드 신호에 따라 마스터(master) 카메라(예를 들어, 900b)로 지정되고, 나머지 카메라 모듈들(예를 들어, 900a, 900c)은 슬레이브(slave) 카메라로 지정될 수 있다. 이러한 정보는 제어 신호에 포함되어, 서로 분리된 제어 신호 라인(CSLa, CSLb, CSLc)를 통해 대응되는 카메라 모듈(900a, 900b, 900c)에 제공될 수 있다.One of the plurality of
줌 팩터 또는 동작 모드 신호에 따라 마스터 및 슬레이브로서 동작하는 카메라 모듈이 변경될 수 있다. 예를 들어, 카메라 모듈(900a)의 시야각이 카메라 모듈(900b)의 시야각보다 넓고, 줌 팩터가 낮은 줌 배율을 나타낼 경우, 카메라 모듈(900b)이 마스터로서 동작하고, 카메라 모듈(900a)이 슬레이브로서 동작할 수 있다. 반대로, 줌 팩터가 높은 줌 배율을 나타낼 경우, 카메라 모듈(900a)이 마스터로서 동작하고, 카메라 모듈(900b)이 슬레이브로서 동작할 수 있다.Camera modules operating as a master and a slave may be changed according to a zoom factor or an operation mode signal. For example, when the viewing angle of the
몇몇 실시예에서, 카메라 모듈 컨트롤러(1016)로부터 각각의 카메라 모듈(900a, 900b, 900c)에 제공되는 제어 신호는 싱크 인에이블 신호(sync enable) 신호를 포함할 수 있다. 예를 들어, 카메라 모듈(900b)이 마스터 카메라이고, 카메라 모듈들(900a, 900c)이 슬레이브 카메라인 경우, 카메라 모듈 컨트롤러(1016)는 카메라 모듈(900b)에 싱크 인에이블 신호를 전송할 수 있다. 이러한 싱크 인에이블 신호를 제공받은 카메라 모듈(900b)은 제공받은 싱크 인에이블 신호를 기초로 싱크 신호(sync signal)를 생성하고, 생성된 싱크 신호를 싱크 신호 라인(SSL)을 통해 카메라 모듈들(900a, 900c)에 제공할 수 있다. 카메라 모듈(900b)과 카메라 모듈들(900a, 900c)은 이러한 싱크 신호에 동기화되어 이미지 데이터를 애플리케이션 프로세서(1000)에 전송할 수 있다.In some embodiments, the control signal provided from the
몇몇 실시예에서, 카메라 모듈 컨트롤러(1016)로부터 복수의 카메라 모듈(900a, 900b, 900c)에 제공되는 제어 신호는 모드 신호에 따른 모드 정보를 포함할 수 있다. 이러한 모드 정보에 기초하여 복수의 카메라 모듈(900a, 900b, 900c)은 센싱 속도와 관련하여 제1 동작 모드 및 제2 동작 모드로 동작할 수 있다. In some embodiments, a control signal provided from the
복수의 카메라 모듈(900a, 900b, 900c)은 제1 동작 모드에서, 제1 속도로 이미지 신호를 생성(예를 들어, 제1 프레임 레이트의 이미지 신호를 생성)하여 이를 제1 속도보다 높은 제2 속도로 인코딩(예를 들어, 제1 프레임 레이트보다 높은 제2 프레임 레이트의 이미지 신호를 인코딩)하고, 인코딩된 이미지 신호를 애플리케이션 프로세서(1000)에 전송할 수 있다. 이때, 제2 속도는 제1 속도의 30배 이하일 수 있다. The plurality of
애플리케이션 프로세서(1000)는 수신된 이미지 신호, 다시 말해서 인코딩된 이미지 신호를 내부에 구비되는 메모리(1030) 또는 애플리케이션 프로세서(1000) 외부의 스토리지(1200)에 저장하고, 이후, 메모리(1030) 또는 스토리지(1200)로부터 인코딩된 이미지 신호를 독출하여 디코딩하고, 디코딩된 이미지 신호에 기초하여 생성되는 이미지 데이터를 디스플레이할 수 있다. 예컨대 이미지 처리 장치(1010)의 복수의 서브 프로세서들(1012a, 1012b, 1012c) 중 대응하는 서브 프로세서가 디코딩을 수행할 수 있으며, 또한 디코딩된 이미지 신호에 대하여 이미지 처리를 수행할 수 있다.The
복수의 카메라 모듈(900a, 900b, 900c)은 제2 동작 모드에서, 제1 속도보다 낮은 제3 속도로 이미지 신호를 생성(예를 들어, 제1 프레임 레이트보다 낮은 제3 프레임 레이트의 이미지 신호를 생성)하고, 이미지 신호를 애플리케이션 프로세서(1000)에 전송할수 있다. 애플리케이션 프로세서(1000)에 제공되는 이미지 신호는 인코딩되지 않은 신호일 수 있다. 애플리케이션 프로세서(1000)는 수신되는 이미지 신호에 대하여 이미지 처리를 수행하거나 또는 이미지 신호를 메모리(1030) 또는 스토리지(1200)에 저장할 수 있다. The plurality of
PMIC(1100)는 복수의 카메라 모듈(900a, 900b, 900c) 각각에 전력, 예컨대 전원 전압을 공급할 수 있다. 예를 들어, PMIC(1100)는 애플리케이션 프로세서(1000)의 제어 하에, 파워 신호 라인(PSLa)을 통해 카메라 모듈(900a)에 제1 전력을 공급하고, 파워 신호 라인(PSLb)을 통해 카메라 모듈(900b)에 제2 전력을 공급하고, 파워 신호 라인(PSLc)을 통해 카메라 모듈(900c)에 제3 전력을 공급할 수 있다.The
PMIC(1100)는 애플리케이션 프로세서(1000)로부터의 전력 제어 신호(PCON)에 응답하여, 복수의 카메라 모듈(900a, 900b, 900c) 각각에 대응하는 전력을 생성하고, 또한 전력의 레벨을 조정할 수 있다. 전력 제어 신호(PCON)는 복수의 카메라 모듈(900a, 900b, 900c)의 동작 모드 별 전력 조정 신호를 포함할 수 있다. 예를 들어, 동작 모드는 저전력 모드(low power mode)를 포함할 수 있으며, 이때, 전력 제어 신호(PCON)는 저전력 모드로 동작하는 카메라 모듈 및 설정되는 전력 레벨에 대한 정보를 포함할 수 있다. 복수의 카메라 모듈(900a, 900b, 900c) 각각에 제공되는 전력들의 레벨은 서로 동일하거나 또는 서로 상이할 수 있다. 또한, 전력의 레벨은 동적으로 변경될 수 있다.The
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As above, exemplary embodiments have been disclosed in the drawings and specifications. Although the embodiments have been described using specific terms in this specification, they are only used for the purpose of explaining the technical idea of the present disclosure, and are not used to limit the scope of the present disclosure described in the claims. . Therefore, those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical scope of protection of the present disclosure should be determined by the technical spirit of the appended claims.
Claims (22)
상기 제1 영상 데이터에 대응하는 이미지의 적어도 일 영역의 해상도를 머신 러닝 알고리즘을 이용하여 증가시키고, 해상도가 증가된 제1 영상 데이터의 적어도 일부 및 상기 제2 영상 데이터의 적어도 일부를 포함하는 제3 영상 데이터를 출력하는 어플리케이션 프로세서를 포함하는 전자 장치.an image sensor that generates first image data by receiving light from the outside, generates second image data based on the first image data, and outputs the first image data and the second image data; and
A third method comprising increasing the resolution of at least one region of the image corresponding to the first image data using a machine learning algorithm and including at least a portion of the first image data and at least a portion of the second image data with increased resolution. An electronic device including an application processor that outputs image data.
상기 이미지 센서는,
상기 제1 영상 데이터에 기반하여 ISP(image signal processor) 연산을 수행하여 상기 제2 영상 데이터를 생성하는 전자 장치.According to claim 1,
The image sensor,
An electronic device generating the second image data by performing an image signal processor (ISP) operation based on the first image data.
상기 ISP 연산은 리모자이크 알고리즘(re-mosaic algorithm)을 이용하여 초해상도(super resolution)인 제2 영상 데이터를 생성하는 연산을 포함하는 전자 장치.According to claim 2,
The ISP operation includes an operation of generating super resolution second image data using a re-mosaic algorithm.
상기 제2 영상 데이터는 베이어 패턴(Bayer pattern) 데이터인 전자 장치.According to claim 3,
The second image data is Bayer pattern data.
상기 어플리케이션 프로세서는,
상기 제2 영상 데이터를 베이어 패턴 데이터에서 rgb(red green blue) 데이터로 변환하는 전자 장치.According to claim 4,
The application processor,
An electronic device that converts the second image data from Bayer pattern data to red green blue (rgb) data.
상기 어플리케이션 프로세서는,
AE(auto exposure), AF(auto focus) 및 AWB(auto white balance) 중 적어도 하나의 실행 여부에 기초하여 상기 제2 영상 데이터의 실시간 처리 수행 여부를 결정하고,
상기 제2 영상 데이터의 실시간 처리를 수행하는 것으로 결정함에 대응하여, 상기 제1 영상 데이터에 딥러닝을 적용하지 않고 상기 rgb 데이터로 변환된 제2 영상 데이터를 상기 이미지 센서로 전송하는 전자 장치.According to claim 5,
The application processor,
determining whether real-time processing of the second image data is performed based on whether at least one of auto exposure (AE), auto focus (AF), and auto white balance (AWB) is executed;
In response to determining that real-time processing of the second image data is performed, the electronic device transmits the second image data converted to rgb data to the image sensor without applying deep learning to the first image data.
상기 어플리케이션 프로세서는,
상기 제1 영상 데이터를 수신하여, 상기 제1 영상 데이터에 대응하는 이미지에서 해상도를 증가시킬 적어도 하나의 타깃 영역을 결정하는 전자 장치.According to claim 1,
The application processor,
An electronic device that receives the first image data and determines at least one target region to increase resolution in an image corresponding to the first image data.
상기 어플리케이션 프로세서는,
상기 제1 영상 데이터에 대한 모호성 맵(ambiguity map)을 생성하고,
상기 모호성 맵을 이용하여 상기 제1 영상 데이터에 대응하는 이미지에서 상기 적어도 하나의 타깃 영역을 결정하는 전자 장치.According to claim 7,
The application processor,
generating an ambiguity map for the first image data;
An electronic device that determines the at least one target region in an image corresponding to the first image data by using the ambiguity map.
상기 어플리케이션 프로세서는,
상기 제1 영상 데이터에 기반하여 머신 러닝 알고리즘을 이용하여 상기 적어도 하나의 타깃 영역의 해상도를 증가시키는 전자 장치.According to claim 8,
The application processor,
An electronic device that increases a resolution of the at least one target region by using a machine learning algorithm based on the first image data.
상기 어플리케이션 프로세서는,
상기 제1 영상 데이터에서 타깃 영역에 대응하는 데이터를, 상기 제2 영상 데이터 중 상기 타깃 영역에 대응하는 데이터에 삽입하여 상기 제3 영상 데이터를 생성하는 전자 장치.According to claim 9,
The application processor,
An electronic device generating the third image data by inserting data corresponding to a target region in the first image data into data corresponding to the target region in the second image data.
상기 어플리케이션 프로세서는,
상기 제2 영상 데이터를 수신하고, 상기 제2 영상 데이터에 대응하는 이미지에서 해상도를 증가시킬 적어도 하나의 타깃 영역을 결정하고,
상기 적어도 하나의 타깃 영역에 대한 정보를 상기 이미지 센서로 전송하는 전자 장치.According to claim 1,
The application processor,
Receiving the second image data, and determining at least one target region to increase resolution in an image corresponding to the second image data;
An electronic device that transmits information about the at least one target area to the image sensor.
상기 이미지 센서는,
상기 적어도 하나의 타깃 영역에 대한 정보를 수신하고,
수신한 타깃 영역에 대한 정보에 기반하여, 상기 적어도 하나의 타깃 영역의 이미지에 대응하는 데이터를 포함하는 제1 영상 데이터를 생성하는 전자 장치.According to claim 11,
The image sensor,
Receiving information on the at least one target region;
An electronic device that generates first image data including data corresponding to an image of the at least one target region based on received information about the target region.
상기 제1 영상 데이터는 큐셀(Qcell) 영상 또는 테트라셀(tetra cell) 영상인 전자 장치.According to claim 1,
The first image data is a Qcell image or a tetra cell image.
외부로부터 광을 수신하여 제1 영상 데이터를 생성하는 동작,
상기 제1 영상 데이터에 기반하여 제2 영상 데이터를 생성하는 동작,
상기 제1 영상 데이터 및 상기 제2 영상 데이터를 출력하는 동작, 및
상기 제1 영상 데이터에 대응하는 이미지의 적어도 일 영역의 해상도를 머신 러닝 알고리즘을 이용하여 증가시키고, 해상도가 증가된 제1 영상 데이터의 적어도 일부 및 상기 제2 영상 데이터의 적어도 일부를 포함하는 제3 영상 데이터를 출력하는 동작을 포함하는 방법.A method for generating a high-definition image of an electronic device including an image sensor and an application processor,
generating first image data by receiving light from the outside;
Generating second image data based on the first image data;
outputting the first image data and the second image data; and
A third method comprising increasing the resolution of at least one region of the image corresponding to the first image data using a machine learning algorithm, and including at least a portion of the first image data and at least a portion of the second image data with increased resolution. A method comprising outputting image data.
상기 제2 영상 데이터를 생성하는 동작은,
상기 제1 영상 데이터에 기반하여 ISP(image signal processor) 연산을 수행하여 상기 제2 영상 데이터를 생성하도록 설정된 방법.According to claim 14,
The operation of generating the second image data,
A method configured to generate the second image data by performing an image signal processor (ISP) operation based on the first image data.
상기 ISP 연산은 리모자이크 알고리즘(re-mosaic algorithm)을 이용하여 초해상도(super resolution) 인 제2 영상 데이터를 생성하는 연산을 포함하는 방법.According to claim 15,
The ISP operation includes an operation of generating super resolution second image data using a re-mosaic algorithm.
상기 제3 영상 데이터를 생성하는 동작은,
상기 제1 영상 데이터를 수신하여, 상기 제1 영상 데이터에 대응하는 이미지에서 해상도를 증가시킬 적어도 하나의 타깃 영역을 결정하는 동작을 포함하는 방법.According to claim 14,
The operation of generating the third image data,
and receiving the first image data and determining at least one target region to increase resolution in an image corresponding to the first image data.
상기 타깃 영역을 결정하는 동작은,
상기 제1 영상 데이터에 대한 모호성 맵(ambiguity map)을 생성하는 동작, 및
상기 모호성 맵을 이용하여 상기 제1 영상 데이터에 대응하는 이미지에서 상기 적어도 하나의 타깃 영역을 결정하는 동작을 포함하는 방법.According to claim 17,
The operation of determining the target region,
generating an ambiguity map for the first image data; and
and determining the at least one target region in the image corresponding to the first image data by using the ambiguity map.
상기 제3 영상 데이터를 생성하는 동작은,
상기 제1 영상 데이터에 기반하여 머신 러닝 알고리즘을 이용하여 상기 적어도 하나의 타깃 영역의 해상도를 증가시키는 동작을 포함하는 방법.According to claim 18,
The operation of generating the third image data,
and increasing a resolution of the at least one target region using a machine learning algorithm based on the first image data.
상기 제3 영상 데이터를 생성하는 동작은,
상기 제1 영상 데이터에서 타깃 영역에 대응하는 데이터를, 상기 제2 영상 데이터 중 상기 타깃 영역에 대응하는 데이터에 삽입하여 상기 제3 영상 데이터를 생성하는 동작을 포함하는 방법.According to claim 19,
The operation of generating the third image data,
and generating the third image data by inserting data corresponding to a target region in the first image data into data corresponding to the target region in the second image data.
상기 제1 영상 데이터는 큐셀(Qcell) 영상 또는 테트라셀(tetra cell) 영상인 방법.According to claim 14,
The first image data is a Qcell image or a tetra cell image.
상기 이미지 센서를 제어하여 상기 제1 영상 데이터에 기반하여 제2 영상 데이터를 생성하는 동작, 및
어플리케이션 프로세서를 제어하여, 딥러닝 알고리즘을 이용하여 상기 제1 영상 데이터의 적어도 일 영역 및 상기 제2 영상 데이터의 적어도 일 영역에 기반한 제3 영상 데이터를 생성하는 동작을 포함하는 방법을 구현하는 명령어를 저장하는 컴퓨터로 판독 가능한 기록 매체.generating first image data by receiving light from the outside by controlling an image sensor;
generating second image data based on the first image data by controlling the image sensor; and
Instructions for implementing a method including controlling an application processor to generate third image data based on at least one region of the first image data and at least one region of the second image data using a deep learning algorithm A computer-readable recording medium for storage.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/069,973 US20230209215A1 (en) | 2021-12-22 | 2022-12-21 | Electronic device and method of generating high-definition image |
CN202211651954.XA CN116342384A (en) | 2021-12-22 | 2022-12-21 | Electronic device and method for generating high definition image |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210185409 | 2021-12-22 | ||
KR20210185409 | 2021-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230095782A true KR20230095782A (en) | 2023-06-29 |
Family
ID=86946309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220096267A KR20230095782A (en) | 2021-12-22 | 2022-08-02 | Electronic device and method for generating high-definition image |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230095782A (en) |
-
2022
- 2022-08-02 KR KR1020220096267A patent/KR20230095782A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102365861B (en) | Exposing pixel groups in producing digital images | |
CN105308947B (en) | Based on Dual-Aperture zoom digital camera | |
US8325241B2 (en) | Image pickup apparatus that stores adjacent and contiguous pixel data before integration of same | |
JP4971323B2 (en) | Color and panchromatic pixel processing | |
US8749620B1 (en) | 3D light field cameras, images and files, and methods of using, operating, processing and viewing same | |
US8786676B2 (en) | Imaging device for generating stereoscopic image | |
US20090051984A1 (en) | Image sensor having checkerboard pattern | |
US9369693B2 (en) | Stereoscopic imaging device and shading correction method | |
US11856320B2 (en) | Image encoder, an image sensing device, and an operating method of the image encoder | |
US20240267649A1 (en) | Imaging apparatus and imaging sensor | |
US11178372B1 (en) | Image signal processor, image signal processing method and electronic device thereof | |
KR20220122008A (en) | Image Signal Processing Method, Image Signal Processor and Image Sensing Device of the Same | |
KR20220017649A (en) | Electronic device including an image sensor | |
KR20230163951A (en) | Pixel array of image sensor and image processing system including the same | |
US20230209215A1 (en) | Electronic device and method of generating high-definition image | |
KR20230095782A (en) | Electronic device and method for generating high-definition image | |
JPH11122525A (en) | Digital camera | |
WO2022073364A1 (en) | Image obtaining method and apparatus, terminal, and computer readable storage medium | |
KR20220037204A (en) | Image signal processor and electronic device and electronic system comprising the same | |
JPH1155682A (en) | Digital camera | |
US20230143333A1 (en) | Image sensor, application processor and image sensing device | |
US20230169629A1 (en) | Image signal processor, method for operating image signal processor and image sensing device | |
KR20240082675A (en) | Image Signal Processor and Image Sensing Device of the Same | |
KR102701854B1 (en) | Pixel array capable of reducing image information loss and Image sensor having the same | |
KR20230067491A (en) | Image sensor, application processor and image sensing device |