KR102637947B1 - 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램 - Google Patents

실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102637947B1
KR102637947B1 KR1020220092562A KR20220092562A KR102637947B1 KR 102637947 B1 KR102637947 B1 KR 102637947B1 KR 1020220092562 A KR1020220092562 A KR 1020220092562A KR 20220092562 A KR20220092562 A KR 20220092562A KR 102637947 B1 KR102637947 B1 KR 102637947B1
Authority
KR
South Korea
Prior art keywords
value
mse
section
threshold
calculated
Prior art date
Application number
KR1020220092562A
Other languages
English (en)
Other versions
KR20240014869A (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 KR1020220092562A priority Critical patent/KR102637947B1/ko
Publication of KR20240014869A publication Critical patent/KR20240014869A/ko
Application granted granted Critical
Publication of KR102637947B1 publication Critical patent/KR102637947B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것으로서, 더욱 상세하게는, 입력 받은 영상의 비트스트림에서 NAL유닛의 헤더만을 분석하여, I프레임만을 구분할 수 있고, 인접한 두 I프레임간의 픽셀 차이에 기초하여 MSE값을 산출하고, 해당 영상 전체에서 산출한 MSE값에 대해 p-value를 산출하여 움직임이 있을 것으로 예상되는 예상동적구간을 제거할 수 있으며, 이를 통해 해당 영상에서 움직임이 없는 구간을 판별할 수 있는 임계값을 산출할 수 있고, 산출한 임계값에 기초하여 입력 받은 영상에서 움직임이 없는 구간을 산출할 수 있는, 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것이다.

Description

실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램{The Method, Apparatus, and Computer-Readable Medium which Calculate Threshold for Detecting Static Section in Real-time Video}
본 발명은 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것으로서, 더욱 상세하게는, 입력 받은 영상의 비트스트림에서 NAL유닛의 헤더만을 분석하여, I프레임만을 구분할 수 있고, 인접한 두 I프레임간의 픽셀 차이에 기초하여 MSE값을 산출하고, 해당 영상 전체에서 산출한 MSE값에 대해 p-value를 산출하여 움직임이 있을 것으로 예상되는 예상동적구간을 제거할 수 있으며, 이를 통해 해당 영상에서 움직임이 없는 구간을 판별할 수 있는 임계값을 산출할 수 있고, 산출한 임계값에 기초하여 입력 받은 영상에서 움직임이 없는 구간을 산출할 수 있는, 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것이다.
최근 들어, 범죄예방이나 사후증거 확보 등을 위한 CCTV가, 기술의 발전에 힘입어, 중요하거나 상업적인 시설뿐만 아니라, 가정 등과 같은 일반적인 시설에도 보급될 만큼 대중화되었고, CCTV와 연결된 저장장치의 저장기술 및 클라우드 기술의 발전으로 CCTV로 촬영하는 영상의 크기도 증가하였으며, 통신기술 및 인프라의 발전과 함께, 실시간으로 영상을 받아볼 수 있는 응용서비스도 증가하였다.
CCTV 감시 영상은 저장공간의 효율을 위해 압축영상을 채택하고 있고, 고화질 CCTV 영상의 경우 H.265 HEVC와 같은 고압축율의 영상압축 기술을 사용하는 것이 일반적이다. 여기서, HEVC(High Efficiency Video Coding)이란, HD 모바일, 홈 시네마, UHD TV와 같이 고화질 응용분야에서 부호화 성능 향상을 목표로 개발된 차세대 영상 압축표준이다.
하지만, 영상데이터를 인식하여 분석하는 기술은 상당한 연산량을 요구하는 알고리즘을 동반하고, 처리해야 하는 영상의 화질이 높아질수록 해당 영상을 처리하는 연산량이 기하급수적으로 많아지기 때문에, 이를 효율적으로 처리하기 위한 영상처리기술에 대한 연구가 꾸준히 요구되고 있다. 또한, 일반적으로, 시외지역 등에 설치된 CCTV로 촬영한 감시영상과 같은 경우, 관심이 없는 부분 즉, 특별한 움직임이 없는 상태를 촬영하는 경우가 많은데, 해당 CCTV 감시영상을 통해 사후증거 등을 확보하기 위해서는, 해당 영상에서 필요한 부분만을 추출해내거나, 혹은 필요하지 않은 부분을 제거하는 것이 해당 영상의 활용도를 높일 수 있고, 부가적으로 저장 효율을 높일 수 있는 효과를 발휘할 수 있다.
이와 같이, 종래의 영상데이터에서 원하는 부분만을 검출할 수 있는 기술로는 대한민국 등록특허 제10-2253989호와 같이, 미리 설정된 시간동안 평균하여 획득하는 정지성향 지수에 기초하여 정지객체를 식별하고, 정지객체를 제외한 객체 집합에서 추적대상 객체를 설정하는, 딥러닝 객체 검출기를 이용한 CCTV 영상의 객체 추적 방법; 및 대한민국 등록특허 제10-1910542호와 같이, 입력영상으로부터 객체를 검출하여 인식하고, 객체를 검출하여 인식하도록 학습된 객체 탐지기를 이용해 움직임을 검출하며, 탐지결과의 오차를 줄이기 위해 재학습하는, 객체 검출을 위한 영상분석 및 서버장치 및 방법; 등이 있다.
그러나, 상술한 종래의 기술은, 영상데이터 전체를 지속적으로 학습함으로써 입력 받은 영상과 학습데이터를 비교하여, 해당 영상에서 움직이는 객체를 검출하는 기술에 해당한다. 즉, 전술한 바와 같이, 큰 용량을 가지는 영상데이터를 대상으로는, 학습데이터를 생성하는 데 많은 시간이 소요되고, 학습데이터 생성; 및 해당 영상을 분석; 시에 요구되는 연산부하를 줄이기 어려우며, 시간 및 날짜에 따라 달라지는 환경 등을 고려하지도 않아 여러 환경에 따라 정확도가 상이해지는 문제점이 발생한다.
따라서, 고화질의 영상에 대해서도 실시간으로 처리할 수 있을 만큼 적은 연산부하가 요구되고, 시간 및 날짜에 달라지는 환경에 대해 적게 영향을 받으며, 해당 영상에서 상대적으로 중요도가 떨어지는 움직임이 포착되지 않는 구간을 정확하게 검출하여 CCTV 영상의 활용도를 높이거나, 혹은 저장 효율을 높일 수 있는 기술이 요구되는 실정이다.
대한민국 등록특허 제10-2253989호(2021.05.13.) 대한민국 등록특허 제10-1910542호(2018.10.16.)
본 발명은 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것으로서, 더욱 상세하게는, 입력 받은 영상의 비트스트림에서 NAL유닛의 헤더만을 분석하여, I프레임만을 구분할 수 있고, 인접한 두 I프레임간의 픽셀 차이에 기초하여 MSE값을 산출하고, 해당 영상 전체에서 산출한 MSE값에 대해 p-value를 산출하여 움직임이 있을 것으로 예상되는 예상동적구간을 제거할 수 있으며, 이를 통해 해당 영상에서 움직임이 없는 구간을 판별할 수 있는 임계값을 산출할 수 있고, 산출한 임계값에 기초하여 입력 받은 영상에서 움직임이 없는 구간을 산출할 수 있는, 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에서는, 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 시스템에서 수행되는 실시간영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법으로서, 실시간영상을 기록한 비트스트림에서 NAL유닛의 헤더만을 분석하여 I프레임만을 구분하여 디코딩하고, 디코딩한 I프레임에 대하여, 인접한 두 I프레임 간의 픽셀 차이에 기초하여 상기 인접한 두 I프레임 사이의 MSE값을 산출하는 MSE산출단계; 상기 비트스트림 전체에서 산출한 MSE값에 대하여 p-value를 산출하고, 산출된 p-value값이 0.05 이하로 산출되는 구간의 MSE값을 제거하는 단계로서, 상기 p-value값이 0.05 이하로 산출되는 구간이 존재하지 않을 때까지 반복적으로 상기 MSE값을 제거하는 단계를 수행하는 예상동적구간제거단계; 상기 예상동적구간제거단계에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거한 뒤, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 상기 실시간영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출단계; 및 상기 임계값 미만의 MSE값을 가지는 I프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단단계;를 포함하는, 구간을 판별하는 임계값 산출방법을 제공한다.
본 발명의 일 실시예에서는, 상기 실시간영상은 HEVC 규약에 따라 인코딩된 영상데이터를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 정적프레임판단단계는, 상기 MSE산출단계에서 산출한 복수의 MSE값 각각에 대하여 상기 임계값 미만의 MSE값에 해당하는 I프레임을 검출하여 해당 I프레임을 정적프레임으로 판단하고, 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단할 수 있다.
본 발명의 일 실시예에서는, 상기 정적프레임판단단계는, 상기 MSE산출단계에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용하여 각각의 윈도우에 포함되는 복수의 MSE값들의 표준편차를 산출하는 단계; 상기 각각의 윈도우에 해당하는 표준편차와 상기 임계값을 비교하는 단계; 및 상기 임계값보다 작은 표준편차를 가지는 윈도우에 포함되는 상기 복수의 MSE값들에 해당하는 I프레임을 정적프레임으로 판단하고, 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 정적프레임판단단계는, 상기 MSE산출단계에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용하여 각각의 윈도우에 포함되는 복수의 MSE값들의 평균값을 산출하는 단계; 상기 각각의 윈도우에 해당하는 평균값과 상기 임계값을 비교하는 단계; 및 상기 임계값보다 작은 평균값을 가지는 윈도우에 포함되는 상기 복수의 MSE값들에 해당하는 I프레임을 정적프레임으로 판단하고, 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단하는;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 정적프레임판단단계는, 상기 MSE산출단계에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용하여 각각의 윈도우에 포함되는 복수의 MSE값들의 표준편차를 산출하는 단계; 상기 각각의 윈도우에 해당하는 표준편차와 기설정된 기준값을 비교하는 단계; 및 상기 기설정된 기준값보다 작은 표준편차를 가지는 윈도우에 대하여, 해당 윈도우에 포함되는 각각의 MSE값들을 상기 임계값과 비교하고, 상기 임계값 미만의 MSE값에 해당하는 I프레임을 정적프레임으로 판단하여 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 기설정된 기준값은, 상기 예상동적구간제거단계에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거한 뒤, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 산출될 수 있다.
상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에서는, 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는, 실시간영상에서 움직임이 없는 구간을 판별하는 임계값 산출장치로서, 실시간영상을 기록한 비트스트림에서 NAL유닛의 헤더만을 분석하여 I프레임만을 구분하여 디코딩하고, 디코딩한 I프레임에 대하여, 인접한 두 I프레임 간의 픽셀 차이에 기초하여 상기 인접한 두 I프레임 사이의 MSE값을 산출하는 MSE산출부; 상기 비트스트림 전체에서 산출한 MSE값에 대하여 p-value를 산출하고, 산출된 p-value값이 0.05 이하로 산출되는 구간의 MSE값을 제거하는 단계를 수행하고, 상기 p-value값이 0.05 이하로 산출되는 구간이 존재하지 않을 때까지 반복적으로 상기 MSE값을 제거하는 단계를 수행하는 예상동적구간제거부; 상기 예상동적구간제거부에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거하면, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 상기 실시간영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출부; 및 상기 임계값 미만의 MSE값을 가지는 I프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단부;를 포함하는, 동적프레임이 존재하는 구간의 검출장치를 제공한다.
상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에서는, 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 실시간영상을 기록한 비트스트림에서 NAL유닛의 헤더만을 분석하여 I프레임만을 구분하여 디코딩하고, 디코딩한 I프레임에 대하여, 인접한 두 I프레임 간의 픽셀 차이에 기초하여 상기 인접한 두 I프레임 사이의 MSE값을 산출하는 MSE산출단계; 상기 비트스트림 전체에서 산출한 MSE값에 대하여 p-value를 산출하고, 산출된 p-value값이 0.05 이하로 산출되는 구간의 MSE값을 제거하는 단계로서, 상기 p-value값이 0.05 이하로 산출되는 구간이 존재하지 않을 때까지 반복적으로 상기 MSE값을 제거하는 단계를 수행하는 예상동적구간제거단계; 상기 예상동적구간제거단계에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거하면, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 상기 실시간영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출단계; 및 상기 임계값 미만의 MSE값을 가지는 I프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단단계;를 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램을 제공한다.
본 발명의 일 실시예에 따르면, 입력 받은 영상 전체의 비트스트림에서 I프레임만을 구분하여 디코딩함으로써, 상기 비트스트림의 대부분을 차지하는 B프레임 및 P프레임을 처리하지 않고 최소한의 디코딩으로 해당 영상을 분석하여, 종래의 기술보다 적은 시간과 적은 연산 부하로 해당 영상 전체에서 움직임이 존재하지 않는 구간을 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 연산부하가 적고 빠른 연산속도로 영상을 분석할 수 있어, 실시간으로 입력되는 영상에서 움직임이 존재하지 않는 구간을 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 시간을 포함하는 환경조건을 고려하여 생성한 해당 구역의 학습데이터를 사용함으로써, 입력 받은 영상에서 움직임이 존재하지 않는 구간을 높은 정확도로 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 산출된 MSE값에 대해 p-value값을 산출하고, 이에 기초하여 움직임이 있는 구간으로 예상되는 예상동적구간을 반복적으로 제거함으로써, 움직임이 없는 구간을 판별할 수 있는 임계치를 정확하게 산출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 정적프레임판단단계에서 다양한 방법으로 정적프레임을 검출할 수 있고, 정적프레임의 검출목적에 따라 상기 다양한 방법을 적용할 수 있는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 움직임이 없는 구간을 판별하는 임계값 산출방법의 전체적인 단계들을 개략적으로 도시한다.
도 2는 본 발명의 몇 실시예에 따른 I프레임, B프레임, 및 P프레임을 포함하는 비트스트림을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 HEVC 표준에서의 코딩 유닛의 구성을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 입력 받은 영상의 비트스트림에 대해 수행되는 MSE산출단계를 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 예상동적구간제거단계를 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 임계값산출단계 및 정적프레임판단단계를 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 정적프레임판단단계의 수행과정을 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 정적프레임판단단계를 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 몇 개의 MSE값 및 슬라이딩윈도우를 개략적으로 도시한다.
도 10은 본 발명의 일 실시예에 따른 정적프레임판단단계의 수행결과를 개략적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 정적프레임판단단계의 수행결과를 개략적으로 도시한다.
도 12는 본 발명의 일 실시예에 따른 움직임이 없는 구간을 판별하는 임계값 산출방법의 수행결과를 개략적으로 도시한다.
도 13은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서 언급되는, "정적프레임"은 움직임이 존재하지 않는 프레임에 해당된다. 영상데이터 전체의 비트스트림을 구성하는 복수의 프레임에 대해서, 인접한 두 프레임 사이의 픽셀차를 수치화할 수 있고, 수치화된 상기 두 프레임 사이의 픽셀차가 기설정된 값 미만으로 존재하는 경우 상기 두 프레임 사이에 움직임이 없었다고 판단할 수 있으며, 상기 두 프레임이 상기 정적프레임에 해당하고, 상기 두 프레임 사이에 해당하는 구간을 움직임이 없는 구간으로 정의한다.
한편, 상기 인접한 두 프레임은 반드시 상기 영상데이터 전체의 비트스트림 상에서 인접할 필요는 없으며, 상기 비트스트림에서 기설정된 규칙에 따라 추출된 복수의 프레임 중 인접한 두 프레임에 해당할 수 있다.
도 1은 본 발명의 일 실시예에 따른 움직임이 없는 구간을 판별하는 임계값 산출방법의 전체적인 단계들을 개략적으로 도시한다.
도 1에 도시된 바와 같이, 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 시스템에서 수행되는 실시간영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램으로서, 상기 임계값 산출방법은, 실시간영상을 기록한 비트스트림에서 NAL유닛의 헤더만을 분석하여 I프레임만을 구분하여 디코딩하고, 디코딩한 I프레임에 대하여, 인접한 두 I프레임 간의 픽셀 차이에 기초하여 상기 인접한 두 I프레임 사이의 MSE값을 산출하는 MSE산출단계(S200 내지 S300); 상기 비트스트림 전체에서 산출한 MSE값에 대하여 p-value를 산출하고, 산출된 p-value값이 0.05 이하로 산출되는 구간의 MSE값을 제거하는 단계로서, 상기 p-value값이 0.05 이하로 산출되는 구간이 존재하지 않을 때까지 반복적으로 상기 MSE값을 제거하는 단계를 수행하는 예상동적구간제거단계(S400 내지 S600); 상기 예상동적구간제거단계(S400 내지 S600)에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거한 뒤, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 상기 실시간영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출단계(S700); 및 상기 임계값 미만의 MSE값을 가지는 I프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단단계(S800);를 포함한다. 또한, 상기 임계값 산출장치는 상기 움직임이 없는 구간을 판별하는 임계값 산출방법을 수행한다.
구체적으로, 본 발명은 CCTV 등과 같이, 고정된 카메라에서 촬영된 영상에 대해 수행되는 것이 바람직하며, 사용자로부터 움직임 유무를 판별하고자 하는 영상을 입력 받고, 해당 영상에서 움직임이 없는 구간을 추출한다. 입력 받은 영상에서 움직임이 없는 구간을 판별하기 위해, 도 1에 도시된 단계 S100 내지 S800을 수행한다. 이하에서는 각 단계에 대한 설명을 서술하도록 한다.
본 발명의 MSE산출부(미도시)는, CCTV 등과 같은 고정된 카메라에서 촬영된 영상을 수신(S100)한다. 상기 촬영된 영상은 해당 영상을 촬영한 카메라로부터 직접 입력 받을 수 있고, 혹은 해당 영상이 저장된 별도의 저장매체로부터 입력 받을 수 있다. 상기 저장매체는 USB, HDD, 및 SSD 등과 같은 이동식/비이동식 저장매체를 포함하며, 본 발명의 일 실시예로서, 외부의 클라우드 서버 혹은 데이터저장 서버로부터 유/무선네트워크를 통해 입력 받을 수 있다. 한편, 상기 촬영된 영상을 실시간으로 입력받는 것이 바람직하나 이를 본 발명의 대상으로 한정하지 않으며, 특정 매체를 통해 저장된 영상에 대해서도 적용 가능하다.
해당 영상을 수신하면, 해당 영상의 비트스트림으로부터 NAL유닛의 헤더만을 분석하여, I프레임을 구분하고, 이를 디코딩(S200)한다. 상기 비트스트림은 복수의 I프레임을 포함하며, 도 2를 참고하여, 상기 복수의 I프레임 사이에 1 이상의 P프레임이 삽입되고, I프레임과 P프레임 사이; 및 P프레임과 다른 P프레임 사이;에 1 이상의 B프레임이 삽입된 형태를 가진다. 본 발명에서는 상기 비트스트림에서 I프레임만을 구분하여 분석하여도 충분히 높은 확률로 움직임의 유무를 판단할 수 있는 것을 확인하였고, 이러한 방식을 통해, 빠른 연산속도와 적은 연산부하로 입력 받은 영상을 분석할 수 있는 효과를 발휘할 수 있다. 단계 S200에 대한 추가적인 설명은 도 2 내지 도 3에서 후술하도록 한다. 상기 MSE산출부는, 단계 S200에서 디코딩한 I프레임에 대하여, 인접한 두 I프레임 간의 픽셀차에 기초하여, 상기 두 I프레임 사이의 MSE값을 산출(S300)하는 MSE산출단계(S200 내지 S300)를 수행한다. 상기 MSE값을 산출하는 단계에 대한 추가 설명은 도 4에서 후술하도록 한다.
본 발명의 예상동적구간제거부(미도시)는, 산출된 복수의 MSE값에 대해 움직임이 존재하는 것으로 예상되는 MSE값을 제거함으로써, 움직임이 없는 구간의 MSE값을 도출한다. 더 구체적으로, 단계 S300에서 도출한 복수의 MSE값에 대해 p-value를 산출(S400)한다. p-value란, 검정 통계량 혹은 유의확률로서, 관찰된 데이터의 검정 통계량이 귀무가설을 지지하는 정도를 확률로 표현한 것이다. p-value에 대한 더 자세한 설명은 도 5에서 후술하도록 한다. 상기 복수의 MSE값에 대해 p-value를 산출한 뒤, p가 0.05 이하에 해당하는 MSE값을 제거(S500)한다. 제거한 뒤, 남은 MSE값에 대해 다시 p-value를 산출하고, 신뢰구간 95%에 해당하지 않은 MSE값, 즉 p가 0.05 이하에 해당하는 MSE값이 존재하는지를 판단(S600)하고, 존재하는 경우 제거되지 않은 MSE를 대상으로 다시 p-value를 산출하여 p가 0.05 이상에 해당하는 MSE값을 제거하는 단계(S500)를 수행한다. 전술한 바와 같이, 상기 예상동적구간제거부는, 단계 S500 내지 단계 S600을 반복적으로 수행함으로써, 움직임이 있는 것으로 예상되는 구간의 MSE값, 즉 예상동적구간의 MSE값을 제거하는 예상동적구간제거단계(S400 내지 S600)를 수행한다.
본 발명의 임계값산출부(미도시)는, 상기 예상동적구간제거단계(S400 내지 S600)를 통해 예상동적구간에 해당하는 MSE값을 제거하고 남은 MSE값에 기초하여, 단계 S100에서 수신한 영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출단계(S700)를 수행한다. 상기 임계값은, 상기 단계 S500 내지 S600에서 신뢰구간 95%에 해당하지 않는 MSE값이 존재하지 않을 때까지 예상동적구간이 제거된 뒤에, 제거되지 않은 MSE값의 평균값; 및 제거되지 않은 MSE값의 표준편차;에 기초하여 산출한다.
본 발명의 정적프레임판단부(미도시)는, 상기 임계값산출단계(S700)에서 산출된 임계값에 기초하여, 단계 S100에서 입력 받은 영상에서 움직임이 없는 구간을 도출한다. 더 구체적으로는, 본 발명의 일 실시예로서, 상기 임계값보다 작은 MSE값을 가지는 I프레임을 정적프레임으로 판단할 수 있고, 본 발명의 다른 실시예로서, 단계 S300에서 산출된 복수의 MSE에 대해 슬라이딩윈도우방식을 적용하여, 각각의 슬라이딩윈도우 내의 MSE값의 평균값 혹은 표준편차에 기초하여 정적프레임을 판단할 수 있다. 즉, 상기 정적프레임판단부는, 단계 S100에서 입력 받은 영상의 비트스트림에서 움직임이 없는 I프레임인 정적프레임을 판단하고, 상기 정적프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단단계(S800)를 수행한다.
한편, 본 발명의 일 실시예에 따르면, 상기 MSE산출부, 상기 예상동적구간제거부, 상기 임계값산출부 및 상기 정적프레임판단부는, 본 발명의 실시간영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법을 수행하는 컴퓨팅 시스템에 포함되어 각각 MSE산출단계(S200 내지 S300), 예상동적구간제거단계(S400 내지 S600), 임계값산출단계(S700) 및 정적프레임판단단계(S800)를 수행할 수 있다.
본 발명은, 전술한 단계 S100 내지 S800을 수행하여, 입력 받은 영상에서 움직임이 없는 구간을 도출할 수 있다. 본 발명의 일 실시예에 따르면, 사용자는 본 발명이 제공하는 움직임이 없는 구간을 제외하고 저장함으로써, 저장 효율을 높일 수 있으며, 본 발명의 다른 실시예로서, 도출된 움직임이 없는 구간을 역으로 응용하여 움직임이 존재하는 구간만을 획득하는 효과를 발휘할 수 있다.
도 2는 본 발명의 몇 실시예에 따른 I프레임, B프레임, 및 P프레임을 포함하는 비트스트림을 개략적으로 도시한다.
개략적으로, 도 2의 (a) 및 (b)는 I프레임과 P프레임만 존재하는 비트스트림을 도시하고, 도 2의 (c)는 I프레임, P프레임 및 B프레임을 포함하는 비트스트림을 도시한다. 도 2에 도시된 바와 같이 인접한 두 I프레임 사이에 삽입되는 P프레임 및 B프레임의 수와 삽입되는 패턴은 영상에 따라 달라질 수 있다.
구체적으로, 일반적인 동영상의 비디오 부분은 I프레임(“I”로 도시한 프레임), P프레임(“P”로 도시한 프레임), 및 B프레임(“B”로 도시한 프레임)으로 구성된다.
상기 I프레임은 키 프레임으로써 전체 이미지를 모두 포함하고, 동영상 파일에 있어서 액세스 포인트로 기능할 수 있으며, 독립적으로 인코딩된 프레임에 해당하며 낮은 압축률을 가지고 있다.
한편, P프레임의 경우, 이전의 I프레임 혹은 P프레임을 참조하여 순방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 상기 P프레임은 상기 I프레임에 비해 높은 압축률을 가지고 있다. 여기서, “이전”의 프레임이라는 것은 바로 전의 프레임뿐만 아니라 해당 프레임 전에 존재하는 복수의 프레임 중 하나를 의미하고, “이후”의 프레임이라는 것은 바로 다음 프레임뿐만 아니라 해당 프레임 다음에 존재하는 복수의 프레임 중 하나를 의미한다.
한편, B프레임의 경우, 이전의 프레임 및 이후의 프레임을 참조하여 순방향 및 역방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 상기 B프레임은 상기 I프레임 및 상기 P프레임에 비해 높은 압축률을 가지고 있다. 따라서, 상기 독립적으로 인코딩된 프레임은 상기 I프레임에 해당하고, 비독립적으로 인코딩된 프레임은 나머지 상기 B프레임 혹은 P프레임에 해당할 수 있다.
도 3은 본 발명의 일 실시예에 따른 HEVC 표준에서의 코딩 유닛의 구성을 개략적으로 도시한다.
도 3에 도시된 바와 같이, 바람직하게는, 상기 실시간영상은 HEVC 규약에 따라 인코딩된 영상데이터를 포함할 수 있다.
개략적으로 도 3의 (a)는 NAL 유닛의 SYNTAX를 도시하고, 도 3의 (b)는 NAL 유닛의 헤더의 SYNTAX를 도시한다.
구체적으로, 도 3의 (a)에 도시된 바와 같이, HEVC 표준문서인 “ITU-T H.265 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (11/2019) SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video”에 따르면 부호화된 H.265 데이터는 Network Abstraction Layer Units(NAL Unit)으로 알려진 일련의 패킷으로 저장되거나 전송된다.
본 발명에 적용된 HEVC/H.265 코덱은 일정구간마다 생성되는 I프레임을 기준으로 이후에 오는 B프레임 및 P프레임을 연산하는 방식으로 압축을 진행한다.
도 3의 (b)에서는, 도 3의 (a)에서 nal_unit이 포함하고 있는 NAL 유닛의 헤더의 SYNTAX를 도시한다. 본 발명에서는 상기 NAL 유닛의 헤더에 포함되어 6 비트(bit)의 크기를 가지는 nal_unit_type을 분석하고, 이를 통해, 상기 영상데이터 전체의 비트스트림에 포함되는 I프레임만을 구분할 수 있으며, 구분한 상기 I프레임만을 디코딩하여 연산부하를 줄일 수 있다.
본 발명의 MSE산출부는, 디코딩된 I프레임만을 분석함으로써, 상기 비트스트림 전체를 디코딩할 필요없이 관심대상의 이벤트를 요약할 수 있고, 이를 통해 종래의 기술보다 적은 시간과 적은 연산량으로 상기 비트스트림에서 정적프레임을 검출할 수 있는 효과를 발휘할 수 있다.
도 4는 본 발명의 일 실시예에 따른 입력 받은 영상의 비트스트림에 대해 수행되는 MSE산출단계(S200 내지 S300)를 개략적으로 도시한다.
개략적으로, 본 발명의 일 실시예로서 이하에서 서술되는 비트스트림은, 도 2의 (c)를 참고하여, I프레임, P프레임, 및 B프레임을 포함하는 비트스트림에 해당하며, 상기 비트스트림으로부터 상기 I프레임만을 추출하여 디코딩하고, 인접한 2 개의 I프레임에 대해 MSE값을 산출하는 과정에 대한 설명을 이하에서 서술한다.
구체적으로, 본 발명의 MSE산출부는, 도 1 및 도 3에 대한 설명을 참고하여, 단계 S100에서 입력 받은 영상의 전체 비트스트림으로부터 NAL 유닛의 헤더에 존재하는 nal_unit_type을 분석하여 상기 비트스트림에 포함되는 모든 I프레임을 추출한 뒤 디코딩(S200)한다. 상기 MSE산출부는, 디코딩된 복수의 I프레임에 대해 인접한 두 I프레임의 픽셀차에 기초하여, MSE값을 산출(S300)한다. 인접한 두 I프레임에 대한 MSE값은 하기 [수학식 1]을 사용하여 산출한다.
상기 [수학식 1]에서 i와 j는 인접한 두 I프레임에서의 x좌표와 y좌표를 의미하며, m과 n은 가로 및 세로의 픽셀 수를 의미한다. 또한, 상기 [수학식 1]에서의 I는 상기 인접한 두 I프레임에서 나중에 생긴 I프레임을, K는 상기 인접한 두 I프레임에서 먼저 생긴 I프레임을 의미한다.
즉, MSE값은 인접한 두 I프레임의 픽셀차이에 기초하여 산출되는 값으로, 현재 I프레임과 이전의 I프레임을 비교하였을 때, 같은 위치에 존재하는 픽셀에서 차이가 나타나는 픽셀이 일정 수 이상으로 많다면, 산출되는 MSE값이 큰 값을 가지게 된다. 따라서, 기설정된 값보다 큰 값의 MSE가 산출되는 경우 해당되는 두 I프레임 사이에 움직임이 있다고 판단할 수 있으며, 본 발명에서는, 전술한 바와 같이 산출한 MSE에 기초하여 움직임이 있거나 혹은 움직임이 없는 구간에서의 I프레임을 구분한다.
도 5는 본 발명의 일 실시예에 따른 예상동적구간제거단계(S400 내지 S600)를 개략적으로 도시한다.
개략적으로, 도 5의 (a)는, 도 1을 참고하여, 단계 S400 내지 S500을 1회 수행했을 때의 p-value 그래프를 도시하고, 도 5의 (b)는, 단계 S400 내지 S500을 n회 수행했을 때의 p-value 그래프를 도시하고, 도 5의 (c)는, 단계 S400 내지 S500을 m회 수행했을 때의 p-value 그래프를 도시한다. 이 때, 상기 n 및 m은 2 이상의 자연수이며, m은 n보다 큰 수이다. 또한, 상기 n 및 m은 상기 [수학식 1]에서 사용된 n 및 m과는 독립적인 수이다.
구체적으로, 본 발명의 예상동적구간제거부는, 도 5에 도시된 과정을 통해, 신뢰도 95%에 해당하지 않는 구간의 MSE값을 제거할 수 있다. 상기 신뢰도 95%에 해당하지 않는 구간은, 전체 구간의 MSE값의 평균에 비해 높은 MSE를 갖는 구간, 즉 움직임이 있는 것으로 예상되는 예상동적구간에 해당한다. 이와 같이, 예상동적구간을 모두 제거하면, 제거되지 않은 MSE값에 기초하여, 입력 받은 영상에서 움직임 유무를 판단할 수 있는 임계값을 산출한다.
더 구체적으로, p-value는 통계적 가설 검정에서 귀무가설(null hypothesis)이 맞다고 가정할 때 얻은 결과보다 극단적인 결과가 실제로 관측될 확률을 의미한다. 실험의 p-value는 실험의 표본 공간에서 정의되는 확률변수로서 0 내지 1의 값을 갖는다. 일반적으로, p-value가 0.05보다 작을 경우, 귀무가설을 기각할 수 있다. 즉, 도 5를 참고하여, 움직임이 없는 구간에서의 I프레임의 MSE를 귀무가설로 산정한 뒤, 단계 S300에서 산출한 복수의 MSE에 대해 p-value를 산출하였을 때 이하와 같이 추론할 수 있다.
신뢰구간 95%에 속하지 않는, 즉 p-value가 0.05보다 작게 나오는 MSE를 상기 귀무가설을 기각할 수 있는 MSE라고 판단할 수 있으며, 이는 곧 해당 MSE가 움직임이 있는 구간에서의 I프레임에 대한 MSE로 해석할 수 있다. 따라서, 이하에서 서술하는 과정을 통해, 움직임이 있을 것으로 예상되는 구간에서의 I프레임의 MSE를 제거하는 예상동적구간제거단계(S400 내지 S600)를 수행한다.
먼저, 단계 S300에서 전체 비트스트림에서 디코딩된 I프레임에 대해 MSE를 산출한 뒤, 산출된 MSE에 대해 p-value를 산출하여 그래프로 도시하면, 도 5의 (a)와 같다. 산출한 p-value는 정규분포를 따르며, 도 5의 (a)에 도시된 바와 같이 p-value가 0.05를 기준으로 나눌 수 있다. 도 5에서는 p-value가 0.05 이하인 구간을 빗금친 영역으로 도시하고, 빗금을 치지 않은 영역은 p-value가 0.05를 초과하는 구간으로 빗금을 치지 않은 영역으로 도시한다. 단계 S500에서는 도 5의 (a)에서 빗금친 영역에 해당하는 MSE값을 제거함으로써 p-value가 0.05 이하인 구간의 MSE값을 제거할 수 있다.
한편, 상술한 과정을 통해 남겨진 MSE값들은 95%의 확률로 움직임이 없는 구간에 해당하는 MSE값이다. 다시 말해, 상술한 과정을 반복수행한다면, 더 높은 확률로 움직임이 없는 구간에 해당하는 MSE값을 산출할 수 있다. 상술한 과정을 n회 반복할 때의 남겨진 MSE에 대해 p-value를 산출한 그래프는 도 5의 (b)와 같다. 도 5의 (a)에 비해 완막한 곡선의 형태를 보이며, p-value가 0.05 이하인 구간의 크기도 작아진 형태를 보인다. p-value가 0.05 이하인 구간을 더 줄이기 위해 상술한 과정을 더 반복하여 총 m(m > n)회 반복한다면, 그 때의 남겨진 MSE에 대해 p-value를 산출한 그래프는 도 5의 (c)와 같다.
도 5의 (c)에 도시된 바와 같이, 상술한 과정을 m회 반복한 경우, p-value가 0.05 이하인 구간이 없어진 것을 확인할 수 있고, 곡선도 도 5의 (a)에 비해 많이 평탄해지 것을 확인할 수 있다. 상기 예상동적구간제거부는, 도 5의 (c)에 도시된 p-value 곡선을 얻을 때까지, 도 1을 참고하여, 단계 S500 내지 S600을 반복수행하며, 본 발명의 임계치산출부는 도 5의 (c)에 도시된 바와 같이, 남겨진 MSE값에 기초하여 임계값을 산출한다. 한편, 전술한 n 및 m회는 영상에 따라 달라지는 수이다.
도 6은 본 발명의 일 실시예에 따른 임계값산출단계(S700) 및 정적프레임판단단계(S800)를 개략적으로 도시한다.
도 6에 도시된 바와 같이, 상기 정적프레임판단단계(S800)는, 상기 MSE산출단계(S200 내지 S300)에서 산출한 복수의 MSE값 각각에 대하여 상기 임계값 미만의 MSE값에 해당하는 I프레임을 검출(S810)하여 해당 I프레임을 정적프레임으로 판단(S811)하고, 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단(S812)한다.
구체적으로, 본 발명의 임계값산출부는, 도 1 및 도 5를 참고하여, 단계 S600가 완전히 종료된 이후, 제거되지 않은 MSE값들에 기초하여 영상의 움직임 유무를 판별하기 위한 임계값을 산출한다. 본 발명의 일 실시예로서, 상기 임계값은 상기 제거되지 않은 MSE값들의 평균;과 상기 제거되지 않은 MSE값들의 표준편차에 기초하여 산출되는 것이 바람직하며, 더 바람직하게는, 상기 평균과 상기 표준편차의 2배를 합한 것으로 산출(S700)한다.
본 발명의 일 실시예에 따르면, 단계 S700에서 산출한 임계값에 기초하여, 정적프레임판단부는, 단계 S300에서 산출한 복수의 MSE값 각각을 상기 임계값과 비교(S810)한다. 상기 복수의 MSE값들을 하나하나 상기 임계값과 비교한 이후, 상기 임계값보다 낮은 MSE값에 해당하는 I프레임, 다시 말해, 해당 MSE값을 산출한 두 I프레임을 정적프레임으로 판단(S811)한다. 상기 정적프레임판단부는, 입력 받은 모든 I프레임에 대해서 정적프레임을 도출하고, 도출된 정적프레임에 해당하는 구간을 단계 S100에서 입력 받은 실시간 영상에서 움직임이 없는 구간으로 판단(S812)한다.
상기 일 실시예에서의 정적프레임판단단계(S800)는, 후술하는 도 8, 도 10, 및 도 11에서의 실시예에 비해 가장 단순한 실시예에 해당한다. 임계값과 단계 S300에서 산출된 MSE값을 하나하나씩 비교하여 산출하는 만큼 정확하게 정적프레임을 산출할 수 있으나, 연산시간이 오래걸리고, 영상이 길면 길수록 효율이 떨어지는 단점이 있다.
한편, 도 1 내지 도 6에서 전술한 단계 S100 내지 S700의 수행과정은 학습데이터를 사용하여 수행된다. 학습데이터란, 해당 카메라가 시간별, 날짜별로 촬영한 동영상데이터를 통해 미리 임계값을 산출하기 위한 데이터에 해당한다. 본 발명의 일 실시예에 따르면, 상기 학습데이터를 통해, 일/출몰시간에 따른 밝기, 날짜 및 계절에 따른 환경 차이 등을 고려하여 각기 환경에 따른 임계치를 각각 산출하고, 이후 움직임 유무를 판별하기 위한 영상에서 해당 영상에 해당되는 환경에 따른 임계치를 사용하여 해당 영상에서 움직임이 없는 구간을 빠르고 정확하게 도출할 수 있다.
도 7은 본 발명의 일 실시예에 따른 정적프레임판단단계(S800)의 수행과정을 개략적으로 도시한다.
구체적으로, 도 7은 도 6에서 서술한 정적프레임판단단계(S800)의 과정을 시각적으로 도시한다. 도 7에 도시된 그래프는 입력 받은 영상에 대해 MSE를 산출하고, 시간에 따라 산출된 MSE에 따른 MSE값을 도시하며, 해당 영상에 대해 산출한 임계값을 같이 도시한다. 이와 같은 그래프를 통해, 본 발명은, 상기 임계값보다 낮은 MSE값이 산출된 구간을 움직임이 존재하지 않는 구간으로 판단한다.
한편, 도 7의 그래프는 설명을 위해 도시한 것이며, 실제 본 발명에서는 이와 같은 방식으로 처리하지 않고, 컴퓨터 내부에서 학습데이터를 통해 산출된 임계값을 산출된 MSE와 각각 비교하여 정적프레임을 판단하고, 이를 통해 움직임이 없는 구간을 도출한다.
도 8은 본 발명의 일 실시예에 따른 정적프레임판단단계(S800)를 개략적으로 도시한다.
도 8에 도시된 바와 같이, 상기 정적프레임판단단계(S800)는, 상기 MSE산출단계(S200 내지 S300)에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용(S820)하여 각각의 윈도우에 포함되는 복수의 MSE값들의 표준편차를 산출하는 단계(S821); 상기 각각의 윈도우에 해당하는 표준편차와 상기 임계값을 비교하는 단계(S822); 및 상기 임계값보다 작은 표준편차를 가지는 윈도우에 포함되는 상기 복수의 MSE값들에 해당하는 I프레임을 정적프레임으로 판단(S823)하고, 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단(S824)하는 단계;를 포함한다.
구체적으로, 도 8에 도시된 정적프레임판단단계(S800)는, 본 발명의 일 실시예로서, 전술한 도 6에서의 정적프레임판단단계(S800)와는 다른 실시예에 해당한다. 설명의 편의를 위하여 도 6에서 전술한 실시예를 제1실시예라 명명하고, 도 8에서 서술하는 실시예를 제2실시예라 명명한다.
제2실시예에서는, 도 1 및 도 9를 참고하여, 단계 S300에서 산출한 복수의 MSE값에 대해 슬라이딩윈도우방식을 적용(S820)한다. 여기서 슬라이딩윈도우는, 상기 복수의 MSE값들에 대해 각각의 일련번호를 부여하고, 상기 일련번호에 따라 기설정된 크기로 그룹화하는 것을 의미한다. 슬라이딩윈도우의 크기는 10개가 바람직하나, 이는 사용자가 영상의 크기 등을 고려하여 변경할 수 있다. 상기 복수의 MSE값에 대해 슬라이딩윈도우방식을 적용한 이후, 각각의 윈도우에 포함되는 MSE값에 대해 표준편차를 산출(S821)한다.
예를 들어, 상기 단계 S300에서 산출한 MSE값이 100개라면, 각각의 MSE값에 대해 1부터 100까지의 일련번호를 각각 부여할 수 있다. 상기 일련번호를 부여하는 기준은 시간 순으로 하는 것이 바람직하다. 1번부터 100번까지의 MSE값들에 대해 크기가 10인 슬라이딩윈도우를 적용한다고 가정하면, 첫번째 윈도우(#1 윈도우)는 1번 내지 10번에 해당하는 MSE값들을 포함하고, 두번째 윈도우(#2 윈도우)는 11번 내지 20번에 해당하는 MSE값들을 포함한다. 이와 같이 윈도우의 크기를 설정한 뒤 슬라이딩윈도우방식을 적용한다면, 단계 S821에서는 첫번째 윈도우에 해당하는 1번 내지 10번에 해당하는 MSE값들의 표준편차를 산출하고, 두번째 윈도우에 해당하는 11번 내지 20번에 해당하는 MSE의 표준편차를 산출하는 방식으로 각각의 슬라이딩윈도우에 해당하는 표준편차를 산출할 수 있다.
이후, 산출한 상기 각각의 슬라이딩윈도우에 해당하는 표준편차와, 도 6을 참고하여, 단계 S700에서 산출한 임계값을 각각 비교(S822)한다. 비교한 뒤, 상기 제2실시예에서의 정적프레임판단부는, 상기 임계값보다 작은 표준편차를 가지는 윈도우에 포함되는 MSE값들에 해당하는 I프레임을 정적프레임으로 판단(S823)하고, 상기 정적프레임에 해당하는 구간을 해당 영상에서 움직임이 없는 구간으로 도출(S824)하여 사용자에게 제공한다.
상기 제2실시예는, 전술한 제1실시예에 비해 빠른 연산을 수행할 수 있다는 장점이 있다. 슬라이딩윈도우방식을 적용함으로써, 제1실시예에 비해 연산량을 크게 줄일 수 있고, 각각의 윈도우에 해당하는 표준편차를 이용함으로써 움직임이 있는 구간을 움직임이 없는 구간으로 판단하거나 움직임이 없는 구간을 움직임이 있는 구간으로 판단하는 오차를 줄일 수 있다.
한편, 상기 임계값과 윈도우에 해당하는 표준편차를 비교하는 이유는, 움직임이 없는 구간을 산출하기 때문이다. 다시 말해, 예상동적구간제거단계(S400 내지 S600)에서 예상동적구간을 모두 제거하고, 움직임이 없는 것으로 예상되는 구간의 MSE에 기초하여 임계값을 산출하였기 때문에, 상기 임계값에서, 상기 임계값에 사용된 남겨진 MSE값들의 평균값의 비중이 크지 않다. 따라서, 윈도우에 해당하는 표준편차와 임계값을 비교함으로써 빠른 속도로 움직임이 없는 구간을 산출할 수 있으며, 움직임이 있는 구간을 판단하는 것에 비해 높은 정확도를 보이는 결과를 도출하였다. 또한, 학습데이터를 해당 카메라로 촬영한 영상으로 사용함으로써, 산출되는 MSE값의 평균값보다 표준편차가 더 영향을 많이 받아, 표준편차만을 이용하여 상기 임계값과 비교하더라도 높은 정확도의 결과를 도출할 수 있다.
도 9는 본 발명의 일 실시예에 따른 몇 개의 MSE값 및 슬라이딩윈도우를 개략적으로 도시한다.
개략적으로, 도 9는 단계 S300에서 도출한 복수의 MSE값에 대한 히스토그램과 상기 히스토그램에 크기가 10인 슬라이딩윈도우를 적용한 것을 도시한다.
구체적으로, 본 발명의 일 실시예에 따르면, 크기가 10인 슬라이딩윈도우방식을 적용하면, 윈도우 #1에는 #1 내지 #10의 MSE값이 포함되고, 윈도우 #2(미도시)에는 #11 내지 #20의 MSE값이 포함되며, 윈도우 #N에는 #(N*10-9) 내지 #(N*10)의 MSE값이 포함된다. 이와 같이, 윈도우의 순번이 올라감에 따라, 상기 윈도우가 미끄러지듯 기설정된 이동간격만큼 오른쪽으로 옮겨간다는 의미에서 슬라이딩윈도우라고 명명할 수 있다. 한편, 상술한 N은 1 이상의 임의의 자연수에 해당하며, 이하에서 서술되는 N도 이와 같다. 상기 일 실시예에서는 슬라이딩윈도우의 이동간격을 윈도우의 크기로 설정하였지만, 본 발명의 다른 실시예에서는, 윈도우의 크기보다 작게 설정할 수 있으며, 윈도우의 크기보다 이동간격을 작게 설정하는 경우, 본 발명의 수행결과의 정확도는 높아지지만 연산량이 증가하여 연산부하와 연산속도가 증가한다. 또한, 인접한 I프레임일지라도, 도 2를 참고하여, 중간에 삽입되는 프레임이 많기 때문에, 윈도우의 크기를 늘릴수록 움직임 유무를 판별하는 정확도가 떨어지며, 윈도우의 크기를 줄일수록 연산량이 많아지게 된다.
전술한 도 8에서의 설명과 같이, 이하에서도 윈도우의 크기를 10으로 설정하고 윈도우의 이동간격을 10으로 설정된 것을 바탕으로 서술한다.
도 10은 본 발명의 일 실시예에 따른 정적프레임판단단계(S800)의 수행결과를 개략적으로 도시한다.
도 10에 도시된 바와 같이, 상기 정적프레임판단단계(S800)는, 상기 MSE산출단계(S200 내지 S300)에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용(S830)하여 각각의 윈도우에 포함되는 복수의 MSE값들의 평균값을 산출하는 단계(S831); 상기 각각의 윈도우에 해당하는 평균값과 상기 임계값을 비교하는 단계(S832); 및 상기 임계값보다 작은 평균값을 가지는 윈도우에 포함되는 상기 복수의 MSE값들에 해당하는 I프레임을 정적프레임으로 판단(S833)하고, 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단(S834)하는 단계;를 포함한다.
구체적으로, 도 10에 도시된 정적프레임판단단계(S800)는, 본 발명의 일 실시예로서, 전술한 도 6 및 도 8에서의 정적프레임판단단계(S800)와는 다른 실시예에 해당한다. 설명의 편의를 위해, 도 10에서 서술하는 실시예를 제3실시예라 명명한다.
제3실시예에서는, 도 1 및 도 9를 참고하여, 단계S300에서 산출한 복수의 MSE값에 대해 슬라이딩윈도우방식을 적용(S830)한다. 여기서 슬라이딩윈도우는, 전술한 바와 같이 크기가 10인 윈도우를 기준으로 설명한다. 상기 복수의 MSE값에 대해 슬라이딩윈도우방식을 적용한 이후, 각각의 윈도우에 포함되는 MSE값에 대해 평균값을 산출(S831)한다.
예를 들어, 도 8에 대한 설명을 참고하여, 상기 단계 S300에서 산출한 MSE값이 100개라면, 각각의 MSE값에 대해 1부터 100까지의 일련번호를 각각 부여할 수 있다. 상기 일련번호를 부여하는 기준은 시간 순으로 하는 것이 바람직하다. 1번부터 100번까지의 MSE값들에 대해 크기가 10인 슬라이딩윈도우를 적용한다고 가정하면, 첫번째 윈도우(#1 윈도우)는 1번 내지 10번에 해당하는 MSE값들을 포함하고, 두번째 윈도우(#2 윈도우)는 11번 내지 20번에 해당하는 MSE값들을 포함한다. 이와 같이 윈도우의 크기를 설정한 뒤 슬라이딩윈도우방식을 적용한다면, 단계 S831에서는 첫번째 윈도우에 해당하는 1번 내지 10번에 해당하는 MSE값들의 평균값을 산출하고, 두번째 윈도우에 해당하는 11번 내지 20번에 해당하는 MSE의 평균값을 산출하는 방식으로 각각의 슬라이딩윈도우에 해당하는 평균값을 산출할 수 있다.
이후, 산출한 상기 각각의 슬라이딩윈도우에 해당하는 평균값과, 도 6을 참고하여, 단계 S700에서 산출한 임계값을 각각 비교(S832)한다. 비교한 뒤, 상기 제3실시예에서의 정적프레임판단부는, 상기 임계값보다 작은 평균값을 가지는 윈도우에 포함되는 MSE값들에 해당하는 I프레임을 정적프레임으로 판단(S833)하고, 상기 정적프레임에 해당하는 구간을 해당 영상에서 움직임이 없는 구간으로 도출(S834)하여 사용자에게 제공한다.
상기 제3실시예는, 전술한 제1실시예 및 제2실시예에 비해 빠른 연산을 수행할 수 있다는 장점이 있다. 하지만 상기 제2실시예와 달리 윈도우의 평균값과 임계치를 비교함으로써, 상기 제2실시예에 비해 정확도가 낮은 결과가 산출되며, 특히 움직임이 없다가 생기는 구간 혹은 움직임이 있다가 없어지는 구간과 같이 움직임 유무의 경계영역이 많아질수록 정확도가 떨어지는 단점이 있다.
도 11은 본 발명의 일 실시예에 따른 정적프레임판단단계(S800)의 수행결과를 개략적으로 도시한다.
도 11에 도시된 바와 같이, 상기 정적프레임판단단계(S800)는, 상기 MSE산출단계(S200 내지 S300)에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용(S840)하여 각각의 윈도우에 포함되는 복수의 MSE값들의 표준편차를 산출하는 단계(S841); 상기 각각의 윈도우에 해당하는 표준편차와 기설정된 기준값을 비교하는 단계(S842); 및 상기 기설정된 기준값보다 작은 표준편차를 가지는 윈도우에 대하여, 해당 윈도우에 포함되는 각각의 MSE값들을 상기 임계값과 비교(S843)하고, 상기 임계값 미만의 MSE값에 해당하는 I프레임을 정적프레임으로 판단(S844)하여 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단(S845)하는 단계;를 포함한다.
또한, 상기 기설정된 기준값은, 상기 예상동적구간제거단계(S400 내지 S600)에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거한 뒤, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 산출된다.
구체적으로, 도 11에 도시된 정적프레임판단단계(S800)는, 본 발명의 일 실시예로서, 전술한 도 6, 도 8, 및 도 10에서의 정적프레임판단단계(S800)와는 다른 실시예에 해당한다. 설명의 편의를 위해, 도 11에서 서술하는 실시예를 제4실시예라 명명한다.
제4실시예에서는, 도 1 및 도 9를 참고하여, 단계 S300에서 산출한 복수의 MSE값에 대해 슬라이딩윈도우방식을 적용(S840)한다. 여기서 슬라이딩윈도우는, 전술한 바와 같이 크기가 10인 윈도우를 기준으로 설명한다. 상기 복수의 MSE값에 대해 슬라이딩윈도우방식을 적용한 이후, 각각의 윈도우에 포함되는 MSE값에 대해 표준편차를 산출(S841)한다. 이후, 산출한 상기 각각의 슬라이딩윈도우에 해당하는 표준편차와, 기설정된 기준값을 각각 비교(S842)한다.
상기 기설정된 기준값은, 1차적으로 움직임이 없는 구간으로 예상되는 윈도우를 도출하기 위한 기준값으로, 도 1을 참고하여, 단계 S500 내지 S600이 반복 수행되어 0.05 이하의 p-value값을 가지는 구간의 MSE값이 모두 제거되면, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 산출할 수 있다.
상기 기설정된 기준값은, 본 발명의 일 실시예로서, 상기 제거되지 않은 구간에서의 MSE값들의 표준편차의 실수배로 설정하는 것이 바람직하다. 예를 들어, 상기 표준편차가 30이라면, 30의 절반 즉, 0.5배인 15를 기준치로 설정할 수 있고, 혹은 30의 2배인 60을 기준치로 설정할 수 있다. 상기 기설정된 기준값을 상기 표준편차에 비해 크게 설정하면, 1차적으로 도출하는 윈도우의 수가 많아져 연산속도가 떨어지며, 상기 기설정된 기준값을 상기 표준편차보다 작게 설정하면, 1차적으로 도출하는 윈도우의 수가 너무 적어, 움직임이 없는 윈도우임에도 움직임이 있는 윈도우로 판단할 수 있다. 더 바람직하게는, 상기 기설정된 기준값을 상기 표준편차의 0.3배 내지 3배 이내로 설정하는 것이 바람직하며, 이는 사용자에 의해 설정될 수 있다.
한편, 본 발명의 다른 실시예로서, 상기 기설정된 기준값은, 상기 MSE값들의 평균값; 및 상기 MSE값들의 표준편차;의 합 또는 차로 설정될 수 있다. 예를 들어, 상기 MSE값들의 평균값이 90이고, 상기 MSE값들의 표준편차가 16일 경우, 둘의 합인 106을 상기 기설정된 기준값으로 설정할 수 있고, 혹은 상기 MSE값들의 표준편차의 2배와 상기 MSE값들의 평균값을 합한 122(=90+2*16)으로 상기 기설정된 기준값을 설정할 수 있다. 상술한 다른 실시예는 특수한 상황, 다시 말해, 행사 등과 같은 비정기적 상황 등에서 사용자에 의해 설정될 수 있다.
상술한 바와 같이 설정된 기준값과 상기 각각의 슬라이딩윈도우에 해당하는 표준편차를 비교하여 1차적으로 움직임이 없는 구간으로 예상되는 윈도우를 도출(S842)하고, 단계S842에서 도출된 윈도우에 포함되는 각각의 윈도우를 단계 S700에서 산출한 임계값과 비교(S843)한다. 예를 들어, 단계 S842에서 도출한 윈도우가 윈도우 #14인 경우, 상기 윈도우 #14에 포함되는 MSE값의 번호는 #131 내지 #140에 해당한다. 정적프레임판단부는, 상기 #131 내지 #140의 MSE값을 상기 임계값과 각각 비교하고, 상기 임계값 미만의 MSE값에 해당하는 I프레임을 정적프레임(S844)로 판단한다. 이후 상기 정적프레임에 해당하는 구간을 해당 영상에서 움직임이 없는 구간으로 판단(S845)하여 사용자에게 제공한다.
상기 제4실시예는, 총 2번에 걸쳐 움직임이 없는 구간을 판별함으로써, 전술한 제2실시예 및 상기 제3실시예에 비해 연산속도는 느리지만, 정확한 결과물을 도출할 수 있고, 전술한 제1실시예에 비해서는 정확도는 다소 떨어지지만 더 적은 연상향으로 인해 더 빠르게 움직임이 없는 구간을 판별할 수 있다. 상기 제4실시예는 기설정된 기준값을 사용자에 의해 상황에 따라 조절할 수 있는 기술적특징을 보이며, 이를 통해 상황에 따라서는 가장 효율적으로 움직임이 없는 구간을 판별할 수 있다. 하지만 본 발명을 위해 복수의 상황에 대해서 실험해본 결과, 제2실시예의 경우가 제4실시예에 비해 정확도가 유의미하게 떨어지지 않으며, 연산속도는 유의미한 차이를 보여, 본 발명의 가장 바람직한 실시예는 상기 제2실시예에 해당한다. 이하에서 후술되는 도 12에 대한 설명에서는 상기 제2실시예를 통한 실험결과의 일 예에 대해 서술한다.
도 12는 본 발명의 일 실시예에 따른 움직임이 없는 구간을 판별하는 임계값 산출방법의 수행결과를 개략적으로 도시한다.
개략적으로, 도 12의 (a)는 낮 시간대의 도로에서 차량의 움직임을 포함한 영상에서 산출한 MSE값에 대한 히스토그램의 일부를 도시하고, 도 12의 (b)는 해당 영상에 대해 움직임이 없는 구간을 판별하였을 때 그 결과를 표로 도시한다.
구체적으로, 도 12의 (b)에 도시된 수행결과는 3840 x 2160, 60fps를 가진 5분 간의 영상으로 실험한 결과이며, 도 12의 (a)는 해당 영상에서 NAL 유닛의 헤더를 분석하여 I프레임을 추출하고, 추출한 I프레임에 대해 산출한 MSE값을 히스토그램으로 도시한 것이다. 상기 히스토그램에 대해, 도 8을 참고하여, 제2실시예를 적용하여 움직임이 없는 구간을 판별한 결과, 도 12의 (b)와 같은 결과를 도출할 수 있다. 도 12의 (b)에 도시된 바와 같이 움직임이 있는 프레임을 정적프레임이 아닌 프레임으로 판단한 확률이 93%, 정적프레임을 정적프레임으로 판단한 확률이 82%로 도출되었으며, 80%이상의 정확도를 도출한다. 한편, 상기 표는 본 발명을 통해 움직임 유무를 판별하고 이를 육안으로 확인한 내용을 기반으로 작성되었다. 도 12에 해당하는 실험 외에도 다양한 환경에서 수행했을 때, 도 12의 (b)와 같이 80%를 초과하는 정확도가 도출되었다.
도 12에 도시된 바와 같이, 움직임이 없는 구간을 좀 더 여유롭게 산출하고, 움직임이 있는 구간을 확실하게 산출함으로써 실제 본 발명을 적용할 시, 움직임이 있는 부분을 얻고자 할 때, 발생할 수 있는 오차를 최소화할 수 있는 효과를 발휘할 수 있다.
도 13는 본 발명의 일 실시예에 따른 컴퓨팅장치(11000)의 내부 구성을 예시적으로 도시한다.
도 1에 대한 설명에서 언급된 MSE산출부, 상기 예상동적구간제거부, 상기 임계값산출부 및 상기 정적프레임판단부는 후술하는 도 13에 도시된 컴퓨팅장치의 구성요소를 포함할 수 있다.
도 13에 도시한 바와 같이, 컴퓨팅장치(11000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다.
구체적으로, 상기 메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(11200)는 상기 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그 밖에 다양한 데이터를 포함할 수 있다.
이때, 상기 프로세서(11100)나 상기 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 상기 메모리(11200)에 액세스하는 것은 상기 프로세서(11100)에 의해 제어될 수 있다. 상기 프로세서(11100)은 단일 혹은 복수로 구성될 수 있고, 연산처리속도 향상을 위하여 GPU 및 TPU 형태의 프로세서를 포함할 수 있다.
상기 주변장치 인터페이스(11300)는 상기 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 상기 프로세서(11100) 및 상기 메모리 (11200)에 결합시킬 수 있다. 상기 프로세서(11100)는 상기 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 상기 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
상기 입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 상기 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 상기 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 상기 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 상기 입/출력 주변장치들은 상기 입/출력 서브시스템(11400)을 거치지 않고 상기 주변장치 인터페이스(11300)에 결합될 수도 있다.
상기 전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 상기 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
상기 통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다. 또는, 상술한 바와 같이 필요에 따라 상기 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.
이러한 도 13의 실시예는, 상기 컴퓨팅장치(11000)의 일례일 뿐이고, 상기 컴퓨팅장치(11000)는 도 13에 도시된 일부 컴포넌트가 생략되거나, 도 13에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2 개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 13에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 상기 통신 회로(1160)에 다양한 통신방식(Wi-Fi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 상기 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 어플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 표준편차되어서, 표준편차된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 일 실시예에 따르면, 입력 받은 영상 전체의 비트스트림에서 I프레임만을 구분하여 디코딩함으로써, 상기 비트스트림의 대부분을 차지하는 B프레임 및 P프레임을 처리하지 않고 최소한의 디코딩으로 해당 영상을 분석하여, 종래의 기술보다 적은 시간과 적은 연산 부하로 해당 영상 전체에서 움직임이 존재하지 않는 구간을 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 연산부하가 적고 빠른 연산속도로 영상을 분석할 수 있어, 실시간으로 입력되는 영상에서 움직임이 존재하지 않는 구간을 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 시간을 포함하는 환경조건을 고려하여 생성한 해당 구역의 학습데이터를 사용함으로써, 입력 받은 영상에서 움직임이 존재하지 않는 구간을 높은 정확도로 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 산출된 MSE값에 대해 p-value값을 산출하고, 이에 기초하여 움직임이 있는 구간으로 예상되는 예상동적구간을 반복적으로 제거함으로써, 움직임이 없는 구간을 판별할 수 있는 임계치를 정확하게 산출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 정적프레임판단단계에서 다양한 방법으로 정적프레임을 검출할 수 있고, 정적프레임의 검출목적에 따라 상기 다양한 방법을 적용할 수 있는 효과를 발휘할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (9)

  1. 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 시스템에서 수행되는 실시간영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법으로서,
    실시간영상을 기록한 비트스트림에서 NAL유닛의 헤더에 포함되는 6 비트(bit)의 크기를 가지는 nal_unit_type만을 분석하여 I프레임만을 구분하여 디코딩하고, 디코딩한 I프레임에 대하여, 하기 [수학식 1]에 기초하여, 인접한 두 I프레임 간의 픽셀 차이에 기초하여 상기 인접한 두 I프레임 사이의 MSE값을 산출하는 MSE산출단계;

    [수학식 1]


    상기 비트스트림 전체에서 산출한 MSE값에 대하여 p-value를 산출하고, 산출된 p-value값이 0.05 이하로 산출되는 구간의 MSE값을 제거하는 단계로서, 상기 p-value값이 0.05 이하로 산출되는 구간이 존재하지 않을 때까지 반복적으로 상기 MSE값을 제거하는 단계를 수행하는 예상동적구간제거단계;
    상기 예상동적구간제거단계에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거한 뒤, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 상기 실시간영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출단계; 및
    상기 임계값 미만의 MSE값을 가지는 I프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단단계;를 포함하고,
    전술한 상기 실시간영상을 수신하여 상기 임계값산출단계까지의 과정은, 카메라가 시간별, 날짜별로 촬영한 동영상데이터를 통해 미리 임계값을 산출하기 위한 학습데이터를 사용하여 수행되며,
    상기 정적프레임판단단계는,
    상기 MSE산출단계에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용하여 각각의 윈도우에 포함되는 복수의 MSE값들의 표준편차를 산출하는 단계;
    상기 각각의 윈도우에 해당하는 표준편차와 기설정된 기준값을 비교하는 단계; 및
    상기 기설정된 기준값보다 작은 표준편차를 가지는 윈도우에 대하여, 해당 윈도우에 포함되는 각각의 MSE값들을 상기 임계값과 비교하고, 상기 임계값 미만의 MSE값에 해당하는 I프레임을 정적프레임으로 판단하여 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단하는 단계;를 포함하는, 움직임이 없는 구간을 판별하는 임계값 산출방법.
  2. 청구항 1에 있어서,
    상기 실시간영상은 HEVC 규약에 따라 인코딩된 영상데이터를 포함하는, 움직임이 없는 구간을 판별하는 임계값 산출방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 청구항 1에 있어서,
    상기 기설정된 기준값은,
    상기 예상동적구간제거단계에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거한 뒤, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 산출되는, 움직임이 없는 구간을 판별하는 임계값 산출방법.
  8. 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는, 실시간영상에서 움직임이 없는 구간을 판별하는 임계값 산출장치로서,
    실시간영상을 기록한 비트스트림에서 NAL유닛의 헤더에 포함되는 6 비트(bit)의 크기를 가지는 nal_unit_type만을 분석하여 I프레임만을 구분하여 디코딩하고, 디코딩한 I프레임에 대하여, 하기 [수학식 1]에 기초하여, 인접한 두 I프레임 간의 픽셀 차이에 기초하여 상기 인접한 두 I프레임 사이의 MSE값을 산출하는 MSE산출부;

    [수학식 1]


    상기 비트스트림 전체에서 산출한 MSE값에 대하여 p-value를 산출하고, 산출된 p-value값이 0.05 이하로 산출되는 구간의 MSE값을 제거하는 단계를 수행하고, 상기 p-value값이 0.05 이하로 산출되는 구간이 존재하지 않을 때까지 반복적으로 상기 MSE값을 제거하는 단계를 수행하는 예상동적구간제거부;
    상기 예상동적구간제거부에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거하면, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 상기 실시간영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출부; 및
    상기 임계값 미만의 MSE값을 가지는 I프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단부;를 포함하고,
    전술한 상기 실시간영상을 수신하여 상기 임계값을 산출할 때까지의 과정은, 카메라가 시간별, 날짜별로 촬영한 동영상데이터를 통해 미리 임계값을 산출하기 위한 학습데이터를 사용하여 수행되며,
    상기 정적프레임판단부는,
    상기 MSE산출부에서 산출된 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용하여 각각의 윈도우에 포함되는 복수의 MSE값들의 표준편차를 산출하는 단계;
    상기 각각의 윈도우에 해당하는 표준편차와 기설정된 기준값을 비교하는 단계; 및
    상기 기설정된 기준값보다 작은 표준편차를 가지는 윈도우에 대하여, 해당 윈도우에 포함되는 각각의 MSE값들을 상기 임계값과 비교하고, 상기 임계값 미만의 MSE값에 해당하는 I프레임을 정적프레임으로 판단하여 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단하는 단계;를 수행하는, 움직임이 없는 구간을 판별하는 임계값 산출장치.
  9. 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은,
    실시간영상을 기록한 비트스트림에서 NAL유닛의 헤더에 포함되는 6 비트(bit)의 크기를 가지는 nal_unit_type만을 분석하여 I프레임만을 구분하여 디코딩하고, 디코딩한 I프레임에 대하여, 하기 [수학식 1]에 기초하여, 인접한 두 I프레임 간의 픽셀 차이에 기초하여 상기 인접한 두 I프레임 사이의 MSE값을 산출하는 MSE산출단계;

    [수학식 1]


    상기 비트스트림 전체에서 산출한 MSE값에 대하여 p-value를 산출하고, 산출된 p-value값이 0.05 이하로 산출되는 구간의 MSE값을 제거하는 단계로서, 상기 p-value값이 0.05 이하로 산출되는 구간이 존재하지 않을 때까지 반복적으로 상기 MSE값을 제거하는 단계를 수행하는 예상동적구간제거단계;
    상기 예상동적구간제거단계에서 0.05 이하의 p-value값을 가지는 구간의 MSE값을 모두 제거한 뒤, 제거되지 않은 구간에서의 MSE값들의 평균값; 및 상기 제거되지 않은 구간에서의 MSE값들의 표준편차;에 기초하여 상기 실시간영상에서 움직임 유무를 판별하기 위한 임계값을 산출하는 임계값산출단계; 및
    상기 임계값 미만의 MSE값을 가지는 I프레임에 해당하는 구간을 움직임이 없는 구간으로 판단하는 정적프레임판단단계;를 포함하고,
    전술한 상기 실시간영상을 수신하여 상기 임계값산출단계까지의 과정은, 카메라가 시간별, 날짜별로 촬영한 동영상데이터를 통해 미리 임계값을 산출하기 위한 학습데이터를 사용하여 수행되며,
    상기 정적프레임판단단계는,
    상기 MSE산출단계에서 산출한 복수의 MSE값에 대하여 슬라이딩윈도우방식을 적용하여 각각의 윈도우에 포함되는 복수의 MSE값들의 표준편차를 산출하는 단계;
    상기 각각의 윈도우에 해당하는 표준편차와 기설정된 기준값을 비교하는 단계; 및
    상기 기설정된 기준값보다 작은 표준편차를 가지는 윈도우에 대하여, 해당 윈도우에 포함되는 각각의 MSE값들을 상기 임계값과 비교하고, 상기 임계값 미만의 MSE값에 해당하는 I프레임을 정적프레임으로 판단하여 상기 정적프레임에 해당하는 구간을 상기 실시간영상에서 움직임이 없는 구간으로 판단하는 단계;를 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램.
KR1020220092562A 2022-07-26 2022-07-26 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램 KR102637947B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220092562A KR102637947B1 (ko) 2022-07-26 2022-07-26 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220092562A KR102637947B1 (ko) 2022-07-26 2022-07-26 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20240014869A KR20240014869A (ko) 2024-02-02
KR102637947B1 true KR102637947B1 (ko) 2024-02-19

Family

ID=89900558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220092562A KR102637947B1 (ko) 2022-07-26 2022-07-26 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102637947B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100363732B1 (ko) * 2000-02-14 2002-12-05 주식회사 훠엔시스 영상 신호의 움직임 검출 장치 및 방법
KR101910542B1 (ko) 2017-06-21 2018-10-22 에스케이 텔레콤주식회사 객체 검출을 위한 영상분석 서버장치 및 방법
KR102253989B1 (ko) 2020-08-19 2021-05-20 이노뎁 주식회사 딥러닝 객체 검출기를 이용한 cctv 영상의 객체 추적 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
David Lilja, LINEAR REGRESSION USING R - AN INTRODUCTION TO DATA MODELING, 2020(2020.08.18.) 1부.*
권익환 외 2인, 비디오에서 동체의 행위인지를 위한 효율적 학습 단위에 관한 연구, 멀티미디어학회논문지 v.20 no.2., Feb. 2017(2017.02.28.) 1부.*
엄유미 외 2인, HEVC 부호화 부가정보를 이용한 장면전환 검출 연구, 방송공학회논문지 제20권 제6호, 2015년 11월(2015.11.30.) 1부.*

Also Published As

Publication number Publication date
KR20240014869A (ko) 2024-02-02

Similar Documents

Publication Publication Date Title
CN111670580B (zh) 渐进压缩域计算机视觉和深度学习系统
CN108882020B (zh) 一种视频信息处理方法、装置及系统
US20220353525A1 (en) Image encoding method and apparatus, and image decoding method and apparatus
US8787692B1 (en) Image compression using exemplar dictionary based on hierarchical clustering
US9609338B2 (en) Layered video encoding and decoding
CN101389029B (zh) 一种视频图像编码和检索的方法及装置
KR102261669B1 (ko) 인공신경망 기반 객체영역 검출방법, 장치 및 이에 대한 컴퓨터 프로그램
US7142602B2 (en) Method for segmenting 3D objects from compressed videos
JP2009147911A (ja) 映像データ圧縮前処理方法およびこれを用いた映像データ圧縮方法と映像データ圧縮システム
JP2012239085A (ja) 画像処理装置、画像処理方法
KR101149522B1 (ko) 장면 전환 검출 시스템 및 방법
KR20230040285A (ko) 영상정보의 비트스트림정보에 기반하여 객체영역을 검출하는 방법 및 시스템
US9712828B2 (en) Foreground motion detection in compressed video data
WO2024139166A1 (zh) 视频编码方法及装置、电子设备和存储介质
US9578277B2 (en) Method and device for storing video images
US11164328B2 (en) Object region detection method, object region detection apparatus, and non-transitory computer-readable medium thereof
Aliouat et al. An efficient low complexity region-of-interest detection for video coding in wireless visual surveillance
Dai et al. HEVC video steganalysis based on PU maps and multi-scale convolutional residual network
KR102637947B1 (ko) 실시간 영상에서 움직임이 없는 구간을 판별하는 임계값 산출방법, 장치 및 이에 대한 컴퓨터 프로그램
US20240348817A1 (en) Video processing methods, devices, electronic devices and computer-readable storage media
KR102557904B1 (ko) 동적프레임이 존재하는 구간의 검출방법
TWI739382B (zh) 位元率控制方法與視訊處理裝置
KR102243049B1 (ko) Cctv 영상으로부터 클립 영상을 제공하는 장치 및 방법
KR102592089B1 (ko) 움직임이 존재하는 프레임의 검출방법
US20190268606A1 (en) Moving image encoding apparatus, control method for moving image encoding apparatus, and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant