KR20180047232A - 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치 - Google Patents

실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치 Download PDF

Info

Publication number
KR20180047232A
KR20180047232A KR1020160143120A KR20160143120A KR20180047232A KR 20180047232 A KR20180047232 A KR 20180047232A KR 1020160143120 A KR1020160143120 A KR 1020160143120A KR 20160143120 A KR20160143120 A KR 20160143120A KR 20180047232 A KR20180047232 A KR 20180047232A
Authority
KR
South Korea
Prior art keywords
image
frame
motion
size
packet
Prior art date
Application number
KR1020160143120A
Other languages
English (en)
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 KR1020160143120A priority Critical patent/KR20180047232A/ko
Priority to CN201711043482.9A priority patent/CN108012049A/zh
Priority to US15/798,556 priority patent/US10282851B2/en
Publication of KR20180047232A publication Critical patent/KR20180047232A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2134Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 일 태양에 따른 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법은, 영상 분석 장치가, 프레임(frame)을 구성하는 복수의 패킷(packet)의 크기를 모두 더하여 상기 프레임의 크기를 연산하는 단계와 상기 영상 분석 장치가, 영상을 구성하는 복수의 프레임의 크기를 비교하여, 상기 복수의 프레임의 크기의 패턴을 분석하는 단계 및 상기 영상 분석 장치가, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계를 포함할 수 있다.

Description

