KR20220115494A - Image Signal Processor, Electronic Device and Image Stablization Method - Google Patents
Image Signal Processor, Electronic Device and Image Stablization Method Download PDFInfo
- Publication number
- KR20220115494A KR20220115494A KR1020210074784A KR20210074784A KR20220115494A KR 20220115494 A KR20220115494 A KR 20220115494A KR 1020210074784 A KR1020210074784 A KR 1020210074784A KR 20210074784 A KR20210074784 A KR 20210074784A KR 20220115494 A KR20220115494 A KR 20220115494A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- frame
- camera
- ois
- rotation information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000013519 translation Methods 0.000 claims abstract description 149
- 230000006641 stabilisation Effects 0.000 claims abstract description 40
- 238000011105 stabilization Methods 0.000 claims abstract description 40
- 239000013598 vector Substances 0.000 claims abstract description 34
- 230000003287 optical effect Effects 0.000 claims abstract description 15
- 238000001914 filtration Methods 0.000 claims abstract description 8
- 238000012937 correction Methods 0.000 claims description 33
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000000087 stabilizing effect Effects 0.000 claims 1
- 239000003381 stabilizer Substances 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 32
- 230000008859 change Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000005096 rolling process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 239000000284 extract Substances 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/684—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
- H04N23/6845—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time by combination of a plurality of images sequentially taken
-
- H04N5/23277—
-
- 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/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- 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/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- H04N5/23254—
-
- H04N5/23258—
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
Description
본 발명은 이미지 안정화(Image stabilization)에 관한 것이다.The present invention relates to image stabilization.
전자 장치가 이미지를 촬영하는 동안에 사용자의 손떨림과 같은 문제가 발생하면 이미지가 왜곡된 채로 획득될 수 있다. 사용자의 손떨림 문제를 보상하기 위해, 전자 장치는 이미지 보정을 수행할 수 있다. 이미지 보정은 예를 들어 광학식 이미지 안정화(Optical Image Stablization, OIS) 보정 또는 디지털 이미지 안정화(Digital Image Stablization, DIS 또는 Electrical Image Stablization, EIS) 보정을 포함할 수 있다.If a problem such as a user's hand shake occurs while the electronic device captures an image, the image may be acquired while being distorted. In order to compensate for the user's hand shake problem, the electronic device may perform image correction. Image correction may include, for example, Optical Image Stablization (OIS) correction or Digital Image Stablization (DIS or Electrical Image Stablization, EIS) correction.
OIS 보정은 카메라 모듈이 이미지를 획득하는 동안에 전자 장치의 흔들림이 발생하면, 이미지 스태블라이저가 전자 장치의 흔들림을 보상하는 방향으로 렌즈 또는 이미지 센서를 이동시키는 보정을 의미할 수 있다. OIS 보정은 평면 이동하는 쉬프트(shift) 방식과 회전하는 틸트(tilt) 방식 두 가지가 있다. 또한 각각의 OIS 보정은 예를 들어, 렌즈 무빙 방식(렌즈를 움직이는 방식) 또는 센서 무빙 방식(센서를 움직이는 방식)을 포함할 수 있다. 즉, OIS 보정은 2차원적 이미지 움직임(2D translation)을 나타낼 수 있다.OIS correction may refer to a correction in which the image stabilizer moves a lens or an image sensor in a direction that compensates for the shake of the electronic device when the electronic device shakes while the camera module acquires an image. There are two types of OIS correction: a shift method that moves in a plane and a tilt method that rotates. In addition, each OIS correction may include, for example, a lens moving method (a method of moving a lens) or a sensor moving method (a method of moving a sensor). That is, OIS correction may represent two-dimensional image movement (2D translation).
DIS 또는 EIS 보정은 전자 장치가 이미지 움직임(motion) 및 자이로 데이터(Gyro data) 중 적어도 하나에 기반하여 이미지를 보정하는 동작을 의미할 수 있다. 이미지 움직임은 프레임 이미지 내에서 객체(예를 들어 촬상된 피사체의 특징점)의 움직임을 나타내는 정보를 의미할 수 있다. 전자 장치는 카메라 모듈을 통해 획득된 프레임 이미지들을 비교함으로써 이미지 모션을 결정할 수 있다. 자이로 데이터는 전자장치의 흔들림에 대응하는 정보를 의미할 수 있다. 자이로 데이터는 전자 장치의 흔들림을 감지하는 모션 센서를 통해 획득될 수 있다. 즉, 자이로 데이터는 3차원적 회전 움직임(3D rotation)을 나타낼 수 있다.DIS or EIS correction may refer to an operation in which the electronic device corrects an image based on at least one of image motion and gyro data. The image movement may refer to information indicating the movement of an object (eg, a feature point of an imaged subject) within the frame image. The electronic device may determine the image motion by comparing frame images acquired through the camera module. The gyro data may mean information corresponding to the shaking of the electronic device. The gyro data may be acquired through a motion sensor that detects shaking of the electronic device. That is, the gyro data may represent 3D rotation.
많은 경우 전자 장치는 실제로 3차원적으로 흔들리지만, 카메라 모듈은 자이로 데이터, 프레임 데이터 및 모션 벡터 정보만 센싱된다. 즉, OIS 2차원 트랜스레이션 센서 정보를 제공하지 않는 전자 장치의 경우, 카메라 모듈에서 센싱된 정보들(자이로 데이터, 프레임 데이터 및 모션 벡터 정보)에서 처리된, 카메라 모듈 로테이션 정보, 프레임 로테이션 정보만 이용하여 디지털 이미지 안정화를 수행해야 한다. In many cases, the electronic device actually shakes in three dimensions, but the camera module senses only gyro data, frame data, and motion vector information. That is, in the case of an electronic device that does not provide
쉬프트 광학보정장치(shift OIS)를 사용하는 전자 장치에서 카메라 모듈 로테이션 정보, 프레임 로테이션 정보만 이용하여 디지털 이미지 안정화를 수행할 경우, 객체를 촬상할 때의 OIS 2차원 트랜스레이션(translation) 정보의 반영없이 안정화를 수행하기 때문에 최종 처리된 영상에 워블링(Wobbling)이 나타낼 수 있다.When digital image stabilization is performed using only camera module rotation information and frame rotation information in an electronic device using a shift OIS,
따라서, 본 발명이 해결하려는 과제는 OIS 2차원 트랜스레이션 정보가 제공되지 않는 전자 장치에서도, OIS 2차원 트랜스레이션 정보를 추정함으로써 전자 장치의 움직임을 보다 정확하게 반영하여 디지털 이미지 안정화를 수행할 수 있는 장치 및 방법을 제공하는 것이다.Therefore, the problem to be solved by the present invention is a device capable of performing digital image stabilization by estimating OIS two-dimensional translation information even in an electronic device that does not provide OIS two-dimensional translation information, reflecting the movement of the electronic device more accurately and to provide a method.
본 발명이 해결하려는 과제는 과제는 OIS 2차원 트랜스레이션 정보가 제공되지 않는 전자 장치에서도, 전자 장치의 회전(rotation) 정보를 옵티마이즈하여 디지털 이미지 안정화를 적절하게 수행함으로써 손떨림에 의하여 발생되는 문제를 보다 정확하게 보상할 수 있는 장치 및 방법을 제공하는 것이다.The problem to be solved by the present invention is to solve the problem caused by hand shake by optimizing the rotation information of the electronic device to appropriately perform digital image stabilization even in an electronic device that does not provide OIS two-dimensional translation information. It is to provide an apparatus and method that can accurately compensate.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다. The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.
몇몇 실시예에 따른 전자 장치는 입력 영상에 대한 자이로 데이터, 프레임 데이터를 생성하여 출력하는 카메라 모듈, 및 이미지 시그널 프로세서를 포함하고, 상기 이미지 시그널 프로세서는 모션 벡터 정보를 산출하는 모션 벡터 모듈, 상기 자이로 데이터로부터 상기 카메라 모듈의 카메라 로테이션 정보를 추출하는 자이로 베이스 모션 추정부, 상기 프레임 데이터로부터 프레임 로테이션 정보를 추출하는 MV(Motion Vector) 베이스 모션 추정부, 상기 모션 벡터 정보, 상기 카메라 로테이션 정보와 상기 프레임 로테이션 정보에 기초하여 OIS(Optical Image Stablizer) 2D 트랜스레이션 정보를 추정하는 OIS 2D 트랜스레이션 정보 추정부, 상기 OIS 2D 트랜스레이션 정보에서 저주파 성분을 필터링하고, 상기 필터링된 OIS 2D 트랜스레이션 정보 및 상기 카메라 로테이션 정보를 이용하여, 상기 카메라 모듈의 안정화된 카메라 움직임 정보를 계산하는 카메라 패스 옵티마이저를 포함한다.An electronic device according to some embodiments includes a camera module that generates and outputs gyro data for an input image and frame data, and an image signal processor, wherein the image signal processor includes a motion vector module that calculates motion vector information, and the gyro A gyro-based motion estimation unit for extracting camera rotation information of the camera module from data, an MV (Motion Vector)-based motion estimation unit for extracting frame rotation information from the frame data, the motion vector information, the camera rotation information and the frame An
몇몇 실시예에 따른 전자 장치는 적어도 둘의 자이로 센싱값을 포함하는 자이로 데이터, 적어도 둘의 프레임 이미지를 포함하는 프레임 데이터를 출력하는 카메라 모듈 및 이미지 시그널 프로세서를 포함하고, 상기 이미지 시그널 프로세서는 상기 자이로 데이터, 상기 프레임 데이터 및 모션 벡터 정보에 기초하여 프레임 로테이션 정보 및 카메라 로테이션 정보를 산출하고, 상기 프레임 로테이션 정보 및 상기 카메라 로테이션 정보에 기초하여 OIS 2D 트랜스레이션 정보를 추정하고, 상기 추정된 OIS 2D 트랜스레이션 정보에 기초하여 상기 카메라 모듈의 안정화된 카메라 움직임 정보를 추정하고, 상기 안정화된 카메라 움직임 정보, 상기 추정된 OIS 2D 트랜스레이션 정보, 상기 카메라 로테이션 정보에 기초하여 산출된 최종 움직임 정보를 보상한다.An electronic device according to some embodiments includes a camera module and an image signal processor that output gyro data including at least two gyro sensing values and frame data including at least two frame images, wherein the image signal processor includes the gyro Calculate frame rotation information and camera rotation information based on data, the frame data and motion vector information, estimate
몇몇 실시예에 따른 전자 장치의 이미지 안정화 방법은 프레임 이미지를 센싱하고 상기 전자 장치의 흔들림에 따른 자이로 데이터, 프레임 데이터 및 모션 벡터를 획득하는 단계, 상기 자이로 데이터로부터 상기 전자 장치의 카메라 로테이션 정보를 추출하고, 상기 모션벡터 및 상기 프레임 데이터로부터 프레임 로테이션 정보를 추출하는 단계, 상기 카메라 로테이션 정보 및 상기 프레임 로테이션 정보에 기초하여 로우 OIS(Optical Image Stablization) 2D 트랜스레이션 정보를 추정하는 단계, 상기 로우 OIS 2D 트랜스레이션 정보로부터 바이어스 성분을 제거하여 필터링된 OIS 2D 트랜스레이션 정보를 산출하는 단계 및 상기 필터링된 OIS 2D 트랜스레이션 정보에 기초하여 상기 센싱된 프레임 이미지에 대한 디지털 이미지 안정화를 수행하는 단계를 포함한다.An image stabilization method of an electronic device according to some embodiments includes sensing a frame image and obtaining gyro data, frame data, and a motion vector according to shaking of the electronic device, and extracting camera rotation information of the electronic device from the gyro data and extracting frame rotation information from the motion vector and the frame data, estimating raw Optical Image Stablization (OIS) 2D translation information based on the camera rotation information and the frame rotation information, the
도 1은 몇몇 실시예에 따른 카메라 모듈을 도시한 블록도이다.
도 2는 몇몇 실시예에 따른 OIS 보정 동작을 설명하는 도면이다.
도 3은 몇몇 실시예에 따른 이미지 시그널 프로세서를 도시한 블록도이다.
도 4는 몇몇 실시예에 따른 이미지 안정화 방법을 나타낸 흐름도이다.
도 5는 몇몇 실시예에 따른 이미지 안정화 방법을 설명하기 위한 개념도이다.
도 6은 몇몇 실시예에 따라 최종 이미지에 대한 움직임 정보의 X축 주파수 성분을 나타낸 그래프이다.
도 7는 도 6에서 저주파 성분이 제거되어 X축 고주파 성분만 남은 상태를 나타낸 그래프이다.
도 8은 몇몇 실시예에 따라, 최종 이미지에 대한 움직임 정보의 Y축 주파수 성분을 나타낸 그래프이다.
도 9은 도 8에서 저주파 성분이 제거되어 Y축 고주파 성분만 남은 상태를 나타낸 그래프이다.
도 10은 몇몇 실시예에 따라, 최종 이미지의 바운더리 조건을 설명하기 위한 그래프이다.
도 11는 몇몇 실시예에 따라, 바운더리 조건에 따라 OIS 보상 적용 후 크롭 지점의 변경된 입력 픽셀 위치 범위를 설명하기 위한 도면이다.
도 12는 몇몇 실시 예들에 따른 네트워크 환경에서 전자 장치의 블록도를 나타낸다.1 is a block diagram illustrating a camera module according to some embodiments.
2 is a diagram illustrating an OIS correction operation according to some embodiments.
3 is a block diagram illustrating an image signal processor in accordance with some embodiments.
4 is a flowchart illustrating an image stabilization method according to some embodiments.
5 is a conceptual diagram illustrating an image stabilization method according to some embodiments.
6 is a graph illustrating an X-axis frequency component of motion information for a final image according to some embodiments.
7 is a graph showing a state in which the low frequency component is removed in FIG. 6 and only the X-axis high frequency component remains.
8 is a graph illustrating a Y-axis frequency component of motion information for a final image, according to some embodiments.
9 is a graph showing a state in which the low-frequency component is removed in FIG. 8 and only the Y-axis high-frequency component remains.
10 is a graph for explaining a boundary condition of a final image, according to some embodiments.
11 is a diagram for explaining a changed input pixel position range of a crop point after OIS compensation is applied according to a boundary condition, according to some embodiments.
12 is a block diagram of an electronic device in a network environment according to some embodiments.
도 1은 몇몇 실시예에 따른 전자 장치를 도시한 블록도이다.1 is a block diagram illustrating an electronic device according to some exemplary embodiments.
도 1을 참조하면, 전자 장치는 카메라 모듈(100) 및 AP(Application Processor, 200)를 포함한다. Referring to FIG. 1 , an electronic device includes a
카메라 모듈(100)은 렌즈 어셈블리(101), 플래쉬(102), 이미지 센서(110), 이미지 스태빌라이저(120)이미지 시그널 프로세서(201)를 포함할 수 있다. AP(200)는 이미지 시그널 프로세서(201) 및 메모리(202)(예: 버퍼 메모리)를 포함할 수 있다.The
렌즈 어셈블리(101)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(101)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시 예에 따르면, 카메라 모듈(100)은 복수의 렌즈 어셈블리(101)들을 포함할 수 있다. 이런 경우, 카메라 모듈(100)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)일 수 있다. 복수의 렌즈 어셈블리(101)들은 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 렌즈 어셈블리와 적어도 하나의 다른 렌즈 속성을 가질 수 있다. 렌즈 어셈블리(101)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. The
플래쉬(102)는 피사체로부터 방출되는 빛을 강화하기 위하여 사용되는 광원을 방출할 수 있다. 플래쉬(102)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.The
일 실시 예에 따르면, 이미지 센서(110)는 피사체로부터 렌즈 어셈블리(101)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시 예에 따르면, 이미지 센서(110)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(110)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서로 구현될 수 있다.According to an embodiment, the
일 실시 예에 따르면, 이미지 스태빌라이저(120)는 카메라 모듈(100) 또는 이를 포함하는 전자 장치(1101)의 움직임에 반응하여, 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향(예: 이미지 흔들림)을 적어도 일부 보상하기 위하여 렌즈 어셈블리(101)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(110)를 특정한 방향으로 움직이거나 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 일 실시 예에 따르면, 이미지 스태빌라이저(120)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있으며, 카메라 모듈(100)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 상기 움직임을 감지할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 이미지 시그널 프로세서(201)는 이미지 센서(110)을 통하여 획득된 이미지 또는 메모리에 저장된 이미지에 대하여 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening))을 수행할 수 있다. 또는, 이미지 시그널 프로세서(201)는 카메라 모듈(100)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(110))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(201)에 의해 처리된 최종 이미지는 추가 처리를 위하여 메모리(202)에 다시 저장되거나 카메라 모듈(100)의 외부 구성 요소로 전달될 수 있다. 일 실시 예에 따르면, 이미지 시그널 프로세서(201)는 도시된 바와 같이 어플리케이션 프로세서(미도시)의 적어도 일부로 구성되거나, 또는 다른 실시예에 따라 프로세서와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(201)에 의해 처리된 최종 이미지들은 프로세서에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 표시 장치(미도시, 이후 도 12 참고)를 통해 표시될 수 있다.According to an embodiment, the image signal processor 201 performs image processing (eg, depth map generation, 3D modeling, panorama generation, Feature point extraction, image synthesis, or image compensation (eg, noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening) may be performed. Alternatively, an image signal processor ( The 201 may perform control (eg, exposure time control, readout timing control, etc.) on at least one (eg, image sensor 110) among components included in the
일 실시 예에 따르면, 메모리(1130)는 이미지 센서(110)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 로우(Raw) 이미지(예: 높은 해상도의 이미지)는 메모리(201)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 표시 장치을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(202)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(201)에 의해 획득되어 처리될 수 있다. 일 실시 예에 따르면, 메모리(202)는 메모리(202)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.According to an embodiment, the memory 1130 may temporarily store at least a portion of an image acquired through the
일 실시 예에 따르면, 전자 장치(미도시, 이후 도 12 참고)는 각각 다른 속성 또는 기능을 가진 둘 이상의 카메라 모듈(100)들을 포함할 수 있다. 이런 경우, 예를 들면, 적어도 하나의 카메라 모듈(100)은 광각 카메라 또는 전면 카메라이고, 적어도 하나의 다른 카메라 모듈은 망원 카메라 또는 후면 카메라일 수 있다.According to an embodiment, the electronic device (not shown, see FIG. 12 ) may include two or
도 2는 몇몇 실시예에 따른 OIS 보정 동작을 설명하는 도면이다.2 is a diagram illustrating an OIS correction operation according to some embodiments.
도 2를 참조하면, 전자 장치(미도시, 이후 도 12 참고)는 카메라 모듈(100)을 포함할 수 있다. 예를 들어, 전자 장치는 카메라 모듈(100)의 내부 또는 외부에 전자 장치 자체(Body)의 흔들림을 감지하는 자이로 센서를 더 포함할 수 있다. 다른 예를 들어, 전자 장치는 렌즈(310), 이미지 센서(330), 또는 모듈(320) 중 적어도 하나의 움직임을 제어하는 광학식 이미지 스태빌라이저(120)를 더 포함할 수 있다.Referring to FIG. 2 , an electronic device (not shown, see FIG. 12 ) may include a
일 실시 예에 따르면, 카메라 모듈(100)은 렌즈(310)(예: 도 1의 렌즈 어셈블리(101)) 및 이미지 센서(330)(예: 도 1의 이미지 센서(110))를 포함할 수 있다. 렌즈(310)는 피사체로부터 반사되는 빛을 수집하고, 빛을 이미지 센서(330)로 전달할 수 있다. 이미지 센서(330)는 렌즈(310)로부터 전달된 빛을 전기적인 신호로 변환함으로써 이미지를 획득할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 전자 장치가 이미지를 획득하는 동안에 전자 장치가 흔들리면, 전자 장치(또는 이미지 스태빌라이저(120))는 전자 장치의 흔들림을 보상하기 위하여 1차적으로 광학식 이미지 안정화보정을 수행할 수 있다. 예를 들어, 이미지 스태빌라이저(120)는 카메라 모듈(100)에 내장된 센서(예: 자이로 센서 또는 가속도 센서)를 통해 카메라 모듈(100)의 흔들림을 감지하고, 감지된 흔들림에 대응하여 카메라 모듈(100)의 구성요소들 중 적어도 하나가 물리적으로 이동하도록 제어할 수 있다. According to an embodiment, if the electronic device shakes while the electronic device acquires an image, the electronic device (or the image stabilizer 120 ) may primarily perform optical image stabilization correction to compensate for the shake of the electronic device. . For example, the
예를 들어, 도 2의 참조 번호 301을 참조하면, 이미지 스태빌라이저(120)는 렌즈(310)가 이동하는 렌즈 시프트(shift) 방식으로 OIS 보정을 수행할 수 있다. 다른 예를 들어, 도 2의 참조 번호 302를 참조하면, 이미지 스태빌라이저(120)는 렌즈(310) 및 이미지 센서(330)를 포함하는 모듈(320)이 움직이는 모듈 기울기(module tilt) 방식으로 OIS 보정을 수행할 수 있다. 다른 예를 들어, 도 2에는 도시되지 않았으나, 이미지 스태빌라이저(120)는 이미지 센서(330)가 이동하는 센서 시프트 방식으로 OIS 보정을 수행할 수 있다. 이하 몇몇 실시예들에서 시프트 방식으로 OIS 보정하는 경우, 예를 들어렌즈 시프트 방식 또는 센서 시프트 방식으로 동작하는 카메라 모듈의 경우를 중심으로 이미지 안정화 방법을 설명한다.For example, referring to
일 실시 예에 따르면, 전자 장치는 OIS 보정을 위하여 이용되는 센서와 별도의 모션 센서(예: 자이로 센서 또는 가속도 센서)를 이용하여 전자 장치의 움직임을 감지할 수 있다. 이하 설명에서, 전자 장치의 움직임에 대응하는 정보는 자이로 데이터, 3차원 회전 움직임 정보, 또는 카메라 로테이션 정보(C_Path)로 지칭될 수 있다. 또한, 본 문서에서, OIS 보정에 의한, 렌즈(310), 이미지 센서(330)의 움직임에 대응하는 정보는 OIS 움직임 데이터, 2차원 움직임 정보 또는 OIS 2D 트랜스레이션 정보(T_Path)로 지칭될 수 있다. 일 실시 예에 따르면, 카메라 로테이션 정보(C_Path) 또는 OIS 2D 트랜스레이션 정보(T_Path)는 시간에 따른 각도 변화, 또는 시간에 따른 모듈(320)의 상대적 위치 변화로 표현될 수 있다. 이 경우 시간에 따른 각도 변화 또는 모듈(320)의 상대적 위치 변화는 모듈(320)의 프레임별 트랜스레이션 차이값을 누적합한 것일 수 있다.According to an embodiment, the electronic device may detect the movement of the electronic device using a motion sensor (eg, a gyro sensor or an acceleration sensor) separate from a sensor used for OIS correction. In the following description, information corresponding to the motion of the electronic device may be referred to as gyro data, 3D rotation motion information, or camera rotation information (C_Path). In addition, in this document, information corresponding to the movement of the
영상 움직임은 카메라 로테이션 움직임(C_Path)과 OIS 2D 트랜스레이션 정보(T_Path)가 동시에 반영된 결과이나, 전자 장치는 도 2의 모듈(320)의 움직임을 센싱하는 센서값이 제공되지 않는 한, 프레임 이미지 움직임 정보를 획득할 수는 없다. The image movement is a result of simultaneously reflecting the camera rotation movement (C_Path) and the
만약 전자 장치가 OIS 2D 트랜스레이션 정보(T_Path)를 고려하지 않고 프레임 이미지에 대한 DIS 보정을 수행하면, OIS 보정이 수행된 만큼 이미지가 과보정이 될 수 있다. 따라서, 다양한 실시 예들에 따르면, 전자 장치는 카메라 로테이션 정보(C_Path)과 프레임 로테이션 정보(FR_Path)에 기초하여 OIS 2D 트랜스레이션 정보(T_Path)를 추정하고, 추정된 OIS 2D 트랜스레이션 정보(T_Path)를 고려하여 안정화된 카메라 로테이션 정보를 모션 보정에 반영함으로써 DIS 보정을 보다 정확하게 수행할 수 있다. If the electronic device performs DIS correction on the frame image without considering the
이하의 설명에서, 카메라 모듈 자체(Body)의 움직임은 카메라 로테이션 정보(C_Path)로 지칭하고, 렌즈 쉬프트 또는 센서 쉬프트에 의한 움직임 정보는 OIS 2D 트랜스레이션 정보(T_Path)로 지칭하며, 카메라 모듈(320)에서 출력한 프레임 데이터 및 모션 벡터에 기초한 움직임 정보는 프레임 로테이션 정보(FR_Path)로 지칭한다.In the following description, the movement of the camera module itself (Body) is referred to as camera rotation information (C_Path), and movement information by lens shift or sensor shift is referred to as
도 3은 몇몇 실시예에 따른 이미지 시그널 프로세서를 도시한 블록도이다.3 is a block diagram illustrating an image signal processor in accordance with some embodiments.
도 3을 참고하면, 카메라 모듈(100)은 몇몇 실시예에 따라 프레임 각속도 센서(151) 및 자이로 센서(153)를 포함할 수 있다. Referring to FIG. 3 , the
프레임 각속도 센서(151)는 프레임 데이터(Frame info)를 출력한다. 구체적으로, 프레임 각속도 센서(151)는 기설정된 주기로 프레임 타임 스탬프가 찍힐 때마다 프레임 이미지의 순간 각속도 정보를 출력할 수 있다. 모션벡터 모듈(210)은 프레임 스탬프가 찍힐 때마다 프레임 내 특징점의 위치 변화 정보를 출력할 수 있다. 이미지 센서(110)는 프레임 이미지를 생성하고, 프레임 각속도 센서(151)로부터 생성된 프레임 데이터는 프레임 타임 스탬프 및 상기 프레임 이미지 내 특징점의 위치 정보를 포함한다.The frame
자이로 센서(153)는 자이로 데이터(Gyro info)를 출력한다. 구체적으로, 자이로 센서(153)는 기설정된 주기로 자이로 타임 스탬프가 찍힐 때마다 카메라 모듈 자체, 즉 바디(Body)의 순간 각속도 정보를 출력할 수 있다. 즉, 자이로 데이터는 자이로 타임 스탬프 및 상기 카메라 바디의 위치 정보(예를 들어 3차원 좌표)를 포함한다.The
몇몇 실시예에 따라 ISP(201)는 모션 벡터 모듈(210), MV(Motion Vector) 베이스 모션 추정부(220), OIS 2D 트랜스레이션 정보 추정부(230), 자이로 베이스 모션 추정부(240), 카메라 패스 옵티마이저(250), 모션 보상 계산부(260) 및 지오메트릭 왜곡 보상부(270)를 포함할 수 있다.According to some embodiments, the ISP 201 includes a
이미지 시그널 프로세서(201)는 프레임 데이터 및/또는 모션 데이터, 자이로 데이터에서 프레임 로테이션 정보(FR_Path)및 카메라 로테이션 정보(C_Path)를 수신하여 OIS 2D 트랜스레이션 정보(T_Path, T_Path)를 추출하고, OIS 2D 트랜스레이션 정보(T_Path)을 반영하여 카메라 로테이션 정보를 옵티마이징하며, 옵티마이징된 바디 로테이션 정보와 OIS 2D 트랜스레이션 정보(T_Path)를 통해, 디지털 안정화된 최종 이미지를 출력할 수 있다. The image signal processor 201 receives frame rotation information (FR_Path) and camera rotation information (C_Path) from frame data,/or motion data, and gyro data, and extracts OIS 2D translation information (T_Path, T_Path), and
로우 이미지는 롤링 셔터의 움직임에 따라 하나의 프레임 이미지(예를 들어 제1 프레임 타임 스탬프에서 생성된 제1 프레임) 내에서 각각의 픽셀이 라인별 카메라 바디의 위치 또는 프레임의 회전 각도에 따라 서로 다른 시점에 센싱되고, 동일 피사체의 특징점에 대해 위치 정보가 변하게 된다. MV 베이스 모션 추정부(220)는 이러한 픽셀 위치 정보 간의 변화, 즉 롤링 셔터 정보를 추출할 수 있다. 이를 인트라-프레임(Intra Frame) 로테이션 정보(이하 Intra_FR_Path)라고 한다. 또한 카메라의 인터-프레임 로테이션 정보(Inter_FR_Path)를 누적합하여 각 프레임에서의 최종 카메라 로테이션 정보(Final C Rpath info.)를 추출한다. In the raw image, each pixel within one frame image (for example, the first frame generated from the first frame time stamp) according to the movement of the rolling shutter is different depending on the position of the camera body for each line or the rotation angle of the frame. It is sensed at a point in time, and location information is changed with respect to a feature point of the same subject. The MV-based
몇몇 실시예에 따라 모션 벡터 모듈(210)은 상기 프레임 이미지와 상기 프레임 데이터를 수신하여 프레임 이미지의 모션 벡터 정보(MV), 즉 프레임의 움직임 정보를 추출한다. 모션 벡터 정보(MV)는 프레임 이미지에서 추출되는 움직임 정보일 수 있다. 몇몇 실시예에 따라 MV 베이스 모션 추정부(220)는 프레임 데이터(Frame info) 및/또는 모션 벡터 정보(MV)를 기초로 프레임 로테이션 정보(FR_Path)를 추출한다. 프레임 로테이션 정보(FR_Path)는 인터-프레임 로테이션 정보(Inter-frame rotation info.; Inter-FR_Path), 인트라-프레임 로테이션 정보(Intra-frame rotation info.; Intra-FR_Path) 및 인터-프레임 로테이션 정보를 누적합하여 얻는 최종 프레임 로테이션 정보(Final FR_Path)를 포함할 수 있다. According to some embodiments, the
구체적으로, MV베이스 모션 추정부(220)는 프레임 각속도 센서(151) 및 모션 벡터 모듈(210)에서 수신된 프레임 데이터 및 모션 벡터 정보(MV)를 기초로 제1 프레임 타임 스탬프에서 생성된 제1 프레임의 '제1 회전 정보'와 제2 프레임 타임 스탬프에서 생성된 제2 프레임의 '제2 회전 정보' 사이의 각도 변화를 추출한다. 이때 추출된 정보는 인터-프레임 로테이션 정보(Inter-Frame Rotation Path, 이하 Inter_FR_Path)라고 한다. 프레임의 인터-프레임 로테이션 정보를 누적합하여 각 프레임에서의 최종 프레임 로테이션 정보 (Final FR_Path)를 추출한다. Specifically, the MV-based
자이로 베이스 모션 추정부(240)는 자이로 데이터를 기초로 카메라 로테이션 정보를 추출한다. 구체적으로, 자이로 베이스 모션 추정부(230)는 자이로 데이터, 즉, 제1 자이로 타임 스탬프에서 생성된 '제1 회전 정보'와 제2 자이로 스탬프에서 생성된 '제2 회전정보'를 비교하여, 제1 자이로 타임 스탬프와 제2 자이로 타임 스탬프 간에 3차원 월드 좌표계에서의 위치 변화(예를 들어 x, y, z축 각각의 이동량, 이동방향 및 회전 각속도 포함)를 카메라 로테이션 정보(C_Path)로 추출할 수 있다. 카메라 로테이션 정보(C_Path) 역시 인터-프레임 카메라 로테이션 정보(Inter-frame Camera Rotation Info.; 이하 Inter-C_Path) 및 인트라-프레임 카메라 로테이션 정보(Intra-frame Camera Rotation Info. ; 이하 Intra-C_Path), 최종 카메라 로테이션 정보(Final C_Path)를 포함한다. 최종 카메라 로테이션 정보(Final C_Path)는 인터-프레임 카메라 로테이션 정보(Inter_C_Path)를 누적합하여 산출할 수 있다. The gyro-based
OIS 2D 트랜스레이션 정보 추정부(230)는 프레임 로테이션 정보(FR_Path)와 카메라 로테이션 정보(C_Path)를 기초로 렌즈 쉬프트 또는 센서 쉬프트와 관련된 정보인 OIS 2차원 트랜스레이션 정보(T_Path)를 추출한다. OIS 2D 트랜스레이션 정보(T_Path)는 카메라 모듈 내 렌즈 어셈블리(310)가 동일 평면상에서 이동한 정보(Plane Shift) 또는 이미지 센서(110)가 동일 평면상에서 이동한 정보일 수 있다. The
OIS 2D 트랜스레이션 정보(T_Path)는 예를 들면, 카메라 로테이션 정보(C_Path)와 프레임 로테이션 정보(FR_Path)의 차이값(예를 들어 각도값)에, 이미지 센서 또는 렌즈의 초점 거리를 곱하여 구할 수 있다. 이 경우 인터(Inter) 프레임 OIS 2D 트랜스레이션 정보(이하 Inter_T_Path)와 인트라(Intra) 프레임 OIS 2D 트랜스레이션 정보(Intra_T_Path) 모두 동일한 방식으로 구한다. (구체적으로, Inter_T_Path = Inter_C_Path - Inter_FR_Path이고, Intra_T_Path = Intra_C_Path - Intra_FR_Path로 구할 수 있다.) 그리고 OIS 2D 트랜스레이션 인터-프레임 정보(Inter_T_Path)를 누적합하여 최종 OIS 2D 트랜스레이션 정보(Final T_Path)를 추출한다.The
여기서 구한 OIS 2D 트랜스레이션 인트라-프레임 정보(Intra_T_Path)는 인트라-프레임 카메라 로테이션 정보(Intra_C_Path)와 함께 영상의 롤링 셔터 보정(셔터 이동에 따른 픽셀 움직임을 보정하기 위한 것)에 활용한다. The
구체적인 동작은 도 5 내지 도 11에서 자세히 설명하기로 한다.A detailed operation will be described in detail with reference to FIGS. 5 to 11 .
카메라 패스 옵티마이저(250)는 OIS 2D 트랜스레이션 정보(T_Path) 및 카메라 로테이션 정보(C_Path)를 참조하여 카메라 모듈(100) 자체가 움직인 경로인, 안정화된 카메라 움직임 정보(S)를 산출한다. 카메라 패스 옵티마이저(250)는 추출된 OIS 2D 트랜스레이션 경로(T_Path), 추출된 인트라 OIS 2D 트랜스레이션 정보(Intra_T_Path)와 인트라 카메라 로테이션 정보(Intra_C_Path)를 참조하여 카메라 로테이션 정보(C_Path)에 대한 옵티마이징을 수행한다. 이러한 옵티마이징 동작에는 롤링 셔터에 의한 왜곡 보정도 포함된다. The camera path optimizer 250 refers to the
롤링 셔터란, 몇몇 실시예에 따라 이미지 센서가 CMOS 센서인 경우, 이미지 시그널 프로세서(201)는 이미지 센서가 프레임 단위의 로우(Raw) 이미지를 획득하는 동안, 픽셀 어레이 내 가장 윗 라인부터 가장 아랫 라인까지 순서대로 반사되는 빛을 리드아웃할 수 있다. 이미지 센서가 빛을 라인 단위로 리드 아웃하는 동작을 롤링 셔터(Rolling Shutter) 동작으로 지칭할 수 있다. The rolling shutter refers to, according to some embodiments, when the image sensor is a CMOS sensor, the image signal processor 201 performs a line from the uppermost line to the lowermost line in the pixel array while the image sensor acquires a frame-by-frame raw image. It is possible to read out the light reflected in order up to . An operation in which the image sensor reads out light in line units may be referred to as a rolling shutter operation.
즉, 롤링 셔터 방식은 피사체로부터 반사되는 빛이 이미지 센서(201)로 들어가는 시점이 라인마다 상이하므로, 빛의 시간 차이로 인해 하나의 프레임 내에서도 이미지 왜곡이 발생할 수 있다. 롤링 셔터 동작에 의한 왜곡은 카메라 로테이션(C_Path)과 OIS 2D 트랜스레이션(T_Path) 두 가지 모두에 의해 발생되기 때문에 S10과 S30에서 추출된 인트라(Intra) 카메라 로테이션 정보(Intra_C_Path)와 인트라 OIS 2D 트랜스레이션 정보(Intra_T_Path)를 활용하여 롤링 셔터 동작으로 왜곡된 이미지를 보정할 수 있다. That is, in the rolling shutter method, since the time point at which the light reflected from the subject enters the image sensor 201 is different for each line, image distortion may occur even within one frame due to the time difference of the light. Because distortion caused by rolling shutter operation is caused by both camera rotation (C_Path) and
모션 보상 계산부(260)는 인트라-프레임 카메라 로테이션 정보(Intra_C_Path), 인트라-프레임 OIS 2D 트랜스레이션 정보(Intra_T_Path), 최종 OIS 2D 트랜스레이션 정보(Final T_Path), 최종 카메라 로테이션 정보(Final C_Path)및 안정화된 카메라 움직임 정보(S)를 기초로 입력된 프레임 이미지에 대한 모션 보상량을 결정한다. 즉, 모션 보상 계산부(260)는 안정화된 카메라 움직임 정보(S)에 롤링 셔터 동작으로 인한 인트라-프레임 카메라 로테이션 정보(Intra_C_Path)에 상응하는 회전 보정양, 인트라-프레임 OIS 2D 트랜스레이션 정보(Intra_T_Path), 최종 카메라 로테이션 정보(Final C Path)와 최종 OIS 2D 트랜스레이션 정보(Final T_path)를 반영하여 이미지 센서(110)에서 출력된 프레임 이미지의 각각의 개별 그리드 포인트에서의 보정양을 결정한다.The
한편, 안정화된 카메라 움직임 정보(S)가 프레임 이미지에 적용되었을 경우, 수정된 프레임 이미지의 픽셀 위치의 입력 픽셀 위치는 변경된 바운더리 마진(boundary margin) 범위 내에 존재하도록 산출된다. 구체적인 설명은 도 10 내지 도 11에서 설명한다On the other hand, when the stabilized camera motion information S is applied to the frame image, the input pixel position of the pixel position of the corrected frame image is calculated to exist within the changed boundary margin range. A detailed description will be given with reference to FIGS. 10 to 11 .
왜곡 보상 계산부(270)는 모션 보상 계산부(260)에서 산출된 개별 그리드의 보정양을 입력으로 받아 카메라 모듈(100)에서 출력된 프레임 이미지 전체에 적용(예를 들어 비닝(binning) 또는 보간(Interpolation))하여 디지털 이미지 안정화를 수행한다. The distortion
도 4는 몇몇 실시예에 따른 이미지 안정화 방법을 나타낸 흐름도이다.4 is a flowchart illustrating an image stabilization method according to some embodiments.
도 4를 참조하면, 이미지 시그널 프로세서(201)는 시간 정보 즉, 타임 스탬프(time stamp)가 각각 포함된 자이로 데이터 및 모션 벡터 정보 또는 프레임 로테이션 데이터에 기초하여 카메라 모듈(100)의 카메라 로테이션 정보(C_Path)와 프레임 로테이션 정보(FR_Path)를 추정한다.Referring to FIG. 4 , the image signal processor 201 performs the camera rotation information ( C_Path) and frame rotation information (FR_Path) are estimated.
구체적으로 이미지 시그널 프로세서(201)는 제1 자이로 데이터(Gyro angle_t1, Gyro timestamp_t1)와 제2 자이로 데이터(Gyro angle_t2, Gyro timestamp_t2)로부터, 카메라 모듈(100)의 움직임 정보, t1 시점과 t2 시점 간의 회전 각도 변화량를 계산하고 이를 누적합하여 최종 카메라 로테이션 정보(Final C_Path)를 추정할 수 있다(S10). 추정된 카메라 로테이션 정보(C_Path)는 인트라-프레임 카메라 로테이션 정보(Intra_C_Path) 및 인터-프레임 카메라 로테이션 정보(Inter_C_Path), 그리고 최종 카메라 로테이션 정보(Final C_Path)를 포함한다. 카메라 로테이션 정보(C_Path)는 자이로 센서(153)의 타임스탬프를 기초로 하는 3차원(예를 들어 x, y, z축) 포지션 변화 정보, 즉, 카메라 모듈(100)의 회전 변위로서 호칭될 수도 있다. 예를 들어 최종 카메라 로테이션 정보(Final C_Path)는 인터-프레임 카메라 로테이션 정보(Inter_C_Path)를 누적합하여 산출될 수 있다. Specifically, the image signal processor 201 receives the first gyro data (Gyro angle_t1, Gyro timestamp_t1) and the second gyro data (Gyro angle_t2, Gyro timestamp_t2), the motion information of the
이미지 시그널 프로세서(201)는 프레임 각속도 센서(151) 및 모션 벡터 모듈(210)을 통해 t1 시점의 제1 프레임 데이터(Frame_t1, Frame timestamp_t1)와 t2 시점의 제2 프레임 데이터(Frame_t2, Frame timestamp_t2)로부터, t1 시점과 t2 시점 사이의 객체의 특징점 움직임 정보, 즉, 프레임 로테이션 정보(FR_Path)를 추정할 수 있다(S20). 이때 프레임 로테이션 정보(FR_Path)는 인트라-프레임 로테이션 정보(Intra_FR_Path), 인터-프레임 로테이션 정보(Inter_FR_Path) 및 최종 프레임 로테이션 정보(Final FR_Path)를 포함한다. 최종 프레임 로테이션 정보(Final FR_Path)는 인터-프레임 로테이션 정보(Inter_FR_Path)를 누적합하여 산출될 수 있다.The image signal processor 201 receives the first frame data (Frame_t1, Frame timestamp_t1) at the time t1 and the second frame data (Frame_t2, Frame timestamp_t2) at the time t2 through the frame
이미지 시그널 프로세서(201)는 카메라 로테이션 정보(C_Path) 및 프레임 로테이션 정보(FR_Path)로부터 OIS 2D 트랜스레이션 정보(T_Path)를 추출한다(S30). 구체적으로, 카메라 로테이션 정보에서 프레임 로테이션 정보를 차감한 각도 변화값에 카메라 모듈(100) 내 이미지 센서(110)의 환산 초점 거리(focal length)를 곱하여, OIS 2D 트랜스레이션 정보(T_Path)를 추정할 수 있다. OIS 2D 트랜스레이션 정보(T_Path)는 인터-프레임 2D 트랜스레이션 정보(Inter_T_Path) 및 인트라-프레임 2D 트랜스레이션 정보(Intra_T_Path) 그리고 최종 OIS 2D 트랜스레이션 정보(Final T_Path)를 포함할 수 있다. 예를 들어 인터-프레임 2D 트랜스레이션 정보(Inter_T_Path)은 인터-프레임 카메라 로테이션 정보(Inter_C_Path)과 인터-프레임 로테이션 정보(Inter_FR_Path)에 기초하여 추정될 수 있고, 인트라-프레임 2D 트랜스레이션 정보(Intra_T_Path)는 인트라-프레임 카메라 로테이션 정보(Intra_C_Path)와 인트라-프레임 2D 트랜스레이션 정보(Intra_T_Path)에 기초하여 추정될 수 있다. 즉, 최종 OIS 2D 트랜스레이션 정보(Final T_Path)는 인터-프레임 2D 트랜스레이션 정보(Inter_T_Path)를 누적합하여 산출될 수 있다.The image signal processor 201 extracts OIS 2D translation information (T_Path) from the camera rotation information (C_Path) and the frame rotation information (FR_Path) (S30). Specifically, the
이미지 시그널 프로세서(201)는 추정 정확도를 높이기 위해, 추정된 OIS 2D 트랜스레이션 정보(T_Path)에 섞여있는 바이어스 값들을 제거한다(S40). 바이어스 값은 프레임 각속도 센서(151) 또는 자이로 센서(153)에서 가진 오프셋값으로서, 인터-프레임 트랜스레이션 정보(Inter_T_Path)를 적분하여 최종 OIS 2D 트랜스레이션 정보를 추정할 때, 오프셋값이 저주파 성분으로 나타날 수 있다. 최종 OIS 2D 트랜스레이션 정보(Final T_Path)는 영상의 이미지 사이즈보다 큰 값을 가질 수 없기 때문에, 보다 정확한 추정을 위해 OIS 2D 최종 트랜스레이션 경로(Final T_Path)에 오프셋값이 포함되었음을 고려해야 한다. The image signal processor 201 removes bias values mixed in the estimated
이미지 시그널 프로세서(201), 즉 OIS 2D 트랜스레이션 정보 추정부(230)는 몇몇 실시예에 따라 추정된 최종 OIS 2D 트랜스레이션 경로(Final T_Path)에 고주파 필터를 적용하여, 저주파 성분이 제거된 OIS 2D 트랜스레이션 경로(filtered_T_Path)를 이후 단계(S50, S60)에 사용한다. 이때 고주파 필터는 임의의 임계 주파수를 기준으로 필터링 할 수 있고, 필터링 기준이 되는 상기 임계 주파수는 튜닝될 수 있다. 즉, 최종 OIS 2D 트랜스레이션 경로(Final T_Path)는 튜닝 임계 주파수를 기준으로 고주파 성분만 남기고 저주파 성분을 제거될 수 있다. 일 실시예로 고주파 필터는 1-Pole IIR 필터로 구현할 수도 있다.The image signal processor 201 , that is, the
카메라 패스 옵티마이저(250)는 필터링된 OIS 2D 트랜스레이션 정보(filtered_T_Path), 인트라 OIS 2D 트랜스레이션 정보(Intra_T_path) 및 카메라 로테이션 정보(C_Path)를 이용하여 카메라 모듈(100)의 실제 움직임, 즉 안정화된 카메라 움직임 정보(S)를 추정한다. 이때 이용되는 카메라 로테이션 정보(C_Path)는 인트라 프라임 카메라 로테이션 정보(Intra_C_Path) 및 최종 카메라 로테이션 정보(Final_C_Path)일 수 있다.The camera path optimizer 250 uses the filtered
이미지 시그널 프로세서(201)는 상기 안정화된 카메라 움직임 정보(S), 필터링된 OIS 2D 트랜스레이션 정보(filtered T_Path) 및 인트라-프레임 카메라 로테이션 정보(Intra_C_Path)와 인트라-프레임 카메라 트랜스레이션 정보(Intra_T_Path), 카메라 로테이션 경로에 기초하여, 입력 영상의 움직임 보상을 수행할 수 있다. 한편, 이미지 신호 프로세서(201)가 움직임 보상 후 원래 입력 영상(Raw Image)의 기설정된 바운더리 마진을 적용하게 되면, 카메라 모듈(100)의 움직임 또는 OIS 2D 트렌스레이션에 의해 기설정된 바운더리 마진 이상의 범위로 움직였을 경우, 바운더리 마진에 채워지지 않은 부분의 일부 영상은 제대로 디스플레이 되지 않을 수 있다(예를 들어 해당부분은 빈 화면(예, 검은색)으로 디스플레이될 수 있다). 이러한 현상을 방지하기 위해, 이미지 신호 프로세서(201)는 안정화된 카메라 움직임 정보(S)를 조정된 바운더리 마진 범위(S50)를 만족하는 범위내에서 구한다. 바운더리 마진 조정에 대해서는 이후 도 10 및 도 11에서 설명한다. The image signal processor 201 includes the stabilized camera motion information (S), filtered
이후 이미지 시그널 프로세서(201)는 바운더리 마진을 만족시키는 최종 움직임 보상 정보를 프레임 이미지에 적용하여 디지털 이미지 안정화를 완료한다(S60).Thereafter, the image signal processor 201 applies final motion compensation information that satisfies the boundary margin to the frame image to complete digital image stabilization (S60).
도 5는 몇몇 실시예에 따른 이미지 안정화 방법을 설명하기 위한 개념도이다. 5 is a conceptual diagram illustrating an image stabilization method according to some embodiments.
카메라 로테이션 정보(C_Path), 프레임 로테이션 정보(FR_Path) 및 OIS 2D 트랜스레이션 정보(T_Path)에 대해서 보다 구체적으로 설명한다. 제1 시점(t1)과 제2 시점(t2) 사이에 측정된 각속도 를 시간에 대해 적분하면 거리 로 환산될 수 있다(즉, )The camera rotation information (C_Path), the frame rotation information (FR_Path), and the
도 5를 참조하면, 자이로 베이스 모션 추정부(230)는 자이로 센서(153)의 출력값(Gyro data, Gyro timestamp)으로부터 카메라 로테이션 정보(C_Path) 를 추출하고, MV베이스 모션 추정부(220)는 프레임 각속도 센서(151)의 출력값(Frame data, Frame timestamp)나 모션 벡터로부터 프레임 로테이션 정보(FR_Path) 를 추출한다. Referring to FIG. 5 , the gyro-based
카메라 로테이션 정보(C_Path)는 카메라 모듈(100) 자체의 로테이션 정보로서, 자이로 센서(153)의 타임스탬프 정보를 기초로 t1 시점(Gyro timestamp_t1)의 회전 정보와 t2 시점(Gyro timestamp_t2)의 회전 정보를 비교한 카메라 로테이션 정보(, A)로 산출될 수 있다. 프레임 로테이션 정보(FR_Path)는 센싱된 이미지의 이전 프레임과 현재 프레임 간의 로테이션 정보를 활용한다. 즉프레임 센서의 타임 스탬프 정보를 기초로 동일한 객체(예를 들어 특징점)의 t1 시점(Frame timestamp_t1)에서의 회전 정보와 t2 시점(Frame timestamp_t2)의 회전 정보를 비교하여 프레임 환산 회전 움직임 로 산출될 수 있다. 이때 t1 시점과 t2 시점은 기설정된 주기로 발행되는 타임 스탬프의 서로 다른 시점이다. The camera rotation information (C_Path) is rotation information of the
이때 카메라 로테이션 정보(C_Path)와 프레임 로테이션 정보(FR_Path) 각각은 동일 프레임 내에서의 움직임 정보(Intra_C_Path, Inter_FR_Path), 다른 프레임 간의 움직임 정보(Inter_C_Path, Inter_FR_Path), 그리고 인터-프레임(Inter-frame) 움직임을 누적합하여 구하는 최종 로테이션 정보(Final C_Path, Final_FR_Path)를 포함할 수 있다. 몇몇 실시예에 따라 프레임 각속도 센서 타임 스탬프(Frame timestamp)와 자이로 센서 타임 스탬프(Gyro timestamp)는 동일한 주기를 가질 수도 있고, 서로 다른 주기이나 일정 배수의 주기를 가질 수도 있다.At this time, each of the camera rotation information (C_Path) and the frame rotation information (FR_Path) includes motion information within the same frame (Intra_C_Path, Inter_FR_Path), motion information between different frames (Inter_C_Path, Inter_FR_Path), and inter-frame motion. may include final rotation information (Final C_Path, Final_FR_Path) obtained by accumulating . According to some embodiments, the frame angular velocity sensor time stamp (Frame timestamp) and the gyro sensor time stamp (Gyro timestamp) may have the same period, different periods or a period of a predetermined multiple.
최종 프레임 로테이션 정보(Final FR_Path)는 최종 카메라 로테이션 정보(Final C_Path,)와 최종 OIS 2D 트랜스레이션 정보(Final T_Path, )가 조합된 최종 결과 위치(+)를 각속도만 고려한 회전 움직임으로 변환했을 때 추정되는 프레임의 회전 움직임(B)을 의미한다. 실제로 카메라 모듈(100)에서의 프레임 이미지의 움직임은 최종 카메라 로테이션 정보(Final C_Path, , A)에 따른 움직임 후, 최종 OIS 2D 트랜스레이션 정보(Final T_Path, )에 따라 평행이동하여, B' 위치로 이동한 것이다. 그러나, 이미지시그널 프로세서(201)에 최종 OIS 2D 트랜스레이션 정보(Final T_Path, )가 센서로부터 제공되지 않으면, 현재 프레임 로테이션 정보는 단순히 모션 벡터(MV)의 회전 움직임()으로만 고려된 위치 B(position)에 기초한 것이다.The final frame rotation information (Final FR_Path) is the final camera rotation information (Final C_Path, ) and
이미지 시그널 프로세서(201)에서 출력되는 최종 이미지는 보정 전 입력 영상에 카메라 로테이션 정보(C_Path)와 OIS 2D 트랜스레이션 정보(T_Path)를 동시에 고려한, 안정화된 카메라 로테이션 정보()를 기초로 보정한다. 만약 OIS 2D 트랜스레이션 정보(, B')의 활용 없이 프레임 로테이션 정보()만을 기초로 이미지 안정화를 수행하면, 출력된 프레임 이미지에 워블링이 나타날 수 있다. 여기서 안정화하려는 카메라 로테이션 정보(C_Path)는 카메라 인터-프레임 로테이션 정보(Inter_C_Path)를 누적합하여 산출한 <수학식 1>의 최종 카메라 로테이션 회전 경로()를 의미한다.The final image output from the image signal processor 201 is stabilized camera rotation information ( ) is corrected based on
따라서 이미지 시그널 프로세서(201)는 OIS 2D 트랜스레이션 정보(T_Path)가 별도로 제공되지 않는 경우에도, 카메라 로테이션 정보(C_Path) 및 프레임 로테이션 정보(FR_Path)로부터 OIS 2D 트랜스레이션 정보( , T_Path )를 추정함으로써, B가 아닌 B'의 위치를 산출할 수 있다. 또한 이미지 시그널 프로세서(201)는 추정된 OIS 2D 트랜스레이션 정보(T_Path)를 안정화된 카메라 로테이션 정보(Optimized C_Path)의 산출에 이용하여, 디지털 이미지 안정화를 보다 정확하게 수행할 수 있다. Accordingly, even when the
<수학식 1><Equation 1>
수학식 1을 참조하여 구체적으로 설명하면, OIS 2D 트랜스레이션 정보(T_Path, 수학식 1의 T)는 카메라 로테이션 정보()에서 프레임 로테이션 정보()을 차감한 각도값 에 비례한다. 이 때 수학식 1의 의 , 는 인터-프레임 카메라 로테이션 정보(Inter C_Path)을 누적합하여 산출한 최종 카메라 로테이션 정보(Final C_Path)이고, 은 프레임의 인터-프레임 로테이션 정보(Inter FR_Path)을 누적합하여 산출한 최종 프레임 로테이션 정보(Final FR_Path)를 의미한다. Specifically, with reference to Equation 1, the
또한 수학식 1에서 는 프레임 각속도 센서(151)에서 추정한 프레임 환산 회전의 인트라-프레임 x축 회전값 및 y축 회전값을 적용하고, 는 카메라 각속도에서 추정한 카메라 회전의 인트라-프레임 x축 회전값 및 y축 회전값을 적용하여, OIS 2D 트랜스레이션의 인트라-프레임 x축 회전값 및 y축 회전값을 산출할 수 있다. Also in Equation 1 applies the intra-frame x-axis rotation value and the y-axis rotation value of the frame conversion rotation estimated by the frame
OIS 2D 트랜스레이션 정보(T_Path)의 x축 움직임 패스()는 카메라 로테이션 정보()에서 프레임 로테이션 정보()을 차감한 각도값에 렌즈 어셈블리(101)의 환산 초점 거리()를 곱한 값으로 구할 수 있다. OIS 2D 트랜스레이션 정보(T_Path)의 y축 움직임 패스()는 카메라 로테이션 정보()에서 프레임 로테이션 정보()을 차감한 각도값에 렌즈 어셈블리(101)의 환산 초점 거리()를 곱한 값으로 구할 수 있다. 한편, 몇몇 실시예에 따라 OIS 움직임 이미지의 좌표는 좌측 상부 모서리를 기준좌표(0,0)으로 할 경우 반대방향으로 움직인 것으로 보아 산출된 값에 '-'부호를 붙일 수도 있으나, 기준 좌표의 위치에 따라 '+'부호를 붙일 수도 있다.The x-axis movement path of
몇몇 실시예에 따라 2D 트랜스레이션 정보 추정부(220)는 앞서 설명한 바와 같이 최종 OIS 2D 트랜스레이션 정보(Final T_Path)를 추정할 수 있다.According to some embodiments, the 2D
도 6은 몇몇 실시예에 따라, OIS 2D 트랜스레이션 정보의 X축 주파수 성분을 나타낸 그래프이다. 6 is a graph illustrating an X-axis frequency component of
이미지 시그널 프로세서(201)는 최종 OIS 2D 트랜스레이션 정보(Final T_Path)에 고주파 필터를 적용할 수 있다. 도 6에 도시된 최종 OIS 2D 트랜스레이션 정보는 인터-프레임 OIS 2D 트랜스레이션값을 누적합하여 구한 OIS 트랜스레이션 경로이다. The image signal processor 201 may apply a high-frequency filter to the
OIS 2D 트랜스레이션 정보(T_Path) 즉, 움직인 경로는 실제로는 이미지 센서(110)로부터 수신된 영상 사이즈를 벗어날 수 없다. 그러나 OIS 2D 트랜스레이션 정보(T_Path)는, OIS 움직임 추정에 사용된 자이로 데이터뿐 아니라 프레임 데이터 생성시 발생한 바이어스값(즉, 오프셋 값)을 포함하고 있다. 만약 바이어스값을 제거하지 않은 채 최종 OIS 2D 트랜스레이션 정보(Final T_Path)를 산출하여 디지털 이미지 안정화에 이용하게 되면, 최종 출력되는 안정화된 영상은 센싱된 프레임 이미지 사이즈의 바운더리 마진을 넘어가 일부 영역이 나타나지 않을 수 있다. 따라서 최종 OIS 2D 트랜스레이션 정보(Final T_Path) 계산시 바이어스값을 제거하기 위해, 이미지 시그널 프로세서(201)는 최종 OIS 2D 트랜스레이션 정보(Final T_Path)에 고주파 필터를 적용할 수 있다. The
고주파 필터의 임계주파수는 튜닝가능하다. 입력되는 영상 데이터는 임계주파수를 기준으로 임계주파수보다 큰 고주파 대역은 통과되고, 임계주파수보다 작은 저주파 대역은 필터링된다. 바이어스 성분만 제거되고 고주파 성분이 거의 손실없이 남으려면, 튜닝 임계주파수를 적절하게 설정해야 한다. 설명의 편의를 위해 바이어스 성분이 포함된 OIS 2D 트랜스레이션 정보는 로우(raw) OIS 2D 트랜스레이션 정보(raw T_Path)라고 호칭하고, 바이어스 성분이 제거된 OIS 2D 트랜스레이션 정보는 필터링된 OIS 2D 트랜스레이션 정보(filtered T_Path)라고 호칭한다.The threshold frequency of the high-frequency filter is tunable. In the input image data, a high frequency band greater than the threshold frequency is passed based on the threshold frequency, and a low frequency band smaller than the threshold frequency is filtered. If only the bias component is removed and the high frequency component is left with almost no loss, the tuning threshold frequency must be set appropriately. For convenience of explanation, the
몇몇 실시예에 따라 고주파 필터는 1-pole IIR 필터를 사용할 수 있다. 그 결과 도 6에 도시된 바와 같이, 로우 OIS 2D 트랜스레이션 정보에서 저주파 성분(low frequency component)을 추출할 수 있다. According to some embodiments, the high-frequency filter may use a 1-pole IIR filter. As a result, as shown in FIG. 6 , it is possible to extract a low frequency component from the
도 7은 몇몇 실시예에 따라, 이미지에 대한 움직임 정보의 X축 최종 고주파수 성분을 나타낸 그래프이다. 도 8는 도 7에서 저주파 성분과 고주파 성분이 공존하는 Y축 성분을 나타낸 그래프이다. 도 9는 몇몇 실시예에 따라, 도 8의 Y축 움직임으로부터 저주파 성분이 제거되어 Y축 고주파 성분만 남은 상태를 나타낸 그래프이다.7 is a graph illustrating an X-axis final high-frequency component of motion information for an image, according to some embodiments. 8 is a graph illustrating a Y-axis component in which a low-frequency component and a high-frequency component coexist in FIG. 7 . 9 is a graph illustrating a state in which a low-frequency component is removed from the Y-axis movement of FIG. 8 and only a Y-axis high-frequency component remains, according to some embodiments.
예를 들면, 도 7과 같이 x축 로우 OIS 2D 트랜스레이션 정보(Raw T_Path)는 저주파 성분을 포함할 수 있다. 저주파 성분을 필터링하면, 도 8과 같이 고주파 성분만 포함된, x축의 필터링된 OIS 2D 트랜스레이션 경로(filtered T_Path)를 얻을 수 있다.For example, as shown in FIG. 7 , the x-axis
예를 들면, 도 8과 같이 y축 로우 OIS 2D 트랜스레이션 정보(Raw T_Path)는 저주파 성분을 포함할 수 있다. 저주파 성분을 필터링하면, 도 9와 같이 고주파 성분만 포함된, y축의 필터링된 OIS 2D 트랜스레이션 정보(filtered T_Path, )를 얻을 수 있다.For example, as shown in FIG. 8 , the y-axis
이에 따라 x축 및 y축의 필터링된 OIS 2D 트랜스레이션 정보(filtered T_Path)는 바이어스 성분이 제거되어 정확도가 향상된 OIS 움직임(shift) 정보를 포함할 수 있다.Accordingly, the filtered
다시 도 2 및 도 5를 참조하면, 이미지 시그널 프로세서(201)는 카메라 모듈(100)의 카메라 로테이션 정보(C_Path, ) 및 필터링된 OIS 2D 트랜스레이션 정보(filtered T_Path, )에 기초하여 디지털 이미지 안정화를 수행할 수 있다. 몇몇 실시예에 따라 카메라 패스 옵티마이저(240)는 필터링된 OIS 2D 트랜스레이션 정보(filtered T_Path, )를 반영하여, 카메라 로테이션 정보(C_Path)를 옵티마이징할 수 있다.Referring back to FIGS. 2 and 5 , the image signal processor 201 includes the camera rotation information (C_Path, ) and filtered
이미지 시그널 프로세서(201)는 2차원 영상 좌표로 촬상된 프레임 이미지에 대해 3차원 공간좌표에 기초한 움직임 정보를 고려하여 디지털 이미지 안정화를 수행해야 한다. 입력 프레임 이미지는 카메라 모듈(100)의 카메라 로테이션정보(C_Path, ) 와 OIS 2D 트랜스레이션 정보(T_Path, )가 반영된 결과로 촬상된다. 따라서 디지털 이미지 안정화는 카메라 로테이션 정보(C_Path) 및 필터링된 2D 트랜스레이션 정보(filtered T_Path, )를 반영할 때, 변경된 바운더리 마진 범위(도 11 및 도 12)를 만족하도록, 안정화된 카메라 로테이션 정보(Optimized C_Path, )를 도출해야 한다. The image signal processor 201 should perform digital image stabilization in consideration of motion information based on 3D spatial coordinates on a frame image captured with 2D image coordinates. The input frame image is camera rotation information (C_Path, ) and
구체적으로, 손떨림 안정화를 위해 이미지 안정화 전 영상(입력된 프레임 이미지)의 움직임은 카메라 로테이션 정보(), 카메라 인트라-프레임 로테이션 정보(), OIS 2D 트랜스레이션 정보(filtered T_Path, )와 인트라-프레임 OIS 트랜스레이션 정보(Inter_T_Path)의 조합이므로, 수학식 2와 같이 산출될 수 있다. Specifically, for image stabilization, the movement of the image (input frame image) before image stabilization is ), camera intra-frame rotation information ( ),
<수학식 2><
즉, 입력된 프레임 이미지에서의 픽셀 좌표 는 3차원 월드 좌표계의 한 지점 P에 카메라 모듈(100)의 카메라 로테이션 정보()을 적용하고 그 결과를 카메라 모듈(100)의 내부 프로젝션 매트릭스(K)를 곱하여 픽셀 좌표계로 변환한 후, 필터링된 2D 트랜스레이션 정보(filtered T_Path, )를 적용한 결과로 나타난다. 이 때 인트라-프레임 카메라 로테이션 정보(Intra C_Path)와 인트라-프레임 2D 트랜스레이션 정보(Intra_T_Path)를 반영하여 롤링 셔터에 의한 왜곡을 보정한다. That is, pixel coordinates in the input frame image is camera rotation information of the
카메라 로테이션 정보()는 안정화의 대상으로 인터-프레임 카메라 로테이션 정보(Inter C_Path)를 누적합하여 산출한 최종 카메라 로테이션 경로(Final C_Path)를 로테이션 매트릭스로 나타낸 값이다. Camera rotation information ( ) is a rotation matrix representing the final camera rotation path (Final C_Path) calculated by accumulating inter-frame camera rotation information (Inter C_Path) as an object of stabilization.
이때 필터링된 OIS 2D 트랜스레이션 정보(filtered T_Path, )는 몇몇 실시예에 따라 x축 쉬프트값(Tx)과 y축 쉬프트값(Ty)가 모두 고려된, 3x3 매트릭스일 수 있고, 카메라 내부 프로젝션 매트릭스는 수학식 3과 같을 수 있다.At this time, the filtered
<수학식 3><Equation 3>
수학식 3은 월드 좌표계의 한 지점 P(x,y,z)와 이 점이 카메라 센서로 투영된 후 맺히는 2차원 픽셀 좌표점 사이의 변환 관계 매트릭스 K, 즉 프로젝션 매트릭스를 나타낸다. f는 환산 초점 길이, (W, H)는 입력된 영상 프레임의 가로 세로 픽셀 수를 말한다. 계산의 편의를 위해 영상 픽셀 좌표 중심을 (W/2, H/2)로 두면 수학식 3은 다음 수학식 4와 같이 바뀐다.Equation 3 represents a transformation relationship matrix K between a point P(x,y,z) of the world coordinate system and a two-dimensional pixel coordinate point formed after this point is projected by a camera sensor, that is, a projection matrix. f is the converted focal length, and (W, H) is the number of horizontal and vertical pixels of the input image frame. For convenience of calculation, if the image pixel coordinate center is set to (W/2, H/2), Equation 3 is changed to Equation 4 below.
<수학식 4><Equation 4>
디지털 이미지 안정화 수행 후의 최종 이미지는 수학식 5와 같이 산출될 수 있다. 안정화된 영상의 픽셀 좌표값()는 3차원 월드 좌표계의 한 지점 P에 카메라 모듈의 안정화된 카메라 로테이션 정보()를 반영한 뒤 여기에 카메라 내부 프로젝션 매트릭스를 적용하여 산출할 수 있다.The final image after digital image stabilization may be calculated as in Equation 5. The pixel coordinates of the stabilized image ( ) is the stabilized camera rotation information of the camera module at a point P in the 3D world coordinate system ( ) can be reflected and calculated by applying the camera's internal projection matrix to it.
<수학식 5><Equation 5>
수학식 7에서와 같이 최종 프레임 이미지 좌표()에 대한 입력 프레임 이미지의 좌표()는 백워드 워핑(backward warping) 방식으로 월드 좌표계(3차원 좌표계)로 변환한 후(), 안정화 경로와 로우 경로의 차이 즉 카메라 보정 회전값 (, )를 반영하고 뒤이어 OIS 2D 트랜스레이션 정보를 반영하여 산출될 수 있다. 이 때 인트라-프레임 카메라 로테이션(Intra C_Path)과 인트라-프레임 2D 트랜스레이션 정보(Intra_T_Path)를 반영하여 롤링 셔터 효과를 보정한다.As in Equation 7, the final frame image coordinates ( ) to the coordinates of the input frame image ( ) after converting to the world coordinate system (three-dimensional coordinate system) in a backward warping method ( ), the difference between the stabilization path and the raw path, i.e. the camera compensation rotation value ( , ) and subsequently
수학식 6은 수학식 2에 수학식 4 및 수학식 5를 적용한 것이다. 즉, 최종 프레임 이미지()은 입력된 프레임 이미지()에 반영되는 투영 변환 매트릭스( )를 산출할 수 있다. Equation 6 is Equation 4 and Equation 5 applied to
<수학식 6><Equation 6>
몇몇 실시예에 따라 카메라 패스 옵티마이저(240)는 안정화된 카메라 로테이션 정보 (Optimized C_Path)를 추정한다.According to some embodiments, the camera path optimizer 240 provides stabilized camera rotation information. (Optimized C_Path) is estimated.
도 10은 몇몇 실시예에 따라, OIS 보상 적용 전 최종 이미지의 크롭 지점의 입력 픽셀 위치 범위를 설명하는 그래프이다. 도 11은 몇몇 실시예에 따라, OIS 보상 적용 후 회전 움직임에 대한 입력 픽셀 위치 범위가 OIS 보상양만큼 평행 이동한 것을 설명하기 위한 도면이다.10 is a graph illustrating an input pixel position range of a crop point of a final image before OIS compensation is applied, according to some embodiments. FIG. 11 is a diagram for explaining that an input pixel position range for rotational motion is translated by an OIS compensation amount after OIS compensation is applied, according to some embodiments.
이미지 신호 프로세서는 OIS 광학적 보정을 적용하는 경우 이미지 센서(110)에서 촬상된 이미지에, 카메라 로테이션 움직임(C_Path)의 보정에 관한 바운더리 마진의 범위를 OIS 광학적 보정 양만큼 조정한다. 도 10을 참조하면, OIS 광학적 보정 적용 전에 실제 촬상된 이미지는 B영역이나, 프로세싱되어 최종 출력되는 이미지는 크롭되어 A 영역만 나타난다. 즉, 실제 촬상된 이미지(B)는 이미지의 중심 좌표 (0,0)를 기준으로, 제1 방향 양측이 경계 안쪽으로부터 각각 Xmargin만큼 크롭되고, 제2 방향 양측이 경계 안쪽으로부터 각각 Ymargin만큼 크롭되어 최종 출력된다. 이 때 출력되는 A영역의 경계와 실제 촬상된 이미지 B영역의 경계 사이의 영역을 바운더리 마진이라고 한다.When the OIS optical correction is applied, the image signal processor adjusts the range of the boundary margin for the correction of the camera rotation movement C_Path to the image captured by the
구체적으로 도 10 및 수학식 7을 참고하면, OIS 2D 트랜스레이션에 대한 보상이 없을 때 즉 수학식 7에서 = =0인 경우, 카메라 모듈(100)에서 촬상된 입력 픽셀들은 B 영역에 있고, 이미지 안정화 후에 크롭되어 출력되는 대상은 A 영역의 이미지이다. 즉, 실제로 촬상되는 B 영역은 너비 W, 높이 H로 촬상되고, 이미지 안정화 후 출력되는 A 영역은 B 영역 좌우로 각각 Xmargin 및 상하로 각각 Ymargin만큼 영상 중심부(0,0) 안쪽으로 크롭된다. 출력되는 A 영역의 꼭지점 좌표는 수학식 7과 같이 산출될 수 있다.Specifically, referring to FIG. 10 and Equation 7, when there is no compensation for
<수학식 7><Equation 7>
그런데 촬상된 이미지는 카메라 로테이션 또는 OIS 2D 트랜스레이션에 기초한 움직임 보정으로 인해, 중심좌표가 (0,0)에서 (Tx, Ty)로 이동된다. 즉, 도 10의 B영역의 꼭지점 좌표가 도 11의 B' 영역의 꼭지점 좌표와 같이 이동된다.However, the center coordinate of the captured image is shifted from (0,0) to (Tx, Ty) due to motion compensation based on camera rotation or
이 경우, 크롭되는 A영역의 입력 픽셀 위치가 움직임 보정된 B' 영역 이내인 경우(바운더리 마진 내에서 이동되는 경우), 출력되는 이미지는 잘리는 부분 없이 정상적으로 출력될 수 있다. 그러나 크롭되는 A 영역의 입력 픽셀이 B' 영역을 벗어나면(바운더리 마진을 넘어가면), 출력되는 이미지는 벗어난 영역이 검은색 등으로 나타난다. 따라서, 입력 영상이 광학적 보정으로 쉬프트되는 경우(B→B'), 크롭 영역(A)의 바운더리 마진(표1 오른쪽)도 변경되어야 한다.In this case, when the position of the input pixel of the cropped region A is within the motion-corrected region B′ (moved within the boundary margin), the output image may be normally output without a cut portion. However, if the input pixel of the cropped area A exceeds the area B' (exceeds the boundary margin), the output image appears as black or the like. Therefore, when the input image is shifted by optical correction (B→B'), the boundary margin of the crop region A (right of Table 1) must also be changed.
한편, 카메라 회전의 보정 가능 범위는() 도 12에서 설명한 바와 같이 움직임 보정 전의 바운더리 마진 조건(표 1의 왼쪽)은, Tx 및 Ty 정보가 포함된 움직임 보정 후의 바운더리 마진(표 1의 오른쪽)과 같이 변경한다.On the other hand, the correctable range of camera rotation is ( ) As described in FIG. 12 , the boundary margin condition before motion compensation (left of Table 1) is changed to the same as the boundary margin after motion compensation including Tx and Ty information (right of Table 1).
<표 1><Table 1>
예를 들어 회전 안정화를 위한 영상 워핑 각도(는 카메라 회전에 의한 카메라 로테이션 정보(C_Path), 렌즈 또는 센서 쉬프트에 의한 OIS 2D 트랜스레이션 정보(T_Path)를 반영하여 구한 안정화된 카메라 로테이션 정보와 카메라 로테이션 정보 의 차이값으로 수학식 8과 같은 변형 메트릭스, 예를 들면 로드리게스 회전 매트릭스(Rodrigues' rotation matrix) 로 근사해서 나타낼 수 있다. For example, the image warping angle for rotation stabilization ( is stabilized camera rotation information obtained by reflecting camera rotation information (C_Path) by camera rotation and
<수학식 8><Equation 8>
몇몇 실시예에 따라 모션 보상 계산부(260)는 변형 매트릭스(예를 들어 수학식 8)를 생성하고, 입력 프레임 이미지에 변형 매트릭스를 적용할 수 있다.According to some embodiments, the
몇몇 실시예에 따라 지오메트리 왜곡 보상부(270)는 모션 보상 계산부(260)으로부터 움직임 보정이 모두 적용된 각 픽셀의 그리드 변경값을 수신하여, 비닝 또는 보간 등의 디지털 프로세싱함으로써 전체 입력 프레임 이미지에 반영하고, 최종 프레임 이미지를 출력한다. According to some embodiments, the
따라서, 본 발명의 렌즈 또는 이미지 센서가 쉬프트되는 카메라 모듈(100)을 포함하는 전자 장치는, 센서들로부터 카메라 로테이션 정보와 프레임 로테이션 정보를 얻고, 별도의 OIS 움직임 정보가 없다고 하더라도, 모션 벡터 모듈값이나 센서의 센싱 출력값들로부터 OIS 2D 트랜스레이션 정보를 산출하여 영상 안정화를 진행할 수 있다. 이에 따라, 카메라와 프레임의 로테이션 정보를 센서로부터 모두 얻는 경우 저조도 환경이나 반복 패턴이나 특징점이 부족한 배경이 화면 대부분을 차지하는 경우에도, 광학식 및 디지털 이미지 안정화를 수행하여 워블링 없이 안정화된 이미지를 출력할 수 있는 장점이 있다.Accordingly, the electronic device including the
도 12는 몇몇 실시 예들에 따른 네트워크 환경에서 전자 장치의 블록도를 나타낸다.12 is a block diagram of an electronic device in a network environment according to some embodiments.
도 12를 참조하면, 네트워크 환경(1000)에서 전자 장치(1101)는 제1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(1102)와 통신하거나, 또는 제2 네트워크(1199)(예: 원거리 무선 통신)를 통하여 전자 장치(1104) 또는 서버(1108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1101)는 서버(1108)를 통하여 전자 장치(1104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1101)는 프로세서(1120), 메모리(1130), 입력 장치(1150), 음향 출력 장치(1155), 표시 장치(1160), 오디오 모듈(1170), 센서 모듈(1176), 인터페이스(1177), 햅틱 모듈(1179), 카메라 모듈(100), 전력 관리 모듈(1188), 배터리(1189), 통신 모듈(1190), 가입자 식별 모듈(1196), 및 안테나 모듈(1197)을 포함할 수 있다. 어떤 실시 예에서, 구성요소들 중 적어도 하나(예: 표시 장치(1160) 또는 카메라 모듈(100))가 전자 장치(1101)에서 생략되거나 다른 구성 요소가 전자 장치(1101)에서 추가될 수 있다. 어떤 실시 예에서, 표시 장치(1160)(예: 디스플레이)에 센서 모듈(1176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)이 임베디드 되는 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.Referring to FIG. 12 , in the network environment 1000 , the
일 실시 예에 따르면, 프로세서(1120)는, 예를 들면, 소프트웨어(예: 프로그램(1140))를 구동하여 프로세서(1120)에 연결된 전자 장치(1101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(1120)는 다른 구성요소(예: 센서 모듈(1176) 또는 통신 모듈(1190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(1132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(1134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(1120)는 메인 프로세서(1121)(예: 중앙 처리 장치 또는 애플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(1121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(1123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 보조 프로세서(1123)는 메인 프로세서(1121)와 별개로 또는 임베디드되어 운영될 수 있다.According to an embodiment, the processor 1120 drives, for example, software (eg, a program 1140 ) to drive at least one other component (eg, hardware) of the
이런 경우, 보조 프로세서(1123)는, 예를 들면, 메인 프로세서(1121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(1121)를 대신하여, 또는 메인 프로세서(1121)가 액티브(예: 애플리케이션 수행) 상태에 있는 동안 메인 프로세서(1121)와 함께, 전자 장치(1101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(1160), 센서 모듈(1176), 또는 통신 모듈(1190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(1123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(100) 또는 통신 모듈(1190))의 일부 구성 요소로서 구현될 수 있다. 메모리(1130)는, 전자 장치(1101)의 적어도 하나의 구성요소(예: 프로세서(1120) 또는 센서모듈(1176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(1140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(1130)는, 휘발성 메모리(1132) 또는 비휘발성 메모리(1134)를 포함할 수 있다.In this case, the auxiliary processor 1123 may, for example, act on behalf of the main processor 1121 while the main processor 1121 is in an inactive (eg, sleep) state, or the main processor 1121 may be active (eg, in an active (eg) state). : While in the application execution) state, together with the main processor 1121, at least one of the components of the electronic device 1101 (eg, the display device 1160, the
프로그램(1140)은 메모리(1130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(1142), 미들 웨어(1144) 또는 애플리케이션(1146)을 포함할 수 있다.The program 1140 is software stored in the memory 1130 , and may include, for example, an operating system 1142 , middleware 1144 , or an
일 실시 예에 따르면, 입력 장치(1150)는, 전자 장치(1101)의 구성요소(예: 프로세서(1120))에 사용될 명령 또는 데이터를 전자 장치(1101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 음향 출력 장치(1155)는 음향 신호를 전자 장치(1101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.According to an embodiment, the
일 실시 예에 따르면, 표시 장치(1160)는 전자 장치(1101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(1160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.According to an embodiment, the display device 1160 is a device for visually providing information to a user of the
일 실시 예에 따르면, 오디오 모듈(1170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(1170)은, 입력 장치(1150)를 통해 소리를 획득하거나, 음향 출력 장치(1155), 또는 전자 장치(1101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(1102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 전자 장치(1101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(1176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.According to an embodiment, an electric signal or data value corresponding to an internal operating state (eg, power or temperature) of the
일 실시 예에 따르면, 인터페이스(1177)는 외부 전자 장치(예: 전자 장치(1102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(1177)는 HDMI(high definition multimedia Interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 연결 단자(1178)는 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 햅틱 모듈(1179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(1179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 카메라 모듈(100)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(100)은 도 1 내지 도 11에서 설명한 바와 같이 구성되고, 동작할 수 있다. According to an embodiment, the
일 실시 예에 따르면, 전력 관리 모듈(1188)은 전자 장치(1101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.According to an embodiment, the
일 실시 예에 따르면, 배터리(1189)는 전자 장치(1101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 통신 모듈(1190)은 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102), 전자 장치(1104), 또는 서버(1108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(1190)은 프로세서(1120)(예: 애플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(1190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(1194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제1 네트워크(1198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(1199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(1190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.According to an embodiment, the communication module 1190 establishes a wired or wireless communication channel between the
일 실시 예에 따르면, 무선 통신 모듈(1192)은 가입자 식별 모듈(1196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(1101)를 구별 및 인증할 수 있다.According to an embodiment, the wireless communication module 1192 may distinguish and authenticate the
일 실시 예에 따르면, 안테나 모듈(1197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(1190)(예: 무선 통신 모듈(1192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.According to an embodiment, the antenna module 1197 may include one or more antennas for externally transmitting or receiving a signal or power. According to an embodiment, the communication module 1190 (eg, the wireless communication module 1192 ) may transmit a signal to or receive a signal from the external electronic device through an antenna suitable for a communication method.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral Interface), 또는 MIPI(mobile industry processor Interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.Some of the components are connected to each other through a communication method between peripheral devices (eg, a bus, general purpose input/output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) to signal (eg commands or data) can be exchanged with each other.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(1199)에 연결된 서버(1108)를 통해서 전자 장치(1101)와 외부의 전자 장치(1104)간에 송신 또는 수신될 수 있다. 전자 장치(1102, 1104) 각각은 전자 장치(1101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(1101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(1101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(1101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(1101)로 전달할 수 있다. 전자 장치(1101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.According to an embodiment, the command or data may be transmitted or received between the
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
100: 카메라모듈
200 : 애플리케이션 프로세서
201: 이미지 시그널 프로세서
202 : 메모리100: camera module
200: application processor
201: image signal processor
202: memory
Claims (20)
이미지 시그널 프로세서를 포함하고,
상기 이미지 시그널 프로세서는
모션 벡터 정보를 산출하는 모션 벡터 모듈;
상기 자이로 데이터로부터 상기 카메라 모듈의 카메라 로테이션 정보를 추출하는 자이로 베이스 모션 추정부;
상기 프레임 데이터로부터 프레임 로테이션 정보를 추출하는 MV(Motion Vector) 베이스 모션 추정부;
상기 모션 벡터 정보, 상기 카메라 로테이션 정보와 상기 프레임 로테이션 정보에 기초하여 OIS(Optical Image Stablizer) 2D 트랜스레이션 정보를 추정하는 OIS 2D 트랜스레이션 정보 추정부;
상기 OIS 2D 트랜스레이션 정보에서 저주파 성분을 필터링하고,
상기 필터링된 OIS 2D 트랜스레이션 정보 및 상기 카메라 로테이션 정보를 이용하여, 상기 카메라 모듈의 안정화된 카메라 움직임 정보를 계산하는 카메라 패스 옵티마이저를 포함하는, 전자 장치.a camera module that generates and outputs gyro data and frame data for an input image; and
an image signal processor;
The image signal processor
a motion vector module for calculating motion vector information;
a gyro-based motion estimation unit for extracting camera rotation information of the camera module from the gyro data;
a motion vector (MV) based motion estimation unit for extracting frame rotation information from the frame data;
an OIS 2D translation information estimator for estimating Optical Image Stablizer (OIS) 2D translation information based on the motion vector information, the camera rotation information, and the frame rotation information;
Filtering the low-frequency component from the OIS 2D translation information,
and a camera path optimizer configured to calculate stabilized camera motion information of the camera module by using the filtered OIS 2D translation information and the camera rotation information.
상기 카메라 로테이션 정보에서 상기 프레임 로테이션 정보를 차감한 값에 환산 초점 거리를 반영하여 로우(raw) OIS 2D 트랜스레이션 정보를 산출하는, 전자 장치.The method of claim 1, wherein the OIS 2D translation information is
An electronic device for calculating raw OIS 2D translation information by reflecting a converted focal length to a value obtained by subtracting the frame rotation information from the camera rotation information.
상기 로우 OIS 2D 트랜스레이션 정보에서 튜닝 임계주파수 이하의 저주파 성분를 제거하는 것인, 전자 장치.The method of claim 2, wherein the filtering
An electronic device that removes a low frequency component less than a tuning threshold frequency from the raw OIS 2D translation information.
상기 안정화된 카메라 움직임 정보, 상기 필터링된 OIS 2D 트랜스레이션 정보 및 상기 카메라 로테이션 정보를 기초로 최종 움직임 정보를 추출하는 것인, 전자 장치.The method of claim 1, wherein the camera path optimizer is
and extracting final motion information based on the stabilized camera motion information, the filtered OIS 2D translation information, and the camera rotation information.
상기 안정화된 카메라 움직임 정보에 인트라-프레임 카메라 로테이션 정보에 상응하는 회전 보정양, 인트라-프레임 OIS 2D 트랜스레이션 정보, 카메라 로테이션 정보와 OIS 2D 트랜스레이션 정보를 반영하여 상기 입력 영상의 프레임 이미지의 각각의 개별 그리드 포인트에서의 보정양을 산출하는 모션 보상 계산부를 더 포함하는, 전자 장치.5. The method of claim 4,
Each of the frame images of the input image by reflecting the rotation correction amount corresponding to the intra-frame camera rotation information, the intra-frame OIS 2D translation information, the camera rotation information and the OIS 2D translation information in the stabilized camera motion information The electronic device further comprising a motion compensation calculation unit for calculating a correction amount at each grid point.
이미지 시그널 프로세서를 포함하고,
상기 이미지 시그널 프로세서는
상기 자이로 데이터, 상기 프레임 데이터 및 모션 벡터 정보에 기초하여 프레임 로테이션 정보 및 카메라 로테이션 정보를 산출하고,
상기 프레임 로테이션 정보 및 상기 카메라 로테이션 정보에 기초하여 OIS 2D 트랜스레이션 정보를 추정하고,
상기 추정된 OIS 2D 트랜스레이션 정보에 기초하여 상기 카메라 모듈의 안정화된 카메라 움직임 정보를 추정하고,
상기 안정화된 카메라 움직임 정보, 상기 추정된 OIS 2D 트랜스레이션 정보, 상기 카메라 로테이션 정보에 기초하여 산출된 최종 움직임 정보를 보상하는, 전자 장치.a camera module for outputting gyro data including at least two gyro sensing values and frame data including at least two frame images; and
an image signal processor;
The image signal processor
calculating frame rotation information and camera rotation information based on the gyro data, the frame data, and the motion vector information;
estimating OIS 2D translation information based on the frame rotation information and the camera rotation information;
estimating the stabilized camera motion information of the camera module based on the estimated OIS 2D translation information,
Compensating for final motion information calculated based on the stabilized camera motion information, the estimated OIS 2D translation information, and the camera rotation information.
튜닝 임계주파수에 기초하여 상기 추정된 OIS 2D 트랜스레이션 정보에서 필터링하여 상기 카메라 모듈의 안정화된 카메라 움직임 정보를 추정하는 것인, 전자 장치.12. The method of claim 11, wherein the image signal processor is
Filtering from the estimated OIS 2D translation information based on a tuning threshold frequency to estimate the stabilized camera motion information of the camera module, the electronic device.
상기 안정화된 카메라 움직임 정보, 상기 추정된 OIS 2D 트랜스레이션 정보 및 상기 카메라 로테이션 정보에 따른 움직임 정보가 입력 영상의 바운더리 마진에 따라 조정된 것인, 전자 장치.The method of claim 10, wherein the calculated final motion information is
The electronic device of claim 1, wherein the stabilized camera motion information, the estimated OIS 2D translation information, and the motion information according to the camera rotation information are adjusted according to a boundary margin of an input image.
입력 영상의 픽셀 좌표에 카메라 로테이션 정보를 적용하고, 상기 카메라 모듈의 내부 프로젝션 매트릭스 및 상기 OIS 2D 트랜스레이션 정보를 적용하는 것인, 전자 장치.The method of claim 10, wherein the stabilized camera motion information
An electronic device that applies camera rotation information to pixel coordinates of an input image, and applies an internal projection matrix of the camera module and the OIS 2D translation information.
프레임 이미지를 센싱하고 상기 전자 장치의 흔들림에 따른 자이로 데이터, 프레임 데이터 및 모션 벡터를 획득하는 단계;
상기 자이로 데이터로부터 상기 전자 장치의 카메라 로테이션 정보를 추출하고, 상기 모션벡터 및 상기 프레임 데이터로부터 프레임 로테이션 정보를 추출하는 단계;
상기 카메라 로테이션 정보 및 상기 프레임 로테이션 정보에 기초하여 로우 OIS(Optical Image Stablization) 2D 트랜스레이션 정보를 추정하는 단계;
상기 로우 OIS 2D 트랜스레이션 정보로부터 바이어스 성분을 제거하여 필터링된 OIS 2D 트랜스레이션 정보를 산출하는 단계; 및
상기 필터링된 OIS 2D 트랜스레이션 정보에 기초하여 상기 센싱된 프레임 이미지에 대한 디지털 이미지 안정화를 수행하는 단계를 포함하는, 전자 장치의 이미지 안정화 방법.A method for stabilizing an image of an electronic device, the method comprising:
sensing a frame image and obtaining gyro data, frame data, and motion vectors according to shaking of the electronic device;
extracting camera rotation information of the electronic device from the gyro data, and extracting frame rotation information from the motion vector and the frame data;
estimating raw Optical Image Stablization (OIS) 2D translation information based on the camera rotation information and the frame rotation information;
calculating filtered OIS 2D translation information by removing a bias component from the raw OIS 2D translation information; and
and performing digital image stabilization on the sensed frame image based on the filtered OIS 2D translation information.
상기 카메라 로테이션 정보에서 상기 프레임 로테이션 정보를 차감한 값에 상응하여 추정된 값인, 전자 장치의 이미지 안정화 방법..The method of claim 17, wherein the raw OIS 2D translation information is
An image stabilization method of an electronic device, which is a value estimated corresponding to a value obtained by subtracting the frame rotation information from the camera rotation information.
적어도 2개의 프레임 간에서 추출되는 인터-프레임 로테이션 정보, 하나의 프레임에서 추출되는 인트라-프레임 로테이션 정보, 및 상기 인터-프레임 로테이션 정보를 누적합하여 얻은 최종 프레임 로테이션 정보를 포함하는, 전자 장치의 이미지 안정화 방법.19. The method of claim 18, wherein the frame rotation information
Image stabilization of an electronic device including inter-frame rotation information extracted between at least two frames, intra-frame rotation information extracted from one frame, and final frame rotation information obtained by accumulating the inter-frame rotation information Way.
상기 필터링된 OIS 2D 트랜스레이션 정보 및 상기 카메라 로테이션 정보에 기초하여 상기 전자 장치의 안정화된 카메라 움직임 정보를 추정하는 단계;
상기 안정화된 카메라 움직임 정보, 상기 필터링된 OIS 2D 트랜스레이션 정보 및 상기 카메라 로테이션 정보에 기초하여 최종 움직임 정보를 산출하는 단계; 및
상기 센싱된 프레임 이미지에 상기 산출된 최종 움직임 정보에 따른 모션 보상하는 단계를 포함하는, 전자 장치의 이미지 안정화 방법..20. The method of claim 19, wherein the digital image stabilization comprises:
estimating stabilized camera motion information of the electronic device based on the filtered OIS 2D translation information and the camera rotation information;
calculating final motion information based on the stabilized camera motion information, the filtered OIS 2D translation information, and the camera rotation information; and
Compensating for motion according to the calculated final motion information to the sensed frame image, the image stabilization method of an electronic device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/535,924 US11729505B2 (en) | 2021-02-10 | 2021-11-26 | Image signal processor, electronic device, and image stabilization method |
CN202210122307.3A CN114915739A (en) | 2021-02-10 | 2022-02-09 | Image signal processor, electronic device, and image stabilization method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210019243 | 2021-02-10 | ||
KR20210019243 | 2021-02-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220115494A true KR20220115494A (en) | 2022-08-17 |
Family
ID=83111066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210074784A KR20220115494A (en) | 2021-02-10 | 2021-06-09 | Image Signal Processor, Electronic Device and Image Stablization Method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220115494A (en) |
-
2021
- 2021-06-09 KR KR1020210074784A patent/KR20220115494A/en active Search and Examination
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102385360B1 (en) | Electronic device performing image correction and operation method of thereof | |
US11558553B2 (en) | Electronic device for stabilizing image and method for operating same | |
CN109309796B (en) | Electronic device for acquiring image using multiple cameras and method for processing image using the same | |
KR102452564B1 (en) | Apparatus and method for estimating optical image stabilization motion | |
KR102452575B1 (en) | Apparatus and method for compensating variation of images caused by optical image stabilization motion | |
US11729505B2 (en) | Image signal processor, electronic device, and image stabilization method | |
KR20200048609A (en) | Method for processing image using artificial neural network and electronic device for supporting the same | |
CN115701125B (en) | Image anti-shake method and electronic equipment | |
CN112840644A (en) | Electronic device and method for acquiring depth information using at least one of a camera or a depth sensor | |
KR102330264B1 (en) | Electronic device for playing movie based on movment information and operating mehtod thereof | |
CN114846608A (en) | Electronic device including image sensor and method of operating the same | |
KR102597470B1 (en) | Metohod for determining depth map and electronic device applying the method | |
KR20210092620A (en) | Camera movement controlling method and apparatus | |
US11354777B2 (en) | Image processing device and method of electronic device | |
KR20210087809A (en) | Electronic device comprising image sensor and method of operation thereof | |
KR20220115494A (en) | Image Signal Processor, Electronic Device and Image Stablization Method | |
KR20190010051A (en) | Method for transmitting image data and data associated with control of image capture based on sizes of image data and data associated with control of image capture and electronic device for supporting the same | |
KR20210130972A (en) | Color filter array of an electronic deviceand the electronic | |
CN115516494A (en) | Method for generating image and electronic device thereof | |
KR20210115185A (en) | Image processing method and appratus | |
KR20210092012A (en) | Electronic device performing image correction and method for correcting image | |
EP4395357A1 (en) | Electronic device including camera, and moving image generating method for photographing moving object | |
EP4336856A1 (en) | Electronic device for applying bokeh effect to image and operation method of same | |
KR20220145621A (en) | Method for Stabilization in shooting and Electronic Device thereof | |
KR20220132278A (en) | Electronic device for removing noise from image and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |