KR101177271B1 - 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치 - Google Patents

움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치 Download PDF

Info

Publication number
KR101177271B1
KR101177271B1 KR1020100000581A KR20100000581A KR101177271B1 KR 101177271 B1 KR101177271 B1 KR 101177271B1 KR 1020100000581 A KR1020100000581 A KR 1020100000581A KR 20100000581 A KR20100000581 A KR 20100000581A KR 101177271 B1 KR101177271 B1 KR 101177271B1
Authority
KR
South Korea
Prior art keywords
value
image
pixel
motion
threshold
Prior art date
Application number
KR1020100000581A
Other languages
English (en)
Other versions
KR20110080395A (ko
Inventor
박성원
Original Assignee
주식회사 코아로직
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코아로직 filed Critical 주식회사 코아로직
Priority to KR1020100000581A priority Critical patent/KR101177271B1/ko
Publication of KR20110080395A publication Critical patent/KR20110080395A/ko
Application granted granted Critical
Publication of KR101177271B1 publication Critical patent/KR101177271B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40012Conversion of colour to monochrome
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 상시 모드에서 모든 영상 데이터를 저장하는 것이 아니라 움직임이 검출될 때에만 해당 영상 데이터를 메모리에 저장함으로써, 메모리를 효과적으로 사용하고, 또한 움직임 검출된 해당 영상 데이터 용이하게 검색할 수 있는 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치를 제공하다. 그 움직임 검출장치는 적어도 하나의 파라미터를 기초로 하여 움직임 검출을 위한 임계값(threshold)을 설정하는 임계값 설정부; 현재 프레임의 영상을 이전 프레임 영상과 비교하여 구한 휘도 차이값을 상기 임계값과 비교하여 비교결과에 따라 이진(binary) 맵을 생성하는 맵 생성부; 상기 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거하는 모폴로지(morphology)부; 및 움직임이 검출된 영상에 대하여, 프레임 단위로 노이즈를 제거함으로써, 상기 검출된 영상에 대한 프레임 단위의 저장의 연속성을 부여하는 저장 정책 결정부;를 포함한다.

Description

움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치{Motion detection device and method, and image processing apparatus comprising the same device}
본 발명은 영상처리 장치에 관한 것으로, 특히 대상 객체의 움직임을 검출하는 움직임 검출장치 및 방법에 관한 것이다.
비교적 근래에 등장한 IT 제품으로써 차량용 블랙박스의 수요가 증가하고 있다. 차량용 블랙박스란 차량의 주변 상황을 영상 및 음성으로 저장하여 사고 발생시 정확한 사고 원인 분석을 가능케 하는 영상 기록 장치이다. 예컨대 주행 중 충돌 발생시, 사고 전후 얼마간의 영상 및 음성을 저장함으로써 사고 원인 분석에 도움을 줄 수 있다.
차량용 블랙박스의 또 다른 주요한 기능으로써 “상시 모드”라는 것이 있다. 이는 주로 주차 시, 감시카메라의 용도로써 사용되는데 메모리의 저장 용량이 허용하는 범위 내에서 촬영된 영상 및 음성 정보를 기록한다. 하지만, 이러한 상시 모드 시간 동안 모든 데이터를 저장하는 것은 바람직하다고 할 수 없다. 왜냐하면, 메모리의 저장 용량은 그 한계가 있을 뿐만 아니라 대부분의 움직임이 없는 전체 영상 중 필요한 부분만을 검출하기 위해서 많은 시간의 검토 분석이 뒤따르기 때문이다.
본 발명이 해결하고자 하는 과제는 상시 모드에서 모든 영상 데이터를 저장하는 것이 아니라 움직임이 검출될 때에만 해당 영상 데이터를 메모리에 저장함으로써, 메모리를 효과적으로 사용하고, 또한 움직임이 검출된 해당 영상 데이터 용이하게 검색할 수 있는 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치를 제공하는 데에 있다.
상기 과제를 해결하기 위하여, 본 발명은 적어도 하나의 파라미터를 기초로 하여 움직임 검출을 위한 임계값(threshold)을 설정하는 임계값 설정부; 현재 프레임의 영상을 이전 프레임 영상과 비교하여 구한 휘도 차이값을 상기 임계값과 비교하여 비교결과에 따라 이진(binary) 맵을 생성하는 맵 생성부; 상기 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거하는 모폴로지(morphology)부; 및 움직임이 검출된 영상에 대하여, 프레임 단위로 노이즈를 제거함으로써, 상기 검출된 영상에 대한 프레임 단위의 저장의 연속성을 부여하는 저장 정책 결정부;를 포함하는 움직임 검출 장치를 제공한다.
본 발명의 일 실시예에 있어서, 상기 저장 정책 결정부는 0에서 15까지의 인덱스를 갖는 움직임 풀(pool)을 설정하고, 움직임이 검출되면 인덱스를 1씩 증가시키고, 검출되지 않으면 1씩 감소시키며, 인덱스가 2에서 3으로 증가할 때 추가로 5를 더 증가시키고, 3에서 2로 감소할 때 추가로 2를 더 감소시키며, 상기 인덱스가 3 이상인 경우에 해당 프레임을 메모리로 저장하는 걸로 결정할 수 있다.
본 발명의 일 실시예에 있어서, 상기 임계값 설정부는, 상기 파라미터로 카메라의 성능, 영상의 휘도, 및 사용자의 성향을 이용하게 되는데, 상기 카메라의 성능의 경우, 상기 카메라에 의한 보정 후 영상에 포함된 노이즈의 양에 따라 상기 임계값을 설정하고, 상기 영상의 휘도의 경우, 상기 영상이 밝은 영상인가 어두운 영상인가에 따라 상기 임계값을 설정하며, 상기 사용자의 성향의 경우, 상기 사용자가 움직임 정도에 민감한가에 따라 상기 임계값을 설정할 수 있다.
본 발명의 일 실시예에 있어서, 상기 맵 생성부는, 상기 현재 프레임 영상을 백그라운드 영상과도 비교하며, 상기 현재 프레임 영상을 상기 이전 프레임 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제1 휘도 차이값을 구하고, 상기 현재 프레임 영상을 상기 백그라운드 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제2 휘도 차이값을 구하며, 각 픽셀에 대하여 상기 제1 휘도 차이값과 제2 휘도 차이값을 상기 임계값과 비교하여, 둘 모두가 상기 임계값보다 작은 경우에 해당 픽셀에 최소 휘도값을 할당하고, 나머지 경우에는 해당 픽셀에 최대 휘도값을 할당할 수 있다.
본 발명의 일 실시예에 있어서, 상기 이진 맵은 최소 휘도값 또는 최대 휘도값으로 구성되며, 상기 모폴로지부는, 상기 이진 맵에 대하여 4×4 픽셀 블록 단위로 라스터-스캔(raster-scan) 순서로 진행하면서 상기 필터링을 수행하되, 상기 필터링은 상기 4×4 픽셀 블록 내에 모든 값이 최대 휘도값일 때, 상기 최대 휘도값을 할당하고, 적어도 하나의 픽셀이 최소 휘도값일 때, 상기 최소 휘도값을 할당할 수 있다.
본 발명은 또한 상기 과제를 해결하기 위하여, 대상객체를 촬영하여 영상(image)을 획득하는 카메라(camera); 상기 영상을 인코딩하는 비디오 인코더(encoder); 상기 영상을 분석하여 프레임별 움직임을 검출하되, 프레임 단위로 노이즈를 제거하여 움직임이 검출된 영상에 프레임 단위의 저장의 연속성을 부여하는 움직임 검출장치; 상기 움직임 검출장치로부터의 움직임 정보에 따라, 상기 비디오 인코더에서 인코딩된 데이터를 메모리에 저장할 것인지 판단하는 판단부; 및 상기 판단부의 판단 결과에 따라, 인코딩된 상기 데이터를 저장하는 메모리;를 포함하는 영상처리 장치를 제공한다.
본 발명의 일 실시예에 있어서, 상기 움직임 검출장치의 움직임 정보는 상기 비디오 인코더로 전달되며, 상기 비디오 인코더는 상기 움직임 정보에 따라 움직임이 검출된 프레임부터 인코딩을 수행할 수 있다. 이러한 상기 영상처리 장치는 감시 카메라, 차량용 블랙 박스, 카메라를 구비한 단말기, 및 캠코더 중 어느 하나일 수 있다.
더 나아가 본 발명은 상기 과제를 해결하기 위하여, 임계값 설정부에서 적어도 하나의 파라미터를 기초로 하여 움직임 검출을 위한 임계값(threshold)을 설정하는 단계; 맵 생성부에서 현재 프레임의 영상을 이전 프레임 영상과 비교하여 구한 휘도 차이값을 상기 임계값과 비교하여 비교결과에 따라 이진(binary) 맵을 생성하는 단계; 모폴로지부에서 상기 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거하는 단계; 및 저장 정책 결정부에서 움직임이 검출된 영상에 대하여, 프레임 단위로 노이즈를 제거함으로써, 상기 검출된 영상에 대한 프레임 단위의 저장의 연속성을 부여하는 단계;를 포함하는 움직임 검출 방법을 제공한다.
본 발명의 일 실시예에 있어서, 상기 임계값 설정 단계에서는 상기 카메라의 성능, 영상의 휘도, 및 사용자의 성향을 순차적으로 반영하여 상기 임계값을 설정할 수 있다. 구체적으로 상기 카메라의 성능에 따른 상기 임계값의 설정은, 움직임이 없는 임의의 연속되는 두 장의 프레임을 이용하여, 대응 픽셀 간의 휘도 차이값에 대한 히스토그램(histogram)을 구하는 단계; 및 상기 히스토그램의 소정 범위를 커버하는 휘도 차이값을 초기 임계값으로 설정하는 단계;를 포함할 수 있다.
또한, 상기 영상의 휘도에 따른 상기 임계값 설정은, 상기 영상의 휘도 평균값을 8 구간으로 나누고, 3에서 해당 구간 값을 뺀 값을 상기 카메라의 성능에 따른 임계값에 더하여 설정할 수 있다. 그리고 상기 사용자의 성향에 따른 상기 임계값 설정은, 상기 영상의 휘도에 따른 임계값에 제1 비율을 곱하여 낮추는 방법, 상기 영상의 휘도에 따른 임계값에 제2 비율을 곱하여 높이는 방법, 및 상기 영상의 휘도에 따른 임계값을 그대로 설정하는 방법 중 어느 하나의 방법으로 설정하되, 상기 임계값이 설정된 최소 임계값보다 낮은 경우에는 상기 최소 임계값으로 설정할 수 있다.
본 발명에 따른 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치 촬영되는 모든 영상 데이터를 메모리에 저장하지 않고, 소정 움직임 검출 로직을 적용하여 움직임이 검출된 해당 영상 데이터만을 메모리에 저장함으로써, 메모리를 절약할 수 있고 또한 필요한 데이터들에 대한 빠른 검색을 가능하게 한다.
도 1은 본 발명의 일 실시예에 따른 영상처리 장치에 따른 블럭 구조도이다.
도 2는 도 1의 영상처리 장치에서 움직임 검출장치를 좀더 상세하게 보여주는 블럭 구조도이다.
도 3은 도 2의 움직임 검출장치의 맵 생성부를 통해 이진 맵이 생성되는 원리를 보여주는 원리도이다.
도 4a 및 4b는 원본 영상 및 맵 생성부에서 생성된 이진 맵에 따른 영상을 보여주는 사진들이다.
도 5a 및 5b는 도 2의 움직임 검출장치의 맵 생성부에서 생성된 이진 맵 및 모폴로지부를 통해 블럭 단위의 노이즈가 제거된 후의 2차 이진 맵에 대한 도면들이다.
도 6은 모폴로지부에서 생성된 2차 이진 맵에 따른 영상을 보여주는 사진이다.
도 7은 본 발명의 다른 실시예에 따른 움직임 검출방법을 보여주는 흐름도이다.
도 8은 도 7의 움직임 검출방법에서, 임계값 설정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 9는 도 8의 임계값 설정 단계에서, 카메라 성능에 따른 초기 임계값 설정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 10a 및 10b는 도 9에 따른 히스토그램 및 히스토그램 상에서 초기 임계값을 설정하는 원리를 보여주는 그래프들이다.
도 11은 도 8의 임계값 설정 단계에서, 영상의 휘도 및 사용자의 성향에 따른 임계값 설정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 12는 도 7의 움직임 검출방법에서, 프레임 단위의 저장 연속성을 부여하는 단계를 좀더 상세하게 보여주는 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이하의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소와 바로 연결될 수도 있지만, 그 사이에 제3의 구성 요소가 개재될 수도 있다. 또한, 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장되었고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
도 1은 본 발명의 일 실시예에 따른 영상처리 장치에 따른 블럭 구조도이다.
도 1을 참조하면, 본 실시예에 따른 영상처리 장치는 카메라(200), 비디오 인코더(300), 움직임 검출장치(100), 판단부(400) 및 메모리(500)를 포함한다.
카메라(200)는 대상객체를 촬영하여 획득한 영상(image) 데이터를 비디오 인코더(300) 및 움직임 검출장치(100)로 전달하고, 비디오 인코더(300)는 전달받은 영상 데이터를 소정 인코딩 방법을 적용하여 비트스트림(bitstream)으로 인코딩한다.
움직임 검출장치(100)는 전달받은 영상 데이터를 이용하여 해당 영상에 움직임이 있는지 검출하게 되는데, 이러한 움직임 검출장치(100)에 대해서는 도 2 이하의 설명부분에서 상세히 설명한다.
판단부(400)는 움직임 검출장치(100)로부터 움직임에 대한 정보를 전달받아 비디오 인코더(300)에서 인코딩된 비트스트림들을 메모리(500)에 저장할 것인지 결정하고, 판단부(400)에서 저장할 것으로 결정된 비트스트림은 메모리(500)로 저장된다.
종래 차량용 블랙박스의 상시 모드에서, 비디오 인코더(300)를 통해 인코딩된 모든 비트스트림이 메모리에 저장됨에 따라, 메모리 용량의 한계로 인해 상시 모드 적용 시간에 제한이 있었고, 또한, 대부분 움직임이 없는 영상이기 때문에 메모리 낭비로 초래하며, 더 나아가 대부분 움직임이 없는 전체 영상 중에서 움직임이 발생한 필요한 부분만을 검출하기 위해서 많은 시간의 검토 분석이 뒤따르는 문제가 있었다. 그러나 본 실시예의 영상처리 장치는 움직임이 검출된 해당 영상만을 메모리에 저장하기 때문에 메모리의 낭비를 줄일 수 있고, 또한 움직임이 발생한 영상만이 저장되기 때문에 검출하고자 하는 필요한 부분도 용이하게 검색할 수 있다.
한편, 본 실시예의 영상처리 장치는 움직임 검출장치(100)로부터 움직임 정보를 비디오 인코더(300)가 전달받음으로써, 비디오 인코더(400)가 카메라(200)로부터 전달받은 모든 영상 데이터를 인코딩하는 것이 아니라, 움직임 정보에 따라 움직임이 검출된 해당 프레임부터 인코딩을 수행할 수 있도록 구성될 수도 있고, 그에 따라 비디오 인코더(400)는 데이터 인코딩 양을 줄일 수 있다. 도면상, 움직임 검출장치(100)로부터 움직임 정보가 비디오 인코더(300)가 전달되는 경로가 점선으로 표시되어 있다.
본 실시예의 영상처리 장치는 전술한 차량용 블랙박스에 한정되지 않고 감시기능을 수행할 수 있는 다양한 영상처리 장치에 적용될 수 있다. 예컨대, 감시카메라, 카메라를 내장한 단말기나 모바일 핸드폰, 캠코더 등에 이용될 수 있다.
도 2는 도 1의 영상처리 장치에서 움직임 검출장치를 좀더 상세하게 보여주는 블럭 구조도이다.
도 2를 참조하면, 본 실시예의 움직임 검출장치(100)는 임계값 설정부(120), 맵 생성부(140), 모폴로지부(160, Morphology Unit), 및 저장 정책 결정부(180)를 포함한다.
임계값 설정부(120)는 카메라의 성능, 영상의 휘도 및 사용자의 성향에 따라 움직임 검출을 위한 임계값(threshold)을 설정한다. 설정된 임계값은 차후 맵 생성부에서 맵 생성을 위해 이용된다.
카메라 성능의 경우는, 카메라 자체 성능이나 튜닝 정도에 따라 영상에 포함되는 노이즈의 정도가 달라지므로, 만약, 카메라의 성능이 좋아 영상에 노이즈가 작게 포함되면 움직임 여부를 위한 임계값은 낮게 설정하는 것이 바람직하고, 반대로 카메라의 성능이 나빠 영상에 노이즈가 많이 포함되면, 임계값은 높게 설정하는 것이 바람직하다.
영상의 휘도의 경우는, 촬영하는 환경이나 장소에 따라, 영상의 밝기는 달라질 수 있고, 그러한 영상의 밝기에 따라 노이즈 및 프레임 간의 픽셀 휘도 차이값이 달라질 수 있다. 영상의 휘도와 관련해서 밝은 영상보다는 어두운 영상에서 노이즈 및 픽셀 휘도 차이값이 더 크게 나타난다는 실험 결과를 보여준다. 그 이유는 카메라 단계의 보정, 예컨대 튜닝 단계에서 어두운 영상에 대해서는 휘도값을 증폭시키기 때문이다. 이러한 이유에 근거하여, 밝은 영상과 어두운 영상에 적용되는 임계값이 달라야 하며, 본 실시예에서는 휘도의 평균을 이용하여 앞서, 카메라의 성능에 따라 설정된 임계값을 자동으로 증감할 수 있도록 구현된다.
사용자의 성향의 경우는, 사용자의 성향의 따라 나뭇잎이 떨어지는 것과 같은 아주 작은 움직임도 의미 있는 데이터라고 생각하는 사람도 있고, 자동차나 사람이 지나가는 정도의 큰 움직임만을 의미 있는 데이터라고 생각하는 사람이 있다. 따라서, 사용자의 성향에 따라 임계값이 달라져야 한다. 본 실시예에서는 사용자의 성향에 따라, 세 가지 유형으로 구분하여 임계값을 설정할 수 있도록 구현된다.
카메라의 성능, 영상의 휘도 및 사용자의 성향에 따라 임계값을 설정하는 내용에 대해서는 도 9 ~ 11의 설명부분에서 좀더 상세히 기술한다.
맵 생성부(140)는 현재 프레임의 영상을 이전 프레임의 영상 또는 백그라운드 영상과 픽셀 단위로 비교하여 각 픽셀에 대한 휘도 차이값을 구하고, 이러한 휘도 차이값을 앞서 임계값과 비교하여 이진 맵을 생성한다. 예컨대, 임계값보다 크거나 같은 경우에는 최대 휘도값 255(흰색)을 해당 픽셀에 할당하고, 임계값보다 적은 경우에는 최소 휘도값 0(검은색)을 해당 픽셀에 할당함으로써, 결국 프레임의 각 픽셀들이 0 또는 255로 맵핑되게 된다. 0과 255는 예시적인 것이고 다른 휘도값을 할당할 수도 있다. 그러나 구별의 용이성을 위해서 0과 255로 할당하는 것이 바람직하다.
맵 생성부(140)에서 이진 맵을 생성하는 원리에 대해서는 도 3 ~ 4b의 설명 부분에서 좀더 상세히 기술한다.
모폴로지부(160)는 맵 생성부(140)에서 생성된 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 블럭 단위의 노이즈를 제거시킨 2차 이진 맵을 생성한다. 모폴로지부(160)에서의 2차 이진 맵을 생성하는 내용에 대해서는 도 5a ~ 6의 설명부분에서 좀더 상세히 기술한다.
저장 정책 결정부(180)는 움직임이 검출된 영상에 대하여, 프레임 단위로 노이즈를 제거함으로써, 검출된 영상에 대한 프레임 단위의 저장의 연속성을 부여한다. 프레임 단위로 검출된 움직임 정보는 그 자체만으로 메모리에 저장할 것인지 말 것인지 결정하는 것은 바람직하지 않다. 왜냐하면, 연속된 움직임이 있다고 하더라도 중간에 한두 프레임 움직임이 없다는 정보를 줄 수도 있고, 반대로 노이즈가 심한 영상의 경우, 움직임이 없는 영상에 대하여 움직임이 있다는 잘못된 정보를 줄 수 있다. 따라서, 본 실시예에서는 저장 정책 결정부(180)를 통해 움직임 풀(pool)이라는 개념을 도입하여, 움직임이 있는 영상들의 경우 사이에 한두 프레임이 움직임이 없는 것으로 검출된다고 해도 모두 연속 저장하고, 반대로 움직임이 없는 영상들의 경우도 사이에 한두 프레임 움직임이 있는 것으로 검출된다고 해도 모두 연속하여 저장하지 않도록 구현된다.
저장 정책 결정부(180)를 통해 프레임 단위의 저장의 연속성을 부여하는 원리는 도 12에 대한 설명부분에서 좀더 상세히 기술한다.
본 실시예의 움직임 검출장치(100)는 프레임 간의 휘도 차이값에 영향을 줄 수 있는 파라미터를, 예컨대 카메라 성능, 영상의 휘도, 및 사용자의 성향을 고려하여 임계값을 설정하고, 이러한 임계값을 기초로 프레임 간의 휘도 차이값에 대한 이진 맵을 작성함으로써, 움직임 여부에 대한 정확한 판단을 할 수 있도록 한다. 더 나아가, 모폴로지부를 통해 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거하고, 저장 정책 결정부를 통해 프레임 단위로 저장의 연속성을 부여함으로써, 좀더 정확하게 움직임 여부에 대해 판단할 수 있고, 또한 해당 움직임 영상에 대한 데이터만을 메모리에 정확하게 저장시킬 수 있다. 그에 따라, 메모리의 사용량을 현저하게 줄일 수 있고, 또한 필요한 데이터들에 대한 매우 빠른 검색을 가능케 한다.
도 3은 도 2의 움직임 검출장치의 맵 생성부를 통해 이진 맵이 생성되는 원리를 보여주는 원리도이다.
도 3을 참조하면, 맵 생성부(140)는 현재 프레임을 이전 프레임 및 백그라운드 프레임과 비교하여 각 픽셀에 대한 휘도 차이값을 구한다. 구한 휘도 차이값을 임계값과 비교하여 이진 맵을 위한 맵핑 값으로 0 또는 255를 할당한다. 여기서, 휘도 차이값은 절대값으로 구해진다. 위의 내용을 수식으로 표현하면 식(1)로 표현된다.
Diff_Map(x, y) = 255, if |Diff(x, y)|≥Threshold,
= 0, otherwise...................................식(1)
Where, Diff(x, y) = {Previous_Luma(x, y) - Current_Luma(x, y)} Or
{Backgroudn_Luma(x, y) - Current_Luma(x, y)}
여기서, x, y는 프레임 내의 픽셀의 좌표값이고, Diff(x, y)는 해당 픽셀에서의 현재 프레임과 이전 프레임의 휘도 차이값 또는 현재 프레임과 백그라운드 프레임의 휘도 차이값으로서, Or는 둘 중에 어느 하나라도 임계값보다 크면 그 값이 선택된다는 의미이다. 따라서, 두 휘도 차이값들 중 어느 하나가 임계값보다 크면 식(2)에 대입되어 255가 부여되게 되고, 두 휘도 차이값 모두가 임계값보다 작은 경우에 0이 부여되게 된다. 한편, Diff_Map(x, y)는 해당 픽셀에 대한 매핑값을 의미하고, 전술한 바와 같이 255나 0 둘 중 하나가 된다.
한편, 백그라운드(background) 영상 또는 프레임이란, 이전의 프레임들을 일정한 비율에 의해 업데이트한 가상의 영상으로, 이전 프레임까지의 히스토리 정보를 담고 있게 된다. 수식으로 식(3)로 표현될 수 있다.
Background_Luma(x, y) = W*preBackground_Luma(x, y) + (1-W)*Current_Luma(x, y)..........................................식(2)
Where, W∈[0, 1]
여기서, W∈[0, 1]는 W가 0에서 1 사이의 임의의 수가 될 수 있다는 의미이다.
이러한, 백그라운드 영상은 이진 맵을 형성하는 데에 있어서, 보충적인 역할을 수행하게 되는데, 그러한 예가 도 3에 도시되고 있다. t+3 시간대를 살펴보면, 이전 프레임과 현재 프레임을 비교했을 때, 그 정도가 매우 미세하여, 움직임을 검출하지 못 하는 경우가 발생한다. 그러나 과거의 정보에 현재의 영상을 조금씩 업데이트 해 가는 백그라운드 영상을 이용하면, 그 움직임이 검출될 수 있다. 즉, 도면상 이전 프레임과 현재 프레임과의 비교를 통해서는 Diff_Map이 0으로 나타날 수 있지만, 백그라운드 프레임과의 비교를 통해서는 Diff_Map이 255으로 나타남을 확인할 수 있다.
도 4a 및 4b는 원본 영상 및 맵 생성부에서 생성된 이진 맵에 따른 영상을 보여주는 사진들이다.
도 4a가 원본 영상이고, 그 원본 영상 속에 사람만이 움직이고 있다면, 앞서 맵 생성부를 통해 생성된 이진 맵은 흑백 영상으로 나타나며, 움직이는 대상 즉, 사람만이 흰색으로 도출된다. 한편, 화면 전체에 나타나는 흰점들은 노이즈로 간주할 수 있다.
도 5a 및 5b는 도 2의 움직임 검출장치의 맵 생성부에서 생성된 이진 맵 및 모폴로지부를 통해 블럭 단위의 노이즈가 제거된 후의 2차 이진 맵에 대한 도면들이다.
도 5a는 맵 생성부(140)를 통해 생성된 이진 맵에 대한 하나의 예시이다. 도 4b를 통해 알 수 있듯이 맵 생성부(140)를 통해 생성된 이진 맵에는 노이즈가 포함될 수 있다. 따라서, 그러한 노이즈를 제거하는 것이 필요하다. 모폴로지부(160)에서의 모폴로지 과정은 필터링 작업을 통해서 그러한 노이즈를 제거하고 의미 있는 정보만을 추출하는 과정이다.
일반적으로 의미가 있는 물체는 이산 분포되어 있는 노이즈와는 달리 소정 넓이를 가진 형태로 존재할 것이기 때문에 모폴로지 단계를 거친 정보는 노이즈가 제거된 정보만을 포함하게 된다. 본 실시예에서의 모폴로지는 4×4 픽셀 블럭 단위로 라스터-스캔(raster-scan) 순서로 진행하며, 블록 내의 모든 값이 255인 경우에만 255로 결정되고 어느 하나라도 0이 포함된 경우에는 0으로 결정된다.
도 5a의 이진 맵에 대하여 4×4 픽셀 블럭 단위 모폴로지 과정을 통해 생성된 2차 이진 맵이 도 5b이다. 본 실시예에서 4×4 픽셀 블럭 단위로 모폴로지 과정을 수행하였지만, 픽셀 블럭이 그에 한정되는 것이 아니다. 3×3, 5×5, 6×6 등 다양한 픽셀 블럭 단위로 모폴로지를 수행할 수 있다. 따라서, 해당 영상의 노이즈 양이나 프레임의 크기, 연산 처리량 등을 전반적으로 고려하여 모폴로지를 위한 픽셀 블럭을 설정하는 것이 바람직하다.
도 6은 모폴로지부에서 생성된 2차 이진 맵에 따른 영상을 보여주는 사진이다.
도 6을 참조하면, 모폴로지부(160)를 통해 블럭 단위로 노이즈가 제거된 후의 2차 이진 맵에 따른 영상을 보여주고 있는데, 도 4b는 달리 영상 전체에 존재하던 흰점들, 즉 노이즈들이 제거되었음을 확인할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 움직임 검출방법을 보여주는 흐름도로서, 이해의 편의를 위해 도 2를 참조하여 설명한다.
도 7을 참조하면, 본 실시예의 움직임 검출방법은 먼저 임계값 설정부(120)에서 적어도 하나의 파라미터를 기초로 하여 움직임 검출을 위한 임계값(threshold)을 설정한다(S100). 여기서, 파라미터는 전술한 바와 같이 카메라의 성능, 영상의 휘도, 사용자의 성향 등이 될 수 있겠다.
다음 맵 생성부(140)에서 현재 프레임의 영상을 이전 프레임 영상 또는 백그라운드 프레임과 비교하여 구한 휘도 차이값을 임계값과 비교하여 비교결과에 따라 이진(binary) 맵을 생성한다(S200). 식(1)에서와 같이 휘도 차이값은 각 픽셀에 대하여 구해지고, 이러한 휘도 차이값이 임계값과 비교되어 비교 결과에 따라 해당 픽셀이 0 또는 255의 휘도값으로 매핑된다.
이진 맵 생성 후, 모폴로지부(160)에서 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거한다(S300). 예컨대, 4×4 픽셀 블럭 단위로 모폴로지를 수행하여 노이즈를 제거한다.
블럭 단위 노이즈 제거 후에, 저장 정책 결정부(180)에서, 움직임이 검출된 영상에 대하여, 프레임 단위로 노이즈를 제거하여, 검출된 영상에 대한 프레임 단위의 저장의 연속성을 부여한다. 저장의 연속성을 부여한다는 의미는 중간에 특성이 다른 한두 개의 영상이 검출되는 경우는 노이즈로서 무시하고, 움직임이 있는 영상들을 계속 저장하거나 움직임이 없는 영상들을 계속 저장하지 않는다는 의미이다.
도 8은 도 7의 움직임 검출방법에서, 임계값 설정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 8을 참조하면, 임계값 설정단계(S100)는 먼저, 카메라 성능에 따라 초기 임계값을 설정한다(S120). 초기 임계값 설정 후, 영상의 휘도에 따른 임계값을 설정한다(S140). 영상의 휘도에 따른 임계값 설정은 앞서 카메라 성능에 따라 결정된 초기 임계값을 영상의 휘도 평균값을 이용하여 낮추거나 높이는 방법 등을 통해 이루어지게 된다.
영상의 휘도에 따른 임계값 설정 후, 사용자의 성향에 따라 임계값을 설정한다(S160). 사용자 성향에 따른 임계값은 사용자 성향에 따라, 3가지 유형으로 나누어 영상의 휘도에 따라 결정된 임계값을 낮추거나 높이는 방법 등을 통해 이루어지게 된다.
도 9는 도 8의 임계값 설정 단계에서, 카메라 성능에 따른 초기 임계값 설정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 9를 참조하면, 카메라 성능에 따른 초기 임계값 설정 단계(120)는 크게 움직임이 없는 임의의 연속되는 두 장의 프레임을 이용하여, 대응 픽셀 간의 휘도 차이값에 대한 히스토그램(histogram)을 구하는 단계(120a)와 히스토그램의 소정 범위를 커버하는 휘도 차이값을 초기 임계값으로 설정하는 단계(120b)로 이루어질 수 있다.
히스토그램을 구하는 단계(120a)는 먼저, 픽셀 넘버 i를 초기화한다(S121a). 여기서, 픽셀 넘버 i는 0부터 프레임의 최대 픽셀 넘버, 즉 프레임의 이미지 사이즈(imageSize)까지 될 수 있다. 초기화에서 픽셀 넘버 i는 0으로 초기화된다.
다음, 이전 프레임의 i 픽셀 휘도값에서 현재 프레임의 i 픽셀 휘도값을 감산하여 휘도 차이값을 구한다(S122a). 그 후, 휘도 차이값이 0보다 큰지 판단하고(S123a), 0보다 큰 경우에는 그 휘도 차이값에 해당하는 x 좌표값에 대한 카운트값, 즉 y 좌표값을 1 증가시킨다(S125a). 만약 0보다 작거나 같은 경우는 절대값을 취하고(S124a), 다시 y 좌표값을 증가시키는 단계(S125a)로 진행한다.
다음, 픽셀 넘버 i가 프레임의 최대 픽셀 넘버, 즉 이미지 사이즈와 같거나 큰지 판단하고(S126a), 만약 작은 경우에는 픽셀 넘버 i를 1 증가시키고(S127a), 휘도 차이값을 구하는 단계(S122a)로 진행하고, 크거나 같은 경우는 초기 임계값으로 설정하는 단계(S120b)로 진행한다.
이러한 과정을 통해서, 프레임 전체의 모든 픽셀에 대하여 현재 프레임과 이전 프레임 간의 휘도 차이값을 구하게 되며, 또한 각 휘도 차이값들에 대응하는 카운트값이 구해지게 된다. 예컨대, 휘도 차이값이 0인 픽셀이 2개, 휘도 차이값이 2인 픽셀이 3개 등으로 카운트값이 구해진다. 휘도 차이값을 x 좌표값으로 그리고 카운트값을 y 좌표값으로 하게 되면, 도 10a와 같은 히스토그램이 그려지게 된다.
초기 임계값으로 설정하는 단계(120b)는 먼저, 히스토그램 상의 x 좌표값인 i 및 카운터값(y 좌표값)들의 순차적인 합인 iSum을 초기화한다(S121b). 초기화 과정에서 i 및 iSum을 0으로 초기화한다.
다음, iSum에 i에 대응하는 카운터값을 더한 후, iSum에 100을 곱한 값을 최대 픽셀 넘버, 즉 이미지 사이즈로 나누어 % 비율을 구한다(S122b).
구해진 % 비율이 미리 설정된 소정의 커버리지(coverage)값 보다 작은지 판단한다(S123b). 비율이 커버리지 값보다 크거나 같은 경우는 해당 i을 리턴하여 i을 초기 임계값으로 설정한다(S124b). 여기서, i값은 히스토그램 상의 x 좌표값으로 휘도 차이값을 나타낸다.
만약, 비율이 커버리지 값보다 작은 경우는 i가 이미지 사이즈보다 크거나 같은지 판단하고(S125b), 만약 이미지 사이즈보다 작은 경우는 i을 1 증가시키고 비율을 구하는 단계(S122b)로 진행하고, 만약 이미지 사이즈와 동일하거나 큰 경우는 에러값을 리턴한다(S126b). 여기서, 에러값을 리턴한다는 의미는 초기 임계값 설정이 실패했다는 것을 의미한다.
여기서, 커버리지 값은 0 ~ 100% 사이의 임의의 값으로 설정될 수 있는데, 여기서는 예컨대 95%로 설정된 경우를 가정하고 생각해 보면, 만약 카메라의 성능이 좋지 않아 영상의 노이즈가 많은 경우에는 앞서 구한 히스토그램 그래프는 완만한 형태의 그래프를 나타낼 것이고 커버리지 값은 높은 휘도 차이값에 대응되는 부분에 위치하게 될 것이다. 그에 따라, 결정되는 초기 임계값은 높은 값으로 설정되게 된다. 한편, 카메라의 성능이 좋아 영상의 노이즈가 적은 경우에는 히스토그램 그래프는 왼쪽으로 치우치는 그래프를 형성하게 될 것이고 커버리지 값은 낮은 휘도 차이값에 대응되는 부분에 위치하게 될 것이다. 그에 따라. 결정되는 초기 임계값은 낮은 값으로 설정되게 된다.
결국, 본 실시예에서는 카메라의 성능에 따라 노이즈가 많은 경우는 초기 임계값이 높게, 노이즈가 적은 경우에는 초기 임계값이 낮게 설정되는 식으로, 초기 임계값이 자동으로 설정되게 된다.
도 10a 및 10b는 도 9에 따른 히스토그램 및 히스토그램 상에서 초기 임계값을 설정하는 원리를 보여주는 그래프들이다.
도 10a는 히스토그램을 구하는 단계(120a)를 통해 그려진 히스토그램 그래프를 보여주고 있으며, 도 10b는 임의의 커버리지 값이 설정된 경우에, 초기 임계값으로 설정 단계(120b)를 통해 커버리지 값에 대응되는 위치의 휘도 차이값이 초기 임계값(Thi)으로 설정되는 모습을 보여준다.
도 11은 도 8의 임계값 설정 단계에서, 영상의 휘도 및 사용자의 성향에 따른 임계값 설정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 11을 참조하면, 영상의 휘도에 따른 임계값 설정 단계(S140)는 두 단계로 이루어지는데, 먼저 영상의 휘도 평균값을 32로 나누어 8개의 구간 값(1 ~ 8) 중 어느 하나로 산출하고, 3에서 해당 구간 값을 빼서 휘도 보정값을 구한다(S142). 다음, 카메라의 성능에 따라 구한 초기 임계값에 휘도 보정값을 더하여 영상의 휘도에 따른 임계값을 구한다(S144). 예컨대, 영상의 휘도가 평균적으로 높은 경우에 휘도 보정값은 마이너스 값으로 나올 것이고 그에 따라 휘도에 따른 임계값은 낮아질 것이다. 반대로 영상의 휘도가 평균적으로 낮은 경우에는 휘도 보정값이 플러스 값으로 나오고 그에 따라 휘도에 따른 임계값은 높아질 것이다.
결국, 앞서에서 밝은 영상의 경우에 임계값을 낮게 설정하고, 어두운 영상의 경우에 임계값을 높게 설정하는 원리가 적용되고 있음을 알 수 있다.
사용자의 성향에 따른 임계값 설정단계(S160)는 앞서, 영상의 휘도에 따른 임계값 설정 후에 이루어지게 되는데, 먼저 사용자의 성향이 움직임에 대한 민감도가 낮은가를 판단한다(S161). 민감도가 낮은 경우에 앞서 영상의 휘도에 따른 임계값에 제1 비율을 곱하여 임계값을 낮춘다(S163). 여기서 제1 비율은 1 보다 작고 0보다 큰 임의의 수일 수 있다.
다음, 새로이 설정된 임계값이 최소 임계값보다 작은지 판단한다(S165). 최소 임계값보다 낮은 경우에는 임계값을 최소 임계값으로 재설정하고(S166), 최소 임계값보다 크거나 같은 경우에는 최종 임계값으로 확정한다(S167). 이와 같이 최소 임계값과 비교하는 단계를 두는 이유는 사용자의 성향에 따라 임계값을 계속 낮추다 보면 임계값이 제대로 기능을 하지 못하는 되는 경우가 발생하기 때문에 그러한 문제를 미리 방지하기 위함이다.
사용자의 성향이 움직임에 대한 민감도가 낮지 않은 경우에는 다시 사용자의 성향이 움직임에 대한 민감도가 높은지 판단한다(S162). 민감도가 높은 경우에 앞서 영상의 휘도에 따른 임계값에 제2 비율을 곱하여 임계값을 높인다(S164). 여기서 제2 비율은 1 보다 크고 2보다 작은 임의의 수일 수 있다. 이후, 새로이 설정된 임계값을 최종 임계값으로 확정한다(S167).
만약, 사용자의 성향이 움직임에 대한 민감도가 높지 않은 경우에는 영상의 휘도에 따른 임계값을 그대로 최종 임계값으로 확정한다(S167).
본 실시예에서는 사용자의 움직임에 대한 민감도에 따라 3가지 유형으로 분류하고, 그러한 분류에 따라 휘도에 따라 설정된 임계값을 조절함으로써, 사용자의 성향을 임계값에 반영한다.
도 12는 도 7의 움직임 검출방법에서, 프레임 단위의 저장 연속성을 부여하는 단계를 좀더 상세하게 보여주는 흐름도이다.
저장 정책 결정부(180)를 통한 프레임 단위의 저장 연속성을 부여하기 위한 기본적인 원리는 다음과 같다. 먼저, 인덱스가 0부터 15까지의 값을 갖는 움직임 풀(pool)을 가정한다. 최초에 인덱스는 0부터 시작한다. 각 프레임을 순차적으로 검색하면서, 움직임이 검출되면 인덱스를 1씩 증가시키고, 움직임이 검출되지 않으면 인덱스를 1씩 감소시킨다. 인덱스가 2보다 크면, 즉 3 이상이 되면 해당 프레임을 메모리에 저장한다. 한편, 인덱스가 3으로 증가하는 시점에서는 추가로 5를 더 증가시키고, 3에서 2로 감소는 시점에서는 추가로 2를 더 감소시킨다.
이러한 원리를 흐름도로서 구현한 것이 도 12이다.
도 12를 참조하면, 먼저 프레임 번호 i 및 움직임 풀값을 0으로 초기화한다(S405). 예컨대, 영상의 프레임은 0번부터 시작한다. 다음, i번째 프레임에 움직임이 있는가 판단한다(S410). 움직임이 있는 경우에 움직임 풀값이 15보다 작은지 판단한다(S430). 움직임 풀값이 15보다 작은 경우에는 1을 증가시키고(S450), 증가된 움직임 풀값이 3과 같은지 판단한다(S470). 3과 같은 경우에는 움직임 풀값을 5 더 증가시킨다(S490).
움직임 풀값을 5 더 증가시킨 후에 움직임 풀값이 2보다 큰지 판단하여, 2보다 큰 경우에는 1을 리턴하고, 작거나 같은 경우에는 0을 리턴한다(S485). 여기서 1을 리턴하는 경우는 해당 프레임을 메모리에 저장하는 것을 의미하고 0을 리턴하는 경우는 해당 프레임을 메모리에 저장하지 않는 것을 의미한다.
한편, 움직임 풀값이 15보다 크거나 같은 경우와 움직임 풀값이 3과 다른 경우에도 1 또는 0을 리턴하는 단계(S485)로 진행한다.
i번째 프레임에 움직임이 없는 것으로 판단된 경우에는 움직임 풀값이 0보다 큰지 판단한다(S420). 움직임 풀값이 0보다 큰 경우에는 움직임 풀값을 1 감소시킨다(S440). 다음, 움직임 풀값이 2와 같은지 판단하고(S460), 2와 같은 경우에는 움직임 풀값을 2 더 감소시킨다(S480).
움직임 풀값을 2 더 감소시킨 후에, 1 또는 0을 리턴하는 단계(S485)로 진행한다. 한편, 움직임 풀값이 0보다 작거나 같은 경우와 움직임 풀값이 2가 아닌 경우에도 1 또는 0을 리턴하는 단계(S485)로 진행한다.
1 또는 0을 리턴하는 단계(S485) 후에 움직임 검출을 종료할 것인가 판단한다(S495), 만약 계속 움직임 검출을 수행하는 경우에 i 값을 1 증가시키고(S497), 움직임 검출단계(S410)로 진행하며, 더 이상 움직임 검출을 수행하지 않는 경우에는 프레임 단위의 저장 연속성을 부여하는 단계를 종료한다.
위와 같은 프레임 단위의 저장 연속성을 부여하는 과정의 구체적인 예를 [표 1]을 참조하여 설명하면 다음과 같다.
[표 1]
Motion : 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1
Index : 0 1 0 1 2 3 7 6 7 8 7 6 5 4 3 2 1 0 1 2
Index_f: 0 1 0 1 2 8 7 6 7 8 7 6 5 4 3 0 1 0 1 2
Write : 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
여기서, Motion 부분은 각 프레임에 움직임이 있는지를 나타내는 부분으로, 0인 경우에는 움직임이 없는 프레임을 나타내고, 1인 부분은 움직임이 있는 프레임을 나타낸다. Index 부분은 움직임 풀에서 1 증가 또는 감소를 통해 얻어지는 움직임 풀값이고, Index_f부분은 앞서, 증가할 때 추가로 5 더 증가되거나(왼쪽 짙은 활자 부분) 감소할 때 추가로 2 더 감소되는(오른쪽 짙은 활자 부분) 값이 반영된 최종적인 움직임 풀값이다. 한편, Write 부분은 Index_f에 기초하여 해당 프레임을 저장하거나 저장하지 않은 것을 표시하는데, 1인 경우에 저장하는 것을 의미하며, 0인 경우에 저장하는 않는 것을 의미한다. 저장에 대한 판단은 Index_f가 2보다 큰가에 의해 결정된다.
표를 통해 알 수 있듯이, 앞서와 같은 원리를 적용하게 되면, 저장을 하게 되면 계속 저장하게 되고, 저장하지 않으면 계속 저장하지 않게 되어 프레임 단위의 저장 연속성을 부여할 수 있음을 알 수 있다. 즉, 증가하는 과정에서 Index가 3이 되는 경우에는 추가로 5가 더해져서 Index_f가 8이 되므로 사이에 움직임이 검출되지 않은 프레임이 한두 개 있다 하더라도 2 이하로 바로 감소하지 않고, 그 반대의 경우도 마찬가지이다.
지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 움직임 검출장치 120: 임계값 설정부
140: 맵 생성부 160: 모폴로지부
180: 저장 정책 결정부 200: 카메라
300: 비디오 인코더 400: 움직임 판단부
500: 메모리

Claims (27)

  1. 적어도 하나의 파라미터를 기초로 하여 움직임 검출을 위한 임계값(threshold)을 설정하는 임계값 설정부;
    현재 프레임의 영상을 이전 프레임 영상과 비교하여 구한 휘도 차이값을 상기 임계값과 비교하여 비교결과에 따라 이진(binary) 맵을 생성하는 맵 생성부;
    상기 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거하는 모폴로지(morphology)부; 및
    노이즈가 제거된 상기 이진 맵에 서로 다른 픽셀 휘도값들이 포함되었는지에 따라 프레임들 각각의 영상에 대한 움직임을 검출하고, 움직임이 검출된 프레임들에 대하여 프레임 단위로 노이즈를 판단하여, 프레임들을 연속적으로 저장하거나 연속적으로 저장하지 않음으로써, 프레임 단위의 저장의 연속성을 부여하는 저장 정책 결정부;를 포함하고,
    상기 임계값 설정부는,
    상기 파라미터로 카메라의 성능, 영상의 휘도, 및 사용자의 성향을 이용하며,
    상기 카메라의 성능의 경우, 상기 카메라에 의한 보정 후 영상에 포함된 노이즈의 양에 따라 상기 임계값을 설정하고,
    상기 영상의 휘도의 경우, 상기 영상이 밝은 영상인가 어두운 영상인가에 따라 상기 임계값을 설정하며,
    상기 사용자의 성향의 경우, 상기 사용자가 움직임 정도에 민감한가에 따라 상기 임계값을 설정하는 것을 특징으로 하는 움직임 검출 장치.
  2. 제1 항에 있어서,
    상기 저장 정책 결정부는
    0에서 15까지의 인덱스를 갖는 움직임 풀(pool)을 설정하고,
    움직임이 검출되면 인덱스를 1씩 증가시키고, 검출되지 않으면 1씩 감소시키며, 인덱스가 2에서 3으로 증가할 때 추가로 5를 더 증가시키고, 3에서 2로 감소할 때 추가로 2를 더 감소시키며,
    상기 인덱스가 3 이상인 경우에 해당 프레임에 대한 메모리로의 저장을 결정하는 것을 특징으로 하는 움직임 검출 장치.
  3. 삭제
  4. 제1 항에 있어서,
    상기 임계값 설정부는,
    상기 카메라의 성능에 따라, 움직임이 없는 임의의 연속되는 두 장의 프레임을 이용하여, 대응 픽셀 간의 휘도 차이값에 대한 히스토그램(histogram)을 구하고, 상기 히스토그램의 소정 범위를 커버하는 휘도 차이값을 초기 임계값으로 설정하며,
    상기 초기 임계값을 기본으로 하여, 상기 영상의 휘도 및 사용자의 성향에 따라 상기 초기 임계값을 소정 비율로 낮추거나 올려서 상기 임계값을 조정하는 것을 특징으로 하는 움직임 검출 장치.
  5. 제1 항에 있어서,
    상기 맵 생성부는
    상기 현재 프레임 영상을 상기 이전 프레임 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제1 휘도 차이값을 구하고,
    각 픽셀에 대하여 상기 제1 휘도 차이값을 상기 임계값과 비교하여, 상기 임계값보다 작은 경우에 해당 픽셀에 최소 휘도값을 할당하고, 상기 임계값보다 크거나 같은 경우에 해당 픽셀에 최대 휘도값을 할당하는 것을 특징으로 하는 움직임 검출 장치.
  6. 제1 항에 있어서,
    상기 맵 생성부는,
    상기 현재 프레임 영상을 백그라운드 영상과도 비교하며,
    상기 현재 프레임 영상을 상기 이전 프레임 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제1 휘도 차이값을 구하고, 상기 현재 프레임 영상을 상기 백그라운드 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제2 휘도 차이값을 구하며,
    각 픽셀에 대하여 상기 제1 휘도 차이값과 제2 휘도 차이값을 상기 임계값과 비교하여, 둘 모두가 상기 임계값보다 작은 경우에 해당 픽셀에 최소 휘도값을 할당하고, 나머지 경우에는 해당 픽셀에 최대 휘도값을 할당하는 것을 특징으로 하는 움직임 검출 장치.
  7. 제6 항에 있어서,
    상기 백그라운드 영상은,
    이전 백그라운드 영상에 제1 웨이트(weight)를 곱한 값과 현재 프레임 영상에 제2 웨이트를 곱한 값을 합산한 영상이고,
    상기 제1 웨이트와 제2 웨이트의 합은 1인 것을 특징으로 하는 움직임 검출 장치.
  8. 제1 항에 있어서,
    상기 이진 맵은 최소 휘도값 또는 최대 휘도값으로 구성되며,
    상기 모폴로지부는,
    상기 이진 맵에 대하여 4×4 픽셀 블록 단위로 라스터-스캔(raster-scan) 순서로 진행하면서 상기 필터링을 수행하되,
    상기 필터링은 상기 4×4 픽셀 블록 내에 모든 값이 최대 휘도값일 때, 상기 픽셀 블록에 상기 최대 휘도값을 할당하고, 적어도 하나의 픽셀이 최소 휘도값일 때, 상기 픽셀 블록에 상기 최소 휘도값을 할당하는 것을 특징으로 하는 움직임 검출 장치.
  9. 삭제
  10. 대상객체를 촬영하여 프레임 단위의 영상(image)을 획득하는 카메라(camera);
    상기 카메라로부터 획득한 프레임들의 영상을 인코딩하는 비디오 인코더(encoder);
    상기 프레임들의 영상에 대한 움직임을 검출하는 움직임 검출 장치;
    상기 움직임 검출장치로부터의 움직임 정보에 따라, 상기 비디오 인코더에서 인코딩된 상기 프레임들의 영상에 대한 데이터를 메모리에 저장할 것인지 판단하는 판단부; 및
    상기 판단부의 판단 결과에 따라, 인코딩된 상기 프레임들의 영상에 대한 상기 데이터를 저장하는 메모리;를 포함하고,
    상기 움직임 검출장치는,
    적어도 하나의 파라미터를 기초로 하여 움직임 검출을 위한 임계값(threshold)을 설정하는 임계값 설정부;
    현재 프레임의 영상을 이전 프레임의 영상과 비교하여 구한 휘도 차이값을 상기 임계값과 비교하여 비교결과에 따라 이진(binary) 맵을 생성하는 맵 생성부;
    상기 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거하는 모폴로지(morphology)부; 및
    노이즈가 제거된 상기 이진 맵에 서로 다른 픽셀 휘도값들이 포함되었는지에 따라 프레임들 각각의 영상에 대한 움직임을 검출하고, 움직임이 검출된 프레임들에 대하여 프레임 단위로 노이즈를 판단하여, 프레임들을 연속적으로 저장하거나 연속적으로 저장하지 않음으로써, 프레임 단위의 저장의 연속성을 부여하는 저장 정책 결정부;를 포함하는 것을 특징으로 하는 영상처리 장치.
  11. 제10 항에 있어서,
    상기 저장 정책 결정부는
    0에서 15까지의 인덱스를 갖는 움직임 풀(pool)을 설정하고,
    움직임이 검출되면 인덱스를 1씩 증가시키고, 검출되지 않으면 1씩 감소시키며, 인덱스가 2에서 3으로 증가할 때 추가로 5를 더 증가시키고, 3에서 2로 감소할 때 추가로 2를 더 감소시키며,
    상기 인덱스가 3 이상인 경우에 해당 프레임에 대한 메모리로의 저장을 결정하는 것을 특징으로 하는 영상처리 장치.
  12. 제10 항에 있어서,
    상기 임계값 설정부는,
    상기 파라미터로 카메라의 성능, 영상의 휘도, 및 사용자의 성향을 이용하고,
    상기 카메라 성능에 따라, 움직임이 없는 임의의 연속되는 두 장의 프레임을 이용하여, 대응 픽셀 간의 휘도 차이값에 대한 히스토그램(histogram)을 구하며, 상기 히스토그램의 소정 범위를 커버하는 휘도 차이값을 초기 임계값으로 설정하며,
    상기 초기 임계값을 기본으로 하여, 상기 영상의 휘도 및 사용자의 성향에 따라 상기 초기 임계값을 소정 비율로 낮추거나 올려서 상기 임계값을 조정하는 것을 특징으로 하는 영상처리 장치.
  13. 제10 항에 있어서,
    상기 맵 생성부는
    상기 현재 프레임 영상을 백그라운드 영상과도 비교하며,
    상기 현재 프레임 영상을 상기 이전 프레임 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제1 휘도 차이값을 구하고, 상기 현재 프레임 영상을 상기 백그라운드 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제2 휘도 차이값을 구하며,
    각 픽셀에 대하여 상기 제1 휘도 차이값과 제2 휘도 차이값을 상기 임계값과 비교하여, 둘 모두가 상기 임계값보다 작은 경우에 해당 픽셀에 최소 휘도값을 할당하고, 나머지 경우에는 해당 픽셀에 최대 휘도값을 할당하는 것을 특징으로 하는 영상처리 장치.
  14. 제10 항에 있어서,
    상기 이진 맵은 최소 휘도값 또는 최대 휘도값으로 구성되며,
    상기 모폴로지부는,
    상기 이진 맵에 대하여 4×4 픽셀 블록 단위로 라스터-스캔(raster-scan) 순서로 진행하면서 상기 필터링을 수행하되,
    상기 필터링은 상기 4×4 픽셀 블록 내에 모든 값이 최대 휘도값일 때, 상기 픽셀 블록에 상기 최대 휘도값을 할당하고, 적어도 하나의 픽셀이 최소 휘도값일 때, 상기 픽셀 블록에 상기 최소 휘도값을 할당하는 것을 특징으로 하는 영상처리 장치.
  15. 제10 항에 있어서,
    상기 움직임 검출장치의 움직임 정보는 상기 비디오 인코더로 전달되며,
    상기 비디오 인코더는 상기 움직임 정보에 따라 움직임이 검출된 프레임부터 인코딩을 수행하는 것을 특징으로 하는 영상처리 장치.
  16. 제10 항에 있어서,
    상기 영상처리 장치는 감시 카메라, 차량용 블랙 박스, 카메라를 구비한 단말기, 및 캠코더 중 어느 하나인 것을 특징으로 하는 영상처리 장치.
  17. 임계값 설정부에서 적어도 하나의 파라미터를 기초로 하여 움직임 검출을 위한 임계값(threshold)을 설정하는 단계;
    맵 생성부에서 현재 프레임의 영상을 이전 프레임 영상과 비교하여 구한 휘도 차이값을 상기 임계값과 비교하여 비교결과에 따라 이진(binary) 맵을 생성하는 단계;
    모폴로지부에서 상기 이진 맵에 대하여 소정 블럭 단위로 필터링을 수행하여 노이즈를 제거하는 단계; 및
    저장 정책 결정부에서, 노이즈가 제거된 상기 이진 맵에 서로 다른 픽셀 휘도값들이 포함되었는지에 따라 프레임들 각각의 영상에 대한 움직임을 검출하고, 움직임이 검출된 프레임들에 대하여 프레임 단위로 노이즈를 판단하여, 프레임들을 연속적으로 저장하거나 연속적으로 저장하지 않음으로써, 프레임 단위의 저장의 연속성을 부여하는 단계;를 포함하고,
    상기 파라미터로 카메라의 성능, 영상의 휘도, 및 사용자의 성향을 이용하며,
    상기 임계값을 설정하는 단계에서는,
    상기 카메라의 성능, 영상의 휘도, 및 사용자의 성향을 순차적으로 반영하여 상기 임계값을 설정하는 것을 특징으로 하는 움직임 검출 방법.
  18. 제17 항에 있어서,
    상기 연속성을 부여하는 단계에서는
    0에서 15까지의 인덱스를 갖는 움직임 풀(pool)을 설정하고,
    움직임이 검출되면 인덱스를 1씩 증가시키고, 검출되지 않으면 1씩 감소시키며, 인덱스가 2에서 3으로 증가할 때 추가로 5를 더 증가시키고, 3에서 2로 감소할 때 추가로 2를 더 감소시키며,
    상기 인덱스가 3 이상인 경우에 해당 프레임에 대한 메모리로의 저장을 결정하는 것을 특징으로 하는 움직임 검출 방법.
  19. 삭제
  20. 제17 항에 있어서,
    상기 카메라의 성능에 따른 상기 임계값의 설정은,
    움직임이 없는 임의의 연속되는 두 장의 프레임을 이용하여, 대응 픽셀 간의 휘도 차이값에 대한 히스토그램(histogram)을 구하는 단계; 및
    상기 히스토그램의 소정 범위를 커버하는 휘도 차이값을 초기 임계값으로 설정하는 단계;를 포함하는 것을 특징으로 하는 움직임 검출 방법.
  21. 제20 항에 있어서,
    상기 히스토그램을 구하는 단계는,
    프레임의 픽셀 넘버 i를 초기화하는 단계;
    이전 프레임과 현재 프레임의 제i 번째 픽셀 간의 상기 휘도 차이값을 구하는 단계;
    상기 휘도 차이값이 0보다 크거나 같은지 판단하는 단계;
    상기 휘도 차이값이 0보다 크거나 같은 경우, 상기 휘도 차이값에 해당하는 x 좌표값의 카운트값(y 좌표값)을 1 증가시키는 단계; 및
    상기 제i 번째 픽셀이 프레임의 최후 픽셀에 해당하는지 판단하는 단계;를 포함하는 것을 특징으로 하는 움직임 검출 방법.
  22. 제21 항에 있어서,
    상기 휘도 차이값이 0보다 작은 경우 절대값을 취하고 상기 카운트값을 1 증가시키는 단계로 진행하며,
    상기 제i 번째 픽셀이 상기 최후 픽셀이 아닌 경우에는 상기 i를 1 증가시키고 상기 휘도 차이값을 구하는 단계로 진행하고, 상기 최후 픽셀인 경우에는 상기 초기 임계값으로 설정하는 단계로 진행하는 것을 특징으로 하는 움직임 검출 방법.
  23. 제20 항에 있어서,
    상기 히스토그램에서, x 좌표값은 상기 휘도 차이값의 절대치인 j이고, y 좌표값은 상기 j에 대응되는 픽셀의 개수이며,
    상기 초기 임계값으로 설정하는 단계는,
    상기 j 및 상기 y 좌표값의 합인 jSum를 초기화하는 단계;
    상기 j에 대응하는 y 좌표값을 상기 jSum에 합하는 단계;
    상기 jSum에 100을 곱하고 프레임의 최후 픽셀의 픽셀 넘버(또는 프레임 내의 픽셀의 개수에서 1을 뺀 값)로 나누어 비율을 구하는 단계;
    상기 비율이 설정된 소정 커버리지(coverage) 값보다 작은지 판단하는 단계;
    상기 j가 상기 최후 픽셀의 픽셀 넘버에 해당하는지 판단하는 단계;를 포함하는 것을 특징으로 하는 움직임 검출 방법.
  24. 제23 항에 있어서,
    상기 비율이 상기 커버리지 값보다 크거나 같은 경우에, 상기 j를 상기 초기 임계값으로 설정하며,
    상기 j가 상기 최후 픽셀의 픽셀 넘버가 아닌 경우에는 상기 j를 1 증가시키고 상기 jSum에 합하는 단계로 진행하고, 상기 j가 상기 최후 픽셀의 픽셀 넘버인 경우는 초기 임계값 설정에 대한 에러로 판단하는 것을 특징으로 하는 움직임 검출 방법.
  25. 제17 항에 있어서,
    상기 영상의 휘도에 따른 상기 임계값 설정은,
    상기 영상의 휘도 평균값을 8 구간으로 나누어 1 내지 8까지의 정수들 중 어느 하나를 구간 값으로 할당하고, 3에서 해당 구간 값을 뺀 값을 상기 카메라의 성능에 따른 임계값에 더하여 설정하고,
    상기 사용자의 성향에 따른 상기 임계값 설정은,
    상기 영상의 휘도에 따른 임계값에 제1 비율을 곱하여 상기 임계값을 낮추는 방법, 상기 영상의 휘도에 따른 임계값에 제2 비율을 곱하여 상기 임계값을 높이는 방법, 및 상기 영상의 휘도에 따른 임계값을 그대로 설정하는 방법 중 어느 하나의 방법으로 설정하되, 상기 임계값이 설정된 최소 임계값보다 낮은 경우에는 상기 최소 임계값으로 설정하는 것을 특징으로 하는 움직임 검출방법.
  26. 제17 항에 있어서,
    상기 맵을 생성하는 단계에서는,
    상기 현재 프레임 영상을 백그라운드 영상과도 비교하며,
    상기 맵을 생성하는 단계는,
    상기 현재 프레임 영상을 상기 이전 프레임 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제1 휘도 차이값을 구하고, 상기 현재 프레임 영상을 상기 백그라운드 영상과 픽셀 단위로 비교하여 각 픽셀에 대하여 제2 휘도 차이값을 구하는 단계; 및
    각 픽셀에 대하여 상기 제1 휘도 차이값과 제2 휘도 차이값을 상기 임계값과 비교하여, 둘 모두가 상기 임계값보다 작은 경우에 해당 픽셀에 최소 휘도값을 할당하고, 나머지 경우에는 해당 픽셀에 최대 휘도값을 할당하는 단계;를 포함하는 것을 특징으로 하는 움직임 검출 방법.
  27. 제17 항에 있어서,
    상기 이진 맵은 최소 휘도값 또는 최대 휘도값으로 구성되며,
    상기 노이즈를 제거하는 단계에서는,
    상기 이진 맵에 대하여 4×4 픽셀 블록 단위로 라스터-스캔(raster-scan) 순서로 진행하면서 상기 필터링을 수행하되,
    상기 필터링은 상기 4×4 픽셀 블록 내에 모든 값이 최대 휘도값일 때, 상기 픽셀 블록에 상기 최대 휘도값을 할당하고, 적어도 하나의 픽셀이 최소 휘도값일 때, 상기 픽셀 블록에 상기 최소 휘도값을 할당하는 것을 특징으로 하는 움직임 검출 방법.
KR1020100000581A 2010-01-05 2010-01-05 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치 KR101177271B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100000581A KR101177271B1 (ko) 2010-01-05 2010-01-05 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100000581A KR101177271B1 (ko) 2010-01-05 2010-01-05 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치

Publications (2)

Publication Number Publication Date
KR20110080395A KR20110080395A (ko) 2011-07-13
KR101177271B1 true KR101177271B1 (ko) 2012-08-24

Family

ID=44919309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100000581A KR101177271B1 (ko) 2010-01-05 2010-01-05 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치

Country Status (1)

Country Link
KR (1) KR101177271B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170006745A (ko) 2015-07-09 2017-01-18 한화테크윈 주식회사 색온도를 이용한 이벤트 검출 방법 및 장치
US10991117B2 (en) 2018-12-23 2021-04-27 Samsung Electronics Co., Ltd. Performing a loop closure detection

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101311148B1 (ko) * 2012-03-05 2013-10-04 홍익대학교 산학협력단 영상 감시 시스템 및 영상 감시 시스템의 객체 검출 방법
CN107666573A (zh) * 2017-10-13 2018-02-06 北京奇虎科技有限公司 摄像头场景下对象视频的录制方法及装置、计算设备
CN109741363B (zh) * 2019-01-11 2023-07-14 湖南国科微电子股份有限公司 基于区块差值的运动判断方法、装置及电子设备
CN113093221A (zh) * 2021-03-31 2021-07-09 东软睿驰汽车技术(沈阳)有限公司 占据栅格地图的生成方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008131611A (ja) * 2006-11-27 2008-06-05 Victor Co Of Japan Ltd 監視装置、監視画像の記録方法、監視画像の送信方法、監視画像の記録制御プログラム、及び監視画像の送信制御プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008131611A (ja) * 2006-11-27 2008-06-05 Victor Co Of Japan Ltd 監視装置、監視画像の記録方法、監視画像の送信方法、監視画像の記録制御プログラム、及び監視画像の送信制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170006745A (ko) 2015-07-09 2017-01-18 한화테크윈 주식회사 색온도를 이용한 이벤트 검출 방법 및 장치
KR20230011447A (ko) 2015-07-09 2023-01-20 한화테크윈 주식회사 색온도를 이용한 이벤트 검출 방법 및 장치
US10991117B2 (en) 2018-12-23 2021-04-27 Samsung Electronics Co., Ltd. Performing a loop closure detection

Also Published As

Publication number Publication date
KR20110080395A (ko) 2011-07-13

Similar Documents

Publication Publication Date Title
US8582915B2 (en) Image enhancement for challenging lighting conditions
KR101177271B1 (ko) 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치
US11095899B2 (en) Image processing apparatus, image processing method, and storage medium
KR100721543B1 (ko) 통계적 정보를 이용하여 노이즈를 제거하는 영상 처리 방법및 시스템
KR100997064B1 (ko) 멀티-모드 관심-영역 비디오 오브젝트 세그먼트화
KR100987365B1 (ko) 비디오 프레임들로부터 키 프레임들의 선택
JP5478047B2 (ja) 映像データ圧縮前処理方法およびこれを用いた映像データ圧縮方法と映像データ圧縮システム
US9053355B2 (en) System and method for face tracking
CN106888355B (zh) 比特率控制器和用于限制输出比特率的方法
US11263261B2 (en) Method and system for characteristic-based video processing
EP2783345A1 (en) Methods and apparatus for an artifact detection scheme based on image content
JP2008109247A (ja) ビデオ・ノイズをフィルタリングする方法、装置、集積回路およびエンコーダ
Xue et al. Fast ROI-based HEVC coding for surveillance videos
JP2021013146A (ja) 画像処理装置、画像処理方法
CN111161299A (zh) 影像分割方法、计算机程序、存储介质及电子装置
CN106575359B (zh) 视频流的动作帧的检测
CN111161211B (zh) 一种图像检测方法及装置
CN110211085B (zh) 一种图像融合质量评价方法和系统
WO2020184049A1 (ja) 撮像装置および表情検出方法
Dong et al. An efficient and integrated algorithm for video enhancement in challenging lighting conditions
KR100485593B1 (ko) 프레임 별로 연속적으로 입력되는 이미지에 대한 이미지처리 방법 및 시스템
JP4451833B2 (ja) 映像符号化方法,映像符号化装置,映像符号化プログラムおよびその記録媒体
CN115942130A (zh) 图像处理方法及装置、计算机可读存储介质
KR20130012811A (ko) 선박용 지능형 영상 감시 방법
CN114972137A (zh) 图像处理方法、终端及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 8