실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치 {Method and apparatus for video analysis based on pattern analysis of network packets of real-time video streaming}
본 발명은 실시간 영상 스트리밍의 네트워크 패킷의 패턴을 분석하여 움직임을 감지하는 방법 및 그 장치에 관한 것이다. 보다 자세하게는 실시간 영상 스트리밍의 네트워크 패킷을 모니터링 하고, 패킷의 패턴을 분석하여 영상 내에서 움직임이 있는지 여부를 감지하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
CCTV(closed-circuit television)와 같은 네트워크 카메라로부터 실시간으로 영상을 수신하고, 수신한 영상을 분석해서 움직임을 감지하는 종래의 방법은 대부분 수신 단말에서의 처리에 기반한다.
카메라로부터 실시간 영상을 네트워크를 통해 패킷(packet)으로 수신하고, 수신한 패킷을 대상으로 해당 영상의 코덱(codec)에 따라 영상 복호화를 수행하고, 영상을 구성하는 개별적 정지 이미지(image)에서 변화가 있는 영역을 확인한다. 즉 영상을 구성하는 두 이미지를 비교하여 변화가 있는 영역을 감지하고 이를 통해 움직임이 있는지 감지하는 것이 종래의 주된 영상 분석 방법이다.
이처럼 종래의 영상 분석 방법에서 정확한 움직임을 파악하기 위해서는 영상을 수신한 단말에서 영상을 디코딩(decoding) 해서 화면으로 펼치고, 화면의 이미지를 재해석해서 움직임을 파악해야 한다. 하지만 이는 많은 연산 능력(computing power)을 필요로 한다는 단점이 있다.
일반적인 성능의 기기의 경우 처리할 수 있는 처리량이 3 FPS ~ 7 FPS(frame per second)에 불과하다. 이것도 저장된 영상을 처리할 때의 처리량으로, 저장된 영상이 아닌 실시간으로 영상을 수신하고 처리한다고 가정하면 3~7 FPS보다 더 낮을 수밖에 없다. 하지만 3 FPS ~ 7 FPS 정도의 처리량으로는 30 FPS 정도의 실시간 영상에서 움직임을 감지하고 처리하기에는 역부족이다.
또한 종래의 방법은 영상 복호화 과정(=디코딩)이 필수적이기 때문에 인코딩과 디코딩 과정에서 비디오 어플리케이션의 종속성을 야기한다. 즉 영상을 송신하는 측에서 사용한 인코딩 방법에 따라, 영상을 수신하는 측에서 사용할 디코딩 방법이 결정되며 이는 영상을 분석하기 위한 기기에도 영향을 미친다. 경우에 따라서는 영상을 분석하기 위한 기기의 교체가 필요할 수도 있다.
이에 많은 연산 능력을 필요로 않지 않으면서, 간단하게 영상에서 움직임을 감지할 수 있는 방법이 필요하다. 또한, 영상의 코덱과 무관하게 영상에서 움직임을 감지할 수 있는 방법이 필요하다.
본 발명이 해결하고자 하는 기술적 과제는 실시간 영상 스트리밍의 네트워크 패킷의 패턴을 분석하여 움직임을 감지하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 태양에 따른 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법은, 영상 분석 장치가, 프레임(frame)을 구성하는 복수의 패킷(packet)의 크기를 모두 더하여 상기 프레임의 크기를 연산하는 단계와 상기 영상 분석 장치가, 영상을 구성하는 복수의 프레임의 크기를 비교하여, 상기 복수의 프레임의 크기의 패턴을 분석하는 단계 및 상기 영상 분석 장치가, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 프레임(frame)을 구성하는 복수의 패킷(packet)의 크기를 모두 더하여 상기 프레임의 크기를 연산하는 단계는, 상기 영상의 패킷이 암호화 되지 않은 경우, 상기 프레임의 시작을 알리는 마커(marker) 정보를 포함한 패킷부터 상기 프레임의 끝을 알리는 마커(marker) 정보를 포함한 패킷을, 상기 복수의 패킷으로 감지하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 프레임(frame)을 구성하는 복수의 패킷(packet)의 크기를 모두 더하여 상기 프레임의 크기를 연산하는 단계는, 상기 영상의 패킷이 암호화 된 경우, 상기 영상의 코덱(codec)에 대해 사전에 기계 학습된 프레임 당 패킷의 수(packet per frame)를 이용하여, 상기 프레임당 패킷의 수에 해당하는 패킷을, 상기 복수의 패킷으로 감지하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 영상을 구성하는 복수의 프레임의 크기를 비교하여, 상기 복수의 프레임의 크기의 패턴을 분석하는 단계는, 상기 복수의 프레임의 크기의 평균(average), 편차(deviation), 최소값, 최대값, 주기 중에서 3개 이상을 연산하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 평균이 상기 최소값과 상기 최대값의 평균과 기 설정된 임계치 이내인 경우, 상기 영상에서 움직임이 없는 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 편차가 기 설정된 임계치(threshold) 이상인 경우, 상기 영상에서 움직임이 없는 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 최소값과 상기 최대값이 주기적으로 반복되는 경우, 상기 영상에서 움직임이 없는 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 평균이 상기 최소값과 기 설정된 임계치 이내인 경우, 상기 영상에서 움직임이 있는 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 편차가 기 설정된 임계치(threshold) 이하인 경우, 상기 영상에서 움직임이 있는 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 최소값과 상기 최대값이 주기적으로 반복되지 않는 경우, 상기 영상에서 움직임이 있는 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 영상에서 움직임이 있는 것으로 판단한 경우, 상기 영상의 코덱(codec)에 대해 사전에 기계 학습된 결정 트리(decision tree)를 이용하여, 상기 움직임의 정도를 수치로 연산하는 단계를 포함하되, 상기 결정 트리는 상기 복수의 프레임의 크기의 평균과 편차를 입력 변수로 하고 상기 움직임의 정도의 수치를 목표 변수로 하는 것이다.
또 다른 실시 예에서, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는, 상기 영상에서 움직임이 없는 것으로 판단한 경우, 상기 영상에서 움직임이 없는 프레임을 삭제(drop)하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 영상에서 움직임이 없는 프레임을 삭제(drop)하는 단계는, 상기 움직임이 없는 프레임이 삭제된 영상을 네트워크를 통해 전송하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 영상에서 움직임이 없는 프레임을 삭제(drop)하는 단계는, 상기 움직임이 없는 프레임이 삭제된 영상을 저장공간(storage)에 저장하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 효과는 다음과 같다.
네트워크에서 패킷의 형태와 정보는 화면상 움직임에 대한 아무런 정보를 주지 않는다. 화면상 움직임에 대한 정보를 파악하기 위해서는 종래의 방법처럼 영상을 복호화 해야 한다. 즉 화면상에서 사람이 지나가는지, 자동차가 지나가는지, 사람이 등장해서 손을 드는지 또는 내리는지 등과 같은 움직임에 관한 구체적인 정보를 얻기 위해서는 영상을 복호화 해야 한다. 하지만, 이는 많은 연산 능력을 필요로 한다.
이에 본 발명에서 제안하는 방법을 이용하면, 패킷을 의미론적 단위로 구별하여 분석하고, 이 정보를 기반으로 화면상 움직임의 여부 및 정도를 파악할 수 있다. 즉 화면상에서 사람이 지나가는지, 자동차가 지나가는지는 판별할 수는 없어도 물체가 지나가서 화면상에 움직임이 발생했는지 여부는 파악할 수 있다. 또한 어느 정도의 크기로 움직임이 발생했는지 파악할 수 있다.
이처럼 본 발명에서 제안하는 방법을 이용하면 움직임의 내용을 알 수 없지만, 움직임의 여부와 정도는 알 수 있다. 이를 이용하여, 움직임이 없거나 움직임이 작은 경우에는, 영상을 전송할 때 비디오 프레임 단위로 제거하여 네트워크 전송량을 줄일 수 있다. 또한 영상을 수신할 때, 전송된 영상이 저장될 공간의 효율을 높일 수 있다.
본 발명에서 제안하는 방법은 많은 연산 능력을 필요로 하지 않으므로, 영상을 촬영해서 실시간으로 전송하는 카메라와 결합이 가능하다 이처럼 송신단과 결합하면, 영상을 전송하기 전에 움직임이 없거나 움직임이 작은 비디오 프레임은 삭제하고 전송하여 네트워크 전송량을 줄일 수 있다.
반대로 영상을 수신하고 저장하고 분석하는 수신 단말과 결합하면, 영상을 수신해서 저장하기 전에 움직임이 없거나 움직임이 작은 비디오 프레임을 삭제하고 저장할 수 있다. 그러면 비디오 프레임에서 움직임이 있는 프레임, 즉 의미가 있는 프레임만 선별하여 저장할 수 있으므로 저장 공간의 효율을 높일 수 있다.
본 발명에서 제안하는 방법은 실시간 네트워크 패킷 레벨에서의 움직임을 분석하기 때문에, 코덱의 변경 및 정보를 요구하지 않는다. 또한, 디코딩 후의 수신 단말에서의 작업량을 요구하지 않는다. 이는 어플리케이션과의 종속성을 현저히 낮춤으로써, 적용성 및 도입의 용이성을 높이고 이식성을 높일 수 있다. 또한 패킷이 담고 있는 정보를 분석하는 것이 아니기 때문에 암호화되어 있는 패킷의 경우에도 암호를 해제하지 않고서도 영상 분석이 가능하다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래의 영상 분석 방법을 설명하기 위한 순서도이다.
도 2는 본 발명의 일 실시 예에 따른 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석에 기반한 움직임을 감지하는 방법의 순서도이다.
도 3a 내지 도 3b는 본 발명의 일 실시 예에서 프레임의 크기의 패턴을 기준으로 움직임을 감지하는 과정을 설명하기 위한 도면이다.
도 4a 내지 도 4b는 본 발명의 일 실시 예에서 패킷이 암호화 된 경우 프레임의 크기를 구하는 감지하는 과정을 설명하기 위한 도면이다.
도 5a 내지 도 5b는 본 발명의 일 실시 예에서 프레임의 크기의 패턴을 기준으로 움직임의 정도를 판단하는 과정을 설명하기 위한 도면이다.
도 6은 종래의 이미지 분석에 의한 움직임의 정도와 본 발명의 일 실시 예에 의한 움직임의 정도를 비교 설명하기 위한 도면이다.
도 7a 내지 도 7c는 본 발명의 일 실시 예에 따른 영상 분석 방법의 실험 결과를 설명하기 위한 도면이다.
도 8은 본 발명에서 제안하는 방법으로 프레임을 삭제하는 경우에 종래의 영상 인식의 정확도에 미치는 영향을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 더욱 상세히 설명한다.
도 1은 종래의 영상 분석 방법을 설명하기 위한 순서도이다.
도 1을 참고하면, 영상을 모니터링 하면서(S1100), 영상의 패킷이 암호화 되어 있는지 확인한다(S1200). 암호화가 되어 있는 경우에는 우선 암호를 해제하는 과정(decrypt)을 수행한다(S1250). 다음으로 영상의 코덱에 따라 영상 복호화(decode)를 수행한다(S1300).
영상을 복호화 하면 영상을 구성하는 이미지를 확인할 수 있다. 영상은 실제로는 프레임이라 불리는 이미지의 나열이다. 30 FPS의 영상은 1초에 30장의 이미지를 순차적으로 노출하여 마치 움직이는 것과 같은 느낌이 들도록 착시 효과를 일으킨다. 그러므로 영상을 구성하는 프레임을 분석하면 움직임이 있는지 확인할 수 있다(S1400).
예를 들면 연속된 두 프레임의 이미지를 비교하면 배경(back-ground)은 동일하고 움직이는 객체만 위치나 형태가 달라지게 된다. 이렇게 이미지 사이의 차이점을 분석하면 어떤 객체가 움직였는지, 어떠한 움직임으로 움직였는지 등을 파악할 수 있다(S1500). 그 후에는 영상이 아직 끝나지 않았으면(S1600), 다음 프레임을 이동하여 마찬가지로 영상 분석을 진행한다(S1100).
종래의 이와 같은 영상 분석(VA; Video Analysis)은 많은 연산 능력을 필요로 한다. 우선 네트워크를 통해 전송된 영상의 패킷을 복호화 하는 과정(S1300)에서 많은 연산 능력을 필요로 한다. 또한, 영상의 이미지를 비교하는 과정(S1400)에서 많은 연산 능력을 필요로 한다. 또한, 영상의 패킷이 네트워크를 통해 전송 되는 과정에서 보안을 위해 암호화(encrypt) 되어서 전송되는 경우에는 암호를 해제(decrypt)하기 위한 과정(S1250)에서도 많은 연산 능력을 필요로 한다. 그렇기 때문에 실시간으로 영상을 분석해서 처리하기에는 처리량의 한계가 존재한다.
또한, 종래의 방법에서는 영상을 복호화 하는 과정(S1300)이 필수적이기 때문에, 영상의 코덱(codec)에 종속성을 가진다. 즉, 영상을 분석하기 위한 기기에서 영상을 복호화 할 수 없는 경우에는, 코덱을 설치하거나 기기를 교체해야 필요가 생길 수 있다. 또한 일부 코덱의 경우 라이센스에 의한 비용이 발생할 수 있다.
이처럼 종래의 영상을 분석하여 움직임을 감지하는 방법은 실시간 처리에 한계를 가지고 있다. 즉 종래의 방법의 가장 큰 취약점(weakness)은 무거운 비디오 화면 처리와 연산으로 인해 실시간 적용이 힘들다는 점이다. 이로 인해 영상 분석 기능을 송신단에는 적용하기 어렵고 수산단에만 적용이 가능하다. 또한, 수신단에 적용하는 영상 처리 마저도 실시간 처리는 힘들다.
예를 들면, 종래의 비디오 스트리밍은 기술은 30 FPS ~ 60 FPS로 화면을 전송할 수 있지만, 정작 이를 수신하는 수신 단말에서는 30 FPS ~ 60 FPS로 화면을 처리할 수 없다. 종래의 영상 분석 방법으로는 3 FPS ~ 7 FPS 정도가 한계이다.
이를 해결하기 위해서는 많은 연산 능력을 필요로 하는 과정(S1250, S1300, S1400)을 최소화 할 필요가 있다. 특히 영상을 복호화 하는 과정(S1300)을 수행하지 않고서 움직임을 감지할 수 있다면, 코덱(codec) 종속성을 낮추면서도 실시간 영상 분석이 가능하다.
도 2는 본 발명의 일 실시 예에 따른 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석에 기반한 움직임을 감지하는 방법의 순서도이다.
도 2를 참고하면, 영상을 모니터링 하면서(S2100), 영상의 패킷이 암호화 되어 있는지 확인한다(S2200). 여기까지는 도 1의 과정과 동일하나, 본 발명에서는 영상의 패킷이 암호화가 되어 있더라도 암호를 해제(decrypt)하는 과정(S1250)을 수행하지는 않는다. 대신 사전에 설정된 프레임 분석 정보를 기반으로 프레임을 인식한다(S2250).
만약 영상의 패킷이 암호화가 되어 있지 않은 경우에는 영상의 패킷에서 프레임 정보를 읽어서 프레임을 인식한다(S2300). 이는 영상을 복호화 하지 않고서도 수행할 수 있다. 즉, 영상을 복호화 하지 않더라도 패킷의 메타 데이터를 통해, 해당 패킷이 어느 프레임의 데이터인지, 몇 개의 패킷이 모여서 하나의 프레임을 이루는지 정도는 확인할 수 있다.
프레임을 인식하였으면, 프레임을 구성하는 패킷의 크기(size)를 모두 더해 프레임의 크기를 구한다(S2400). 패킷의 크기는 패킷의 바이트(byte)의 크기를 말한다. 즉 실시간으로 영상을 전송하기 위해 패킷을 나열하면, 패킷의 정보를 통해서 몇 번 패킷부터 몇 번 패킷까지가 하나의 프레임을 구성하는지 알 수 있고, 해당 프레임을 구성하는 패킷의 크기를 모두 더하면 해당 프레임의 크기를 알 수 있다.
물론 프레임의 크기 그 자체에는 아무런 정보가 없다. 프레임의 크기는 단순히 숫자일 뿐이므로, 프레임의 크기가 해당 프레임에 어떠한 이미지가 있는지 어떠한 배경과 전경이 등장하는지 말해 주는 것은 아니다. 하지만 프레임의 크기를 구하는 것은 단순히 패킷의 크기를 더하는 것만으로도 아주 간단히 구할 수 있다.
프레임의 크기(size)를 구한 후에는 연속된 프레임의 크기의 변화를 계산한다(S2500). 즉 프레임의 크기의 패턴을 분석한다. 이 역시 단순히 나열된 숫자의 패턴을 분석하는 것이므로, 도 1에서 프레임의 이미지를 비교하는 과정(S1400)에 비해서는 매우 작은 연산 능력으로 수행 가능하다.
프레임의 크기의 패턴을 분석하였으면, 이를 이용하여 움직임을 감지한다(S2600). 물론 이는 도 1에서 움직임을 감지하는 과정(S1500)처럼 움직임의 내용까지 파악할 수 있는 것은 아니다. 대신, 움직임이 있었는지 여부 및 움직임의 정도를 파악할 수 있다. 아직 영상이 끝나지 않았으면(S2700), 다음 프레임을 이동하여 마찬가지로 영상 분석을 진행한다(S2100).
프레임의 크기의 패턴을 이용하여 움직임이 있는지 여부를 판단하는 과정(S2500)에 대해서는 도 3a 내지 도 3b에서 보다 자세하게 살펴보기로 한다. 또한, 프레임의 크기의 패턴을 이용하여 움직임의 정도를 판단하는 과정(S2600)에 대해서는 도 5a 내지 도 6에서 보다 자세하게 살펴보기로 한다. 또한, 영상의 패킷이 암호화된 경우 사전에 설정된 프레임 분석 정보를 기반으로 프레임을 인식하는 과정(S2250)에 대해서는 도 4a 내지 도 4b에서 보다 자세하게 살펴보기로 한다.
도 1과 도 2를 비교해 보면, 도 2에서는 도 1의 암호화된 영상의 패킷의 암호를 해제(decrypt)하는 과정(S1250), 영상을 복호화(decode) 하는 과정(S1300) 및 프레임의 이미지를 비교하고 분석하는 과정(S1400)이 생략된 것을 볼 수 있다. 이를 통해 작은 연산 능력으로도 움직임을 감지할 수 있다.
암호화된 영상의 패킷의 암호를 해제(decrypt)하는 과정(S1250)은 사전에 정의된 프레임 분석 방법을 적용하는 과정(S2250)으로 대체되었고, 영상을 복호화(decode) 하는 과정(S1300)은 프레임의 크기를 구하는 과정(S2400)으로 대체되었고, 프레임의 이미지를 비교하고 분석하는 과정(S1400)은 프레임의 크기의 패턴을 구하는 과정(S2500)으로 대체되었다.
도 2에서 볼 수 있듯이 본 발명에서 제안하는 방법은 작은 연산 능력으로 움직임을 감지할 수 있기 때문에 CCTV와 같은 네트워크 카메라의 송신 단말에 적용할 수도 있고, 종래의 영상 분석 기기와 같은 수신 단말에 적용할 수도 있다. 또한 종래의 방법과 병행해서 사용할 수도 있다.
송신 단말에 적용하는 경우, 카메라가 영상을 촬영하고 이를 실시간으로 네트워크를 통해 전송하기 전에 움직임이 있는지 여부를 감지하고 움직임이 없는 프레임은 삭제하고 전송할 수 있다. 실험 결과에 따르면, 촬영된 시간의 30% 정도는 움직임이 있고, 70% 정도는 움직임이 없는 영상을 촬영한 카메라의 경우 네트워크 데이터 분량의 50% 정도를 절감할 수 있다.
또한 이를 수신 단말에 적용하는 경우, 네트워크 카메라로부터 영상을 수신하고 이를 저장하기 전에 움직임이 없는 프레임을 삭제함으로써, 저장 공간의 저장 효율을 높일 수 있다. 앞선 실험 결과에 따르면, 데이터 분량을 50% 정도 절감하면, 1기가 당 3센트인 아마존의 스토리지 비용으로 환산 시 100개의 카메라로부터 발생한 영상을 저장하는 월 비용을 총 4,500불에서 총 2,300불로 50% 가량 절감할 수 있다.
또한, 본 발명에서 제안하는 방법은 종래의 방법과 병행이 가능하다. 예를 들어, 고성능(heavy computing)을 가진 객체 인식(object recognition) 기기가 초당 5 FPS 정도를 처리할 수 있다고 할 때, 카메라가 촬영한 30 FPS 영상에서 움직임이 없는 프레임을 삭제하고 움직임이 있는 프레임만 선별해서 객체 인식 기기로 전달하면, 객체 인식 기기의 5 FPS 정도의 처리 능력으로도 카메라가 촬영한 30 FPS의 영상을 처리할 수 있다. 이를 통해 종래의 영상 분석 기기의 성능을 최대화 할 수 있다.
또한, 코덱과 무관하게 프레임의 크기의 패턴을 이용하여 움직임을 판단하므로 종래의 시스템이 사용하는 코덱의 종류와 무관하게 적용이 가능하다. 즉, 네트워크 레벨에서 패킷을 대상으로 동작하기 때문에 카메라 등 기 구축된 기존 시스템 내부에 이식이 용이하다. 따라서 스마트 홈의 비디오 보안 및 CCTV 전송 관련 솔루션 개발 단계에서도 쉽게 적용할 수 있으며, 실시간 품질 평가를 기반으로 솔루션 품질 테스트 기간 단축 및 솔루션 개발 비용 절감 효과를 기대할 수 있다.
정리하면, 가장 중요한 인식율을 떨어뜨리지 않으면서 네트워크 효율 및 저장 공간의 비용을 절감할 수 있다. 또한, 낮은 대역폭에서는 떨어질 수 밖에 없는 인식율을 비디오 프레임을 선별하여 분석함으로써, 보다 정확한 인식율을 기대할 수 있고 낮은 처리 속도의 영상단(=카메라)의 한계를 극복할 수 있다.
도 3a 내지 도 3b는 본 발명의 일 실시 예에서 프레임의 크기의 패턴을 기준으로 움직임을 감지하는 과정을 설명하기 위한 도면이다.
비디오 패킷이 전송되는 네트워크 상에서 패킷을 확인하면 비디오 프레임의 시작과 끝을 구별할 수 있다. 비디오 패킷은 코덱의 종류와 상관없이 프레임의 끝을 알리는 마킹(marking)을 가지고 있기 때문이다. 즉 영상으로 복호화 하지 않더라도 프레임을 구성하는 패킷은 식별이 가능하다. 프레임을 구성하는 패킷을 식별하여 각 프레임 별로 비디오 패킷의 크기를 합산한다.
비디오 화면에서의 움직임은 비디오 코덱과 압축의 원리로 인해, 비디오 패킷의 프레임에서의 크기와 상관 관계를 가진다. 즉 비디오 화면에서의 움직임이 패킷의 크기 및 프레임의 크기에도 영향을 미친다. 그러므로 반대로 프레임의 크기의 변화를 고려하면 화면에서의 움직임에 대한 정보를 대략적으로 추정할 수 있다.
프레임의 크기를 그래프로 표시하면 도 3a 내지 도 3b와 같다. 도 3a 내지 도 3b의 가로축은 시간이며 세로축은 프레임의 크기이다. 도 3a는 150초부터 700초까지의 프레임의 크기의 그래프이며, 도 3b는 750초부터 1300초까지의 그래프이다.
도 3a를 참고하면, 프레임의 크기가 10,000과 20,000 사이를 규칙적으로 반복해서 나타나는 것을 볼 수 있다. 반대로 도 3b를 참고하면, 프레임의 크기가 15,000 정도가 주를 이루고 간헐적으로 20,000이 나타나는 것을 볼 수 있다. 실제로 영상을 복호화 해서 분석해 보면 도 3a는 움직임이 없을 때의 그래프이고, 도 3b는 움직임이 나타난 경우의 그래프이다.
이처럼 실시간 영상에서는 움직임이 없을 때와 있을 때가 확연한 차이를 보인다. 도 3a에서 볼 수 있듯이 화면에서 아무런 움직임이 없을 때는, 움직임이 없는 화면을 인코딩 한 결과는 프레임의 크기의 차이가 크다. 화면에서 아무런 움직임이 없을 때는 언제 변화가 나올지 알 수 없으므로, 짧은 간격으로 계속 전체 크기의 내용을 담아 비디오 화면에서 캡쳐(capture)를 하면서 대기하게 된다. 도 3a를 참고하면 150초부터 700초에 이르기까지 전구간에서 프레임의 크기가 작아졌다가 커졌다가 주기적으로 반복된다.
그러다가 움직임이 나타나면, 이 움직임을 기준으로 그 뒤로 이어지는 연속되는 비디오 프레임은 모두 압축 기반으로 연결하여 구성된다. 도 3b에서 볼 수 있듯이 작은 차이의 비디오 프레임의 크기가 만들어 진다. 도 3b에서는 대부분의 프레임의 크기가 유사하며 일부 프레임의 크기만 크다. 프레임의 크기가 유사한 구간은 움직임이 일정한 정도로 발생한 것을 의미한다. 그리고 프레임의 크기가 갑자기 커지는 750초와 950초 사이의 4 프레임, 950초와 1150초 사이의 5 프레임은 움직임의 정도가 갑자기 커졌음을 의미한다.
이처럼 비디오 프레임의 절대적인 크기보단, 비디오 프레임의 크기의 증감 및 주기와 간격 등의 패턴을 이용하여 움직임의 여부 및 정도의 차이를 인식하여 판단할 수 있다. 즉 비디오 프레임의 크기의 평균과 분산과 같은 통계를 바탕으로 움직임의 여부 및 정도를 파악할 수 있다. 이를 표로 정리하면 다음과 같다.
움직임이 없는 경우 (도 3a) 움직임이 있는 경우(도 3b)
주기 있음 없음
평균 최소값과 최대값의 평균과 유사 최소값과 유사
분산 크다 작다
정리하면 비디오 프레임의 크기를 구하고, 프레임의 크기의 패턴이 최소값과 최대값이 주기적으로 반복되는 패턴이면 움직임이 없는 것으로 판단한다. 또는 연속된 제1 프레임의 크기와 제2 프레임의 크기의 차이가 임계치(threshold) 이상이면 움직임이 없는 것으로 판단한다. 또는 분산이 임계치 이상이면 움직임이 없는 것으로 판단한다.
반면에 프레임의 크기의 패턴이 최소값이 반복되다가 일부 프레임에서만 최대값이 나타나면 움직임이 있는 것으로 판단한다. 또는 연속된 제1 프레임의 크기와 제2 프레임의 크기의 차이가 임계치 이하이면 움직임이 있는 것으로 판단한다. 또는 분산이 임계치 이하이면 움직임이 있는 것으로 판단한다.
도 4a 내지 도 4b는 본 발명의 일 실시 예에서 패킷이 암호화 된 경우 프레임의 크기를 구하는 감지하는 과정을 설명하기 위한 도면이다.
앞서 도 2에 대한 설명을 하면서 패킷이 암호화 된 경우에는 사전에 설정된 프레임 분석 방법을 이용하여 프레임의 크기를 연산하는 과정(S2250)에 대해서 언급하였다.
패킷이 암호화 되지 않은 경우에는 패킷에 있는 프레임의 끝을 알리는 마킹을 통해 프레임을 구성하는 패킷을 알 수 있고 패킷의 크기를 더해 프레임의 크기를 구할 수 있다. 하지만 패킷이 암호화 되어 있는 경우에는 암호를 해제(decrypt)하지 않는 한 프레임의 끝을 알리는 마킹을 알 수 없기 때문에 어느 패킷부터 어느 패킷까지 하나의 프레임인지 알 수가 없다.
그러면 프레임의 크기를 구할 수 없으므로 패킷이 암호화 된 경우에도 프레임의 크기를 구할 수 있는 방법이 필요하다. 이를 해결하기 위해서 사전에 기계 학습(machine learning)을 이용하여 프레임별 패킷의 수를 학습한다. 즉 비디오 패킷 자체가 암호화 되어 비디오 프레임의 시작과 끝을 알 수 없을 경우에는, 사전에 학습된 프레임별 패킷의 수를 이용하여, 해당 수의 패킷을 비디오 프레임이라 인식하고, 프레임의 크기를 구한다.
도 4a를 참고하면 프레임당 패킷의 수를 기계 학습한 결과를 볼 수 있다. 도 4a에서 가로축은 프레임당 패킷의 수이고, 세로축은 프레임의 크기이다. 앞서 도 3a 내지 도 3b에서 살펴본 것처럼 움직임이 있는지 없는지에 따라 프레임의 크기는 다양한 패턴을 가질 수 있다. 하지만 도 4a에서 볼 수 있듯이 프레임의 크기가 다양한 값을 갖더라도 프레임을 구성하는 패킷의 수는 일정한 경향을 보인다.
도 4a를 참고하면 프레임의 크기는 0부터 7000까지 다양한 값을 가지나, 프레임을 구성하는 패킷의 수는 대략 6개를 기준으로 값을 보인다. 실제로 데이터의 평균을 구해보면 6.21개라는 수치를 얻을 수 있다. 패킷이 암호화 되더라도 암호화로 인해 패킷의 크기는 증가할 수 있으나 패킷의 수가 변하는 것은 아니므로 이를 이용할 수 있다.
암호화는 패킷 단위로 수행하며, 암호화로 인해 암호화 이전의 패킷보다 패킷의 크기가 커질 수는 있다. 그러나 암호화를 수행하더라도 패킷의 수가 변하는 것은 아니므로 도 4a와 같이 기계 학습된 결과를 이용하면, 암호화가 된 경우에도 프레임의 크기를 구할 수 있다.
정리하면 패킷이 암호화가 되지 않은 경우에는 패킷의 내용을 통해 프레임의 시작과 끝을 인식하고, 해당 프레임을 구성하는 패킷의 크기를 모두 더해 프레임의 크기를 구한다. 반면에 패킷이 암호화가 된 경우에는 사전에 학습된 프레임별 패킷의 수를 이용하여 프레임을 구성하는 패킷을 나누고 해당 패킷의 크기를 모두 더해 프레임의 크기를 구한다.
여기서 패킷을 암호화 하면 패킷의 크기가 달라질 수 있으나 무작위로 변하는 것이 아니라 비례 관계를 가지므로 암호화로 인해 패킷의 크기가 커졌더라도 패킷의 크기를 이용하여 프레임의 크기를 구하고, 프레임의 크기의 패턴을 이용하여 움직임을 감지하는 것에는 문제가 없다. 즉, 패킷의 크기가 더 크면 암호화된 패킷의 크기도 더 크므로, 암호화가 되더라도 패킷의 크기로부터 프레임의 크기를 구하고 프레임의 크기를 이용하여 움직임을 감지한다는 특징은 그대로 적용할 수 있다.
도 4b는 도 4a와는 다른 코덱으로 영상을 인코딩하고 암호화해서 네트워크를 통해 전송한 경우의 프레임의 크기와 패킷의 수의 관계를 그래프로 나타낸 것이다. 도 4a의 경우에는 프레임의 크기와 무관하게 패킷의 수가 6.21로 비슷한 것을 볼 수 있다. 그러나 도 4b는 도 4a와 다른 코덱을 사용한 경우로 도 4b에서는 프레임의 크기에 패킷의 수가 비례하는 경향을 보인다.
도 4b를 참고하면 프레임의 크기를 x로 프레임당 패킷의 수를 y로 하면 x와 y 사이에 y=0.0009x+0.307의 비례식이 성립하는 것을 볼 수 있다. 이는 회귀 분석(regression analysis)을 통해서 얻은 값으로 상관 계수 R의 제곱 값이 0.8264로 상관 정도가 큰 것을 볼 수 있다.
도 4a나 도 4b에서 볼 수 있는 것처럼 코덱에 따라 프레임을 구성하는 패킷의 수는 일정한 패턴을 보인다. 그러므로 이를 기계 학습을 통해 코덱 별로 프레임을 구성하는 패킷의 수를 학습하면, 패킷이 암호화 되어 전송되더라도 사전에 학습된 결과를 이용하여 프레임을 구성하는 패킷의 수를 구하고, 프레임의 크기를 구할 수 있다.
도 5a 내지 도 5b는 본 발명의 일 실시 예에서 프레임의 크기의 패턴을 기준으로 움직임의 정도를 판단하는 과정을 설명하기 위한 도면이다.
도 5a 내지 도 5b는 비디오 인코더 VP8과 RTP 패킷을 기준으로 생성된 결정 트리(decision tree)이다. 도 5a 내지 도 5b를 참고하면 편차(deviation)과 평균(average)을 기준으로 움직임의 정도를 1.13부터 3.88까지 나눈 것을 볼 수 있다. 편차는 dev로 평균은 avg로 사용되었다.
우선 1번 노드를 확인하면 프레임의 크기의 편차가 2901.93보다 큰지 작은지를 기준으로 2번 노드와 13번 노드로 나뉘어 진다. 2번 노드는 편차가 2901.93보다 작은 경우로 2번 노드에서 다시 편차가 1693.15보다 큰지 작은지를 기준으로 3번 노드와 10번 노드로 나뉘어 진다.
3번 노드는 편차가 1693.15보다 작은 경우로 3번 노드에서 다시 평균이 7180.86보다 큰지 작은지를 기준으로 4번 노드와 9번 노드로 나뉘어 진다. 4번 노드는 평균이 7180.86보다 작은 경우로 4번 노드에서 다시 평균이 6603.64보다 큰지 작은지를 기준으로 5번 노드와 6번 노드로 나뉘어 진다.
5번 노드는 리프 노드(leaf node)로 편차가 1693.15보다 작고 평균도 6603.64보다 작은 경우이다. 5번 노드에서는 움직임의 정도를 3.25라는 수치로 나타낼 수 있다. 6번 노드는 평균이 6603.64보다 크거나 같은 경우로 6번 노드에서 다시 편차가 559.44다 큰지 작은지를 기준으로 7번 노드와 8번 노드로 나뉘어 진다.
7번 노드는 리프 노드(leaf node)로 편차가 559.44보다 작고 평균은 6603.64보다 크거나 같고 7180.86보다 작은 경우이다. 7번 노드에서는 움직임의 정도를 3.88이라는 수치로 나타낼 수 있다. 8번 노드는 리프 노드(leaf node)로 편차가 559.44보다 크거나 같고 1693.15보다 작으며, 평균은 6603.64보다 크거나 같고 7180.86보다 작은 경우이다. 8번 노드에서는 움직임의 정도를 3.55이라는 수치로 나타낼 수 있다.
9번 노드는 리프 노드(leaf node)로 편차가 1693.15보다 작고 평균은 7180.86보다 크거나 같은 경우이다. 9번 노드에서는 움직임의 정도를 2이라는 수치로 나타낼 수 있다. 10번 노드는 편차가 1693.15보다 크거나 같은 경우로 10번 노드에서 다시 편차가 1825.78보다 큰지 작은지를 기준으로 11번 노드와 12번 노드로 나뉘어 진다.
11번 노드는 리프 노드(leaf node)로 편차가 1693.15보다 크거나 같고 1825.78보다 작은 경우이다. 11번 노드에서는 움직임의 정도를 2.59이라는 수치로 나타낼 수 있다. 12번 노드는 리프 노드(leaf node)로 편차가 1825.78보다 크거나 같고 2901.93보다 작은 경우이다. 12번 노드에서는 움직임의 정도를 2.15이라는 수치로 나타낼 수 있다.
13번 노드는 편차가 2901.93보다 크거나 같은 경우로 13번 노드에서 다시 편차가 3458.9보다 큰지 작은지를 기준으로 14번 노드와 19번 노드로 나뉘어 진다. 14번 노드는 편차가 2901.93보다 크거나 같고 3458.9보다 작은 경우로 14번 노드에서 다시 평균이 6427.28보다 큰지 작은지를 기준으로 15번 노드와 18번 노드로 나뉘어 진다.
15번 노드는 평균이 6527.28보다 작은 경우로 15번 노드에서 다시 평균이 6320.53보다 큰지 작은지를 기준으로 16번 노드와 17번 노드로 나뉘어 진다. 16번 노드는 리프 노드(leaf node)로 편차가 2901.93보다 크거나 같고 3458.9보다 작으며, 평균은 6320.53보다 작은 경우이다. 16번 노드에서는 움직임의 정도를 1이라는 수치로 나타낼 수 있다.
17번 노드는 리프 노드(leaf node)로 편차가 2901.93보다 크거나 같고 3458.9보다 작으며, 평균은 6320.53보다 크거나 같고 6427.28보다 작은 경우이다. 17번 노드에서는 움직임의 정도를 3.25이라는 수치로 나타낼 수 있다. 18번 노드는 리프 노드(leaf node)로 편차가 2901.93보다 크거나 같고 3458.9보다 작으며, 평균은 6427.28보다 크거나 같은 경우이다. 18번 노드에서는 움직임의 정도를 1.59이라는 수치로 나타낼 수 있다.
19번 노드는 리프 노드(leaf node)로 편차가 3458.9보다 크거나 같은 경우이다. 19번 노드에서는 움직임의 정도를 1.13이라는 수치로 나타낼 수 있다. 이상으로 도 5a 내지 도 5b의 결정 트리에 대해서 살펴보았다. 도 5a 내지 도 5b에서 살펴본 각 노드의 조건과 움직임의 정도를 표로 정리하면 다음의 표 2와 같다.
노드 평균 편차 정도
5번 노드 avg < 6603.64 dev < 1693.15 3.25
7번 노드 6603.64 <= avg < 7180.86 dev < 559.44 3.88
8번 노드 6603.65 <= avg < 7180.86 559.44 <= dev < 1693.15 3.55
9번 노드 7180.86 <= avg dev < 1693.15 2
11번 노드 - 1693.15 <= dev < 1825.78 2.59
12번 노드 - 1825.78 <= dev < 2901.93 2.15
16번 노드 avg < 6320.53 2901.93 <= dev < 3458.9 1
17번 노드 6320.53 <= avg < 6427.28 2901.93 <= dev < 3458.9 3.25
18번 노드 6427.28 <= avg 2901.93 <= dev < 3458.9 1.59
19번 노드 - 3458.9 <= dev 1.13
이렇게 기계 학습을 통하여 사전에 각 코덱 별로 프레임의 크기와 프레임을 구성하는 패킷의 수를 학습하고, 또한 각 코덱 별로 평균과 편차를 기준으로 움직임의 정도를 수치로 제공할 수 있다. 다만, 이는 이해를 돕기 위한 예시이므로 도 4a 내지 도 4b 및 도 5a 내지 도 5b의 예는 코덱에 따라 달라질 수 있다.
간단하게는 프레임의 크기의 평균과 편차를 이용하여 움직임이 있는지 없는지 구분하고, 나아가서는 프레임의 크기의 평균과 편차를 이용하여 움직임이 있는 경우 움직임의 정도까지 수치화해서 제공하면, 영상을 복호화 하여 이미지를 비교하지 않더라도 패킷만으로 움직임에 관한 많은 정보를 많은 연산 능력이 없어도 빠르게 알 수 있다.
도 6은 종래의 이미지 분석에 의한 움직임의 정도와 본 발명의 일 실시 예에 의한 움직임의 정도를 비교 설명하기 위한 도면이다.
도 6을 참고하면 종래의 영상을 복호화 하고 프레임의 이미지를 비교하여 움직임을 감지하고 움직임의 정도를 판단한 결과(ground truth)와 본 발명의 프레임의 크기만을 기준으로 움직임을 감지하고 움직임의 정도를 판단한 결과를 비교해서 볼 수 있다.
도 6을 참고하면, 두 결과가 거의 같은 맥락을 유지하고 있으며, 큰 차이를 보이지 않는다. 매초마다 움직임의 여부 및 그 정도를 수치화 하여 비교해보면 큰 차이가 없음에도 본 발명에 제안하는 방법은 종래의 방법보다 작은 연산 능력으로 빠르게 결과를 얻을 수 있다는 장점이 있다.
도 7a 내지 도 7c는 본 발명의 일 실시 예에 따른 영상 분석 방법의 실험 결과를 설명하기 위한 도면이다.
도 7a는 실제 CCTV 영상을 예제로 본 발명에서 제안하는 영상 분석 방법을 적용한 결과를 표로 정리한 것이다. 도 7a의 상관 계수(correlation coefficient)를 참고하면 73.79%의 정확도를 보이는 것으로 결과가 나오고 있다. 이 정확도가 어느 정도로 유용한지는 도 7b에서 확인할 수 있다.
도 7b는 영상 분석의 정확도와 그 의미를 표로 정리한 것을 볼 수 있다. 일반적으로 영상 분석에서 정확도가 51~60 사이는 Reasonable 등급이나 Acceptable 등급으로 평가한다. 또한 정확도가 60~70 사이는 Moderate 등급으로 평가한다.
또한 정확도가 70~80 사이는 Good 등급으로 평가한다. 또한 정확도가 80~90 사이는 Very High 등급으로 평가한다. 또한 정확도가 90 이상은 Excellent 등급으로 평가한다. 본 발명에서 제안하는 방법은 73% 정도의 정확도로 Good 등급에 해당한다.
영상을 복호화 하지 않고서도 프레임의 패킷을 분석하는 것만으로 이정도의 정확도를 얻을 수 있으므로, 매우 우수한 성능이라 볼 수 있다. 또한 많은 연산 능력을 필요로 하지 않으므로 기존의 송신단의 카메라나 수신단의 분석 장치와 결합해서 종래의 방법을 적용하기 위한 전처리로 과정으로 적용하면 종래의 영상 분석 방법의 효율을 더욱 높일 수도 있다.
도 7c를 참고하면 암호화가 되지 않은 경우(open)의 정확도와 암호화가 된 경우(encryption)의 정확도를 볼 수 있다. 네트워크를 통해 전송되는 영상의 패킷이 암호화 되는 경우에는 패킷의 내용을 통해 직접적으로 프레임의 시작과 끝을 알 수는 없다. 이때에는 비디오 인코딩 코덱 및 전송 속성을 사용자 정의로 입력 받고 이에 대응되는 사전에 기계 학습한 모델을 로딩(loading)하여 프레임당 패킷의 수를 이용한다.
그러면 패킷을 통해 직접적으로 프레임의 시작과 끝을 알지 못하더라도 기계 학습된 프레임당 패킷의 수를 이용하여 프레임의 크기를 구하고 패턴을 분석할 수 있다. 도 7c를 참고하면, 암호화가 된 경우에는 암호화가 되지 않은 경우에 피해 평균적으로 4~5% 정도의 정확도가 하락하나, 역시 뛰어난 정확성을 보인다.
특히 본 발명에서 제안하는 방법은 패킷이 암호화 되어 있더라도 암호를 해제(decrypt)하지 않고서 프레임을 분석한다. 그러므로 암호를 해제하는 과정에서 소모되는 비용을 절약하는 점을 고려하면, 67.03~70.73% 의 정확도 역시 높은 수치임을 알 수 있다. 이는 암호화가 되지 않은 경우의 71~74%에 비하면 94% 정도의 정확도에 해당한다.
본 발명에서 제안하는 방법은 네트워크에서 비디오 프레임에 대한 움직임의 여부를 패킷만으로 판단할 수 있는 방법이다. 이를 통해 패킷을 전송하기 전에 일부 프레임을 드랍(drop)하고 전송하여 전송량을 줄일 수 있고, 패킷을 전송한 후에는 일부 프레임을 드랍하고 저장하여 저장 효율을 높일 수 있다.
다만, 움직임을 없는 프레임을 삭제하고 종래의 방법으로 영상을 분석하는 경우 프레임 삭제로 인한 정확성의 저하가 발생하면 안 된다. 종래의 방법의 전처리로 본 발명에서 제안하는 방법을 이용하는 경우 종래의 방법의 정확도에 미치는 영향에 대해서는 도 8에서 살펴보도록 한다.
도 8은 본 발명에서 제안하는 방법으로 프레임을 삭제하는 경우에 종래의 영상 인식의 정확도에 미치는 영향을 설명하기 위한 도면이다.
비디오 프레임을 제거하면 제거할수록 정보량은 감소한다. 그리고 이는 정확도의 하락으로 이어진다. 도 8의 가로축은 프레임의 제거율(reduction rate)이고 세로축은 정확도(QoR Score)이다. 도 8을 참고하면, 프레임을 삭제하면 삭제할수록 정확도는 낮아져서 0에 이르게 된다.
정확도의 목표를 도 7b의 Good 등급으로 하면, 70~80% 정도의 정확도를 유지하면 된다. 도 8에서 70~80%의 정확도의 구간을 확인하면 대략 68% 정도까지는 프레임을 삭제해도 70%의 정확도를 확보할 수 있다. 즉 본 발명을 종래의 영상 분석 방법과 병행하여 사용하더라도 정확도에 미치는 영향은 크지 않다.
정리하면 종래의 영상 분석 방법은 5 FPS 정도의 영상 처리 능력이 한계였다. 그러나, 본 발명에서 제안하는 방법으로 움직임이 있는지 없는지 여부를 사전에 판단하고 프레임을 삭제하면, 68% 정도의 프레임을 삭제하더라도 Good 등급을 유지할 수 있다.
그러므로 15 FPS 정도로 촬영하는 네트워크 카메라에서 최대 68%의 프레임을 삭제하고 5 FPS 정도만 종래의 영상 분석 장치에 전달하더라도 정확도에는 크게 영향을 미치지 않으면서 영상 분석의 효율을 높일 수 있다. 또한, 정확도에 영향을 미치지 않으면서도 송신단의 네트워크 전송 효율과 수신단의 저장 효율을 높일 수 있다.
이상으로 도 2 내지 도 8을 통해서 본 발명에서 제안하는 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법에 대해서 살펴보았다. 본 발명에서 제안하는 방법을 이용하면 수신단에서 계산의 필요성을 현저히 줄일 수 있어 제품의 가격을 낮추어 경쟁력을 높일 수 있다.
또한, 코덱의 종류에 상관없이 송신단이나 수신단에 적용이 가능하다. 또한 네트워크의 패킷 정보만을 이용하므로 적용 및 이식성이 높다. 또한, 필요 없는 비디오 프레임은 삭제할 수 있으므로 네트워크 전송량을 줄이고 저장 장치의 효율성을 높일 수 있다.
도 9는 본 발명의 일 실시 예에 따른 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 장치의 하드웨어 구성도이다.
도 9을 참고하면 본 발명에서 제안하는 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 장치(10)는 하나 이상의 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)을 포함할 수 있다. 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)는 시스템 버스(550)를 통하여 데이터를 송수신한다.
프로세서(510)는 메모리(520)에 로드(load)된 컴퓨터 프로그램을 실행하고, 메모리(520)는 상기 컴퓨터 프로그램을 스토리지(560)에서 로드(load) 한다. 상기 컴퓨터 프로그램은, 비디오 패킷 수집 오퍼레이션(미도시), 프레임 크기 연산 오퍼레이션(521) 및 움직임 감지 오퍼레이션(523)을 포함할 수 있다.
우선 비디오 패킷 수집 오퍼레이션(미도시)는 인터페이스(570)을 통해 카메라로부터 실시간으로 전송되는 비디오 패킷을 수신하고 이를 스토리지(560)의 비디오 패킷(561)로 저장한다.
프레임 크기 연산 오퍼레이션(521)은 스토리지(560)에 저장된 비디오 패킷(561)를 시스템 버스(550)를 통해 메모리(520)로 로딩한다. 그 후 패킷이 암호화 되지 않은 경우에는 패킷의 정보를 통해서 프레임의 시작과 끝을 알리는 마킹을 찾는다. 이를 이용해 하나의 프레임에 속하는 패킷을 선별하고, 선별된 패킷의 크기를 모두 더해 프레임의 크기를 구한다.
프레임 크기 연산 오퍼레이션(521)은 비디오 패킷(561)이 암호화 된 경우에는 사전에 코덱 별로 기계 학습된 결과(563)를 로딩하여, 해당 코덱에서 하나의 프레임에 몇 개의 패킷이 속하는지 확인한다. 그리고 해당 수의 패킷의 크기를 모두 더하여 프레임의 크기를 구한다.
움직임 감지 오퍼레이션(523)은 프레임의 크기에서 평균과 편차 등의 통계 정보를 생성한다. 또한 프레임의 크기의 패턴을 분석한다. 프레임의 크기의 패턴이란, 프레임의 크기의 최소값, 최대값, 주기 등을 의미한다. 프레임의 크기의 패턴을 이용하여 움직임이 있는지 없는지를 판단한다.
또한 움직임 감지 오퍼레이션(523)은 필요에 따라 움직임이 있는 경우에는 움직임의 정도가 어느 정도인지 해당 코덱에 따라 사전에 기계 학습한 결정 트리를 이용하여 움직임의 정도를 수치화 한다.
실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 장치(10)가 영상을 촬영하는 카메라와 같은 송신단과 결합한 경우에는 움직임 감지 오퍼레이션(523)의 결과에 따라 움직임이 없는 프레임은 삭제를 하고 움직임이 있는 프레임만 네트워크를 통해 종래의 영상 분석 장치로 전송한다.
또한, 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 장치(10)가 영상을 네트워크를 통해 실시간으로 수신하고 분석하는 장치와 결합한 경우에는 종래의 영상 분석 방법을 적용하기 전에 전처리 단계로 움직임이 없는 프레임은 삭제하고 움직임이 있는 프레임만 분석 장치로 전달하여 영상 분석의 효율을 높일 수 있다. 또한, 움직임이 있는 프레임만 저장하면 저장 공간의 효율을 높일 수 있다.
도 9의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)와 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing) 할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. 영상 분석 장치가, 프레임(frame)을 구성하는 복수의 패킷(packet)의 크기를 모두 더하여 상기 프레임의 크기를 연산하는 단계;
    상기 영상 분석 장치가, 영상을 구성하는 복수의 프레임의 크기를 비교하여, 상기 복수의 프레임의 크기의 패턴을 분석하는 단계; 및
    상기 영상 분석 장치가, 상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계를 포함하는,
    영상 분석 방법.
  2. 제1항에 있어서,
    상기 프레임(frame)을 구성하는 복수의 패킷(packet)의 크기를 모두 더하여 상기 프레임의 크기를 연산하는 단계는,
    상기 영상의 패킷이 암호화 되지 않은 경우, 상기 프레임의 시작을 알리는 마커(marker) 정보를 포함한 패킷부터 상기 프레임의 끝을 알리는 마커(marker) 정보를 포함한 패킷을, 상기 복수의 패킷으로 감지하는 단계를 포함하는,
    영상 분석 방법.
  3. 제1항에 있어서,
    상기 프레임(frame)을 구성하는 복수의 패킷(packet)의 크기를 모두 더하여 상기 프레임의 크기를 연산하는 단계는,
    상기 영상의 패킷이 암호화 된 경우, 상기 영상의 코덱(codec)에 대해 사전에 기계 학습된 프레임 당 패킷의 수(packet per frame)를 이용하여, 상기 프레임당 패킷의 수에 해당하는 패킷을, 상기 복수의 패킷으로 감지하는 단계를 포함하는,
    영상 분석 방법.
  4. 제1항에 있어서,
    상기 영상을 구성하는 복수의 프레임의 크기를 비교하여, 상기 복수의 프레임의 크기의 패턴을 분석하는 단계는,
    상기 복수의 프레임의 크기의 평균(average), 편차(deviation), 최소값, 최대값, 주기 중에서 3개 이상을 연산하는 단계를 포함하는,
    영상 분석 방법.
  5. 제4항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 평균이 상기 최소값과 상기 최대값의 평균과 기 설정된 임계치 이내인 경우, 상기 영상에서 움직임이 없는 것으로 판단하는 단계를 포함하는,
    영상 분석 방법.
  6. 제4항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 편차가 기 설정된 임계치(threshold) 이상인 경우, 상기 영상에서 움직임이 없는 것으로 판단하는 단계를 포함하는,
    영상 분석 방법.
  7. 제4항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 최소값과 상기 최대값이 주기적으로 반복되는 경우, 상기 영상에서 움직임이 없는 것으로 판단하는 단계를 포함하는,
    영상 분석 방법.
  8. 제4항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 평균이 상기 최소값과 기 설정된 임계치 이내인 경우, 상기 영상에서 움직임이 있는 것으로 판단하는 단계를 포함하는,
    영상 분석 방법.
  9. 제4항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 편차가 기 설정된 임계치(threshold) 이하인 경우, 상기 영상에서 움직임이 있는 것으로 판단하는 단계를 포함하는,
    영상 분석 방법.
  10. 제4항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 최소값과 상기 최대값이 주기적으로 반복되지 않는 경우, 상기 영상에서 움직임이 있는 것으로 판단하는 단계를 포함하는,
    영상 분석 방법.
  11. 제1항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 영상에서 움직임이 있는 것으로 판단한 경우, 상기 영상의 코덱(codec)에 대해 사전에 기계 학습된 결정 트리(decision tree)를 이용하여, 상기 움직임의 정도를 수치로 연산하는 단계를 포함하되,
    상기 결정 트리는 상기 복수의 프레임의 크기의 평균과 편차를 입력 변수로 하고 상기 움직임의 정도의 수치를 목표 변수로 하는 것인,
    영상 분석 방법.
  12. 제1항에 있어서,
    상기 패턴을 이용하여, 상기 영상에서 움직임(motion)이 있는지 여부를 판단하는 단계는,
    상기 영상에서 움직임이 없는 것으로 판단한 경우, 상기 영상에서 움직임이 없는 프레임을 삭제(drop)하는 단계를 포함하는,
    영상 분석 방법.
  13. 제12항에 있어서,
    상기 영상에서 움직임이 없는 프레임을 삭제(drop)하는 단계는,
    상기 움직임이 없는 프레임이 삭제된 영상을 네트워크를 통해 전송하는 단계를 포함하는,
    영상 분석 방법.
  14. 제12항에 있어서,
    상기 영상에서 움직임이 없는 프레임을 삭제(drop)하는 단계는,
    상기 움직임이 없는 프레임이 삭제된 영상을 저장공간(storage)에 저장하는 단계를 포함하는,
    영상 분석 방법.
