KR20210119679A - 캡쳐된 영상을 안정화하는 방법 및 장치 - Google Patents
캡쳐된 영상을 안정화하는 방법 및 장치 Download PDFInfo
- Publication number
- KR20210119679A KR20210119679A KR1020200036078A KR20200036078A KR20210119679A KR 20210119679 A KR20210119679 A KR 20210119679A KR 1020200036078 A KR1020200036078 A KR 1020200036078A KR 20200036078 A KR20200036078 A KR 20200036078A KR 20210119679 A KR20210119679 A KR 20210119679A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- image
- reference value
- factor
- scaler
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000000087 stabilizing effect Effects 0.000 title claims description 5
- 239000013598 vector Substances 0.000 claims abstract description 131
- 230000033001 locomotion Effects 0.000 claims abstract description 129
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000006641 stabilisation Effects 0.000 abstract description 30
- 238000011105 stabilization Methods 0.000 abstract description 30
- 230000003044 adaptive effect Effects 0.000 abstract description 3
- 230000001939 inductive effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000002310 reflectometry Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000036962 time dependent Effects 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/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H04N5/23267—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- 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
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
-
- H04N5/23254—
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
본 발명의 영상 안정화 방법은, 영상 캡쳐 장치에 포함된 적어도 하나의 프로세서에 의해 수행되며, 피사체로부터 영상을 캡쳐하는 단계와, 상기 캡쳐된 영상을 처리하여 제1 움직임 벡터를 검출하는 단계와, 상기 영상 캡쳐 장치의 일측에 장착된 관성 센서를 이용하여 상기 캡쳐된 영상의 제2 움직임 벡터를 검출하는 단계와, 출력 움직임 벡터를 구하기 위해, 상기 제1 및 제2 움직임 벡터에 대한 가중 합(weighed sum)을 계산하는 단계와, 및 상기 출력 움직임 벡터에 기초하여 상기 입력된 영상의 움직임을 역방향으로 보상하여 상기 떨림에 의한 영상 왜곡을 제거하는 단계로 이루어진다.
Description
본 발명은 영상 캡쳐 수단에 의해 캡쳐된 영상을 안정화하는 방법 및 장치에 관한 것으로, 보다 상세하게는 바람, 진동 등으로 인해 흔들리는 카메라로 촬영된 영상의 흔들림을 보정해주는 방법에 관한 것으로, 핸드폰, 캠코더, 감시 카메라 등에 다양하게 적용될 수 있다.
영상 안정화 기술은 크게 영상 기반 안정화(Image based Stabilization, 이하 IBS라고 함) 기술과 자이로스코프, 가속도계와 같은 관성 센서를 기반으로 한 안정화(Gyro based Stabilization, 이하 GBS라고 함) 기술로 나눌 수 있다.
상기 IBS의 일반적 수행 과정은 다음과 같다:
(1) 영상에서 특징점이 추출된다.
(2) 이전 영상과 비교하여 특징점이 매칭되고 각 특징점의 로컬 이동 벡터(local motion vectors, 이하, lmv라고 함)이 얻어진다. 이때, 상기 lmv는 실시간 구현성을 높이기 위해 미리 설정된 검색 범위(search range) 안에서 찾는다.
(3) 상기 lmv의 2차원 히스토그램 분포가 분석된다.
(4) 가장 많은 벡터들이 모인 지점의 피크(peak)가 카메라 흔들림에 의한 이미지 기반의 움직임 벡터(Image based motion vector, 이하, IBMV라고 함)로 지정된다.
(5) 현재의 영상을 상기 IBMV 만큼 반대로 이동시키면 영상 안정화가 완료된다.
한편, 상기 GBS의 일반적인 수행 과정은 다음과 같다:
(1) 가속도 센서를 이용하여 이동벡터가 추정된다.
(2) 관성 센서로 검출한 벡터의 크기를 영상의 픽셀 단위의 크기로 변환할 수 있는 스케일 파라미터가 얻어진다(캘리브레이션 과정).
(3) 관성 센서 기반의 벡터에 스케일 인자를 곱함으로써 관성 센서 기반의 움직임 벡터(Gyro Based Motion Vector, 이하, GBMV라고 함)가 얻어진다.
(4) 현재의 영상을 상기 GBMV 만큼 반대로 이동시키면 영상 안정화가 완료된다.
상기 IBS는 일반적으로 로컬 이동 벡터의 검색 범위 내에서 발생하는 흔들림에 대해서 우수한 성능을 갖고 있다. 또한 현재의 영상을 분석하여 결과를 출력하기 때문에 외부 센서의 도움 없이 결과를 얻을 수 있다 그러나, IBS는 상기 검색 범위를 벗어나는 큰 움직임에 대해서는 대응이 어렵다는 단점이 있다. 또한, 카메라는 흔들리지 않지만, 화면상 큰 물체가 움직이는 경우 이를 카메라의 움직임으로 잘못 분석함으로써, 원래 정지해야 할 배경 영상이 상기 움직이는 물체의 반대 방향으로 흘러가는 부작용이 발생할 수 있다. 또한 야간과 같이 조도가 낮거나 특징점 추출이 잘 되지 않는 장면에서는 움직임 추정이 불가능하다는 단점이 있다.
이에 반해, 상기 GBS는 상기 IBS의 단점을 전체적으로 보완할 수 있는 방법이다. 즉, 조도나 피사체의 영향을 받지 않고 균일한 결과를 낼 수 있는 장점을 제공한다. 그러나, 관성 센서 기반의 벡터를 영상의 벡터로 변환하기 위해서는 전술한 캘리브레이션이라는 과정을 거쳐야 한다. 그런데, 이때 캘리브레이션이 정확하게 이루어지지 않으면, 영상 안정화가 제대로 이루어질 수 없다. 일반적으로 캘리브레이션은 카메라의 배율, 화각 등에 따라 달라져야 하는데, 카메라가 팬/틸트/줌(pan/tilt/zoom) 동작을 수행할 경우와 같이, 캘리브레이션이 적용되지 않은 상황에서는 제대로 동작할 수 없다는 단점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 영상 기반의 안정화 기법과 관성 센서 기반의 안정화 기법을 융합하여, 과도한 연산량을 유발하지 않으면서도 정확도가 높은 적응적 영상 안정화 기법을 제공하고자 하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 조명의 변화, 움직임의 변화, 다양한 객체의 등장, PTZ(pan/tilt/zoom) 제어 등 시간, 장소에 따라 가변하는 다양한 영상의 환경에 적합하게, 최적의 영상 안정화 기법을 제공하고자 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한, 본 발명의 일 실시예에 따른 영상 안정화 방법은, 영상 캡쳐 장치에 포함된 적어도 하나의 프로세서에 의해 수행되며, 피사체로부터 영상을 캡쳐하는 단계; 상기 캡쳐된 영상을 처리하여 제1 움직임 벡터를 검출하는 단계; 상기 영상 캡쳐 장치의 일측에 장착된 관성 센서를 이용하여 상기 캡쳐된 영상의 제2 움직임 벡터를 검출하는 단계; 출력 움직임 벡터를 구하기 위해, 상기 제1 및 제2 움직임 벡터에 대한 가중 합(weighed sum)을 계산하는 단계; 및 상기 출력 움직임 벡터에 기초하여 상기 입력된 영상의 움직임을 역방향으로 보상하여 상기 떨림에 의한 영상 왜곡을 제거하는 단계를 포함한다.
상기 가중 합을 계산하는 단계는, 상기 제1 움직임 벡터의 신뢰도 인자(Reliability Factor)와 상기 제2 움직임 벡터의 스케일러 수렴 인자(Scaler Convergence factor)에 기초하여 상기 가중 합을 계산하는 단계를 포함한다.
또한, 상기 가중 합을 계산하는 단계는, 상기 신뢰도 인자가 제1 기준치보다 높고 상기 스케일러 수렴 인자가 제2 기준치보다 낮으면, 상기 제1 움직임 벡터에 대한 가중치를 높이고, 상기 신뢰도 인자가 상기 제1 기준치보다 낮고 상기 스케일러 수렴 인자가 상기 제2 기준치보다 높으면, 상기 제2 움직임 벡터에 대한 가중치를 높인다.
또한, 상기 가중 합을 계산하는 단계는, 상기 신뢰도 인자가 상기 제1 기준치보다 낮고, 상기 스케일러 수렴 인자가 상기 제2 기준치보다 낮으면, 상기 출력 움직임 벡터는 상기 제1 움직임 벡터로 결정되는 단계를 더 포함한다. 또는, 다른 선택으로 상기 제1 움직임 벡터를 이용하는 대신에, 상기 출력 움직임 벡터는 기존에 저장된 룩업 테이블(LUT)을 이용하여 결정될 수도 있다.
또한, 상기 가중 합을 계산하는 단계는, 상기 신뢰도 인자가 상기 제1 기준치보다 높고, 상기 스케일러 수렴 인자가 상기 제2 기준치보다 높으면, 상기 출력 움직임 벡터는 상기 제1 움직임 벡터 및 상기 제2 움직임 벡터의 평균으로 결정되는 단계를 더 포함한다.
상기 신뢰도 인자는, 상기 제1 움직임 벡터의 2차원 히스토그램 분포에서 가장 높은 피크 근처의 영역에 속하는 움직임 벡터들의 분포로부터 얻어질 수 있다. 특히, 상기 신뢰도 인자는 상기 가장 높은 피크 근처의 영역에 속하는 움직임 벡터들의 표준편차의 역수로부터 얻어질 수 있다.
상기 스케일러 수렴 인자는, 최근 소정 개수의 영상에서 스케일 파라미터의 표준편차의 역수로부터 얻어질 수 있다.
상기 제2 움직임 벡터는, 관성 센서 기반의 벡터와 상기 스케일 파라미터의 곱으로부터 얻어질 수 있다.
본 발명에 따른 영상 기반의 안정화 장치 및 방법에 따르면, 서로 다른 조건에서 장점을 갖는 복수의 안정화 기법을 시간에 따라 적응적으로 융합하여, 정확도가 높은 적응적 영상 안정화를 수행할 수 있다.
또한, 과도한 연산량을 유발하지 않으면서도, 조명의 변화, 움직임의 변화, 다양한 객체의 등장, PTZ 제어 등 시간, 장소에 따라 가변하는 다양한 영상의 환경에 적합하게, 영상 안정화 알고리즘을 최적화할 수 있다.
도 1은 신뢰도 인자와 스케일러 수렴 인자의 크기에 따라 IBMV 및 GBMV에 적용되는 가중치가 달라지는 케이스들을 분류한 도면이다.
도 2는 영상 내에서 IBMV의 2차원 히스토그램 분포를 나타낸 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 영상 안정화 장치의 구성을 도시하는 블록도이다.
도 4는 OMV를 이용하여 영상 보상이 수행되는 원리를 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상 안정화 방법을 설명하는 흐름도이다.
도 2는 영상 내에서 IBMV의 2차원 히스토그램 분포를 나타낸 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 영상 안정화 장치의 구성을 도시하는 블록도이다.
도 4는 OMV를 이용하여 영상 보상이 수행되는 원리를 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상 안정화 방법을 설명하는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시예를 상세히 설명한다.
본 발명에서는 상기 IBS와 상기 GBS의 장점을 결합한 하이브리드(hybrid) 방식의 영상 안정화 기술이 제안된다. 본 발명의 일 실시예에 따르면, 상기 IBS의 최종 결과 벡터인 IBMV와 상기 GBS의 최종 결과 벡터인 GBMV를 가중 평균(weighted-averaging)하여 최종적인 출력 움직임 벡터(Output Motion Vector, 이하, OMV라고 함)를 구하는 방법을 제시한다. 이 때의 가중치의 적용을 위해서는 IBMV의 신뢰도 인자(Reliability Factor, 이하 RF라고 함)와 관성 센서 기반의 벡터(이하, 자이로 벡터라고 함)를 GBMV로 스케일링 해주는 스케일 인자의 수렴도, 즉 스케일러 수렴 인자(Scaler Convergence factor, 이하, SF라고 함)를 이용하여 계산한다.
상기 RF가 높은 경우는 일반적으로 움직임 벡터를 찾기 위한 검색 범위 내에서 카메라가 흔들려서 움직임 추정(motion estimation)이 잘 수행되고, 대부분의 움직임 벡터의 크기와 방향이 유사할 때이다. 또한 자동적으로 수행되는 캘리브레이션(calibration) 과정의 결과물인 스케일 파라미터()는 프레임을 거듭할 수록 점점 특정 값에 수렴하게 되는데, 이때의 상기 스케일 파라미터를 측정하여 가중치를 높일 수 있다. 이와 같이 스케일 파라미터가 필요한 이유는, 상기 스케일 파라미터 없이 바로 를 사용하면 IBMV와 GBMV간의 스케일이 맞지 않기 때문에 이를 맞추어 주기 위해서이다.
이 때, 상기 IBMV와 관련된 인자인 RF와 상기 GBMV와 관련된 인자를 이용하여 IBMV와 GBMV의 가중 평균을 구하는 과정은 다음의 수학식 1과 같이 표현될 수 있다.
[수학식 1]
여기서 는 IBMV, 는 자이로 벡터, 는 최종 출력 벡터를 나타낸다. 또한, 는 스케일 파라미터, 는 IBMV에 부여된 가중치이고, 는 GBMV이다. 여기서, 상기 GBMV는 상기 스케일 파라미터와 상기 자이로 벡터의 곱()으로 표현된다. 또한, k는 특정 시간에 메모리에 저장된 시간 인덱스로서 시간 단위가 증가할수록 증가하는 정수 값이다.
(2) 케이스 II: 상기 RF가 상기 제1 기준치보다 높고, 상기 SF도 상기 제2 기준치보다 높은 경우에는 상기 IBMV와 상기 GBMV가 유사한 정도로 반영되도록 를 중간 정도로 설정한다(예: ).
(3) 케이스 III: 상기 RF가 상기 제1 기준치보다 낮고, 상기 SF가 상기 제2 기준치보다 높은 경우에는 GBMV의 반영도를 높이기 위해 상기 가중치 를 작게 설정한다(예: ).
(4) 케이스 IV: 상기 RF가 상기 제1 기준치보다 낮고, 상기 SF가 상기 제2 기준치보다 낮은 경우에는 상기 IBMV와 상기 GBMV 모두 신뢰할 수 없는 경우이므로 단순히 IBMV를 이용할 수 있다.
이와 같이, 도 1과 같이 다양한 케이스를 판단하기 위해서는 RF와 SF를 얻을 수 있어야 하는데 이하에서는 수학식 1의 스케일 파라미터, 상기 RF 및 상기 SF를 구체적으로 계산하는 실시예에 대해서 설명한다.
[수학식 2]
여기서, 는 이전 영상 프레임(k-1에서의 영상 프레임)에서 연산한 스케일 파라미터 값과 현재 프레임(k에서의 영상 프레임)에서 새로 업데이트되는 부분을 적절히 반영하기 위한 가중치이다. 이상적인 경우 즉 와 가 모두 정확할 경우에는, 프레임의 인덱스 k가 변하더라도 는 일정하므로 는 0이 되어야 한다. 그러나, 와 모두 여러가지 노이즈로 인해 부정확해지는 경우가 많기 때문에, 수학식 2와 같이 여러 프레임에 걸쳐 의 값, 즉 스케일 값을 더해서 사용하는 것이 바람직하다.
일반적으로 수십에서 수백 프레임의 움직임 벡터를 사용하여야 가 수렴하는 것으로 확인된다. 따라서, 단순히 수백 프레임에 해당하는 값을 저장하였다가 매 프레임 다시 더하는 것은 상당히 연산량을 많이 필요로 한다. 따라서, 수학식 2와 같은 재귀 방정식(recursive equation)을 이용하면 이와 같은 연산량을 대폭 줄일 수 있다.
일반적으로 는 현재프레임의 RF가 높을 경우 낮은 값을 갖고, RF가 낮을 경우에는 높은 값을 사용하는 것이 바람직하다. 즉, 현재 프레임의 신뢰도가 높을 경우 현재프레임에서 업데이트되는 값을 더 많이 반영하고, 그 반대일 경우에는 현재 프레임 값을 적게 반영하는 것이다.
한편, 도 1의 케이스 판단에서 사용된 상기 RF는 다음의 실시예와 같이 계산될 수 있다. 상기 RF는 전술한 바와 같이 IBMV의 신뢰도를 의미한다. 이러한 신뢰도는 두 가지에 의해 결정되는데, 바로 움직임 벡터들의 크기와 균일성이다.
먼저, 움직임 벡터들의 크기는 검색 범위보다는 작은 값을 가져야한다. 만약 검색 범위보다 클 경우 이는 정확히 추정된 움직임 벡터가 아니거나 추정할 수 있는 범위를 벗어났다는 것을 의미한다. 따라서 이러한 경우들에서 상기 IBMV의 신뢰도는 떨어지게 된다.
둘째로, 균일성은 많은 움직임 벡터들이 유사한 방향과 크기를 갖고 있는지를 판단하는 것이다. 많은 움직임 벡터들이 유사한 방향과 크기를 갖고 있다면, 이는 현재 프레임의 움직임이 전역 움직임이 많다는 의미이므로 대부분 카메라 흔들림에 의한 것임을 알 수 있다. 따라서 이러한 움직임 벡터라면 영상의 안정화를 위해 보정이 필요한 움직임이 된다.
반면에, 그 반대의 경우라면 영상내 움직이는 객체가 많거나 움직임 추정이 잘 되지 않는 상황이므로 이를 바탕으로 계산된 IBMV를 사용할 경우 영상 안정화의 효율이 떨어지게 된다. 따라서, 이러한 경우에는 상기 GBMV의 비율을 높여야 하는 것이다. 움직임 벡터의 균일성은 움직임 벡터의 2차원 히스토그램을 분석하여 가장 큰 피크(peak)를 중심으로 각 벡터들의 표준편차로 측정할 수 있다.
도 2는 영상 내에서 IBMV의 2차원 히스토그램 분포를 나타낸 예를 도시한 도면이다. 도 2에는 영상 내에 2개의 피크(10, 20)가 나타나는데, 이 중에서 메인 피크인 제1 피크(10)를 기준으로 상기 RF를 결정할 수 있다. 구체적으로 상기 RF는 상기 제1 피크(10) 근처의 특정 범위 내에서 움직임 벡터들의 분포를 이용하여 결정된다. 도 2에서 상기 특정 범위는 움직임 벡터를 산출하는 7x4 크기의 단위에서 이루어지는 것으로 예시되어 있다.
이 때, 이 특정 범위 내에 속하는 움직임 벡터들의 표준편차가 크다면, 이러한 움직임 벡터들은 IBMV가 아닌 실제 객체들의 움직임일 가능성이 높다. 반면에, 상기 특정 범위에 속하는 움직임 벡터들의 표준편차가 작다면, 상기 움직임 벡터들은 손떨림과 같은 외부 요인에 의한 IBMV일 가능성이 높을 것이다.
따라서, 상기 RF는 일 예로서 다음과 같이 제1 피크(10) 근처의 특정 범위에 속하는 움직임 벡터들의 표준편차(STD)의 역수로 정의될 수 있다.
[수학식 3]
한편, SF는 전술한 바와 같이 스케일러 수렴 인자를 의미한다. 즉, 초반에는 스케일 파라미터()가 불규칙적으로 나타나지만, 프레임을 거듭할수록 특정 값에 수렴하게 된다. 시간이 갈수록 상기 스케일 파라미터()의 변화량은 작아지고 이상적으로는 0에 근접하게 된다. 따라서, 그 변화량을 측정하여 0에 가까울수록 상기 SF는 1이 되고, 그 변화량이 0에서 멀어질수록 상기 SF는 0에 가깝게 결정된다. 이러한 점을 고려하면, 상기 SF는 상기 스케일 파라미터의 역수로 정의할 수 있다.
[수학식 4]
한편, 전술한 바와 같이, 도 1의 실시예에서 케이스 IV는 상기 IBMV와 상기 GBMV 모두 신뢰할 수 없는 경우이므로 단순히 IBMV를 이용할 수 있다. 이에 대한 다른 실시예로서, 단순히 IBMV를 사용하는 대신에, 기존에 저장되어 있는 룩업 테이블(Look-up Table)를 사용할 수도 있다.
카메라가 동일한 장소에서 동일한 거리의 피사체를 동일한 배율로 촬영을 할 때는 이상적으로 동일한 스케일 파라미터()를 갖는다. 따라서, 단 한번의 캘리브레이션(calibration)만 수행하면 되므로 스케일 파라미터는 하나의 값만 저장하여 사용해도 된다. 그러나 PTZ(pan/tilt/zoom)가 가능한 카메라의 경우 팬, 틸트 또는 줌 값에 따라 스케일 파라미터()가 모두 변하게 된다. 그런데, 상기 PTZ 카메라는 시간에 따라 변화하는 팬, 틸트 및 줌 값을 인터페이스를 통해 제공하므로 이를 이용할 수 있다. 즉, 상기 변화되는 팬, 틸트 및 줌 값에 따라 변경되는 스케일 파라미터()를 룩업 테이블(LUT)로 저장해두고, 이를 상기 케이스 IV에서 이용하는 것이다.
뿐만 아니라, 추후의 룩업 테이블에 현재의 팬/틸트/줌에 해당하는 스케일 파라미터() 값이 존재할 경우 이 값을 초기값()으로 사용하면 수렴속도가 빨라지기 때문에 즉시 GBS 기법을 적용할 수 있어서 영상 내의 움직이는 객체들로 인한 오류의 영향을 최소화할 수 있다.
도 3은 본 발명의 일 실시예에 따른 영상 안정화 장치(100)의 구성을 도시하는 블록도이다.
프로세서(160)는 RAM과 같은 휘발성 메모리 소자 또는 ROM과 같은 비휘발성 메모리 소자 형성된 메모리(170)에 다양한 처리 명령, 쓰레드 등을 로딩(loading)하고 이들을 처리하는 기능을 갖는다. 또한 프로세서(160)는 통신 버스(190)에 연결되어, 영상 안정화 장치(100) 내의 다른 모든 구성요소들의 동작을 제어할 수 있다.
버스(190)는 프로세서(160), 메모리(170), 스토리지(180)를 비롯하여 영상 안정화 장치(100) 내의 각종 구성요소들 간의 연결이 가능하도록 제공된 데이터 통신을 위한 통로이다. 도 3에서는 버스(190)에 프로세서(160), 메모리(170) 및 스토리지(180)가 연결되어 있는 것으로 도시되어 있지만, 다른 영상 안정화 장치(100) 내의 다른 모든 구성요소들도 버스(190)에 연결되거나 다른 버스를 통해 간접적으로 버스(190)에 연결될 수 있다.
먼저, 외부로부터 입력된 영상은 촬상소자(105)에 의해 캡쳐된다. 이러한 영상 촬영은 피사 영역으로부터 온 광이 CCD(Charge Coupled Device)나 CMOS(Complimentary Meta Oxide Semiconductor)와 같은 소자에 의해 감광되어 각 픽셀 단위로 전기신호를 발생하는 형태로 이루어진다,
영상 처리부(110)는 상기 촬영된 영상에 대해 영상 처리를 수행한다. 이러한 영상 처리는 영상의 품질을 향상시키고 영상을 목적에 맞는 형태로 수정하기 위한 다양한 처리를 의미하며, 예를 들어, 감마 조절, 노이즈 제거, 화이트 밸런스 조절, 콘트라스트 확대/축소, 밝기 조절, WDR(wide dynamic range) 처리, HDR (High Dynamic Range) 처리 등이 포함될 수 있다.
제1 MV 검출부(115)는 상기 캡쳐된 영상을 처리하여 제1 움직임 벡터(제1 MV), 즉 IBMV를 검출한다. 이러한 제1 움직임 벡터는 RF 연산부(120)에 제공된다.
RF 연산부(120)는 상기 제공된 제1 움직임 벡터를 이용하여 RF를 계산한다. RF 연산부(120)는 도 2를 참고하여 전술한 바와 같이, 상기 제1 움직임 벡터의 2차원 히스토그램 분포에서 제1 피크 근처의 영역에 속하는 움직임 벡터들의 분포, 특히 표준편차의 역수를 이용하여 구할 수 있다.
한편, 관성 센서(125)는 상기 영상 캡쳐 장치의 일측에 장착되어 영상 안정화 장치의 움직임을 감지한다. 이러한 관성 센서(125)는 예를 들어 자이로스코프, 가속도계 등으로 구현될 수 있다.
제2 MV 검출부(130)는 상기 관성 센서(125)의 출력으로부터 상기 영상처리 된 캡쳐 영상의 제2 움직임 벡터(제2 MV), 즉 GBMV를 검출한다. 상기 제2 움직임 벡터는 SF 연산부(135)에 제공된다.
SF 연산부(135)는 상기 제공된 제2 움직임 벡터를 이용하여 SF를 계산한다. 상기 SF는 수학식 4에서도 도시된 바와 같이, 최근 소정 개수의 영상(프레임)에서 스케일 파라미터의 표준편차의 역수로 계산될 수 있다. 물론, 상기 스케일 파라미터는 고정된 값을 사용할 수도 있으나, 수학식 2와 같이 직전 영상 프레임에서 연산한 스케일 파라미터 값과 현재 프레임에서 새로 업데이트되는 부분을 적절히 반영하여 얻어질 수도 있다.
OMV 출력부(140)는 상기 제1 및 제2 움직임 벡터에 대한 가중 합(weighed sum)을 계산하여 출력 움직임 벡터(OMV)를 구하고 상기 구한 출력 움직임 벡터를 영상 보상부(150)로 출력한다. 이 때, OMV 출력부(140)는, RF 연산부(120)에서 연산된 제1 움직임 벡터의 신뢰도 인자(RF)와, SF 연산부(135)에서 연산된 상기 제2 움직임 벡터의 스케일러 수렴 인자(SF)에 기초하여 상기 가중 합을 계산한다.
이 때, OMV 출력부(140)는 도 1에 도시된 예와 같이, 상기 RF가 제1 기준치를 넘는지 및 상기 SF가 제2 기준치를 넘는지를 조합하여 4개의 케이스가 결정될 수 있으며 각각 서로 다른 방식으로 가중치(수학식 1에서 )를 결정함으로써 상황에 따라 적응적으로 적절한 출력 움직임 벡터를 결정할 수 있는 것이다.
전술한 바와 같이, 상기 RF가 제1 기준치보다 높고 상기 SF가 제2 기준치보다 낮으면, 상기 제1 움직임 벡터에 대한 가중치()를 높게 설정한다(케이스 I). 또한, 상기 RF가 상기 제1 기준치보다 낮고 상기 SF가 상기 제2 기준치보다 높으면, 상기 제2 움직임 벡터에 대한 가중치를 높게 설정한다(케이스 III). 제1 움직임 벡터에 대한 가중치가 라면, 제2 움직임 벡터에 대한 가중치는 이므로 이것은 제1 움직임 벡터에 대한 가중치를 낮게 설정한다는 것과 같은 의미이다.
한편, 상기 RF가 상기 제1 기준치보다 높고, 상기 SF가 상기 제2 기준치보다 높으면, 제1 및 제2 움직임 벡터 모두를 신뢰할 수 있는 상황이므로, 상기 출력 움직임 벡터는 상기 제1 움직임 벡터 및 상기 제2 움직임 벡터의 평균으로 결정될 수 있다(케이스 II).
마지막으로, 상기 RF가 상기 제1 기준치보다 낮고, 상기 SF가 상기 제2 기준치보다 낮으면, 상기 출력 움직임 벡터는 상기 제1 움직임 벡터로 결정될 수 있다(케이스 IV). 또는 다른 실시예에 따르면, 케이스 IV의 경우에 상기 출력 움직임 벡터는 전술한 바와 같이 기존에 저장된 룩업 테이블을 이용하여 결정될 수도 있다.
이와 같이 출력된 출력 움직임 벡터는 영상 보상부(150)에 제공되며, 영상 보상부(150)는 상기 출력 움직임 벡터에 기초하여 상기 입력된 영상의 움직임을 역방향으로 보상하여 상기 떨림에 의한 영상 왜곡을 제거한다. 도 4를 참조하면, 입력 영상(40)의 전체 또는 그 일부(41)에 포함된 IBMV 및 GBMV는 전술한 과정을 통해 영상을 대표하는 출력 움직임 벡터(OMV)(43)로서 얻어지고, 이러한 출력 움직임 벡터(43)와 완전한 반대 방향의 보상 벡터(45)에 의해 현재 영상(40)이 보상된다. 즉, 현재 영상(40) 내의 모든 픽셀들은 상기 보상 벡터(45) 만큼 이동하도록 영상 처리가 이루어지는 것이다.
도 3에서 스토리지(185)는 대용량의 비휘발성 저장 매체로서, MS-윈도우즈, Mac OS, 안드로이드 등의 다양한 OS(operating system)와, 미리 설치된 특정 목적 또는 범용 목적의 소프트웨어들이 기록된 장소이다. 또한, 사용자 명령에 따라 영상 보상부(150)에 의해 보상된 영상을 일시적으로 또는 반영구적으로 저장할 수 있다.
지금까지 도 3의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 5는 본 발명의 일 실시예에 따른 영상 안정화 방법을 설명하는 흐름도이다.
먼저, 촬상소자(105)는 피사체로부터 영상을 캡쳐한다(S51). 그러면, 제1 MV 검출부(115)는 상기 캡쳐된 영상을 처리하여 제1 움직임 벡터, 즉 IBMV를 검출한다(S52).
한편, 영상 안정화 장치(100)의 일측에 장착된 관성 센서(125)는 영상 안정화 장치(100)의 물리적인 움직임을 감지한다. 이 때, 제2 MV 검출부(130)는 관성 센서(125)로부터 출력을 이용하여 상기 캡쳐된 영상의 제2 움직임 벡터, 즉 GBMV를 검출한다(S53).
그 다음, OMV 출력부(140)에서 출력 움직임 벡터를 구하기 위해서는, 제1 및 제2 움직임 벡터의 가중치를 계산하여야 하는데 이를 위해서는 제1 움직임 벡터의 RF(신뢰도 인자)와 제2 움직임 벡터의 SF(스케일러 수렴 인자)를 먼저 결정할 필요가 있다.
따라서, RF 연산부(120)는 제1 움직임 벡터의 분포를 이용하여 RF를 연산하고(S54), SF 연산부(135)는 제2 움직임 벡터의 시간에 따른 변화를 이용하여 SF를 연산한다(S55).
OMV 출력부(140)는 상기 출력 움직임 벡터를 구하기 위해, 상기 연산된 RF 및 SF를 이용하여 상기 제1 및 제2 움직임 벡터에 대한 가중치를 결정하고 상기 결정된 가중치를 이용하여 상기 제1 및 제2 움직임 벡터의 가중 합(weighed sum)을 계산한다(S56).
마지막으로, 영상 보상부(150)는 상기 출력 움직임 벡터와 같은 크기에 반대 방향을 갖는 보상 벡터에 의해 상기 입력된 영상의 움직임을 보상하여 상기 영상을 안정화한다(S57).
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
40: 현재 영상
41: 영상내 영역
43: 출력 움직임 벡터 45: 보상 벡터
105: 촬상소자 110: 영상 처리부
115: 제1 MV 검출부 120: RF 연산부
125: 관성 센서 130: 제2 MV 검출부
135: SF 연산부 140: OMV 출력부
150: 영상 보상부 160: 프로세서
170: 메모리 180: 스토리지
190: 버스
43: 출력 움직임 벡터 45: 보상 벡터
105: 촬상소자 110: 영상 처리부
115: 제1 MV 검출부 120: RF 연산부
125: 관성 센서 130: 제2 MV 검출부
135: SF 연산부 140: OMV 출력부
150: 영상 보상부 160: 프로세서
170: 메모리 180: 스토리지
190: 버스
Claims (10)
- 영상 캡쳐 장치에 포함된 적어도 하나의 프로세서에 의해, 상기 영상 캡쳐 장치로부터 캡쳐된 영상을 안정화하는 방법에 있어서,
피사체로부터 영상을 캡쳐하는 단계;
상기 캡쳐된 영상을 처리하여 제1 움직임 벡터를 검출하는 단계;
상기 영상 캡쳐 장치의 일측에 장착된 관성 센서를 이용하여 상기 캡쳐된 영상의 제2 움직임 벡터를 검출하는 단계;
출력 움직임 벡터를 구하기 위해, 상기 제1 및 제2 움직임 벡터에 대한 가중 합(weighed sum)을 계산하는 단계; 및
상기 출력 움직임 벡터에 기초하여 상기 입력된 영상의 움직임을 역방향으로 보상하여 상기 떨림에 의한 영상 왜곡을 제거하는 단계를 포함하는 방법. - 제1항에 있어서, 상기 가중 합을 계산하는 단계는
상기 제1 움직임 벡터의 신뢰도 인자(Reliability Factor)와 상기 제2 움직임 벡터의 스케일러 수렴 인자(Scaler Convergence factor)에 기초하여 상기 가중 합을 계산하는 단계를 포함하는 방법. - 제2항에 있어서, 상기 가중 합을 계산하는 단계는
상기 신뢰도 인자가 제1 기준치보다 높고 상기 스케일러 수렴 인자가 제2 기준치보다 낮으면, 상기 제1 움직임 벡터에 대한 가중치를 높이고,
상기 신뢰도 인자가 상기 제1 기준치보다 낮고 상기 스케일러 수렴 인자가 상기 제2 기준치보다 높으면, 상기 제2 움직임 벡터에 대한 가중치를 높이는 단계를 포함하는 방법. - 제3항에 있어서, 상기 가중 합을 계산하는 단계는
상기 신뢰도 인자가 상기 제1 기준치보다 낮고, 상기 스케일러 수렴 인자가 상기 제2 기준치보다 낮으면, 상기 출력 움직임 벡터는 기존에 저장된 룩업 테이블을 이용하여 결정되는 단계를 더 포함하는 방법. - 제3항에 있어서, 상기 가중 합을 계산하는 단계는
상기 신뢰도 인자가 상기 제1 기준치보다 낮고, 상기 스케일러 수렴 인자가 상기 제2 기준치보다 낮으면, 상기 출력 움직임 벡터는 상기 제1 움직임 벡터로 결정되는 단계를 더 포함하는 방법. - 제3항에 있어서, 상기 가중 합을 계산하는 단계는
상기 신뢰도 인자가 상기 제1 기준치보다 높고, 상기 스케일러 수렴 인자가 상기 제2 기준치보다 높으면, 상기 출력 움직임 벡터는 상기 제1 움직임 벡터 및 상기 제2 움직임 벡터의 평균으로 결정되는 단계를 더 포함하는 방법. - 제2항에 있어서, 상기 신뢰도 인자는
상기 제1 움직임 벡터의 2차원 히스토그램 분포에서 가장 높은 피크 근처의 영역에 속하는 움직임 벡터들의 분포로부터 얻어지는 방법. - 제7항에 있어서, 상기 신뢰도 인자는
상기 가장 높은 피크 근처의 영역에 속하는 움직임 벡터들의 표준편차의 역수로부터 얻어지는 방법. - 제2항에 있어서, 상기 스케일러 수렴 인자는
최근 소정 개수의 영상에서 스케일 파라미터의 표준편차의 역수로부터 얻어지는 방법. - 제9항에 있어서, 상기 제2 움직임 벡터는
관성 센서 기반의 벡터와 상기 스케일 파라미터의 곱으로부터 얻어지는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200036078A KR20210119679A (ko) | 2020-03-25 | 2020-03-25 | 캡쳐된 영상을 안정화하는 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200036078A KR20210119679A (ko) | 2020-03-25 | 2020-03-25 | 캡쳐된 영상을 안정화하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210119679A true KR20210119679A (ko) | 2021-10-06 |
Family
ID=78077236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200036078A KR20210119679A (ko) | 2020-03-25 | 2020-03-25 | 캡쳐된 영상을 안정화하는 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210119679A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017181717A (ja) | 2016-03-30 | 2017-10-05 | リコーイメージング株式会社 | 防振制御装置 |
-
2020
- 2020-03-25 KR KR1020200036078A patent/KR20210119679A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017181717A (ja) | 2016-03-30 | 2017-10-05 | リコーイメージング株式会社 | 防振制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9055217B2 (en) | Image compositing apparatus, image compositing method and program recording device | |
US9609355B2 (en) | Image processing apparatus to which moving vector search technique is applicable, control method therefor, and storage medium storing control program therefor | |
US9264616B2 (en) | Image capturing apparatus, method of controlling the same, and storage medium for correcting image blurring of a captured image | |
US10917567B2 (en) | Image processing apparatus, image processing method, program, and image pickup system | |
US20150123990A1 (en) | Image processing device, image processing method, image processing program, and storage medium | |
CN109903324B (zh) | 一种深度图像获取方法及装置 | |
JP6577703B2 (ja) | 画像処理装置及び画像処理方法、プログラム、記憶媒体 | |
JP2007166578A (ja) | 画像振動補償装置とその方法 | |
US8730333B2 (en) | Image stabilization system | |
CN106303249B (zh) | 视频防抖方法和设备 | |
US9906724B2 (en) | Method and device for setting a focus of a camera | |
KR102429337B1 (ko) | 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법 | |
EP3267675B1 (en) | Terminal device and photographing method | |
US20240031676A1 (en) | Method And System For Camera Motion Blur Reduction | |
KR101783990B1 (ko) | 디지털 영상 처리 장치 및 영상의 대표 움직임 예측 방법 | |
JP6178646B2 (ja) | 撮像装置及び像振れ補正処理方法 | |
JP7302596B2 (ja) | 画像処理装置、および画像処理方法、並びにプログラム | |
JP2015154334A (ja) | 撮像装置、その制御方法、および制御プログラム | |
JP2021111929A (ja) | 撮像装置、撮像装置の制御方法およびプログラム | |
KR20210119679A (ko) | 캡쳐된 영상을 안정화하는 방법 및 장치 | |
CN106454066B (zh) | 图像处理设备及其控制方法 | |
JP2017212698A (ja) | 撮像装置、撮像装置の制御方法およびプログラム | |
JP6739955B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、および記録媒体 | |
US20220408022A1 (en) | Image processing apparatus, image processing method, and storage medium | |
JP6381212B2 (ja) | 撮像装置及びその制御方法 |