KR1020160143120A 2016-10-31 2016-10-31 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치 KR20180047232A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160143120A KR20180047232A (ko) 2016-10-31 2016-10-31 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치
CN201711043482.9A CN108012049A (zh) 2016-10-31 2017-10-31 视频分析方法及其装置
US15/798,556 US10282851B2 (en) 2016-10-31 2017-10-31 Video analysis method and apparatus and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160143120A KR20180047232A (ko) 2016-10-31 2016-10-31 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20180047232A true KR20180047232A (ko) 2018-05-10

Family

ID=62021687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160143120A KR20180047232A (ko) 2016-10-31 2016-10-31 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치

Country Status (3)

Country Link
US (1) US10282851B2 (ko)
KR (1) KR20180047232A (ko)
CN (1) CN108012049A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022231252A1 (ko) * 2021-04-27 2022-11-03 삼성전자 주식회사 비디오 스트림 감지 방법 및 이를 지원하는 전자 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3931768A1 (en) * 2019-02-28 2022-01-05 Skidmore, Owings & Merrill LLP Machine learning tool for structures
US11207494B2 (en) 2019-07-03 2021-12-28 DePuy Synthes Products, Inc. Medical device delivery member with flexible stretch resistant distal portion
US11439403B2 (en) 2019-09-17 2022-09-13 DePuy Synthes Products, Inc. Embolic coil proximal connecting element and stretch resistant fiber
US11998213B2 (en) 2021-07-14 2024-06-04 DePuy Synthes Products, Inc. Implant delivery with modified detachment feature and pull wire engagement

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847682B2 (en) * 2002-02-01 2005-01-25 Hughes Electronics Corporation Method, system, device and computer program product for MPEG variable bit rate (VBR) video traffic classification using a nearest neighbor classifier
US7970013B2 (en) * 2006-06-16 2011-06-28 Airdefense, Inc. Systems and methods for wireless network content filtering
EP2206303B1 (en) * 2007-07-16 2013-03-06 Telchemy, Incorporated Method and system for viewer quality estimation of packet video streams
US8831090B2 (en) * 2008-11-18 2014-09-09 Avigilon Corporation Method, system and apparatus for image capture, analysis and transmission
CN101600061B (zh) * 2009-07-09 2012-07-25 杭州士兰微电子股份有限公司 视频运动自适应去隔行的方法及装置
CN102075757B (zh) * 2011-02-10 2013-08-28 北京航空航天大学 通过边界检测作为运动估计参考的视频前景对象编码方法
CN102123283B (zh) * 2011-03-11 2013-10-30 杭州海康威视数字技术股份有限公司 视频帧率转换中的插值帧获取方法及其装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022231252A1 (ko) * 2021-04-27 2022-11-03 삼성전자 주식회사 비디오 스트림 감지 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
CN108012049A (zh) 2018-05-08
US20180122087A1 (en) 2018-05-03
US10282851B2 (en) 2019-05-07

Similar Documents

Publication Publication Date Title
KR20180047232A (ko) 실시간 영상 스트리밍의 네트워크 패킷의 패턴 분석 기반 영상 분석 방법 및 그 장치
US9736349B2 (en) Adaptive video end-to-end network with local abstraction
US10269123B2 (en) Methods and apparatus for video background subtraction
US10565439B2 (en) Method and system for tracking workers at worksites
TW201820264A (zh) 在視訊序列中的動作辨識
CN112291520B (zh) 异常事件识别方法、装置、存储介质及电子装置
US10055669B2 (en) Methods and systems of determining a minimum blob size in video analytics
US20180144476A1 (en) Cascaded-time-scale background modeling
JP6016332B2 (ja) 画像処理装置、画像処理方法
Wu et al. Do you see what i see?< subtitle> detecting hidden streaming cameras through similarity of simultaneous observation
Ferrando et al. Classification of device behaviour in internet of things infrastructures: towards distinguishing the abnormal from security threats
Dou et al. Edge computing-enabled deep learning for real-time video optimization in IIoT
TWI521473B (zh) 影像分析裝置、方法及電腦可讀取媒體
EP2835978A2 (en) System and method of motion detection on encrypted or scrambled video data streams
CN108491785A (zh) 一种人工智能图像辨识攻击防御系统
US10592775B2 (en) Image processing method, image processing device and image processing system
Husein et al. Motion detect application with frame difference method on a surveillance camera
CN111079731A (zh) 基于安全帽识别监控系统的配置系统、方法、设备及介质
CN106791683A (zh) 智能拍摄方法及装置
CN105187224A (zh) 入侵检测方法和装置
CN102959514A (zh) 在计算机网络中发送数据的方法、系统、服务器、设备、计算机程序和计算机程序产品
KR102263071B1 (ko) 영상 관제 방법, 영상 관제 장치 및 컴퓨터 프로그램
US11430488B2 (en) System and method for generating a compression invariant motion timeline
CN110958163B (zh) 基于网络帧传输特征的盗摄器材的检测方法、装置、电子设备及计算机可读介质
CN106254375B (zh) 一种无线热点设备的识别方法及装置